From 9fd1873cc5cefb8c9b9612da6da8ac4ec2f2e969 Mon Sep 17 00:00:00 2001 From: Mustafa Date: Thu, 30 Jul 2026 22:55:57 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20video=20display:none=20=E2=86=92=20visib?= =?UTF-8?q?le=201px,=20add=20load()=20trigger,=20canplay=20event?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/sections/CloudRevealSection.tsx | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/components/sections/CloudRevealSection.tsx b/components/sections/CloudRevealSection.tsx index 5112e85..7d972cf 100644 --- a/components/sections/CloudRevealSection.tsx +++ b/components/sections/CloudRevealSection.tsx @@ -75,19 +75,30 @@ export default function CloudRevealSection() { const ctx = canvas.getContext('2d') if (!ctx) return - const drawVideoFrame = () => { + const draw = () => { + if (canvas.width === 0) { + canvas.width = window.innerWidth + canvas.height = window.innerHeight + } if (video.readyState >= 2) { ctx.drawImage(video, 0, 0, canvas.width, canvas.height) } } - video.addEventListener('seeked', drawVideoFrame) - video.addEventListener('loadeddata', () => { - setLoaded(true) - drawVideoFrame() - }) + const onReady = () => { setLoaded(true); draw() } - return () => video.removeEventListener('seeked', drawVideoFrame) + video.addEventListener('seeked', draw) + video.addEventListener('loadeddata', onReady) + video.addEventListener('canplay', onReady) + + // Yüklemeyi tetikle + video.load() + + return () => { + video.removeEventListener('seeked', draw) + video.removeEventListener('loadeddata', onReady) + video.removeEventListener('canplay', onReady) + } }, [prefersReducedMotion]) // Scroll → video currentTime @@ -142,14 +153,14 @@ export default function CloudRevealSection() {
- {/* Gizli video — sadece canvas'a kaynak */} + {/* Video kaynağı — görünmez ama yüklenebilir */}