diff --git a/zenno/src/routes/race/CalcInfo.svelte b/zenno/src/routes/race/CalcInfo.svelte new file mode 100644 index 0000000..deb7094 --- /dev/null +++ b/zenno/src/routes/race/CalcInfo.svelte @@ -0,0 +1,32 @@ + + +
+ + {#if typeof title === 'string'} + {title} + {:else} + {@render title()} + {/if} + + + {@render children()} + + {@render additional?.()} +
diff --git a/zenno/src/routes/race/gate/+page.svelte b/zenno/src/routes/race/gate/+page.svelte index 5620ba4..74ef6af 100644 --- a/zenno/src/routes/race/gate/+page.svelte +++ b/zenno/src/routes/race/gate/+page.svelte @@ -3,6 +3,7 @@ import * as race from '$lib/race'; import * as accel from '$lib/racelib/accel'; import type { Attachment } from 'svelte/attachments'; + import CalcInfo from '../CalcInfo.svelte'; let rawPower = $state(1200); let rawGuts = $state(1200); @@ -284,14 +285,13 @@ {#snippet info(name: string, unit: string, val: number, val2?: number)} -
- {name} + {#if val2 == null} {val.toFixed(3)} {unit} {:else} {val.toFixed(3)} – {val2.toFixed(3)} {unit} {/if} -
+ {/snippet}
diff --git a/zenno/src/routes/race/mspeed/SpeedDur.svelte b/zenno/src/routes/race/mspeed/SpeedDur.svelte index a8e2e4f..5356bd7 100644 --- a/zenno/src/routes/race/mspeed/SpeedDur.svelte +++ b/zenno/src/routes/race/mspeed/SpeedDur.svelte @@ -1,6 +1,7 @@ -
-
{@render children()}
- {text} L -
- {fmtp(speed)} m/s - {dur.toFixed(3)} s -
-
+ + {text} L + {#snippet additional()} +
+ {fmtp(speed)} m/s + {dur.toFixed(3)} s +
+ {/snippet} +
diff --git a/zenno/src/routes/race/spurt/+page.svelte b/zenno/src/routes/race/spurt/+page.svelte index 15d6aef..ad6e47c 100644 --- a/zenno/src/routes/race/spurt/+page.svelte +++ b/zenno/src/routes/race/spurt/+page.svelte @@ -2,6 +2,7 @@ import type { ComputedSeries } from '$lib/chart'; import { AptitudeLevel, inverseSpurtSpeed, RunningStyle, spurtSpeed, Stat } from '$lib/race'; import StatChart from '$lib/StatChart.svelte'; + import CalcInfo from '../CalcInfo.svelte'; const aptsList = Object.entries(AptitudeLevel).filter(([, val]) => typeof val === 'number'); const stylesList = [ @@ -93,9 +94,7 @@
- - Target spurt speed: {speed.toFixed(3)} m/s - +{speed.toFixed(3)} m/s {#each [[AptitudeLevel.A, aProf] as const, [AptitudeLevel.S, sProf] as const] as [level, inv] (level)}
@@ -103,14 +102,7 @@
{#each stylesList as [styleName, s] (s)} -
-
- {styleName} - {inv[s]} -
-
+ {inv[s]} {/each}
@@ -127,12 +119,7 @@
{#each skillProf as [v, inv] (v)} -
-
- +{v.toFixed(2)} - {inv} -
-
+ {inv} {/each}