diff --git a/flutter_client/lib/playlists/playlist_detail_screen.dart b/flutter_client/lib/playlists/playlist_detail_screen.dart index d5220c14..c381bb81 100644 --- a/flutter_client/lib/playlists/playlist_detail_screen.dart +++ b/flutter_client/lib/playlists/playlist_detail_screen.dart @@ -51,6 +51,7 @@ class _Body extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + final fs = Theme.of(context).extension()!; final tracks = detail.tracks; final playable = tracks.where((t) => t.isAvailable).toList(); @@ -58,9 +59,22 @@ class _Body extends ConsumerWidget { onRefresh: () async => ref.refresh(playlistDetailProvider(detail.playlist.id).future), child: ListView.builder( - itemCount: tracks.length + 1, // header + rows + // Header + (track rows | empty hint). + itemCount: tracks.isEmpty ? 2 : tracks.length + 1, itemBuilder: (ctx, i) { if (i == 0) return _Header(detail: detail, playable: playable); + if (tracks.isEmpty) { + return Padding( + padding: const EdgeInsets.all(24), + child: Center( + child: Text( + 'No tracks yet. Add some via the "Add to playlist…" entry on any track row.', + style: TextStyle(color: fs.ash), + textAlign: TextAlign.center, + ), + ), + ); + } final t = tracks[i - 1]; return _PlaylistTrackRow( row: t,