Add simplified Open Practice flow and reorganize

This commit is contained in:
larssand
2026-08-24 19:25:21 +02:00
parent 5a6e51c51b
commit 2e6866a013
13 changed files with 481 additions and 55 deletions

View File

@@ -27,6 +27,7 @@ export function renderEventWorkspaceView(context) {
uid,
normalizeEvent,
applyRaceFormatPreset,
buildOpenPracticeBundle,
buildRaceSessionsFromWizard,
buildDefaultRaceWizardDraft,
applyRaceWizardPresetDefaults,
@@ -36,6 +37,7 @@ export function renderEventWorkspaceView(context) {
bindModalShell,
isValidIsoDate,
saveState,
openTimingSession,
} = context;
const isRaceMode = mode === "race";
@@ -64,6 +66,22 @@ export function renderEventWorkspaceView(context) {
editingEvent,
});
document.getElementById("quickOpenPracticeForm")?.addEventListener("submit", (event) => {
event.preventDefault();
const formNode = event.currentTarget;
if (!(formNode instanceof HTMLFormElement)) {
return;
}
const form = new FormData(formNode);
const name = String(form.get("name") || "").trim() || t("events.quick_open_practice_default");
const bundle = buildOpenPracticeBundle({ name, date: new Date().toISOString().slice(0, 10) });
state.events.push(bundle.event);
state.sessions.push(bundle.session);
setSelectedTeamEditId(null);
setSelectedSessionEditId(null);
openTimingSession(bundle.session.id);
});
if (isRaceMode) {
const persistWizardStepOne = () => {
const form = document.getElementById("raceWizardStepForm");
@@ -269,6 +287,13 @@ export function renderEventWorkspaceView(context) {
document.getElementById(`event-manage-${e.id}`)?.addEventListener("click", () => {
renderEventManager(e.id);
});
document.getElementById(`event-timing-${e.id}`)?.addEventListener("click", () => {
const session = getSessionsForEvent(e.id).find((item) => item.type === "open_practice");
if (session) {
openTimingSession(session.id);
}
});
});
document.getElementById("eventEditCancel")?.addEventListener("click", () => {