diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml
index dc1114b..d2ea852 100644
--- a/.forgejo/workflows/ci.yaml
+++ b/.forgejo/workflows/ci.yaml
@@ -50,6 +50,7 @@ jobs:
id: e2etest
run: |
pnpm run build -l silent
+ npx playwright install chromium
pnpm run test:e2e
- name: 💢 Upload E2E report
if: ${{ failure() && steps.e2etest.conclusion == 'failure' }}
diff --git a/src/lib/components/filter/SavedFilters.svelte b/src/lib/components/filter/SavedFilters.svelte
index 5854b2b..20baa2c 100644
--- a/src/lib/components/filter/SavedFilters.svelte
+++ b/src/lib/components/filter/SavedFilters.svelte
@@ -8,12 +8,14 @@
import { toastError, toastInfo } from "$lib/shared/util/toast";
import Icon from "$lib/components/ui/Icon.svelte";
- import { savedFilters } from "$lib/stores";
+ import { getSavedFilters } from "$lib/stores";
import Chip from "./SavedFilterChip.svelte";
export let view: string;
+ const savedFilters = getSavedFilters();
+
$: filters = $savedFilters[view] ?? [];
function getQuery(): string {
diff --git a/src/lib/components/table/PatientTable.svelte b/src/lib/components/table/PatientTable.svelte
index b4ecfed..57f1fbe 100644
--- a/src/lib/components/table/PatientTable.svelte
+++ b/src/lib/components/table/PatientTable.svelte
@@ -37,7 +37,7 @@
>
{patient.id} | $mainWidth < 500);
-export const savedFilters: Writable> = writable({});
+// Context key: "savedFilters"
+export type SavedFilters = Writable>;
+export const getSavedFilters: () => SavedFilters = () => getContext("savedFilters");
diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte
index ef24f7a..8d10a77 100644
--- a/src/routes/(app)/+layout.svelte
+++ b/src/routes/(app)/+layout.svelte
@@ -3,16 +3,22 @@
import type { LayoutData } from "./$types";
import { mdiAccount, mdiHome } from "@mdi/js";
+ import { setContext } from "svelte";
+ import { writable } from "svelte/store";
import { defaultFilterUrl, defaultVisitUrl } from "$lib/shared/util";
import Icon from "$lib/components/ui/Icon.svelte";
import NavLink from "$lib/components/ui/NavLink.svelte";
- import { savedFilters } from "$lib/stores";
+ import type { SavedFilters } from "$lib/stores";
export let data: LayoutData;
+ const savedFilters: SavedFilters = writable();
+
$: savedFilters.set(data.savedFilters);
+
+ setContext("savedFilters", savedFilters);
diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte
index e840d93..1c155e1 100644
--- a/src/routes/(app)/+page.svelte
+++ b/src/routes/(app)/+page.svelte
@@ -4,9 +4,11 @@
import { defaultFilterUrl } from "$lib/shared/util";
- import { savedFilters } from "$lib/stores";
+ import { getSavedFilters } from "$lib/stores";
export let data: PageData;
+
+ const savedFilters = getSavedFilters();
diff --git a/src/routes/(app)/rooms/+page.svelte b/src/routes/(app)/rooms/+page.svelte
index 513a06f..5f7d2a6 100644
--- a/src/routes/(app)/rooms/+page.svelte
+++ b/src/routes/(app)/rooms/+page.svelte
@@ -27,7 +27,7 @@
{#each data.rooms as room (room.id)}
- {room.name} |
+ {room.name} |
{room.station.name} |
{/each}
diff --git a/src/routes/(app)/stations/+page.svelte b/src/routes/(app)/stations/+page.svelte
index 010080e..e94e7bf 100644
--- a/src/routes/(app)/stations/+page.svelte
+++ b/src/routes/(app)/stations/+page.svelte
@@ -27,7 +27,7 @@
{#each data.stations as station (station.id)}
- {station.name}
+ {station.name}
|
{/each}