mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 11:42:05 +00:00
Merge pull request #675 from GaryGosh/feat/captions-shortkey
Player: Implement shortkey to toggle caption
This commit is contained in:
commit
9503e90e54
4 changed files with 25 additions and 6 deletions
|
|
@ -41,7 +41,7 @@
|
||||||
"react-i18next": "^15.1.3",
|
"react-i18next": "^15.1.3",
|
||||||
"react-is": "18.3.1",
|
"react-is": "18.3.1",
|
||||||
"spatial-navigation-polyfill": "github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6",
|
"spatial-navigation-polyfill": "github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6",
|
||||||
"stremio-translations": "github:Stremio/stremio-translations#7c0c337f32163aa13158bb90cd6133da43feafef",
|
"stremio-translations": "github:Stremio/stremio-translations#1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe",
|
||||||
"url": "0.11.4",
|
"url": "0.11.4",
|
||||||
"use-long-press": "^3.2.0"
|
"use-long-press": "^3.2.0"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -90,8 +90,8 @@ importers:
|
||||||
specifier: github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
specifier: github:Stremio/spatial-navigation#64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
||||||
version: https://codeload.github.com/Stremio/spatial-navigation/tar.gz/64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
version: https://codeload.github.com/Stremio/spatial-navigation/tar.gz/64871b1422466f5f45d24ebc8bbd315b2ebab6a6
|
||||||
stremio-translations:
|
stremio-translations:
|
||||||
specifier: github:Stremio/stremio-translations#7c0c337f32163aa13158bb90cd6133da43feafef
|
specifier: github:Stremio/stremio-translations#1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe
|
||||||
version: https://codeload.github.com/Stremio/stremio-translations/tar.gz/7c0c337f32163aa13158bb90cd6133da43feafef
|
version: https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe
|
||||||
url:
|
url:
|
||||||
specifier: 0.11.4
|
specifier: 0.11.4
|
||||||
version: 0.11.4
|
version: 0.11.4
|
||||||
|
|
@ -4133,8 +4133,8 @@ packages:
|
||||||
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
|
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/7c0c337f32163aa13158bb90cd6133da43feafef:
|
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe:
|
||||||
resolution: {tarball: https://codeload.github.com/Stremio/stremio-translations/tar.gz/7c0c337f32163aa13158bb90cd6133da43feafef}
|
resolution: {tarball: https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe}
|
||||||
version: 1.45.0
|
version: 1.45.0
|
||||||
|
|
||||||
string-length@4.0.2:
|
string-length@4.0.2:
|
||||||
|
|
@ -9378,7 +9378,7 @@ snapshots:
|
||||||
es-errors: 1.3.0
|
es-errors: 1.3.0
|
||||||
internal-slot: 1.1.0
|
internal-slot: 1.1.0
|
||||||
|
|
||||||
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/7c0c337f32163aa13158bb90cd6133da43feafef: {}
|
stremio-translations@https://codeload.github.com/Stremio/stremio-translations/tar.gz/1bfcb6d2a4f37bb647959ba0bbbd1ade1415c2fe: {}
|
||||||
|
|
||||||
string-length@4.0.2:
|
string-length@4.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,11 @@
|
||||||
"label": "SETTINGS_SHORTCUT_SUBTITLES_DELAY",
|
"label": "SETTINGS_SHORTCUT_SUBTITLES_DELAY",
|
||||||
"combos": [["G"], ["H"]]
|
"combos": [["G"], ["H"]]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "toggleSubtitles",
|
||||||
|
"label": "SETTINGS_SHORTCUT_TOGGLE_SUBTITLES",
|
||||||
|
"combos": [["C"]]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "subtitlesMenu",
|
"name": "subtitlesMenu",
|
||||||
"label": "SETTINGS_SHORTCUT_MENU_SUBTITLES",
|
"label": "SETTINGS_SHORTCUT_MENU_SUBTITLES",
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ const Player = ({ urlParams, queryParams }) => {
|
||||||
|
|
||||||
const nextVideoPopupDismissed = React.useRef(false);
|
const nextVideoPopupDismissed = React.useRef(false);
|
||||||
const defaultSubtitlesSelected = React.useRef(false);
|
const defaultSubtitlesSelected = React.useRef(false);
|
||||||
|
const subtitlesEnabled = React.useRef(true);
|
||||||
const defaultAudioTrackSelected = React.useRef(false);
|
const defaultAudioTrackSelected = React.useRef(false);
|
||||||
const [error, setError] = React.useState(null);
|
const [error, setError] = React.useState(null);
|
||||||
|
|
||||||
|
|
@ -670,6 +671,19 @@ const Player = ({ urlParams, queryParams }) => {
|
||||||
combo === 1 ? onUpdateSubtitlesSize(-1) : onUpdateSubtitlesSize(1);
|
combo === 1 ? onUpdateSubtitlesSize(-1) : onUpdateSubtitlesSize(1);
|
||||||
}, [onUpdateSubtitlesSize, onUpdateSubtitlesSize]);
|
}, [onUpdateSubtitlesSize, onUpdateSubtitlesSize]);
|
||||||
|
|
||||||
|
onShortcut('toggleSubtitles', () => {
|
||||||
|
const savedTrack = player.streamState?.subtitleTrack;
|
||||||
|
|
||||||
|
if (subtitlesEnabled.current) {
|
||||||
|
video.setSubtitlesTrack(null);
|
||||||
|
video.setExtraSubtitlesTrack(null);
|
||||||
|
} else if (savedTrack?.id) {
|
||||||
|
savedTrack.embedded ? video.setSubtitlesTrack(savedTrack.id) : video.setExtraSubtitlesTrack(savedTrack.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
subtitlesEnabled.current = !subtitlesEnabled.current;
|
||||||
|
}, [player.streamState]);
|
||||||
|
|
||||||
onShortcut('subtitlesMenu', () => {
|
onShortcut('subtitlesMenu', () => {
|
||||||
closeMenus();
|
closeMenus();
|
||||||
if (video.state?.subtitlesTracks?.length > 0 || video.state?.extraSubtitlesTracks?.length > 0) {
|
if (video.state?.subtitlesTracks?.length > 0 || video.state?.extraSubtitlesTracks?.length > 0) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue