import React, { useEffect, useState } from 'react'; import { useRouter } from 'next/router'; import { useNostr } from '@/hooks/useNostr'; import { parseEvent, findKind0Fields, hexToNpub } from '@/utils/nostr'; import { useImageProxy } from '@/hooks/useImageProxy'; import { Button } from 'primereact/button'; import { Tag } from 'primereact/tag'; import Image from 'next/image'; import 'primeicons/primeicons.css'; export default function Details() { const [event, setEvent] = useState(null); const [processedEvent, setProcessedEvent] = useState({}); const [author, setAuthor] = useState(null); const { returnImageProxy } = useImageProxy(); const { fetchSingleEvent, fetchKind0 } = useNostr(); const router = useRouter(); useEffect(() => { if (router.isReady) { const { slug } = router.query; const fetchEvent = async (slug) => { const event = await fetchSingleEvent(slug); if (event) { setEvent(event); } }; fetchEvent(slug); } }, [router.isReady, router.query]); useEffect(() => { const fetchAuthor = async (pubkey) => { const author = await fetchKind0([{ authors: [pubkey], kinds: [0] }], {}); const fields = await findKind0Fields(author); console.log('fields:', fields); if (fields) { setAuthor(fields); } } if (event) { fetchAuthor(event.pubkey); } }, [event]); useEffect(() => { if (event) { const { id, pubkey, content, title, summary, image, published_at } = parseEvent(event); setProcessedEvent({ id, pubkey, content, title, summary, image, published_at }); } }, [event]); return (
router.push('/')} />

{processedEvent?.title}

{processedEvent?.summary}

resource thumbnail

Created by{' '} {author?.username}

{processedEvent && (
resource thumbnail
)}
); }