'use client'; import React from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { X, ChevronLeft, ChevronRight, Download } from 'lucide-react'; import { Box } from '@/ui/Box'; import { IconButton } from '@/ui/IconButton'; import { Image } from '@/ui/Image'; import { Text } from '@/ui/Text'; export interface MediaViewerModalProps { isOpen: boolean; onClose: () => void; src?: string; alt?: string; title?: string; onNext?: () => void; onPrev?: () => void; } export function MediaViewerModal({ isOpen, onClose, src, alt = 'Media viewer', title, onNext, onPrev, }: MediaViewerModalProps) { return ( {isOpen && ( {/* Backdrop with frosted blur */} {/* Content Container */} {/* Header */} {title && ( {title} )} src && window.open(src, '_blank')} color="text-white" backgroundColor="bg-white/10" /> {/* Image Area */} {src ? ( {alt} ) : ( No image selected )} {/* Navigation Controls */} {onPrev && ( )} {onNext && ( )} {/* Footer / Info */} Precision Racing Media Viewer )} ); }