summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/Reader.svelte.ts
diff options
context:
space:
mode:
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[]] {