fix lägga till förare

This commit is contained in:
larssand
2026-03-15 14:57:01 +01:00
parent 47bd6dd788
commit e842154b3f

View File

@@ -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) => `<option value="${d.id}">${escapeHtml(d.name)}</option>`)
.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) {
<section class="panel">
<div class="panel-header"><h3>${t("events.team_drivers")}</h3></div>
<div class="panel-body"><p class="hint">${t("events.team_form_drivers")}</p></div>
${teamDriverPool.fallback ? `<div class="panel-body"><p class="hint">${t("events.team_driver_fallback")}</p></div>` : ""}
<div class="panel-body check-grid">
${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);