logik miss
This commit is contained in:
@@ -2870,6 +2870,7 @@ function renderEventManager(eventId) {
|
||||
setSelectedGridSessionId: (value) => { selectedGridSessionId = value; },
|
||||
getRaceFormatAdvanced: () => raceFormatAdvanced,
|
||||
setRaceFormatAdvanced: (value) => { raceFormatAdvanced = value; },
|
||||
getEventDrivers,
|
||||
getTeamDriverPool,
|
||||
getEventTeams,
|
||||
normalizeBrandingConfig,
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user