From 9caa47a83050ac90312772ceb79893a51d3aa431 Mon Sep 17 00:00:00 2001 From: "azykov@mail.ru" Date: Fri, 4 Sep 2026 13:59:14 +0300 Subject: [PATCH] Allow overriding localStorage save key via ?game= query param Defaults to 'incgame' when the query param is absent, preserving current behavior. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_015ohELX137NFgWryS3BAY88 --- src/saveLoad.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/saveLoad.ts b/src/saveLoad.ts index 720960a..4fc8af2 100644 --- a/src/saveLoad.ts +++ b/src/saveLoad.ts @@ -5,15 +5,20 @@ export const saveParams = { path: 'default', } -const KEY_GAME = 'incgame'; +const DEFAULT_KEY_GAME = 'incgame'; + +function getKeyGame(): string { + const params = new URLSearchParams(window.location.search); + return params.get('game') || DEFAULT_KEY_GAME; +} export function save(game: Game) { - localStorage.setItem(`${saveParams.path}_${KEY_GAME}`, serializeGameToString(game)); + localStorage.setItem(`${saveParams.path}_${getKeyGame()}`, serializeGameToString(game)); } export function load(): Game { try { - const raw = localStorage.getItem(`${saveParams.path}_${KEY_GAME}`); + const raw = localStorage.getItem(`${saveParams.path}_${getKeyGame()}`); if (raw) return deserializeGameFromString(raw); } catch (e) {