|
|
|
@ -1,4 +1,8 @@ |
|
|
|
import { useEffect, useState } from 'react' |
|
|
|
import { |
|
|
|
|
|
|
|
useEffect, |
|
|
|
|
|
|
|
useState, |
|
|
|
|
|
|
|
RefObject, |
|
|
|
|
|
|
|
} from 'react' |
|
|
|
|
|
|
|
|
|
|
|
import { T9n } from 'features/T9n' |
|
|
|
import { T9n } from 'features/T9n' |
|
|
|
import { Icon } from 'features/Icon' |
|
|
|
import { Icon } from 'features/Icon' |
|
|
|
@ -23,8 +27,8 @@ type AccessTimerType = { |
|
|
|
access: boolean, |
|
|
|
access: boolean, |
|
|
|
isFullscreen: boolean, |
|
|
|
isFullscreen: boolean, |
|
|
|
onFullscreenClick: () => void, |
|
|
|
onFullscreenClick: () => void, |
|
|
|
onPause: () => void, |
|
|
|
|
|
|
|
playing: boolean, |
|
|
|
playing: boolean, |
|
|
|
|
|
|
|
videoRef?: RefObject<HTMLVideoElement> | null, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const ACCESS_TIME = 60 |
|
|
|
const ACCESS_TIME = 60 |
|
|
|
@ -33,8 +37,8 @@ export const AccessTimer = ({ |
|
|
|
access, |
|
|
|
access, |
|
|
|
isFullscreen, |
|
|
|
isFullscreen, |
|
|
|
onFullscreenClick, |
|
|
|
onFullscreenClick, |
|
|
|
onPause, |
|
|
|
|
|
|
|
playing, |
|
|
|
playing, |
|
|
|
|
|
|
|
videoRef, |
|
|
|
}: AccessTimerType) => { |
|
|
|
}: AccessTimerType) => { |
|
|
|
const { |
|
|
|
const { |
|
|
|
logout, |
|
|
|
logout, |
|
|
|
@ -46,13 +50,13 @@ export const AccessTimer = ({ |
|
|
|
|
|
|
|
|
|
|
|
const [timeIsFinished, setTimeIsFinished] = useState(true) |
|
|
|
const [timeIsFinished, setTimeIsFinished] = useState(true) |
|
|
|
const [time, setTime] = useState(ACCESS_TIME) |
|
|
|
const [time, setTime] = useState(ACCESS_TIME) |
|
|
|
const isTimeExpired = time <= 0 && !access |
|
|
|
const isTimeExpired = time <= 0 || !access |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
if (isTimeExpired) { |
|
|
|
if (isTimeExpired) { |
|
|
|
document.pictureInPictureEnabled && document.exitPictureInPicture() |
|
|
|
document.pictureInPictureEnabled && document.exitPictureInPicture() |
|
|
|
setTimeIsFinished(true) |
|
|
|
setTimeIsFinished(true) |
|
|
|
onPause() |
|
|
|
videoRef?.current?.pause() |
|
|
|
setTime(0) |
|
|
|
setTime(0) |
|
|
|
if (isFullscreen) onFullscreenClick() |
|
|
|
if (isFullscreen) onFullscreenClick() |
|
|
|
} |
|
|
|
} |
|
|
|
|