loadstate

This commit is contained in:
larssand
2026-03-22 18:15:58 +01:00
parent 45574a2687
commit 2b169bc97a

View File

@@ -1620,8 +1620,16 @@ let driverBrandFilter = "";
let carBrandFilter = "";
let raceFormatAdvanced = false;
const OBS_LAYOUTS = ["leaderboard", "grid", "lowerthird"];
const OBS_THEMES = ["panel", "transparent", "chroma"];
function getObsLayouts() {
return ["leaderboard", "grid", "lowerthird"];
}
function getObsThemes() {
return ["panel", "transparent", "chroma"];
}
const OBS_LAYOUTS = getObsLayouts();
const OBS_THEMES = getObsThemes();
function createDefaultObsOverlaySettings() {
return {
@@ -1645,8 +1653,10 @@ function normalizeObsOverlaySettings(raw = {}) {
const defaults = createDefaultObsOverlaySettings();
const rowValue = Number(raw?.rows);
const rows = Number.isFinite(rowValue) ? Math.max(3, Math.min(12, Math.round(rowValue))) : defaults.rows;
const layout = OBS_LAYOUTS.includes(String(raw?.layout || "").toLowerCase()) ? String(raw.layout).toLowerCase() : defaults.layout;
const theme = OBS_THEMES.includes(String(raw?.theme || "").toLowerCase()) ? String(raw.theme).toLowerCase() : defaults.theme;
const layoutOptions = getObsLayouts();
const themeOptions = getObsThemes();
const layout = layoutOptions.includes(String(raw?.layout || "").toLowerCase()) ? String(raw.layout).toLowerCase() : defaults.layout;
const theme = themeOptions.includes(String(raw?.theme || "").toLowerCase()) ? String(raw.theme).toLowerCase() : defaults.theme;
return {
rows,
showClock: raw?.showClock !== false,
@@ -1682,8 +1692,8 @@ function getObsOverlayConfig() {
showResult: parseOverlayBooleanParam("showResult", base.showResult),
showBest: parseOverlayBooleanParam("showBest", base.showBest),
showGap: parseOverlayBooleanParam("showGap", base.showGap),
layout: OBS_LAYOUTS.includes(String(urlParams.get("layout") || "").toLowerCase()) ? String(urlParams.get("layout")).toLowerCase() : base.layout,
theme: OBS_THEMES.includes(String(urlParams.get("obsTheme") || "").toLowerCase()) ? String(urlParams.get("obsTheme")).toLowerCase() : base.theme,
layout: getObsLayouts().includes(String(urlParams.get("layout") || "").toLowerCase()) ? String(urlParams.get("layout")).toLowerCase() : base.layout,
theme: getObsThemes().includes(String(urlParams.get("obsTheme") || "").toLowerCase()) ? String(urlParams.get("obsTheme")).toLowerCase() : base.theme,
publicToken: String(urlParams.get("token") || base.publicToken || "").trim(),
});
}