// ============================================================================= // Lightbox Component - Full-screen image viewer // ============================================================================= import type { MouseEvent } from "react"; import { useEscapeKey } from "../hooks/useEscapeKey"; export interface LightboxProps { src: string; alt: string; onClose: () => void; } export function Lightbox({ src, alt, onClose }: LightboxProps) { useEscapeKey(true, onClose); function handleOverlayClick(e: MouseEvent) { e.stopPropagation(); if (e.target === e.currentTarget) { onClose(); } } return (
{ if (e.key !== "Escape") e.stopPropagation(); }} >
{alt} e.stopPropagation()} onKeyDown={(e) => { if (e.key !== "Escape") e.stopPropagation(); }} />
); }