refactor some usePlayerSong consumers to only fetch needed properties

This commit is contained in:
jeffvli
2026-01-21 02:02:49 -08:00
parent dbfb547af9
commit 9a4a8eb742
3 changed files with 266 additions and 211 deletions
@@ -16,7 +16,7 @@ import {
useButtonSize,
usePlayerRepeat,
usePlayerShuffle,
usePlayerSong,
usePlayerSongProperties,
usePlayerStatus,
useSkipButtons,
} from '/@/renderer/store';
@@ -197,13 +197,14 @@ const SkipBackwardButton = ({ disabled }: { disabled?: boolean }) => {
};
const CenterPlayButton = ({ disabled }: { disabled?: boolean }) => {
const currentSong = usePlayerSong();
const { id: currentSongId } = usePlayerSongProperties(['id']) ?? {};
const status = usePlayerStatus();
const { mediaTogglePlayPause } = usePlayer();
return (
<MainPlayButton
disabled={disabled || currentSong?.id === undefined}
disabled={disabled || currentSongId === undefined}
isPaused={status === PlayerStatus.PAUSED}
onClick={mediaTogglePlayPause}
/>