diff options
Diffstat (limited to '')
-rw-r--r-- | frontend/src/lib/Reader.svelte.ts (renamed from frontend/src/lib/Reader.ts) | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/frontend/src/lib/Reader.ts b/frontend/src/lib/Reader.svelte.ts index 8777b9b..f5a5322 100644 --- a/frontend/src/lib/Reader.ts +++ b/frontend/src/lib/Reader.svelte.ts @@ -1,6 +1,5 @@ import { Layout, type PageFragment } from '$gql/graphql'; import { getContext, setContext } from 'svelte'; -import { writable, type Writable } from 'svelte/store'; export interface Chunk { main: PageFragment; @@ -9,25 +8,23 @@ export interface Chunk { } class ReaderContext { - visible = false; - sidebar = false; - pages: PageFragment[] = []; - page = 0; + visible = $state(false); + sidebar = $state(false); + pages: PageFragment[] = $state([]); + page = $state(0); - open(page: number) { + open = (page: number) => { this.page = page; this.visible = true; - - return this; - } + }; } export function initReaderContext() { - return setContext<Writable<ReaderContext>>('reader', writable(new ReaderContext())); + return setContext<ReaderContext>('reader', new ReaderContext()); } export function getReaderContext() { - return getContext<Writable<ReaderContext>>('reader'); + return getContext<ReaderContext>('reader'); } export function partition(pages: PageFragment[], layout: Layout): [Chunk[], number[]] { |