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 @@