From dc38ce3b401b39b34ff03a483e5bd2bca751a8af Mon Sep 17 00:00:00 2001 From: Sam Chau Date: Wed, 28 Jan 2026 09:22:31 +1030 Subject: [PATCH] style(cards): add default card views for database and arr pages --- src/app.css | 3 +- src/lib/client/stores/dataPage.ts | 6 +- src/lib/client/ui/card/StickyCard.svelte | 14 +- src/lib/client/ui/modal/InfoModal.svelte | 2 +- src/lib/client/ui/modal/Modal.svelte | 2 +- .../ui/navigation/navbar/accentPicker.svelte | 4 +- .../client/ui/navigation/navbar/navbar.svelte | 4 +- .../ui/navigation/pageNav/pageNav.svelte | 11 +- src/routes/+layout.svelte | 26 +-- src/routes/arr/+page.svelte | 148 +++------------ src/routes/arr/views/CardView.svelte | 120 ++++++++++++ src/routes/arr/views/TableView.svelte | 116 ++++++++++++ src/routes/databases/+page.svelte | 177 +++--------------- src/routes/databases/views/CardView.svelte | 135 +++++++++++++ src/routes/databases/views/TableView.svelte | 141 ++++++++++++++ 15 files changed, 604 insertions(+), 305 deletions(-) create mode 100644 src/routes/arr/views/CardView.svelte create mode 100644 src/routes/arr/views/TableView.svelte create mode 100644 src/routes/databases/views/CardView.svelte create mode 100644 src/routes/databases/views/TableView.svelte diff --git a/src/app.css b/src/app.css index 407c936..6df53dc 100644 --- a/src/app.css +++ b/src/app.css @@ -383,9 +383,8 @@ } } - /* Overlay scrollbars - never reserve space, float on top like Firefox */ + /* Overlay scrollbars - style scrollbars without forcing overflow */ * { - overflow: overlay; /* Chromium: float on top, no layout space */ scrollbar-width: thin; scrollbar-color: rgba(163, 163, 163, 0.5) transparent; } diff --git a/src/lib/client/stores/dataPage.ts b/src/lib/client/stores/dataPage.ts index 0b9edd9..f55c6e3 100644 --- a/src/lib/client/stores/dataPage.ts +++ b/src/lib/client/stores/dataPage.ts @@ -57,9 +57,11 @@ export function createDataPageStore( // Search store const search = createSearchStore({ debounceMs }); - // View store with localStorage persistence + // Determine initial view: localStorage > mobile detection > defaultView const storedView = browser ? (localStorage.getItem(storageKey) as ViewMode | null) : null; - const view = writable(storedView ?? defaultView); + const isMobile = browser ? window.innerWidth < 768 : false; + const initialView = storedView ?? (isMobile ? 'cards' : defaultView); + const view = writable(initialView); // Persist view changes to localStorage if (browser) { diff --git a/src/lib/client/ui/card/StickyCard.svelte b/src/lib/client/ui/card/StickyCard.svelte index e121d0e..48820f5 100644 --- a/src/lib/client/ui/card/StickyCard.svelte +++ b/src/lib/client/ui/card/StickyCard.svelte @@ -34,12 +34,14 @@ >
-
-
- +
+
+
+ +
@@ -48,13 +50,13 @@
{:else}
{/if} {/if} diff --git a/src/lib/client/ui/modal/InfoModal.svelte b/src/lib/client/ui/modal/InfoModal.svelte index fa7dc5e..ef811f2 100644 --- a/src/lib/client/ui/modal/InfoModal.svelte +++ b/src/lib/client/ui/modal/InfoModal.svelte @@ -34,7 +34,7 @@