diff --git a/frontend/src/components/Constructor/TransitionPreviewOverlay.tsx b/frontend/src/components/Constructor/TransitionPreviewOverlay.tsx index 8d15278..bc7feff 100644 --- a/frontend/src/components/Constructor/TransitionPreviewOverlay.tsx +++ b/frontend/src/components/Constructor/TransitionPreviewOverlay.tsx @@ -36,14 +36,13 @@ const TransitionPreviewOverlay: React.FC = ({ }) => { if (!isActive) return null; - // Video opacity: 0 while buffering, 1 otherwise - const videoOpacity = isBuffering ? 0 : 1; - // Container opacity: controlled by parent for fade-out effects - const containerOpacity = opacity ?? 1; + // Container opacity: 0 while buffering to prevent black flash + // Video first frame = old page background, so we hide everything until ready + const containerOpacity = isBuffering ? 0 : (opacity ?? 1); return ( // Outer: full viewport with black background (letterbox bars) - // No fade transition - transition video itself is the effect + // Hidden while buffering to show old page content underneath
= ({ className='overflow-hidden' style={letterboxStyles || { position: 'absolute', inset: 0 }} > - {/* Video element - no opacity transition to ensure instant appearance - when ready. The video itself IS the transition effect. */} + {/* Video element - container handles visibility, video is always opaque */}