Web:Common:Components:MediaViewer:Sub-Components:ViewerPlayer Refactoring viewerPlayer

This commit is contained in:
Akmal Isomadinov 2023-03-24 23:09:49 +05:00
parent 08f9b8091f
commit a637a2d9c1

View File

@ -68,6 +68,8 @@ function ViewerPlayer({
const containerRef = useRef<HTMLDivElement>(null);
const playerWrapperRef = useRef<HTMLDivElement>(null);
const isDurationInfinityRef = useRef<boolean>(false);
const [isLoading, setIsLoading] = useState<boolean>(false);
const [isPlaying, setIsPlaying] = useState<boolean>(false);
const [isWaiting, setIsWaiting] = useState<boolean>(false);
@ -323,7 +325,7 @@ function ViewerPlayer({
});
};
const handleResize = (event: any) => {
const handleResize = () => {
const target = videoRef.current;
if (!target || isLoading) return;
@ -343,18 +345,24 @@ function ViewerPlayer({
target.playbackRate = 1;
if (target.duration === Infinity) {
isDurationInfinityRef.current = true;
target.currentTime = Number.MAX_SAFE_INTEGER;
return;
}
setDuration(target.duration);
setIsLoading(false);
};
const handleDurationChange = (
event: React.SyntheticEvent<HTMLVideoElement, Event>
) => {
const target = event.target as HTMLVideoElement;
if (!Number.isFinite(target.duration)) return;
if (!Number.isFinite(target.duration) || !isDurationInfinityRef.current)
return;
setDuration(target.duration);
target.currentTime = 0;
isDurationInfinityRef.current = false;
setDuration(target.duration);
setIsLoading(false);
};