gjort om race o lag
This commit is contained in:
@@ -20,6 +20,7 @@ export function renderEventManagerMarkup(context) {
|
||||
selectedParticipantCount,
|
||||
raceDrivers,
|
||||
teamDriverPool,
|
||||
showTeamsSection,
|
||||
state,
|
||||
getDriverDisplayById,
|
||||
raceFormatAdvanced,
|
||||
@@ -282,91 +283,96 @@ export function renderEventManagerMarkup(context) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="panel" id="manage-setup-teams">
|
||||
<div class="panel-header panel-header-with-pill">
|
||||
<h3>${t("events.teams")}</h3>
|
||||
<span class="pill">${raceTeams.length}</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p class="hint">${t("events.team_race_intro")}</p>
|
||||
<p class="hint">${t("events.team_steps")}</p>
|
||||
<form id="teamForm" class="form-grid cols-4 team-create-form">
|
||||
<input name="teamName" required placeholder="${t("events.team_name")}" />
|
||||
<button class="btn btn-primary" id="teamAddSave" type="button">${t("events.add_team")}</button>
|
||||
<p class="form-error" id="teamCreateError" hidden></p>
|
||||
</form>
|
||||
<p class="hint">${t("events.team_hint")}</p>
|
||||
<p class="hint" id="teamRenderDebug">teams rendered: ${raceTeams.length}</p>
|
||||
<div class="panel-row mt-16">
|
||||
<section class="panel">
|
||||
<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>
|
||||
${teamDriverPool.fallback ? `<div class="panel-body"><p class="hint">${t("events.team_driver_fallback")}</p></div>` : ""}
|
||||
<div class="panel-body check-grid">
|
||||
${raceDrivers
|
||||
.map(
|
||||
(driver) => `
|
||||
<label class="check-card">
|
||||
<input type="checkbox" name="teamDriverIds" form="teamForm" value="${driver.id}" />
|
||||
<span>${escapeHtml(driver.name)}${driver.transponder ? ` (${escapeHtml(driver.transponder)})` : ""}</span>
|
||||
</label>
|
||||
`
|
||||
)
|
||||
.join("")}
|
||||
</div>
|
||||
</section>
|
||||
<section class="panel">
|
||||
<div class="panel-header"><h3>${t("events.team_cars")}</h3></div>
|
||||
<div class="panel-body"><p class="hint">${t("events.team_form_cars")}</p></div>
|
||||
<div class="panel-body check-grid">
|
||||
${state.cars
|
||||
.map(
|
||||
(car) => `
|
||||
<label class="check-card">
|
||||
<input type="checkbox" name="teamCarIds" form="teamForm" value="${car.id}" />
|
||||
<span>${escapeHtml(car.name)} (${escapeHtml(car.transponder || "-")})</span>
|
||||
</label>
|
||||
`
|
||||
)
|
||||
.join("")}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="mt-16">
|
||||
${
|
||||
raceTeams.length
|
||||
? raceTeams
|
||||
.map(
|
||||
(team) => `
|
||||
<article class="team-card">
|
||||
<div>
|
||||
<strong>${escapeHtml(team.name)}</strong>
|
||||
<div class="hint">${t("events.team_drivers")}: ${escapeHtml(
|
||||
team.driverIds.map((driverId) => getDriverDisplayById(driverId)).join(", ") || "-"
|
||||
)}</div>
|
||||
<div class="hint">${t("events.team_cars")}: ${escapeHtml(
|
||||
team.carIds
|
||||
.map((carId) => {
|
||||
const car = state.cars.find((item) => item.id === carId);
|
||||
return car ? `${car.name} (${car.transponder || "-"})` : "";
|
||||
})
|
||||
.filter(Boolean)
|
||||
.join(", ") || "-"
|
||||
)}</div>
|
||||
</div>
|
||||
<div class="actions-inline">
|
||||
<button id="team-edit-${team.id}" class="btn" type="button">${t("events.edit_team")}</button>
|
||||
<button id="team-delete-${team.id}" class="btn btn-danger" type="button">${t("common.delete")}</button>
|
||||
</div>
|
||||
</article>
|
||||
`
|
||||
)
|
||||
.join("")
|
||||
: `<p>${t("events.no_teams")}</p>`
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
${
|
||||
showTeamsSection
|
||||
? `
|
||||
<section class="panel" id="manage-setup-teams">
|
||||
<div class="panel-header panel-header-with-pill">
|
||||
<h3>${t("events.teams")}</h3>
|
||||
<span class="pill">${raceTeams.length}</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p class="hint">${t("events.team_race_intro")}</p>
|
||||
<p class="hint">${t("events.team_steps")}</p>
|
||||
<form id="teamForm" class="form-grid cols-4 team-create-form">
|
||||
<input name="teamName" required placeholder="${t("events.team_name")}" />
|
||||
<button class="btn btn-primary" type="submit">${t("events.add_team")}</button>
|
||||
<p class="form-error" id="teamCreateError" hidden></p>
|
||||
</form>
|
||||
<p class="hint">${t("events.team_hint")}</p>
|
||||
<div class="panel-row mt-16">
|
||||
<section class="panel">
|
||||
<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>
|
||||
${teamDriverPool.fallback ? `<div class="panel-body"><p class="hint">${t("events.team_driver_fallback")}</p></div>` : ""}
|
||||
<div class="panel-body check-grid">
|
||||
${raceDrivers
|
||||
.map(
|
||||
(driver) => `
|
||||
<label class="check-card">
|
||||
<input type="checkbox" name="teamDriverIds" form="teamForm" value="${driver.id}" />
|
||||
<span>${escapeHtml(driver.name)}${driver.transponder ? ` (${escapeHtml(driver.transponder)})` : ""}</span>
|
||||
</label>
|
||||
`
|
||||
)
|
||||
.join("")}
|
||||
</div>
|
||||
</section>
|
||||
<section class="panel">
|
||||
<div class="panel-header"><h3>${t("events.team_cars")}</h3></div>
|
||||
<div class="panel-body"><p class="hint">${t("events.team_form_cars")}</p></div>
|
||||
<div class="panel-body check-grid">
|
||||
${state.cars
|
||||
.map(
|
||||
(car) => `
|
||||
<label class="check-card">
|
||||
<input type="checkbox" name="teamCarIds" form="teamForm" value="${car.id}" />
|
||||
<span>${escapeHtml(car.name)} (${escapeHtml(car.transponder || "-")})</span>
|
||||
</label>
|
||||
`
|
||||
)
|
||||
.join("")}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="mt-16">
|
||||
${
|
||||
raceTeams.length
|
||||
? raceTeams
|
||||
.map(
|
||||
(team) => `
|
||||
<article class="team-card">
|
||||
<div>
|
||||
<strong>${escapeHtml(team.name)}</strong>
|
||||
<div class="hint">${t("events.team_drivers")}: ${escapeHtml(
|
||||
team.driverIds.map((driverId) => getDriverDisplayById(driverId)).join(", ") || "-"
|
||||
)}</div>
|
||||
<div class="hint">${t("events.team_cars")}: ${escapeHtml(
|
||||
team.carIds
|
||||
.map((carId) => {
|
||||
const car = state.cars.find((item) => item.id === carId);
|
||||
return car ? `${car.name} (${car.transponder || "-"})` : "";
|
||||
})
|
||||
.filter(Boolean)
|
||||
.join(", ") || "-"
|
||||
)}</div>
|
||||
</div>
|
||||
<div class="actions-inline">
|
||||
<button id="team-edit-${team.id}" class="btn" type="button">${t("events.edit_team")}</button>
|
||||
<button id="team-delete-${team.id}" class="btn btn-danger" type="button">${t("common.delete")}</button>
|
||||
</div>
|
||||
</article>
|
||||
`
|
||||
)
|
||||
.join("")
|
||||
: `<p>${t("events.no_teams")}</p>`
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
`
|
||||
: ""
|
||||
}
|
||||
</div>
|
||||
|
||||
<section class="panel mt-16" id="manage-format">
|
||||
|
||||
Reference in New Issue
Block a user