"use client"; import { useState } from "react"; import Image from "next/image"; import { nip19 } from "nostr-tools"; import useEvents from "@/lib/hooks/useEvents"; import Spinner from "@/components/spinner"; import { getTagAllValues, getTagValues, getTagsValues, } from "@/lib/nostr/utils"; import Feed from "@/containers/Feed"; import Header from "./_components/Header"; import LocationPreview from "@/components/LocationPreview"; export default function EventPage({ params: { naddr }, }: { params: { naddr: string; }; }) { const { type, data } = nip19.decode(naddr); if (type !== "naddr") { throw new Error("Invalid list"); } const { identifier, kind, pubkey } = data; const { events } = useEvents({ filter: { authors: [pubkey], kinds: [kind], ["#d"]: [identifier], limit: 1, }, }); const event = events[0]; if (!event) { return (
); } const noteIds = getTagsValues("e", event.tags).filter(Boolean); const location = getTagAllValues("location", event.tags)[0] ? getTagAllValues("location", event.tags) : getTagAllValues("address", event.tags); const geohash = getTagValues("g", event.tags); return (
{!!location && !!geohash && ( )}
(

No Announcements yet

)} />
); }