import { Box } from '@/ui/Box'; import { Card } from '@/ui/Card'; import { Image } from '@/ui/Image'; import { ImagePlaceholder } from '@/ui/ImagePlaceholder'; import { Text } from '@/ui/Text'; import { motion } from 'framer-motion'; import React from 'react'; export interface MediaCardProps { src?: string; alt?: string; title?: string; subtitle?: string; aspectRatio?: string; isLoading?: boolean; error?: string; onClick?: () => void; actions?: React.ReactNode; } export function MediaCard({ src, alt = 'Media asset', title, subtitle, aspectRatio = '16/9', isLoading, error, onClick, actions, }: MediaCardProps) { return ( {isLoading ? ( ) : error ? ( ) : src ? ( {alt} ) : ( )} {actions && ( {actions} )} {(title || subtitle) && ( {title && ( {title} )} {subtitle && ( {subtitle} )} )} ); }