-
-
Loading...
+
+{#if $appState.user === undefined}
+
+
- {:else if $appState.user === null}
-
- {:else if $appState.user.onboardingDone === false}
-
- {:else}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Loading...
+
+{:else if $appState.user === null}
+
+{:else if $appState.user.onboardingDone === false}
+
+{:else}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- {/if}
-
+
+{/if}
+
diff --git a/src/lib/components/DetachedPage/DetachedPage.svelte b/src/lib/components/DetachedPage/DetachedPage.svelte
index 4b25321..2bf25e2 100644
--- a/src/lib/components/DetachedPage/DetachedPage.svelte
+++ b/src/lib/components/DetachedPage/DetachedPage.svelte
@@ -10,7 +10,7 @@
// Top element, that when focused and back is pressed, will exit the modal
const topSelectable = useRegistrar();
- function handleGoBack({ detail }: CustomEvent
| CustomEvent) {
+ function handleGoBack() {
// if ('willLeaveContainer' in detail) {
// if (detail.direction !== 'left' || !detail.willLeaveContainer) return;
// detail.preventNavigation();
@@ -24,18 +24,11 @@
}
}
- function handleGoToTop({ detail }: CustomEvent | CustomEvent) {
- if ('willLeaveContainer' in detail) {
- // Navigate event
- // if (detail.direction === 'left' && detail.willLeaveContainer) {
- // detail.preventNavigation();
- // get(topSelectable)?.focus();
- // }
- } else {
- // Back event
- const selectable = get(topSelectable);
+ function handleGoToTop() {
+ const selectable = get(topSelectable);
+ if (topSelectable) {
selectable?.focusChild(0) || selectable?.focus();
- }
+ } else handleGoBack();
}
@@ -44,11 +37,12 @@
hidden: !topmost
})}
trapFocus
+ focusOnMount
direction="horizontal"
on:mount
>
-
+
diff --git a/src/lib/components/Modal/ModalStack.svelte b/src/lib/components/Modal/ModalStack.svelte
index 0c38182..483743d 100644
--- a/src/lib/components/Modal/ModalStack.svelte
+++ b/src/lib/components/Modal/ModalStack.svelte
@@ -1,6 +1,7 @@
-
+
@@ -40,4 +41,4 @@
{/each}
{/await}
-
+
diff --git a/src/lib/pages/ManagePage.svelte b/src/lib/pages/ManagePage.svelte
index 4e2e77b..747f9c3 100644
--- a/src/lib/pages/ManagePage.svelte
+++ b/src/lib/pages/ManagePage.svelte
@@ -19,6 +19,7 @@
import { ArrowRight, Trash } from 'radix-icons-svelte';
import TmdbIntegrationConnectDialog from '../components/Integrations/TmdbIntegrationConnectDialog.svelte';
import { createModal } from '../components/Modal/modal.store';
+ import DetachedPage from '../components/DetachedPage/DetachedPage.svelte';
enum Tabs {
Interface,
@@ -127,7 +128,7 @@
}}
/>
-
+
-
+
diff --git a/src/lib/pages/MoviePage.svelte b/src/lib/pages/MoviePage.svelte
index dbddc7a..fe0dd09 100644
--- a/src/lib/pages/MoviePage.svelte
+++ b/src/lib/pages/MoviePage.svelte
@@ -82,7 +82,6 @@
direction="horizontal"
class="flex mt-8"
focusOnMount
- on:navigate={handleGoBack}
on:back={handleGoBack}
{registrar}
>
diff --git a/src/lib/pages/MoviesHomePage.svelte b/src/lib/pages/MoviesHomePage.svelte
index 190e0cb..0fd1686 100644
--- a/src/lib/pages/MoviesHomePage.svelte
+++ b/src/lib/pages/MoviesHomePage.svelte
@@ -10,6 +10,7 @@
import { formatDateToYearMonthDay } from '../utils';
import TmdbCard from '../components/Card/TmdbCard.svelte';
import { navigate } from '../components/StackRouter/StackRouter';
+ import DetachedPage from '../components/DetachedPage/DetachedPage.svelte';
const continueWatching = jellyfinApi.getContinueWatching('movie');
const recentlyAdded = jellyfinApi.getRecentlyAdded('movie');
@@ -59,7 +60,7 @@
}
-
+
getShowcasePropsFromTmdbMovie(top10))}
@@ -202,4 +203,4 @@
-
+
diff --git a/src/lib/pages/SearchPage.svelte b/src/lib/pages/SearchPage.svelte
index 46249ba..77729cb 100644
--- a/src/lib/pages/SearchPage.svelte
+++ b/src/lib/pages/SearchPage.svelte
@@ -9,6 +9,7 @@
import { scrollIntoView } from '../selectable';
import AnimateScale from '../components/AnimateScale.svelte';
import type { Readable } from 'svelte/store';
+ import DetachedPage from '../components/DetachedPage/DetachedPage.svelte';
let searchQuery = '';
let typingTimeout: ReturnType | undefined = undefined;
@@ -36,7 +37,7 @@
});
-
+
+
diff --git a/src/lib/pages/SeriesHomePage.svelte b/src/lib/pages/SeriesHomePage.svelte
index 02ccebf..dc1ff47 100644
--- a/src/lib/pages/SeriesHomePage.svelte
+++ b/src/lib/pages/SeriesHomePage.svelte
@@ -12,6 +12,7 @@
import TmdbCard from '../components/Card/TmdbCard.svelte';
import { navigate } from '../components/StackRouter/StackRouter';
import { TMDB_SERIES_GENRES } from '../apis/tmdb/tmdb-api.js';
+ import DetachedPage from '../components/DetachedPage/DetachedPage.svelte';
const continueWatching = jellyfinApi.getContinueWatchingSeries();
const recentlyAdded = jellyfinApi.getRecentlyAdded('series');
@@ -53,7 +54,7 @@
}
-
+
getShowcasePropsFromTmdbSeries(top10))}
@@ -196,4 +197,4 @@
-
+