From d5e9a9469f0c57939367141985a97d8404fd6fbe Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Tue, 14 May 2024 22:51:20 +0200 Subject: [PATCH 1/2] fix: use btn-id class for all tables --- src/lib/components/table/PatientTable.svelte | 2 +- src/routes/(app)/rooms/+page.svelte | 2 +- src/routes/(app)/stations/+page.svelte | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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} {#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} From a4eebb944f55da8e87cc899eebada0bd3fd37aa8 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Thu, 16 May 2024 17:29:22 +0200 Subject: [PATCH 2/2] fix: avoid global state, use context for savedFilters --- .forgejo/workflows/ci.yaml | 1 + src/lib/components/filter/SavedFilters.svelte | 4 +++- src/lib/stores/index.ts | 5 ++++- src/routes/(app)/+layout.svelte | 8 +++++++- src/routes/(app)/+page.svelte | 4 +++- 5 files changed, 18 insertions(+), 4 deletions(-) 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/stores/index.ts b/src/lib/stores/index.ts index 556cc5d..8d2e2c8 100644 --- a/src/lib/stores/index.ts +++ b/src/lib/stores/index.ts @@ -1,3 +1,4 @@ +import { getContext } from "svelte"; import { derived, writable, type Writable } from "svelte/store"; import type { SavedFilter } from "$lib/shared/model"; @@ -6,4 +7,6 @@ import type { SavedFilter } from "$lib/shared/model"; export const screenWidth = writable(0); export const screenWidthSmall = derived(screenWidth, ($mainWidth) => $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);