diff --git a/package.json b/package.json index cd05a3f73..6116b8a94 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "react-i18next": "^15.7.4", "react-is": "18.3.1", "spatial-navigation-polyfill": "github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6", - "stremio-translations": "github:Stremio/stremio-translations#d9cd2fb88268b365b14101452665de698f9c15e9", + "stremio-translations": "github:Stremio/stremio-translations#c2d68dc590ac7d56f0df5e69a2144ba83e0d5ef0", "url": "0.11.4", "use-long-press": "^3.3.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 118df7b53..b5c29ed51 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -90,8 +90,8 @@ importers: specifier: github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6 version: https://codeload.github.com/Stremio/spatial-navigation/tar.gz/64871b1422466f5f45d24ebc8bbd315b2ebab6a6 stremio-translations: - specifier: github:Stremio/stremio-translations#d9cd2fb88268b365b14101452665de698f9c15e9 - version: https://codeload.github.com/Stremio/stremio-translations/tar.gz/d9cd2fb88268b365b14101452665de698f9c15e9 + specifier: github:Stremio/stremio-translations#c2d68dc590ac7d56f0df5e69a2144ba83e0d5ef0 + version: https://codeload.github.com/Stremio/stremio-translations/tar.gz/c2d68dc590ac7d56f0df5e69a2144ba83e0d5ef0 url: specifier: 0.11.4 version: 0.11.4 @@ -4421,8 +4421,8 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/d9cd2fb88268b365b14101452665de698f9c15e9: - resolution: {tarball: https://codeload.github.com/Stremio/stremio-translations/tar.gz/d9cd2fb88268b365b14101452665de698f9c15e9} + stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/c2d68dc590ac7d56f0df5e69a2144ba83e0d5ef0: + resolution: {tarball: https://codeload.github.com/Stremio/stremio-translations/tar.gz/c2d68dc590ac7d56f0df5e69a2144ba83e0d5ef0} version: 1.52.0 string-length@4.0.2: @@ -10000,7 +10000,7 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/d9cd2fb88268b365b14101452665de698f9c15e9: {} + stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/c2d68dc590ac7d56f0df5e69a2144ba83e0d5ef0: {} string-length@4.0.2: dependencies: diff --git a/src/common/Shortcuts/shortcuts.json b/src/common/Shortcuts/shortcuts.json index a8487f046..fed30b599 100644 --- a/src/common/Shortcuts/shortcuts.json +++ b/src/common/Shortcuts/shortcuts.json @@ -50,14 +50,9 @@ "combos": [["ArrowLeft"], ["Shift", "ArrowLeft"]] }, { - "name": "volumeUp", - "label": "SETTINGS_SHORTCUT_VOLUME_UP", - "combos": [["ArrowUp"]] - }, - { - "name": "volumeDown", - "label": "SETTINGS_SHORTCUT_VOLUME_DOWN", - "combos": [["ArrowDown"]] + "name": "volume", + "label": "SETTINGS_SHORTCUT_VOLUME", + "combos": [["ArrowUp"], ["ArrowDown"]] }, { "name": "mute", @@ -75,14 +70,9 @@ "combos": [["G"], ["H"]] }, { - "name": "speedDown", - "label": "SETTINGS_SHORTCUT_DECREASE_PLAYBACK_SPEED", - "combos": [["["]] - }, - { - "name": "speedUp", - "label": "SETTINGS_SHORTCUT_INCREASE_PLAYBACK_SPEED", - "combos": [["]"]] + "name": "speed", + "label": "SETTINGS_SHORTCUT_PLAYBACK_SPEED", + "combos": [["["], ["]"]] }, { "name": "toggleSubtitles", diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index 5a76be3d9..5ef126674 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -584,15 +584,10 @@ const Player = ({ urlParams, queryParams }) => { video.state.muted === true ? onUnmuteRequested() : onMuteRequested(); }, [video.state.muted], !menusOpen); - onShortcut('volumeUp', () => { + onShortcut('volume', (combo) => { if (video.state.volume !== null) { - onVolumeChangeRequested(Math.min(video.state.volume + 5, 200)); - } - }, [video.state.volume], !menusOpen); - - onShortcut('volumeDown', () => { - if (video.state.volume !== null) { - onVolumeChangeRequested(Math.max(video.state.volume - 5, 0)); + const volume = combo === 0 ? Math.min(video.state.volume + 5, 200) : Math.max(video.state.volume - 5, 0); + onVolumeChangeRequested(volume); } }, [video.state.volume], !menusOpen); @@ -617,15 +612,10 @@ const Player = ({ urlParams, queryParams }) => { } }, [video.state.playbackSpeed, toggleSpeedMenu]); - onShortcut('speedUp', () => { + onShortcut('speed', (combo) => { if (video.state.playbackSpeed !== null) { - onPlaybackSpeedChanged(Math.min(video.state.playbackSpeed + 0.25, 2)); - } - }, [video.state.playbackSpeed, onPlaybackSpeedChanged], !menusOpen); - - onShortcut('speedDown', () => { - if (video.state.playbackSpeed !== null) { - onPlaybackSpeedChanged(Math.max(video.state.playbackSpeed - 0.25, 0.25)); + const speed = combo === 0 ? Math.max(video.state.playbackSpeed - 0.25, 0.25) : Math.min(video.state.playbackSpeed + 0.25, 2); + onPlaybackSpeedChanged(speed); } }, [video.state.playbackSpeed, onPlaybackSpeedChanged], !menusOpen);