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>
This commit is contained in:
Hermes (Server)
2026-08-18 17:18:56 +02:00
co-authored by Claude Haiku 4.5
parent 492d3f19f9
commit b2ac118b42
4 changed files with 273 additions and 1 deletions
+2 -1
View File
@@ -10,6 +10,7 @@ import 'library/search_screen.dart';
import 'player/audio_handler.dart';
import 'player/mini_player.dart';
import 'player/now_playing_screen.dart';
import 'playlists/playlists_screen.dart';
import 'shared/theme.dart';
late final MeloAudioHandler _handler;
@@ -68,7 +69,7 @@ class _HomeShellState extends State<HomeShell> {
static const _tabs = <Widget>[
NowPlayingScreen(),
LibraryScreen(),
_Placeholder(label: 'Playlisten', hint: 'Kommt in Kürze'),
PlaylistsScreen(),
SearchScreen(),
_Placeholder(label: 'Settings', hint: 'Kommt in Kürze'),
];