From e7c2fd557137c82a26290f3244d6f37c77552569 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Thu, 24 Sep 2026 13:57:02 +0200 Subject: [PATCH] Move the app shell and its data loading into the (app) route group layout --- web-player/src/routes/(app)/+error.svelte | 16 +++ .../src/routes/{ => (app)}/+layout.server.ts | 4 +- web-player/src/routes/(app)/+layout.svelte | 104 +++++++++++++++++ web-player/src/routes/+error.svelte | 18 ++- web-player/src/routes/+layout.svelte | 105 +----------------- web-player/src/routes/auth/+page.svelte | 4 +- 6 files changed, 133 insertions(+), 118 deletions(-) create mode 100644 web-player/src/routes/(app)/+error.svelte rename web-player/src/routes/{ => (app)}/+layout.server.ts (94%) create mode 100644 web-player/src/routes/(app)/+layout.svelte diff --git a/web-player/src/routes/(app)/+error.svelte b/web-player/src/routes/(app)/+error.svelte new file mode 100644 index 0000000..80a31da --- /dev/null +++ b/web-player/src/routes/(app)/+error.svelte @@ -0,0 +1,16 @@ + + +
+

+ {page.status === 404 ? 'Página no encontrada' : 'No se pudo cargar tu música'} +

+

+ {page.status === 404 + ? 'Comprueba el enlace o vuelve al inicio.' + : 'Algo salió mal al cargar la página. Inténtalo de nuevo en unos momentos.'} +

+ +
diff --git a/web-player/src/routes/+layout.server.ts b/web-player/src/routes/(app)/+layout.server.ts similarity index 94% rename from web-player/src/routes/+layout.server.ts rename to web-player/src/routes/(app)/+layout.server.ts index dcb70b2..4b61d6a 100644 --- a/web-player/src/routes/+layout.server.ts +++ b/web-player/src/routes/(app)/+layout.server.ts @@ -5,8 +5,6 @@ import { toLikedTrack, toPlaylist, toTrack } from '$lib/server/mappers'; import { authConfig } from '$lib/server/config'; import { LIKED_TRACKS_PAGE_SIZE, PLAYLIST_PICKER_PAGE_SIZE } from '$lib/config'; -const PUBLIC_PATHS = new Set(['/auth']); - function orFallback(load: Promise, fallback: T): Promise { return load.catch(() => fallback); } @@ -14,7 +12,7 @@ function orFallback(load: Promise, fallback: T): Promise { export const load: LayoutServerLoad = async ({ locals, url, fetch }) => { const allowAnonymousListening = await getAllowAnonymousListening(fetch); - if (!locals.user && !allowAnonymousListening && !PUBLIC_PATHS.has(url.pathname)) { + if (!locals.user && !allowAnonymousListening) { loginRedirect(url); } diff --git a/web-player/src/routes/(app)/+layout.svelte b/web-player/src/routes/(app)/+layout.svelte new file mode 100644 index 0000000..84e8f6c --- /dev/null +++ b/web-player/src/routes/(app)/+layout.svelte @@ -0,0 +1,104 @@ + + + + +
+
+
+ + + +
+
+
+ + +
+ {#key page.url.pathname} +
{@render children()}
+ {/key} +
+
+ + +
+ + +
+ + createPlaylistModal.close()} + title="Crear nueva playlist" + > + createPlaylistModal.close()} + onSuccess={() => createPlaylistModal.close()} + /> + +
diff --git a/web-player/src/routes/+error.svelte b/web-player/src/routes/+error.svelte index 80a31da..b068217 100644 --- a/web-player/src/routes/+error.svelte +++ b/web-player/src/routes/+error.svelte @@ -1,16 +1,12 @@ -
-

- {page.status === 404 ? 'Página no encontrada' : 'No se pudo cargar tu música'} -

-

- {page.status === 404 - ? 'Comprueba el enlace o vuelve al inicio.' - : 'Algo salió mal al cargar la página. Inténtalo de nuevo en unos momentos.'} -

- +
+
+

+ {page.status === 404 ? 'Página no encontrada' : 'Algo salió mal'} +

+ Volver al inicio +
diff --git a/web-player/src/routes/+layout.svelte b/web-player/src/routes/+layout.svelte index 18fc28b..9f8ea49 100644 --- a/web-player/src/routes/+layout.svelte +++ b/web-player/src/routes/+layout.svelte @@ -1,134 +1,33 @@ - - {@html ``} -{#if isAuthPage || (!data.user && !data.allowAnonymousListening)} -
- {@render children()} -
-{:else} -
-
-
- - - -
-
-
- - -
- {#key page.url.pathname} -
{@render children()}
- {/key} -
-
- - -
- - -
- - createPlaylistModal.close()} - title="Crear nueva playlist" - > - createPlaylistModal.close()} - onSuccess={() => createPlaylistModal.close()} - /> - -
-{/if} +{@render children()} diff --git a/web-player/src/routes/auth/+page.svelte b/web-player/src/routes/auth/+page.svelte index 26f0586..c3a1074 100644 --- a/web-player/src/routes/auth/+page.svelte +++ b/web-player/src/routes/auth/+page.svelte @@ -12,7 +12,9 @@ -
+