diff --git a/src/App.svelte b/src/App.svelte index 2144c25..8d30934 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -67,6 +67,9 @@ updateColors() } let upload: Checkpoint | null + let autoSave: Checkpoint | null = JsonTy.lsRead(`${pid}-auto-save`) + if (autoSave) restorePt(autoSave) + setInterval(() => { JsonTy.lsWrite(`${pid}-auto-save`, autoSave = ckpt()) }, 30 * 1000) // Run something on the edges of a cell function updateEdges(x: number, y: number, condition: (st: number) => boolean, op: (st: number) => number) { diff --git a/src/utils.ts b/src/utils.ts index 7c3107a..66c52f3 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -59,6 +59,10 @@ export const JsonTy = { URL.revokeObjectURL(a.href) }, + lsRead: (key: string) => { + let v = localStorage.getItem(key) + return v ? JsonTy.parse(v) : null + }, lsWrite: (key: string, obj: any) => localStorage.setItem(key, JsonTy.stringify(obj)), lsDefault: (key: string, def: any) => { let v = localStorage.getItem(key)