diff --git a/client/src/components/Home.tsx b/client/src/components/Home.tsx index 1121126..f00ae83 100644 --- a/client/src/components/Home.tsx +++ b/client/src/components/Home.tsx @@ -50,11 +50,6 @@ const Home = () => { return uniqEvents.filter((e) => e.tags.some((tag) => tag[0] === "e" && tag[1] === event.id)).length; }; - useEffect(() => { - const kind6Events = sortedEvents.filter(event => event.kind === 6); - console.log('Kind 6 events:', kind6Events); - }, [uniqEvents]); - // Render the component return (
diff --git a/client/src/components/Modals/RepostCard.tsx b/client/src/components/Modals/RepostCard.tsx index 1cd6084..8a826f6 100644 --- a/client/src/components/Modals/RepostCard.tsx +++ b/client/src/components/Modals/RepostCard.tsx @@ -1,17 +1,19 @@ import CardContainer from "./CardContainer"; import { CpuChipIcon, ArrowPathRoundedSquareIcon } from "@heroicons/react/24/outline"; import { parseContent } from "../../utils/content"; -import { Event, nip19 } from "nostr-tools"; -import { getMetadata } from "../../utils/otherUtils"; +import { Event as NostrEvent, nip19 } from "nostr-tools"; +import { getMetadata, Metadata } from "../../utils/otherUtils"; import ContentPreview from "./CardModals/TextModal"; import { renderMedia } from "../../utils/FileUpload"; import { getIconFromHash, timeAgo } from "../../utils/cardUtils"; import { verifyPow } from "../../utils/mine"; import { useNavigate } from 'react-router-dom'; +import { subNoteOnce } from "../../utils/subscriptions"; +import { useEffect, useState } from "react"; interface RepostProps { key?: string | number; - event: Event; + event: NostrEvent; } const RepostCard = ({ @@ -22,44 +24,65 @@ const RepostCard = ({ const { files } = parseContent(event); const icon = getIconFromHash(event.pubkey); const navigate = useNavigate(); + const [metadata, setMetadata] = useState() + + // Define your callback function for subGlobalFeed + const onEvent = (event: NostrEvent, relay: string) => { + if (event.kind === 0 && event.pubkey === repostedEvent.pubkey) { + setMetadata(getMetadata(event)) + } + }; + + useEffect(() => { + subNoteOnce(repostedEvent.id, onEvent); + }, [repostedEvent.id]); const handleClick = () => { - navigate(`/thread/${nip19.noteEncode(event.id)}`); + navigate(`/thread/${nip19.noteEncode(repostedEvent.id)}`); }; return (
- -
- Repost - @ - {verifyPow(event)} -
-
-
-
- -
-
- -
- {renderMedia(files)} -
-
-
-
- {verifyPow(repostedEvent)} + +
+ Repost + @ + {verifyPow(event)} +
+
+
+
+
+
+
- · -
- {timeAgo(repostedEvent.created_at)} + {renderMedia(files)} +
+ {metadata ? + + : +
+ } +
+
+ {verifyPow(repostedEvent)} +
+ · +
+ {timeAgo(repostedEvent.created_at)} +
+
- +
-
-
-
+
); };