feat: Klick auf die Zeit oeffnet den Zeit-Dialog
Wer auf eine laufende Uhr sieht, will sie stoppen; wer auf eine gestoppte sieht, will sie richtigen. Der Weg ueber den Knopf oben und die Fahrerauswahl fuehrte zur selben Stelle, nur laenger — und verlangte die Auswahl eines Fahrers, der in der Zeile laengst dranstand. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P32KoesVtABd6xWsqMKzhr
This commit is contained in:
parent
d01eae078a
commit
6c2addb020
1 changed files with 38 additions and 4 deletions
|
|
@ -82,6 +82,17 @@
|
||||||
// dabei vorbelegt, den Fahrer wählt man dort.
|
// dabei vorbelegt, den Fahrer wählt man dort.
|
||||||
let timeDialog = $state(false)
|
let timeDialog = $state(false)
|
||||||
let clockDialog = $state(false)
|
let clockDialog = $state(false)
|
||||||
|
let dialogRider = $state<string | null>(null)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Zeit-Dialog oeffnen, den Fahrer gleich mit. Aus der Tabelle heraus ist
|
||||||
|
* er immer schon bekannt — ihn dort noch einmal auswaehlen zu lassen,
|
||||||
|
* hiesse dieselbe Frage zweimal zu stellen.
|
||||||
|
*/
|
||||||
|
function openTime(riderId: string | null = null) {
|
||||||
|
dialogRider = riderId
|
||||||
|
timeDialog = true
|
||||||
|
}
|
||||||
|
|
||||||
// --- Strafzeiten ------------------------------------------------------
|
// --- Strafzeiten ------------------------------------------------------
|
||||||
//
|
//
|
||||||
|
|
@ -218,7 +229,7 @@
|
||||||
CSV
|
CSV
|
||||||
</Button>
|
</Button>
|
||||||
{/if}
|
{/if}
|
||||||
<Button onclick={() => (timeDialog = true)} disabled={starters.length === 0}>
|
<Button onclick={() => openTime()} disabled={starters.length === 0}>
|
||||||
<Timer class="h-4 w-4 mr-2" />
|
<Timer class="h-4 w-4 mr-2" />
|
||||||
Zeit erfassen
|
Zeit erfassen
|
||||||
</Button>
|
</Button>
|
||||||
|
|
@ -312,8 +323,26 @@
|
||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</Table.Cell>
|
</Table.Cell>
|
||||||
<Table.Cell class="text-right tabular-nums {live ? 'font-semibold' : ''}">
|
<!--
|
||||||
{t.formattedTime}
|
Die Zeit selbst oeffnet den Dialog:
|
||||||
|
Wer auf eine laufende Uhr sieht, will
|
||||||
|
sie stoppen, und wer auf eine
|
||||||
|
gestoppte sieht, will sie richtigen.
|
||||||
|
Der Weg ueber den Knopf oben und die
|
||||||
|
Fahrerauswahl fuehrt zur selben
|
||||||
|
Stelle, nur laenger.
|
||||||
|
-->
|
||||||
|
<Table.Cell class="p-0 text-right">
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
class="h-auto w-full justify-end px-4 py-3 tabular-nums {live
|
||||||
|
? 'font-semibold'
|
||||||
|
: 'font-normal'}"
|
||||||
|
tooltip={live ? 'Zeit stoppen' : 'Zeit erfassen'}
|
||||||
|
onclick={() => openTime(t.rider)}
|
||||||
|
>
|
||||||
|
{t.formattedTime}
|
||||||
|
</Button>
|
||||||
</Table.Cell>
|
</Table.Cell>
|
||||||
<Table.Cell class="text-right">
|
<Table.Cell class="text-right">
|
||||||
<Button
|
<Button
|
||||||
|
|
@ -374,7 +403,12 @@
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<TimeDialog bind:open={timeDialog} eventId={event?.id ?? ''} stageId={stage?.id ?? null} />
|
<TimeDialog
|
||||||
|
bind:open={timeDialog}
|
||||||
|
eventId={event?.id ?? ''}
|
||||||
|
riderId={dialogRider}
|
||||||
|
stageId={stage?.id ?? null}
|
||||||
|
/>
|
||||||
<ClockSyncDialog bind:open={clockDialog} />
|
<ClockSyncDialog bind:open={clockDialog} />
|
||||||
|
|
||||||
<!-- Zeitkorrektur: eine Zahl in Sekunden, plus wie minus. -->
|
<!-- Zeitkorrektur: eine Zahl in Sekunden, plus wie minus. -->
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue