subtracks/app/components/ProgressHook.tsx
austinried 9dc1ac451c impl repeat mode
fix position not being restored on close/open due to some bad progress updates
2021-08-04 22:15:16 +09:00

26 lines
703 B
TypeScript

import { useStore } from '@app/state/store'
import { selectTrackPlayer } from '@app/state/trackplayer'
import React, { useEffect } from 'react'
import { State, useProgress } from 'react-native-track-player'
const ProgressHook = () => {
const playerState = useStore(selectTrackPlayer.playerState)
const setProgress = useStore(selectTrackPlayer.setProgress)
const progress = useProgress(250)
useEffect(() => {
if (playerState !== State.Playing) {
return
}
if (progress.buffered === 0 && progress.duration === 0 && progress.position === 0) {
return
}
setProgress(progress)
}, [setProgress, progress, playerState])
return <></>
}
export default ProgressHook