From e842154b3f44e44b5bf9699dece95ea6c5d5970f Mon Sep 17 00:00:00 2001 From: larssand Date: Sun, 15 Mar 2026 14:57:01 +0100 Subject: [PATCH] =?UTF-8?q?fix=20l=C3=A4gga=20till=20f=C3=B6rare?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/app.js b/src/app.js index c84cf77..22206c2 100644 --- a/src/app.js +++ b/src/app.js @@ -220,6 +220,7 @@ const TRANSLATIONS = { "events.team_steps": "1. Skriv lagnamn. 2. Kryssa förare och/eller bilar här under. 3. Klicka Lägg till lag. 4. Använd Redigera lag för ändringar efteråt.", "events.team_form_drivers": "Markera lagförare innan du sparar laget.", "events.team_form_cars": "Markera lagbilar innan du sparar laget.", + "events.team_driver_fallback": "Inga förare matchade race-klassen eller deltagarlistan. Visar alla förare som fallback.", "events.no_teams": "Inga lag skapade ännu.", "events.team_standings": "Lagställning", "events.no_team_results": "Inga teamresultat ännu.", @@ -736,6 +737,7 @@ const TRANSLATIONS = { "events.team_steps": "1. Enter the team name. 2. Tick drivers and/or cars below. 3. Click Add team. 4. Use Edit team for later changes.", "events.team_form_drivers": "Select team drivers before saving the team.", "events.team_form_cars": "Select team cars before saving the team.", + "events.team_driver_fallback": "No drivers matched the race class or participant list. Showing all drivers as fallback.", "events.no_teams": "No teams created yet.", "events.team_standings": "Team standings", "events.no_team_results": "No team results yet.", @@ -2776,7 +2778,8 @@ function renderEventManager(eventId) { const driverOptions = state.drivers .map((d) => ``) .join(""); - const raceDrivers = event.mode === "race" ? state.drivers.filter((driver) => !event.classId || driver.classId === event.classId) : []; + const teamDriverPool = event.mode === "race" ? getTeamDriverPool(event) : { drivers: [], fallback: false }; + const raceDrivers = event.mode === "race" ? teamDriverPool.drivers : []; const raceTeams = event.mode === "race" ? getEventTeams(event) : []; if (selectedTeamEditId && !raceTeams.some((team) => team.id === selectedTeamEditId)) { selectedTeamEditId = null; @@ -2976,6 +2979,7 @@ function renderEventManager(eventId) {

${t("events.team_drivers")}

${t("events.team_form_drivers")}

+ ${teamDriverPool.fallback ? `

${t("events.team_driver_fallback")}

` : ""}
${raceDrivers .map( @@ -5965,6 +5969,17 @@ function getEventTeams(event) { return Array.isArray(event?.raceConfig?.teams) ? event.raceConfig.teams.map((team) => normalizeRaceTeam(team)).filter((team) => team.name) : []; } +function getTeamDriverPool(event) { + const scopedDrivers = getEventDrivers(event); + if (scopedDrivers.length) { + return { drivers: scopedDrivers, fallback: false }; + } + return { + drivers: [...state.drivers], + fallback: state.drivers.length > 0, + }; +} + function findEventTeamForPassing(event, driverId, carId) { return getEventTeams(event).find((team) => { const driverMatch = driverId && Array.isArray(team.driverIds) && team.driverIds.includes(driverId);