logik miss

This commit is contained in:
larssand
2026-03-27 21:24:38 +01:00
parent 346b1e7657
commit e4b3c9f5d2
2 changed files with 36 additions and 4 deletions

View File

@@ -2870,6 +2870,7 @@ function renderEventManager(eventId) {
setSelectedGridSessionId: (value) => { selectedGridSessionId = value; },
getRaceFormatAdvanced: () => raceFormatAdvanced,
setRaceFormatAdvanced: (value) => { raceFormatAdvanced = value; },
getEventDrivers,
getTeamDriverPool,
getEventTeams,
normalizeBrandingConfig,

View File

@@ -15,6 +15,7 @@ export function renderEventManagerView(context) {
setSelectedGridSessionId,
getRaceFormatAdvanced,
setRaceFormatAdvanced,
getEventDrivers,
getTeamDriverPool,
getEventTeams,
normalizeBrandingConfig,
@@ -106,8 +107,8 @@ export function renderEventManagerView(context) {
const driverOptions = state.drivers
.map((d) => `<option value="${d.id}">${escapeHtml(d.name)}</option>`)
.join("");
const raceDrivers = event.mode === "race" ? getEventDrivers(event) : [];
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)) {
setSelectedTeamEditId(null);
@@ -216,6 +217,15 @@ export function renderEventManagerView(context) {
rerenderEventManager(eventId);
};
const updateEvent = (updater) => {
state.events = state.events.map((item) => {
if (item.id !== eventId) {
return item;
}
return normalizeEvent(updater(item));
});
};
document.getElementById("eventBrandingForm")?.addEventListener("submit", (e) => {
e.preventDefault();
const form = new FormData(e.currentTarget);
@@ -535,7 +545,14 @@ export function renderEventManagerView(context) {
}
setFormError("teamCreateError", "");
const createdTeam = normalizeRaceTeam({ id: uid("team"), name, driverIds, carIds });
event.raceConfig.teams = [...getEventTeams(event), createdTeam];
const nextTeams = [...getEventTeams(event), createdTeam];
updateEvent((item) => ({
...item,
raceConfig: {
...(item.raceConfig || {}),
teams: nextTeams,
},
}));
setSelectedTeamEditId(null);
saveState();
refreshManager();
@@ -548,7 +565,14 @@ export function renderEventManagerView(context) {
});
document.getElementById(`team-delete-${team.id}`)?.addEventListener("click", () => {
event.raceConfig.teams = getEventTeams(event).filter((item) => item.id !== team.id);
const nextTeams = getEventTeams(event).filter((item) => item.id !== team.id);
updateEvent((item) => ({
...item,
raceConfig: {
...(item.raceConfig || {}),
teams: nextTeams,
},
}));
if (getSelectedTeamEditId() === team.id) {
setSelectedTeamEditId(null);
}
@@ -605,9 +629,16 @@ export function renderEventManagerView(context) {
return;
}
setFormError("teamEditError", "");
event.raceConfig.teams = getEventTeams(event).map((team) =>
const nextTeams = getEventTeams(event).map((team) =>
team.id === editingTeam.id ? normalizeRaceTeam({ ...team, name, driverIds, carIds }) : team
);
updateEvent((item) => ({
...item,
raceConfig: {
...(item.raceConfig || {}),
teams: nextTeams,
},
}));
setSelectedTeamEditId(null);
saveState();
refreshManager();