/** * TransitionBlackOverlay Component * * Overlay for fade-through-color page transitions. * Must be rendered at a z-index ABOVE the elements layer to properly cover them. * * The fade-from-color effect: * 1. Page switches instantly (hidden by opaque overlay) * 2. Overlay fades out (1 → 0) revealing new page * * Used by both constructor.tsx and RuntimePresentation.tsx. */ import React from 'react'; import type { TransitionType } from '../types/transition'; interface TransitionBlackOverlayProps { /** Whether fade animation is in progress */ isFadingIn: boolean; /** Transition type - only renders overlay for 'fade' type */ transitionType?: TransitionType; /** Inline styles for transition duration/easing (from usePageNavigationState) */ transitionStyle?: React.CSSProperties; /** Overlay color (default: #000000) */ overlayColor?: string; /** Additional CSS classes */ className?: string; } const TransitionBlackOverlay: React.FC = ({ isFadingIn, transitionType = 'fade', transitionStyle, overlayColor = '#000000', className = '', }) => { // Only render overlay for fade transitions // 'none' means instant switch (no animation) // 'video' is handled by TransitionPreviewOverlay if (!isFadingIn || transitionType !== 'fade') return null; return (
); }; export default TransitionBlackOverlay;