diff --git a/lib/screens/playlist/playlist_detail_screen.dart b/lib/screens/playlist/playlist_detail_screen.dart index ed7ef66b..2be184e5 100644 --- a/lib/screens/playlist/playlist_detail_screen.dart +++ b/lib/screens/playlist/playlist_detail_screen.dart @@ -356,6 +356,7 @@ class _PlaylistDetailScreenState extends BaseMediaListDetailScreen _removeItem(int index) async { + if (items.isEmpty || index < 0 || index >= items.length) return; final item = items[index]; // Check if item has playlistItemID (required for removal) @@ -372,6 +373,12 @@ class _PlaylistDetailScreenState extends BaseMediaListDetailScreen= items.length) { + _focusedIndex = (items.length - 1).clamp(0, items.length); + } + if (items.isEmpty) { + _focusedColumn = 0; + } }); // Call API to persist the change @@ -388,6 +395,7 @@ class _PlaylistDetailScreenState extends BaseMediaListDetailScreen