import { useId, useRef } from "react"; import type { ResolveEvidenceAsset } from "../../../domain/public-render-content.ts"; type PublicEvidenceFigureProps = { evidenceKey: string; alt: string; caption: string; zoom: boolean; resolveEvidenceAsset: ResolveEvidenceAsset; }; export function PublicEvidenceFigure({ evidenceKey, alt, caption, zoom, resolveEvidenceAsset, }: PublicEvidenceFigureProps) { const asset = resolveEvidenceAsset(evidenceKey); const descriptionId = useId(); const triggerRef = useRef(null); const dialogRef = useRef(null); function open() { dialogRef.current?.showModal(); } function close() { dialogRef.current?.close(); } if (!zoom) { return (
{alt}
{caption}
); } return ( <>
{caption}
triggerRef.current?.focus()} onClick={(event) => { if (event.target === event.currentTarget) close(); }} >
{alt}

{caption}

); }