diff options
| author | ivar <i@oiee.no> | 2024-04-28 22:37:30 +0200 |
|---|---|---|
| committer | ivar <i@oiee.no> | 2024-04-28 22:37:30 +0200 |
| commit | ced66c5807575cd29f6aa5632e8ad02b38c8448a (patch) | |
| tree | 01760648ee293a2aef2288328014b5747d2192b4 /code/frontend/src/utils/global-state.ts | |
| parent | 691ad60d7bff5934053d87267c4e303ef3ed5f97 (diff) | |
| download | greatoffice-ced66c5807575cd29f6aa5632e8ad02b38c8448a.tar.xz greatoffice-ced66c5807575cd29f6aa5632e8ad02b38c8448a.zip | |
WIP new frontend
Diffstat (limited to 'code/frontend/src/utils/global-state.ts')
| -rw-r--r-- | code/frontend/src/utils/global-state.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/code/frontend/src/utils/global-state.ts b/code/frontend/src/utils/global-state.ts new file mode 100644 index 0000000..b585ced --- /dev/null +++ b/code/frontend/src/utils/global-state.ts @@ -0,0 +1,22 @@ +import { get } from "svelte/store"; +import { create_writable_persistent } from "./persistent-store"; + +const state = create_writable_persistent<any>({ + initialState: {}, + name: "global-state" +}); + +export type GlobalStateKeys = "isLoggedIn" | "showEmailValidatedAlertWhenLoggedIn" | "all"; + +export function fgs(key: GlobalStateKeys): any { + const value = get(state); + if (key === "all") return value; + return value[key]; +} + +export function sgs(key: GlobalStateKeys, value: any) { + if (key === "all") throw new Error("Not allowed to set global state key: all"); + const stateValue = get(state); + stateValue[key] = JSON.stringify(value) + state.set(stateValue); +}
\ No newline at end of file |
