feat(series): add series/cup championships with points tables and standings
Group any number of races in freely chosen classes into a series with a points table (ÖRC/100-80-70/F1/custom), best-N or drop-X counting, a club filter that re-ranks members without guests, tie-breaks, rounds created from a date list, and per-class standings with print and PDF. Also fixes PDF export of wide tables: they are compacted and switched to landscape instead of truncating names and dropping columns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { normalizeSeries } from "./series_logic.js";
|
||||
import { speakWithPiper, isPiperSpeaking } from "./piper_speech.js";
|
||||
export function createDefaultAmmcConfigHelper() {
|
||||
return {
|
||||
@@ -113,6 +114,7 @@ export function applyPersistedStateHelper(persisted, deps) {
|
||||
state.training = normalizeTrainingState(persisted.training);
|
||||
state.activeSessionId = persisted.activeSessionId || null;
|
||||
state.trackLayouts = normalizeTrackLayouts(persisted.trackLayouts);
|
||||
state.series = (Array.isArray(persisted.series) ? persisted.series : []).map((series) => normalizeSeries(series)).filter((series) => series.id);
|
||||
state.settings = {
|
||||
wsUrl: persisted.settings?.wsUrl || state.settings.wsUrl || "ws://127.0.0.1:9000",
|
||||
splitDecoderEnabled: persisted.settings?.splitDecoderEnabled === true,
|
||||
|
||||
Reference in New Issue
Block a user