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:
Daniel Michelberger 2026-09-07 23:11:01 +02:00
parent d01eae078a
commit 6c2addb020

View file

@ -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' : ''}"> <!--
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} {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. -->