mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 15:52:02 +00:00
Merge pull request #970 from Stremio/feat/player-subtitles-size-shortcuts
Some checks failed
Build / build (push) Has been cancelled
Some checks failed
Build / build (push) Has been cancelled
Player: Add subtitles size shortcuts
This commit is contained in:
commit
a9b9631241
4 changed files with 26 additions and 4 deletions
6
package-lock.json
generated
6
package-lock.json
generated
|
|
@ -36,7 +36,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#8212fa77c4febd22ddb611590e9fb574dc845416",
|
"stremio-translations": "github:Stremio/stremio-translations#abe7684165a031755e9aee39da26daa806ba7824",
|
||||||
"url": "0.11.4",
|
"url": "0.11.4",
|
||||||
"use-long-press": "^3.2.0"
|
"use-long-press": "^3.2.0"
|
||||||
},
|
},
|
||||||
|
|
@ -13434,8 +13434,8 @@
|
||||||
},
|
},
|
||||||
"node_modules/stremio-translations": {
|
"node_modules/stremio-translations": {
|
||||||
"version": "1.44.12",
|
"version": "1.44.12",
|
||||||
"resolved": "git+ssh://git@github.com/Stremio/stremio-translations.git#8212fa77c4febd22ddb611590e9fb574dc845416",
|
"resolved": "git+ssh://git@github.com/Stremio/stremio-translations.git#abe7684165a031755e9aee39da26daa806ba7824",
|
||||||
"integrity": "sha512-5DladLUsghLlVRsZh2bBnb7UMqU8NEYMHc+YbzBvb1llgMk9elXFSHtAjInepZlC5zWx2pJYOQ8lQzzqogQdFw==",
|
"integrity": "sha512-bMpdJTFZqgemdoOQAARMPG7XaFgeu/zW/0vHmzavTM9DYUNIGuQaTC5RbVXIIII00RLOXoGLYf+dsxRVFiS9mA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/string_decoder": {
|
"node_modules/string_decoder": {
|
||||||
|
|
|
||||||
|
|
@ -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#8212fa77c4febd22ddb611590e9fb574dc845416",
|
"stremio-translations": "github:Stremio/stremio-translations#abe7684165a031755e9aee39da26daa806ba7824",
|
||||||
"url": "0.11.4",
|
"url": "0.11.4",
|
||||||
"use-long-press": "^3.2.0"
|
"use-long-press": "^3.2.0"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -236,6 +236,12 @@ const Player = ({ urlParams, queryParams }) => {
|
||||||
updateSettings({ subtitlesSize: size });
|
updateSettings({ subtitlesSize: size });
|
||||||
}, [updateSettings]);
|
}, [updateSettings]);
|
||||||
|
|
||||||
|
const onUpdateSubtitlesSize = React.useCallback((delta) => {
|
||||||
|
const sizeIndex = CONSTANTS.SUBTITLES_SIZES.indexOf(video.state.subtitlesSize);
|
||||||
|
const size = CONSTANTS.SUBTITLES_SIZES[Math.max(0, Math.min(CONSTANTS.SUBTITLES_SIZES.length - 1, sizeIndex + delta))];
|
||||||
|
onSubtitlesSizeChanged(size);
|
||||||
|
}, [video.state.subtitlesSize, onSubtitlesSizeChanged]);
|
||||||
|
|
||||||
const onSubtitlesOffsetChanged = React.useCallback((offset) => {
|
const onSubtitlesOffsetChanged = React.useCallback((offset) => {
|
||||||
updateSettings({ subtitlesOffset: offset });
|
updateSettings({ subtitlesOffset: offset });
|
||||||
}, [updateSettings]);
|
}, [updateSettings]);
|
||||||
|
|
@ -622,6 +628,14 @@ const Player = ({ urlParams, queryParams }) => {
|
||||||
onIncreaseSubtitlesDelay();
|
onIncreaseSubtitlesDelay();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'Minus': {
|
||||||
|
onUpdateSubtitlesSize(-1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'Equal': {
|
||||||
|
onUpdateSubtitlesSize(1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case 'Escape': {
|
case 'Escape': {
|
||||||
closeMenus();
|
closeMenus();
|
||||||
!settings.escExitFullscreen && window.history.back();
|
!settings.escExitFullscreen && window.history.back();
|
||||||
|
|
@ -677,6 +691,7 @@ const Player = ({ urlParams, queryParams }) => {
|
||||||
toggleSideDrawer,
|
toggleSideDrawer,
|
||||||
onDecreaseSubtitlesDelay,
|
onDecreaseSubtitlesDelay,
|
||||||
onIncreaseSubtitlesDelay,
|
onIncreaseSubtitlesDelay,
|
||||||
|
onUpdateSubtitlesSize,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,13 @@ const Shortcuts = forwardRef<HTMLDivElement>((_, ref) => {
|
||||||
<kbd>F</kbd>
|
<kbd>F</kbd>
|
||||||
</div>
|
</div>
|
||||||
</Option>
|
</Option>
|
||||||
|
<Option label={'SETTINGS_SHORTCUT_SUBTITLES_SIZE'}>
|
||||||
|
<div className={styles['shortcut-container']}>
|
||||||
|
<kbd>-</kbd>
|
||||||
|
<div className={styles['label']}>{ t('SETTINGS_SHORTCUT_AND') }</div>
|
||||||
|
<kbd>=</kbd>
|
||||||
|
</div>
|
||||||
|
</Option>
|
||||||
<Option label={'SETTINGS_SHORTCUT_SUBTITLES_DELAY'}>
|
<Option label={'SETTINGS_SHORTCUT_SUBTITLES_DELAY'}>
|
||||||
<div className={styles['shortcut-container']}>
|
<div className={styles['shortcut-container']}>
|
||||||
<kbd>G</kbd>
|
<kbd>G</kbd>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue