From 1a8765fbd6a967f2881da2a4a11108f0e4dda6cf Mon Sep 17 00:00:00 2001 From: PartyDonut <42371342+PartyDonut@users.noreply.github.com> Date: Sat, 17 May 2025 16:35:39 +0200 Subject: [PATCH] fix: Shuffle play videos (#345) Co-authored-by: PartyDonut --- lib/providers/library_search_provider.dart | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/providers/library_search_provider.dart b/lib/providers/library_search_provider.dart index 934c5e9..64b626d 100644 --- a/lib/providers/library_search_provider.dart +++ b/lib/providers/library_search_provider.dart @@ -574,8 +574,11 @@ class LibrarySearchNotifier extends StateNotifier { state = state.copyWith(fetchingItems: false); + //Only try to load video items + itemsToPlay = itemsToPlay.where((element) => FladderItemType.playable.contains(element.type)).toList(); + if (itemsToPlay.isNotEmpty) { - await itemsToPlay.playLibraryItems(context, ref); + await itemsToPlay.playLibraryItems(context, ref, shuffle: shuffle); } else { fladderSnackbar(context, title: context.localized.libraryFetchNoItemsFound); } @@ -648,11 +651,12 @@ class LibrarySearchNotifier extends StateNotifier { if (allItems.isNotEmpty) { if (state.fetchingItems == true) { state = state.copyWith(fetchingItems: false); + final newItemList = shuffle ? allItems.shuffled() : allItems; await Navigator.of(context, rootNavigator: true).push( PageTransition( child: PhotoViewerScreen( - items: allItems, - indexOfSelected: selected != null ? allItems.indexOf(selected) : 0, + items: newItemList, + indexOfSelected: selected != null ? newItemList.indexOf(selected) : 0, ), type: PageTransitionType.fade), );