Warn when a driver's transponder collides with a different driver

Registering or editing a driver with a transponder already assigned
to a different driver (e.g. a wrong-class typo) previously saved
silently - the only symptom was that driver's laps never registering
during their heat, with no indication why. Now a confirm dialog names
the conflicting driver and their class before saving; the same
person's own multiple class entries sharing one physical transponder
are correctly never flagged.

Also confirms two things the user asked to verify: the race clock
already counts down for all timed session types (only open practice
counts up unbounded), and a driver not entered in a heat already has
their laps fully discarded rather than recorded - both were already
correct, no changes needed there.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
larssand
2026-09-10 20:20:40 +02:00
parent 50586e8859
commit ba2d78779f
9 changed files with 100 additions and 5 deletions

View File

@@ -866,6 +866,7 @@ const TRANSLATIONS = {
"drivers.brand_placeholder": "Team / märke (valfritt)",
"drivers.brand_filter_placeholder": "Sök namn / transponder / märke / klubb / land",
"drivers.transponder_placeholder": "Personlig transponder (valfritt)",
"drivers.transponder_conflict_confirm": "Transpondern {tp} används redan av {name} ({class}). Spara ändå?",
"drivers.speech_name": "Uttalsnamn",
"drivers.speech_name_placeholder": "Uttal för uppläsning (valfritt)",
"drivers.speech_name_hint": "Skriv namnet som webbläsarrösten ska uttala det. Lämna tomt för vanligt förarnamn.",
@@ -2381,6 +2382,7 @@ const TRANSLATIONS = {
"drivers.brand_placeholder": "Team / brand (optional)",
"drivers.brand_filter_placeholder": "Search name / transponder / brand / club / country",
"drivers.transponder_placeholder": "Personal transponder (optional)",
"drivers.transponder_conflict_confirm": "Transponder {tp} is already used by {name} ({class}). Save anyway?",
"drivers.speech_name": "Spoken name",
"drivers.speech_name_placeholder": "Pronunciation for announcements (optional)",
"drivers.speech_name_hint": "Enter the name as the browser voice should pronounce it. Leave blank to use the regular driver name.",