mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-20 14:52:13 +00:00
feature: push subtitles above player controls
This commit is contained in:
parent
c4611cc2f5
commit
15f54c9a93
1 changed files with 12 additions and 2 deletions
|
|
@ -45,6 +45,7 @@ const Player = ({ urlParams, queryParams }) => {
|
|||
return chromecast.active && chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED;
|
||||
});
|
||||
|
||||
const [originalSubtitlesOffset, setOriginalSubtitlesOffset] = React.useState(settings.subtitlesOffset);
|
||||
const [immersed, setImmersed] = React.useState(true);
|
||||
const setImmersedDebounced = React.useCallback(debounce(setImmersed, 3000), []);
|
||||
const [, , , toggleFullscreen] = useFullscreen();
|
||||
|
|
@ -187,6 +188,7 @@ const Player = ({ urlParams, queryParams }) => {
|
|||
}, [updateSettings]);
|
||||
|
||||
const onSubtitlesOffsetChanged = React.useCallback((offset) => {
|
||||
if (offset > 10) setOriginalSubtitlesOffset(offset);
|
||||
updateSettings({ subtitlesOffset: offset });
|
||||
}, [updateSettings]);
|
||||
|
||||
|
|
@ -248,17 +250,25 @@ const Player = ({ urlParams, queryParams }) => {
|
|||
|
||||
const onContainerMouseMove = React.useCallback((event) => {
|
||||
setImmersed(false);
|
||||
if (settings.subtitlesOffset < 10) {
|
||||
setOriginalSubtitlesOffset(settings.subtitlesOffset);
|
||||
const dynamicOffset = Math.min(window.innerHeight * 0.1, 10);
|
||||
updateSettings({ subtitlesOffset: dynamicOffset });
|
||||
}
|
||||
if (!event.nativeEvent.immersePrevented) {
|
||||
setImmersedDebounced(true);
|
||||
} else {
|
||||
setImmersedDebounced.cancel();
|
||||
}
|
||||
}, []);
|
||||
}, [settings.subtitlesOffset]);
|
||||
|
||||
const onContainerMouseLeave = React.useCallback(() => {
|
||||
setImmersedDebounced.cancel();
|
||||
setImmersed(true);
|
||||
}, []);
|
||||
if (settings.subtitlesOffset !== originalSubtitlesOffset) {
|
||||
updateSettings({ subtitlesOffset: originalSubtitlesOffset });
|
||||
}
|
||||
}, [originalSubtitlesOffset, settings.subtitlesOffset]);
|
||||
|
||||
const onBarMouseMove = React.useCallback((event) => {
|
||||
event.nativeEvent.immersePrevented = true;
|
||||
|
|
|
|||
Loading…
Reference in a new issue