Commit Graph
5 Commits
Author SHA1 Message Date
Hermes (Server)andClaude Haiku 4.5 edc93224b0 feat(player): Wiedergabeposition merken und beim Laden fortsetzen
- MeloAudioHandler bekommt MeloDb per Konstruktor injiziert
- Positions-Timer (alle 5s) schreibt db.recordPlayback(songId, positionMs)
  während aktiv abgespielt wird (songId aus mediaItem.extras['songId'])
- loadPlaylist liest db.lastPosition() für den Start-Song und seekt vor
  dem play() an die gespeicherte Position, statt immer von vorne zu starten
- shouldResumeAt() als reine, testbare Funktion extrahiert: kein Resume bei
  Position 0 oder innerhalb der letzten 3s einer bekannten Track-Dauer
- dispose() zum gefahrlosen Abbrechen des Positions-Timers in Tests ohne
  vollen App-Lifecycle (super.stop() lässt sich in Widget-Tests wegen der
  aktiven playbackState-Pipe nicht gefahrlos aufrufen)
- library_screen_test.dart: MeloAudioHandler-Konstruktion angepasst (db
  jetzt Pflichtparameter) + handler.dispose() im Teardown

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 18:17:26 +02:00
Hermes (Server)andClaude Haiku 4.5 b2ac118b42 feat(playlists): add Playlisten-Tab mit Favoriten-Kurzeinstieg und Erstellen-Dialog
- PlaylistsScreen: Favoriten-ListTile oben (watchFavorites, pusht FavoritesListScreen),
  darunter alle Playlisten (watchPlaylists) mit Songanzahl, Löschen via Icon/Long-Press
  + Bestätigungsdialog
- CreatePlaylistDialog: Name-Eingabe, Erstellen-Button erst aktiv bei nicht-leerem Text,
  gibt die neue Playlist-ID zurück
- Leer-Zustand "Noch keine Playlisten" nach Vorbild von library_screen.dart
- main.dart: Playlisten-Platzhalter durch PlaylistsScreen ersetzt

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:18:56 +02:00
Hermes (Server)andClaude Haiku 4.5 3a040b4661 feat(ui): finales 5-Tab-Layout (Player/Bibliothek/Playlisten/Suche/Settings)
- "Zuletzt hinzugefügt" aus dem alten HomeScreen in die Bibliothek verschoben:
  horizontal scrollende Leiste über der vollen Songliste, nur sichtbar wenn
  nicht leer und nicht gerade gescannt wird
- home_screen.dart entfernt (Funktionalität jetzt Teil von LibraryScreen)
- HomeShell-Tabs auf die finale Struktur umgestellt: NowPlayingScreen an
  Position 0, Playlisten- und Settings-Platzhalter an ihren finalen
  Positionen (werden in späteren Tasks durch echte Screens ersetzt)
- BottomNavigationBar-Icons/Labels an die neue Reihenfolge angepasst
- MiniPlayer wird ausgeblendet, solange der Now-Playing-Tab aktiv ist
  (redundant, da der Tab selbst schon die volle Wiedergabe-Ansicht zeigt)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 17:03:24 +02:00
Hermes (Server)andClaude Haiku 4.5 92f565b1d4 feat(services): add PlaylistService, wire into app providers
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-18 15:28:24 +02:00
Dustin-Mike Jens Hähnel b5ab7bd9dd Initial commit 2026-08-16 18:46:06 +02:00