import { NostrLink, TaggedNostrEvent } from "@snort/system"; import { MouseEvent } from "react"; import useImgProxy from "@/Hooks/useImgProxy"; import { transformTextCached } from "@/Hooks/useTextTransformCache"; import { Link } from "react-router-dom"; import Icon from "@/Icons/Icon"; const ImageGridItem = (props: { event: TaggedNostrEvent; onClick: (e: MouseEvent) => void }) => { const { event, onClick } = props; const { proxy } = useImgProxy(); const parsed = transformTextCached(event.id, event.content, event.tags); const media = parsed.filter( a => a.type === "media" && (a.mimeType?.startsWith("image/") || a.mimeType?.startsWith("video/")), ); if (media.length === 0) return null; const multiple = media.length > 1; const isVideo = media[0].mimeType?.startsWith("video/"); const noteId = NostrLink.fromEvent(event).encode(CONFIG.eventLinkPrefix); const myOnClick = (clickEvent: MouseEvent) => { if (onClick && window.innerWidth >= 768) { onClick(clickEvent); clickEvent.preventDefault(); } }; return ( Note Media
{multiple && } {isVideo && }
); }; export default ImageGridItem;