perf(player): narrow now-playing queue sheet to shuffle-mode selector

The sheet watched the whole playbackStateProvider, which re-emits every 500ms
during playback, rebuilding the entire ReorderableListView twice a second just
to recompute an unchanged shuffle toggle. Watch a .select of shuffleMode only.
This commit is contained in:
zarzet
2026-07-14 18:26:33 +07:00
parent f0afb1382e
commit fd423e3095
+5 -3
View File
@@ -741,9 +741,11 @@ class _NowPlayingScreenState extends ConsumerState<NowPlayingScreen> {
final queue = ref.watch(playQueueProvider).value ?? const [];
final current = ref.watch(currentMediaItemProvider).value;
final controller = ref.read(musicPlayerControllerProvider);
final shuffleOn =
ref.watch(playbackStateProvider).value?.shuffleMode ==
AudioServiceShuffleMode.all;
final shuffleOn = ref.watch(
playbackStateProvider.select(
(s) => s.value?.shuffleMode == AudioServiceShuffleMode.all,
),
);
final textTheme = Theme.of(context).textTheme;
return Column(