From bce557cc2dc767628bed6aac87301a1be7c5431b Mon Sep 17 00:00:00 2001 From: rxliuli Date: Tue, 4 Nov 2025 05:03:50 +0800 Subject: init commit --- src/stores/modalPage.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/stores/modalPage.ts (limited to 'src/stores/modalPage.ts') diff --git a/src/stores/modalPage.ts b/src/stores/modalPage.ts new file mode 100644 index 0000000..dca38a0 --- /dev/null +++ b/src/stores/modalPage.ts @@ -0,0 +1,35 @@ +import type { GenericPage } from '@jet-app/app-store/api/models'; +import { type Writable, writable, type Readable } from 'svelte/store'; + +interface Page { + page: GenericPage; + pageDetail?: string; +} + +const modalPageStore: Writable = (() => { + // prevent global store on the server + if (typeof window === 'undefined') { + return { + subscribe: () => { + return () => {}; + }, + set: () => {}, + update: () => {}, + } as unknown as Writable; + } + + return writable(); +})(); + +interface ModalPageStore extends Readable { + setPage: (page: Page) => void; + clearPage: () => void; +} + +export const getModalPageStore = (): ModalPageStore => { + return { + subscribe: modalPageStore.subscribe, + setPage: (page) => modalPageStore.set(page), + clearPage: () => modalPageStore.set(undefined), + }; +}; -- cgit v1.2.3