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; }, setSelectedGridSessionId: (value) => { selectedGridSessionId = value; },
getRaceFormatAdvanced: () => raceFormatAdvanced, getRaceFormatAdvanced: () => raceFormatAdvanced,
setRaceFormatAdvanced: (value) => { raceFormatAdvanced = value; }, setRaceFormatAdvanced: (value) => { raceFormatAdvanced = value; },
getEventDrivers,
getTeamDriverPool, getTeamDriverPool,
getEventTeams, getEventTeams,
normalizeBrandingConfig, normalizeBrandingConfig,

View File

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