import Modal from "@/Element/Modal"; import { ThreadContextWrapper } from "@/Hooks/useThreadContext"; import { Thread } from "@/Element/Event/Thread"; import { SpotlightMedia } from "@/Element/Spotlight/SpotlightMedia"; import { NostrLink, TaggedNostrEvent } from "@snort/system"; import getEventMedia from "@/Element/Event/getEventMedia"; interface SpotlightThreadModalProps { thread?: NostrLink; event?: TaggedNostrEvent; className?: string; onClose?: () => void; onBack?: () => void; onNext?: () => void; onPrev?: () => void; } export function SpotlightThreadModal(props: SpotlightThreadModalProps) { const onClose = () => props.onClose?.(); const onBack = () => props.onBack?.(); const onClickBg = (e: React.MouseEvent) => { if (e.target === e.currentTarget) { onClose(); } }; if (!props.thread && !props.event) { throw new Error("SpotlightThreadModal requires either thread or event"); } const link = props.event ? NostrLink.fromEvent(props.event) : props.thread; return (
); } interface SpotlightFromEventProps { event: TaggedNostrEvent; onClose: () => void; onNext?: () => void; onPrev?: () => void; } function SpotlightFromEvent({ event, onClose, onNext, onPrev }: SpotlightFromEventProps) { const media = getEventMedia(event); return ( a.content)} idx={0} onClose={onClose} onNext={onNext} onPrev={onPrev} /> ); }