Neue Melo-UI Phase 1: 4 Tabs (Meine Musik/Suche/Favoriten/Download) + Sortierung

- Meine Musik als Startbildschirm ohne Topbar: Kopfzeile (Einstellungen,
  Suche, Musikerkennung), Schnellzugriffe, Shuffle + Sortieren, Liederliste
- Sortierung nach Zuletzt hinzugefuegt / Name (A-Z-#) / Wie oft abgespielt,
  auf- und absteigend, pro Liste gespeichert (SortStore)
- Favoriten als eigener Tab mit gleicher Shuffle-/Sortier-Leiste
- Download-Tab uebernimmt den Navidrome-Server-Browser
- DB-Schema 3: playCount, gezaehlt beim Titelstart
- Theme auf #0B0B10 / #c0392b
- Scan-Aktionen aus der entfallenen Topbar jetzt in den Einstellungen

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011snPXPafPC5i87o68H14W7
This commit is contained in:
2026-08-20 18:00:53 +02:00
co-authored by Claude Opus 5
parent 5d08da1086
commit 2667613a2e
24 changed files with 1413 additions and 372 deletions
+45
View File
@@ -5,6 +5,51 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [Unreleased]
### 🎨 Neue Melo-Oberfläche: 4 Tabs + Sortierung (2026-08-20)
-**Was:** Die App hat jetzt die von dir gewünschte Struktur mit
**4 Tabs: Meine Musik · Suche · Favoriten · Download**. "Meine Musik" ist
der neue Startbildschirm — **ohne Topbar**, wie du es wolltest.
- 🎵 **Meine Musik:** Oben eine Kopfzeile mit Einstellungs-Icon (links),
Suchfeld (Mitte) und ?-Icon für die Musikerkennung (rechts, kommt später).
Darunter Schnellzugriff-Karten (Favoriten · Wiedergabelisten · Zuletzt ·
Künstler · Alben), dann **Shuffle-Wiedergabe + Sortieren**, dann die
komplette Liederliste.
- ↕️ **Sortieren (neu!):** Über das Symbol rechts neben "Shuffle-Wiedergabe"
kannst du wählen zwischen **Zuletzt hinzugefügt**, **Name (AZ#)** und
**Wie oft abgespielt** — jeweils auf- oder absteigend. Die Wahl wird
gespeichert und überlebt einen Neustart. Bei "Name" stehen Buchstaben
vorne und Ziffern/Sonderzeichen hinten unter "#"; Umlaute sortieren
richtig ein (Ärger steht bei A, nicht hinter Z).
- ❤️ **Favoriten-Tab:** eigener Tab mit Shuffle-Wiedergabe und **genau
derselben Sortierung** — mit eigener, getrennt gespeicherter Einstellung.
- ⬇️ **Download-Tab:** durchsucht den verbundenen Navidrome-Server
(Alben/Künstler); abgespielte Titel werden weiterhin automatisch lokal
zwischengespeichert.
- 🔢 **"Wie oft abgespielt" zählt jetzt wirklich:** Neue Spalte `playCount`
in der Datenbank (Schema 3, bestehende Bibliotheken werden automatisch
migriert). Gezählt wird beim Start eines Titels — nicht sekündlich,
solange er läuft.
- 🎨 **Farben:** Schwarz auf **#0B0B10** und Melo-Rot **#c0392b** (vorher ein
helleres Rot).
- 🔧 **Details:**
- Neu: `library/song_sort.dart` (reine Sortier-Logik, 11 Tests),
`shared/sort_store.dart` (Speichern der Wahl, 4 Tests),
`shared/sortable_song_list.dart` (Shuffle + Sortier-Menü),
`library/my_music_screen.dart`, `library/favorites_screen.dart`,
`downloads/downloads_screen.dart`.
- Der alte `library_screen.dart` (Tabs Alle/Künstler/Alben/Server) ist
entfallen — seine Inhalte leben jetzt in "Meine Musik" (Alle),
als eigene Bildschirme (Künstler/Alben) und im Download-Tab (Server).
- **Musik hinzufügen** und **Erneut scannen** saßen in der entfernten
Topbar und stehen jetzt in den **Einstellungen → Bibliothek**
(zusätzlich weiterhin im leeren Zustand von "Meine Musik").
- Der Mini-Player ist jetzt auf allen Tabs sichtbar (vorher war der
Player ein eigener Tab).
- 🐛 **Nebenbei gefixt:** Das Sortier-Menü ist scrollbar — auf niedrigen
Bildschirmen bzw. im Querformat war der "Übernehmen"-Knopf sonst nicht
erreichbar. Schnellzugriff-Karten liefen um 2 Pixel über.
-**Getestet:** 107 Tests grün, `flutter analyze` ohne Befund.
### 🔎 Login-Dialog zeigt jetzt die echte Server-Fehlermeldung (2026-08-20)
-**Was:** Schlägt der Navidrome-Login fehl, zeigt der Dialog jetzt die
Original-Meldung des Servers (z. B. „Wrong username or password") statt