From 7142017c26967e1bd4180d01d0b1fb93f6655db4 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Wed, 5 Nov 2025 19:44:13 -0800 Subject: [PATCH] support offset for player skip --- src/renderer/store/player.store.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/renderer/store/player.store.ts b/src/renderer/store/player.store.ts index c7ba1b35e..8a1e273a6 100644 --- a/src/renderer/store/player.store.ts +++ b/src/renderer/store/player.store.ts @@ -41,8 +41,8 @@ interface Actions { mediaPlay: (id?: string) => void; mediaPrevious: () => void; mediaSeekToTimestamp: (timestamp: number) => void; - mediaSkipBackward: () => void; - mediaSkipForward: () => void; + mediaSkipBackward: (offset?: number) => void; + mediaSkipForward: (offset?: number) => void; mediaStop: () => void; mediaToggleMute: () => void; mediaTogglePlayPause: () => void; @@ -603,24 +603,25 @@ export const usePlayerStoreBase = create()( state.player.seekToTimestamp = uniqueSeekToTimestamp(timestamp); }); }, - mediaSkipBackward: () => { + mediaSkipBackward: (offset?: number) => { set((state) => { - const timeToSkip = - useSettingsStore.getState().general.skipButtons.skipBackwardSeconds || - 5; + const offsetFromSettings = + useSettingsStore.getState().general.skipButtons.skipBackwardSeconds; + const timeToSkip = offset ?? offsetFromSettings ?? 5; const newTimestamp = Math.max(0, state.player.timestamp - timeToSkip); state.player.seekToTimestamp = uniqueSeekToTimestamp(newTimestamp); }); }, - mediaSkipForward: () => { + mediaSkipForward: (offset?: number) => { set((state) => { const queue = state.getQueue(); const index = state.player.index; const currentTrack = queue.items[index]; const duration = currentTrack?.duration; - const timeToSkip = - useSettingsStore.getState().general.skipButtons.skipForwardSeconds || 5; + const offsetFromSettings = + useSettingsStore.getState().general.skipButtons.skipForwardSeconds; + const timeToSkip = offset ?? offsetFromSettings ?? 5; if (!duration) { return;