Merge branch 'main' into exp/orbit (pre-PR sync)

Conflicts resolved in:
- src/pages/SearchResults.tsx
- src/pages/AdvancedSearch.tsx

Both pages were rewritten on main (PR #303) to use the shared
<SongRow> component with click-to-enqueueAndPlay semantics. Orbit's
playSong helper that branched on orbit-active is no longer needed
at the page level — instead, orbit awareness moved INTO SongRow and
SongCard themselves: in an active orbit session both buttons collapse
into addTrackToOrbit (suggest for guests, host-enqueue for the host)
so we don't ship a queue replacement to every guest.

Also kept main's IntersectionObserver-based pagination on both pages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Psychotoxical
2026-04-25 16:34:38 +02:00
28 changed files with 1760 additions and 215 deletions
+16
View File
@@ -22,6 +22,7 @@ export const esTranslation = {
cancelDownload: 'Cancelar descarga',
offlineLibrary: 'Biblioteca Offline',
genres: 'Géneros',
tracks: 'Canciones',
playlists: 'Listas de Reproducción',
mostPlayed: 'Más Reproducidos',
radio: 'Radio por Internet',
@@ -41,6 +42,7 @@ export const esTranslation = {
mostPlayed: 'Más Reproducidos',
recentlyPlayed: 'Reproducidos Recientemente',
discover: 'Descubrir',
discoverSongs: 'Descubrir canciones',
loadMore: 'Cargar Más',
discoverMore: 'Descubrir Más',
discoverArtists: 'Descubrir Artistas',
@@ -380,6 +382,20 @@ export const esTranslation = {
offlineFailed: 'Error al agregar {{name}} offline',
addToPlaylist: 'Agregar a Lista de Reproducción',
},
tracks: {
title: 'Canciones',
subtitle: 'Explorar. Buscar. Descubrir.',
heroEyebrow: 'Canción del momento',
heroReroll: 'Elegir otra',
playSong: 'Reproducir',
enqueueSong: 'Añadir a la cola',
railRandom: 'Selección aleatoria',
browseTitle: 'Explorar todas las canciones',
browseUnsupported: 'Este servidor no lista toda la biblioteca de una vez. Usa la búsqueda de arriba para encontrar canciones concretas.',
searchPlaceholder: 'Busca una canción por título, artista o álbum…',
count_one: '{{count}} canción',
count_other: '{{count}} canciones',
},
artists: {
title: 'Artistas',
search: 'Buscar…',