fix lägga till förare
This commit is contained in:
17
src/app.js
17
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_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_drivers": "Markera lagförare innan du sparar laget.",
|
||||||
"events.team_form_cars": "Markera lagbilar 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.no_teams": "Inga lag skapade ännu.",
|
||||||
"events.team_standings": "Lagställning",
|
"events.team_standings": "Lagställning",
|
||||||
"events.no_team_results": "Inga teamresultat ännu.",
|
"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_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_drivers": "Select team drivers before saving the team.",
|
||||||
"events.team_form_cars": "Select team cars 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.no_teams": "No teams created yet.",
|
||||||
"events.team_standings": "Team standings",
|
"events.team_standings": "Team standings",
|
||||||
"events.no_team_results": "No team results yet.",
|
"events.no_team_results": "No team results yet.",
|
||||||
@@ -2776,7 +2778,8 @@ function renderEventManager(eventId) {
|
|||||||
const driverOptions = state.drivers
|
const driverOptions = state.drivers
|
||||||
.map((d) => `<option value="${d.id}">${escapeHtml(d.name)}</option>`)
|
.map((d) => `<option value="${d.id}">${escapeHtml(d.name)}</option>`)
|
||||||
.join("");
|
.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) : [];
|
const raceTeams = event.mode === "race" ? getEventTeams(event) : [];
|
||||||
if (selectedTeamEditId && !raceTeams.some((team) => team.id === selectedTeamEditId)) {
|
if (selectedTeamEditId && !raceTeams.some((team) => team.id === selectedTeamEditId)) {
|
||||||
selectedTeamEditId = null;
|
selectedTeamEditId = null;
|
||||||
@@ -2976,6 +2979,7 @@ function renderEventManager(eventId) {
|
|||||||
<section class="panel">
|
<section class="panel">
|
||||||
<div class="panel-header"><h3>${t("events.team_drivers")}</h3></div>
|
<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>
|
<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">
|
<div class="panel-body check-grid">
|
||||||
${raceDrivers
|
${raceDrivers
|
||||||
.map(
|
.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) : [];
|
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) {
|
function findEventTeamForPassing(event, driverId, carId) {
|
||||||
return getEventTeams(event).find((team) => {
|
return getEventTeams(event).find((team) => {
|
||||||
const driverMatch = driverId && Array.isArray(team.driverIds) && team.driverIds.includes(driverId);
|
const driverMatch = driverId && Array.isArray(team.driverIds) && team.driverIds.includes(driverId);
|
||||||
|
|||||||
Reference in New Issue
Block a user