import { createObjectUrlLease } from "@add-ideas/toolbox-helpers"; import { useEffect, useRef } from "react"; import type { ArchiveEntryRecord, PreviewResult } from "../../archive/types"; export function PreviewPane({ entry, preview, busy, error, }: { entry?: ArchiveEntryRecord; preview?: PreviewResult; busy: boolean; error?: string; }) { const image = useRef(null); useEffect(() => { const node = image.current; if (!node || preview?.kind !== "image") return; const lease = createObjectUrlLease(preview.blob); node.src = lease.url; return () => { node.removeAttribute("src"); lease.revoke(); }; }, [preview]); return ( ); }