diff --git a/frontend/src/routes/(app)/explore/+page.svelte b/frontend/src/routes/(app)/explore/+page.svelte index fdb84f5..ebe2d94 100644 --- a/frontend/src/routes/(app)/explore/+page.svelte +++ b/frontend/src/routes/(app)/explore/+page.svelte @@ -35,11 +35,20 @@ addedVideoIds = new Set(); }); - const showHeadings = $derived(!!data.query); const tracks = $derived(data.tracks); const currentPage = $derived(Number(data.tracks.pageNumber)); const total = $derived(Number(data.tracks.totalItemCount)); + const localVisible = $derived(!data.query || tracks.items.length > 0); + const youtubeVisible = $derived( + !!data.query && (data.needsAuth || data.ytError || ytItems.length > 0) + ); + const localHeadingVisible = $derived(!!data.query && localVisible); + const youtubeHeadingVisible = $derived(!!data.query && youtubeVisible); + const nothingFound = $derived( + !!data.query && !localVisible && !youtubeVisible && !data.needsAuth && !data.ytError + ); + function buildHref(page = 1, query = data.query) { const params = new URLSearchParams(); if (query) params.set('q', query); @@ -137,95 +146,98 @@
{/if} - {#if showHeadings} -- {#if data.query} - {total} - {total === 1 ? 'resultado' : 'resultados'} para «{data.query}» - {:else} - {total} - {total === 1 ? 'canción' : 'canciones'} - {/if} -
- - {#if tracks.items.length === 0} -- {#if data.query} - No hay canciones tuyas que coincidan con «{data.query}». - {:else} - Todavía no hay canciones. ¡Sé el primero en subir una! - {/if} -
+ {#if nothingFound} +No hay resultados para «{data.query}».
+ {#if data.query} + {total} + {total === 1 ? 'resultado' : 'resultados'} para «{data.query}» + {:else} + {total} + {total === 1 ? 'canción' : 'canciones'} + {/if} +
+ + {#if tracks.items.length === 0} +Todavía no hay canciones. ¡Sé el primero en subir una!
+YouTube Music no está disponible ahora mismo. Inténtalo de nuevo.
No hay resultados en YouTube Music para «{data.query}».
-