diff --git a/client/src/components/video-modal.tsx b/client/src/components/video-modal.tsx index ccd4460..8d8d121 100644 --- a/client/src/components/video-modal.tsx +++ b/client/src/components/video-modal.tsx @@ -91,11 +91,6 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }: document.body.style.overflow = ""; }; }, [isOpen, onClose]); - - // Switch to VAST player for monetization - if (isOpen && video && useVASTPlayer && enableAds) { - return ; - } // Initialize HLS when video is available useEffect(() => { @@ -276,6 +271,20 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }: }; }, [isOpen, video]); + // Cleanup controls timeout - moved before any returns + useEffect(() => { + return () => { + if (controlsTimeout) { + clearTimeout(controlsTimeout); + } + }; + }, [controlsTimeout]); + + // Switch to VAST player for monetization - after all hooks + if (isOpen && video && useVASTPlayer && enableAds) { + return ; + } + // Function to capture video thumbnail const captureVideoThumbnail = () => { try { @@ -351,14 +360,6 @@ export default function VideoModal({ video, isOpen, onClose, enableAds = true }: setControlsTimeout(timeout); }; - useEffect(() => { - return () => { - if (controlsTimeout) { - clearTimeout(controlsTimeout); - } - }; - }, [controlsTimeout]); - const getShareUrl = () => { if (!video?.id) return window.location.origin; return `${window.location.origin}?video=${video.id}`;