feat(qconnect): route player + miniplayer seek through set_position_if_remote
handleSeek now tries the remote renderer before the local engine, matching the volume/mute/stop if_remote pattern. cc
This commit is contained in:
2 files changed
+20
-2
No files matched your search
@@ -2871,7 +2871,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Playback controls (delegating to playerStore)
|
// Playback controls (delegating to playerStore)
|
||||||
function handleSeek(time: number) {
|
async function handleSeek(time: number) {
|
||||||
|
try {
|
||||||
|
const positionMs = Math.max(0, Math.round(time * 1000));
|
||||||
|
const handledRemotely = await invoke<boolean>('v2_qconnect_set_position_if_remote', { positionMs });
|
||||||
|
if (handledRemotely) return;
|
||||||
|
} catch {
|
||||||
|
// Fall through to local
|
||||||
|
}
|
||||||
playerSeek(time);
|
playerSeek(time);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -330,6 +330,17 @@
|
|||||||
await toggleMute();
|
await toggleMute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function handleSeek(time: number): Promise<void> {
|
||||||
|
try {
|
||||||
|
const positionMs = Math.max(0, Math.round(time * 1000));
|
||||||
|
const handledRemotely = await invoke<boolean>('v2_qconnect_set_position_if_remote', { positionMs });
|
||||||
|
if (handledRemotely) return;
|
||||||
|
} catch {
|
||||||
|
// Fall through to local
|
||||||
|
}
|
||||||
|
playerSeek(time);
|
||||||
|
}
|
||||||
|
|
||||||
async function handleTogglePlay(): Promise<void> {
|
async function handleTogglePlay(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const handledRemotely = await invoke<boolean>('v2_qconnect_toggle_play_if_remote');
|
const handledRemotely = await invoke<boolean>('v2_qconnect_toggle_play_if_remote');
|
||||||
@@ -544,7 +555,7 @@
|
|||||||
onTogglePlay={handleTogglePlay}
|
onTogglePlay={handleTogglePlay}
|
||||||
onSkipBack={handleSkipBack}
|
onSkipBack={handleSkipBack}
|
||||||
onSkipForward={handleSkipForward}
|
onSkipForward={handleSkipForward}
|
||||||
onSeek={playerSeek}
|
onSeek={handleSeek}
|
||||||
onVolumeChange={handleVolumeChange}
|
onVolumeChange={handleVolumeChange}
|
||||||
onToggleMute={handleToggleMute}
|
onToggleMute={handleToggleMute}
|
||||||
onToggleShuffle={handleToggleShuffle}
|
onToggleShuffle={handleToggleShuffle}
|
||||||
|
|||||||
Reference in new issue
Block a user