From 0d19e8d560f7406f9e5ba707ba21f7357722a00a Mon Sep 17 00:00:00 2001 From: nklhrstv Date: Sat, 21 Mar 2020 19:47:29 +0200 Subject: [PATCH] update library item state on time update --- src/routes/Player/Player.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index 15d85b505..77dad7ab9 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -3,6 +3,7 @@ const PropTypes = require('prop-types'); const classnames = require('classnames'); const debounce = require('lodash.debounce'); const { useRouteFocused } = require('stremio-router'); +const { useServices } = require('stremio/services'); const { HorizontalNavBar, useDeepEqualEffect, useFullscreen, useBinaryState } = require('stremio/common'); const BufferingLoader = require('./BufferingLoader'); const ControlBar = require('./ControlBar'); @@ -13,6 +14,7 @@ const useSettings = require('./useSettings'); const styles = require('./styles'); const Player = ({ urlParams }) => { + const { core } = useServices(); const player = usePlayer(urlParams); const [settings, updateSettings] = useSettings(); const routeFocused = useRouteFocused(); @@ -178,6 +180,20 @@ const Player = ({ urlParams }) => { React.useEffect(() => { dispatch({ propName: 'subtitlesOffset', propValue: settings.subtitles_offset }); }, [settings.subtitles_offset]); + React.useEffect(() => { + if (videoState.time !== null && !isNaN(videoState.time) && videoState.duration !== null && !isNaN(videoState.duration)) { + core.dispatch({ + action: 'Player', + args: { + action: 'UpdateLibraryItemState', + args: { + time: videoState.time, + duration: videoState.duration + } + } + }); + } + }, [videoState.time, videoState.duration]); React.useLayoutEffect(() => { const onKeyDown = (event) => { switch (event.code) {