feat(web): Playlists und Favoriten als Liste in der Seitenleiste

Statt zweier Knoepfe, die erst eine Uebersichtsseite oeffnen, steht unter den
Navigationsrubriken der Abschnitt "Deine Musik": angepinnt Favoriten und "Neu von
deinen Kuenstlern", darunter die Playlists mit Cover und Titelzahl.

Links und nicht rechts, weil rechts belegt ist: dort faehrt die Warteschlange als
290-px-Panel ein und am Rand sitzt der Rollbalken aus 3.1.

Der Listenteil rollt eigenstaendig (nav ist jetzt eine Flex-Spalte), auf niedrigen
Fenstern rollt als Rueckfall die ganze Leiste. Dieselbe gecachte Abfrage wie die
Uebersichtsseite; nach Anlegen/Umbenennen/Loeschen wird der Cache verworfen und neu
gezeichnet, ein Coverwechsel tauscht nur die betroffene Zeile (gleiche Adresse pl-<id>,
sonst kaeme dasselbe Bild aus dem Browser-Cache).

Die Kachel-Uebersicht bleibt per "Alle" erreichbar, die untere Leiste auf dem Handy
bleibt unveraendert.

Ausserdem: in 3.2 uebersehene Mischstelle nachgezogen — der Shuffle-Knopf der
Playlist-Seite benutzte weiter sort(() => Math.random()-.5). Mein Suchmuster hatte nur
die Schreibweise mit 0.5 erfasst, nicht die mit .5.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-10-13 19:40:56 +02:00
1 parent 7cdcc352d6
commit 9afd73ae7f
7 files changed
+139 -10

No files matched your search

+24
View File
@@ -83,7 +83,31 @@ Die Android-App zählt eigenständig weiter (mehrere APKs pro Release). Welche d
**Android:** 1.26 (versionCode 29) → 1.27 (versionCode 30).
### Added
- **Deine Musik als Liste in der Seitenleiste (Web)** — Playlists und Favoriten sind keine
Knöpfe mehr, hinter denen erst eine Übersichtsseite aufgeht. Unter den Navigationsrubriken
steht jetzt der Abschnitt *Deine Musik*: angepinnt **Favoriten** und **Neu von deinen
Künstlern**, darunter deine Playlists mit Cover und Titelzahl, wie bei Spotify.
- **Links, nicht rechts.** Rechts ist belegt: dort fährt die Warteschlange als 290-px-Panel
ein, und am rechten Rand sitzt der Rollbalken aus 3.1. Eine feste rechte Spalte hätte sich
mit beiden einigen müssen; links war ohnehin schon eine 240-px-Leiste.
- **Der Listenteil rollt eigenständig**, die Navigation darüber bleibt also immer sichtbar.
Auf sehr niedrigen Fenstern rollt die ganze Leiste, statt die Liste auf null zu quetschen.
- **Kein zusätzlicher Netzverkehr:** dieselbe gecachte Abfrage wie die Übersichtsseite
(3 Minuten). Nach Anlegen, Umbenennen und Löschen wird der Cache verworfen und die Liste
neu gezeichnet; ein neues oder entferntes Cover tauscht nur die betroffene Zeile, weil die
Cover-Adresse (`pl-<id>`) gleich bleibt und ein Neuzeichnen dasselbe Bild aus dem
Browser-Cache geholt hätte.
- Die Übersichtsseite mit den Kacheln bleibt erreichbar (*Alle* im Abschnittskopf), und die
**untere Leiste auf dem Handy ist unverändert** — dort sind Playlists und Favoriten
weiterhin Reiter.
### Fixed
- **Eine Mischstelle war in 3.2 übersehen worden (Web)** — der Shuffle-Knopf auf der
Playlist-Seite benutzte weiter `sort(() => Math.random()-.5)`. Mein Suchmuster in 3.2 hatte
nur die Schreibweise mit `0.5` erfasst, nicht die mit `.5`; genau diese eine Stelle ist aber
der Knopf, mit dem man eine große Playlist tatsächlich gemischt startet. Jetzt Fisher-Yates
wie überall sonst.
- **Now-Playing passte sich der Anzeige nicht an (Android)** — gemeldet auf einem aufgeklappten
Fold: die Ansicht wirkte überdimensional. Ursache war, dass die Seite überhaupt keine
Breitengrenze hatte: das Cover war `fillMaxWidth()` mal `aspectRatio(1f)`. Auf einem Handy