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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015ohELX137NFgWryS3BAY88
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
1553c48807
commit
9caa47a830
+8
-3
@@ -5,15 +5,20 @@ export const saveParams = {
|
|||||||
path: 'default',
|
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) {
|
export function save(game: Game) {
|
||||||
localStorage.setItem(`${saveParams.path}_${KEY_GAME}`, serializeGameToString(game));
|
localStorage.setItem(`${saveParams.path}_${getKeyGame()}`, serializeGameToString(game));
|
||||||
}
|
}
|
||||||
|
|
||||||
export function load(): Game {
|
export function load(): Game {
|
||||||
try {
|
try {
|
||||||
const raw = localStorage.getItem(`${saveParams.path}_${KEY_GAME}`);
|
const raw = localStorage.getItem(`${saveParams.path}_${getKeyGame()}`);
|
||||||
if (raw)
|
if (raw)
|
||||||
return deserializeGameFromString(raw);
|
return deserializeGameFromString(raw);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user