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}`;