fix(playlists): load paginated items mutably

close #1100
This commit is contained in:
edde746
2026-05-22 05:28:03 +02:00
parent c354193187
commit fc231a9e72
5 changed files with 169 additions and 11 deletions
@@ -42,7 +42,7 @@ class _PlaylistDetailScreenState extends BaseMediaListDetailScreen<PlaylistDetai
StandardItemLoader<PlaylistDetailScreen>,
GridFocusNodeMixin<PlaylistDetailScreen>,
FocusableDetailScreenMixin<PlaylistDetailScreen> {
static const int _pageSize = 100;
static const int _pageSize = playlistItemsPageSize;
@override
Object get mediaItem => widget.playlist;
@@ -193,7 +193,7 @@ class _PlaylistDetailScreenState extends BaseMediaListDetailScreen<PlaylistDetai
if (!mounted || generation != _playlistLoadGeneration) return;
setState(() {
items = firstPage.items;
items = List.of(firstPage.items);
_playlistTotalSize = firstPage.totalCount;
isLoading = false;
_isLoadingFullPlaylist = firstPage.items.length < firstPage.totalCount;
@@ -233,7 +233,7 @@ class _PlaylistDetailScreenState extends BaseMediaListDetailScreen<PlaylistDetai
if (!mounted || generation != _playlistLoadGeneration) return;
if (page.items.isEmpty) break;
setState(() {
items.addAll(page.items);
items = List.of(items)..addAll(page.items);
total = page.totalCount;
_playlistTotalSize = page.totalCount;
});