mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 20:02:01 +00:00
remove initial state const in player
This commit is contained in:
parent
59851b4e73
commit
b535315d2a
1 changed files with 36 additions and 40 deletions
|
|
@ -12,7 +12,18 @@ const usePlayer = require('./usePlayer');
|
|||
const useSettings = require('./useSettings');
|
||||
const styles = require('./styles');
|
||||
|
||||
const INITIAL_VIDEO_STATE = {
|
||||
const Player = ({ urlParams }) => {
|
||||
const player = usePlayer(urlParams);
|
||||
const [settings, updateSettings] = useSettings();
|
||||
const routeFocused = useRouteFocused();
|
||||
const [, , , toggleFullscreen] = useFullscreen();
|
||||
const [immersed, setImmersed] = React.useState(true);
|
||||
const setImmersedDebounced = React.useCallback(debounce(setImmersed, 3000), []);
|
||||
const [subtitlesPickerOpen, , closeSubtitlesPicker, toggleSubtitlesPicker] = useBinaryState(false);
|
||||
const [metaPreviewOpen, , closeMetaPreview, toggleMetaPreview] = useBinaryState(false);
|
||||
const [videoState, setVideoState] = React.useReducer(
|
||||
(videoState, nextVideoState) => ({ ...videoState, ...nextVideoState }),
|
||||
{
|
||||
paused: null,
|
||||
time: null,
|
||||
duration: null,
|
||||
|
|
@ -27,21 +38,8 @@ const INITIAL_VIDEO_STATE = {
|
|||
subtitlesTextColor: null,
|
||||
subtitlesBackgroundColor: null,
|
||||
subtitlesOutlineColor: null
|
||||
};
|
||||
|
||||
const Player = ({ urlParams }) => {
|
||||
const player = usePlayer(urlParams);
|
||||
const [settings, updateSettings] = useSettings();
|
||||
const routeFocused = useRouteFocused();
|
||||
const [, , , toggleFullscreen] = useFullscreen();
|
||||
const [immersed, setImmersed] = React.useState(true);
|
||||
const setImmersedDebounced = React.useCallback(debounce(setImmersed, 3000), []);
|
||||
const [subtitlesPickerOpen, , closeSubtitlesPicker, toggleSubtitlesPicker] = useBinaryState(false);
|
||||
const [metaPreviewOpen, , closeMetaPreview, toggleMetaPreview] = useBinaryState(false);
|
||||
const [videoState, setVideoState] = React.useReducer((videoState, nextVideoState) => ({
|
||||
...videoState,
|
||||
...nextVideoState
|
||||
}), INITIAL_VIDEO_STATE);
|
||||
}
|
||||
);
|
||||
const videoRef = React.useRef(null);
|
||||
const dispatch = React.useCallback((args) => {
|
||||
if (videoRef.current !== null) {
|
||||
|
|
@ -97,6 +95,15 @@ const Player = ({ urlParams }) => {
|
|||
const onSubtitlesOffsetChanged = React.useCallback((offset) => {
|
||||
updateSettings({ subtitles_offset: offset });
|
||||
}, [updateSettings]);
|
||||
const onVideoClick = React.useCallback(() => {
|
||||
if (videoState.paused !== null) {
|
||||
if (videoState.paused) {
|
||||
onPlayRequested();
|
||||
} else {
|
||||
onPauseRequested();
|
||||
}
|
||||
}
|
||||
}, [videoState.paused]);
|
||||
const onContainerMouseDown = React.useCallback((event) => {
|
||||
if (!event.nativeEvent.subtitlesPickerClosePrevented) {
|
||||
closeSubtitlesPicker();
|
||||
|
|
@ -120,17 +127,8 @@ const Player = ({ urlParams }) => {
|
|||
const onBarMouseMove = React.useCallback((event) => {
|
||||
event.nativeEvent.immersePrevented = true;
|
||||
}, []);
|
||||
const onVideoClick = React.useCallback(() => {
|
||||
if (videoState.paused !== null) {
|
||||
if (videoState.paused) {
|
||||
onPlayRequested();
|
||||
} else {
|
||||
onPauseRequested();
|
||||
}
|
||||
}
|
||||
}, [videoState.paused]);
|
||||
useDeepEqualEffect(() => {
|
||||
if (player.selected === null || player.selected.stream === null) {
|
||||
if (player.selected === null) {
|
||||
dispatch({ commandName: 'stop' });
|
||||
} else {
|
||||
dispatch({
|
||||
|
|
@ -145,7 +143,6 @@ const Player = ({ urlParams }) => {
|
|||
0
|
||||
}
|
||||
});
|
||||
if (Array.isArray(player.selected.stream.subtitles)) {
|
||||
dispatch({
|
||||
commandName: 'addSubtitlesTracks',
|
||||
commandArgs: {
|
||||
|
|
@ -153,8 +150,7 @@ const Player = ({ urlParams }) => {
|
|||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}, [player.selected && player.selected.stream]);
|
||||
}, [player.selected]);
|
||||
useDeepEqualEffect(() => {
|
||||
dispatch({
|
||||
commandName: 'addSubtitlesTracks',
|
||||
|
|
|
|||
Loading…
Reference in a new issue