summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/Sort.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/lib/Sort.ts')
-rw-r--r--frontend/src/lib/Sort.ts42
1 files changed, 0 insertions, 42 deletions
diff --git a/frontend/src/lib/Sort.ts b/frontend/src/lib/Sort.ts
deleted file mode 100644
index 4c9a353..0000000
--- a/frontend/src/lib/Sort.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { SortDirection } from '$gql/graphql';
-import { getContext, setContext } from 'svelte';
-import { writable, type Writable } from 'svelte/store';
-import { navigate } from './Navigation';
-
-export interface SortData<T> {
- on: T;
- direction: SortDirection;
- seed: number | undefined;
-}
-
-export class SortContext<T extends string> {
- on: T;
- direction: SortDirection;
- seed: number | undefined;
- labels: Record<T, string>;
-
- constructor({ on, direction, seed }: SortData<T>, labels: Record<T, string>) {
- this.on = on;
- this.direction = direction;
- this.seed = seed;
- this.labels = labels;
- }
-
- set update({ on, direction, seed }: SortData<T>) {
- this.on = on;
- this.direction = direction;
- this.seed = seed;
- }
-
- apply(params: URLSearchParams) {
- navigate({ sort: { on: this.on, direction: this.direction, seed: this.seed } }, params);
- }
-}
-
-export function initSortContext<T extends string>(sort: SortData<T>, labels: Record<T, string>) {
- return setContext<Writable<SortContext<T>>>('sort', writable(new SortContext(sort, labels)));
-}
-
-export function getSortContext<T extends string>() {
- return getContext<Writable<SortContext<T>>>('sort');
-}