import NoteLike from "@app/note/components/metadata/like"; import NoteReply from "@app/note/components/metadata/reply"; import NoteRepost from "@app/note/components/metadata/repost"; import { RelayContext } from "@shared/relayProvider"; import ZapIcon from "@icons/zap"; import { READONLY_RELAYS } from "@stores/constants"; import { useContext, useState } from "react"; import useSWRSubscription from "swr/subscription"; export default function NoteMetadata({ id, eventPubkey, }: { id: string; eventPubkey: string }) { const pool: any = useContext(RelayContext); const [replies, setReplies] = useState(0); const [reposts, setReposts] = useState(0); const [likes, setLikes] = useState(0); useSWRSubscription(id ? ["note-metadata", id] : null, ([, key]) => { const unsubscribe = pool.subscribe( [ { "#e": [key], since: 0, kinds: [1, 6, 7], limit: 20, }, ], READONLY_RELAYS, (event: any) => { switch (event.kind) { case 1: setReplies((replies) => replies + 1); break; case 6: setReposts((reposts) => reposts + 1); break; case 7: if (event.content === "🤙" || event.content === "+") { setLikes((likes) => likes + 1); } break; default: break; } }, ); return () => { unsubscribe(); }; }); return (