diff --git a/src/components/nostr/kinds/Kind1111Renderer.tsx b/src/components/nostr/kinds/Kind1111Renderer.tsx index 45469e9..b33b151 100644 --- a/src/components/nostr/kinds/Kind1111Renderer.tsx +++ b/src/components/nostr/kinds/Kind1111Renderer.tsx @@ -2,14 +2,13 @@ import { RichText } from "../RichText"; import { BaseEventContainer, type BaseEventProps } from "./BaseEventRenderer"; import { getCommentReplyPointer, - getCommentRootPointer, isCommentAddressPointer, isCommentEventPointer, type CommentPointer, } from "applesauce-core/helpers/comment"; import { useNostrEvent } from "@/hooks/useNostrEvent"; import { UserName } from "../UserName"; -import { Reply, MessageSquare } from "lucide-react"; +import { Reply } from "lucide-react"; import { useGrimoire } from "@/core/state"; import { InlineReplySkeleton } from "@/components/ui/skeleton"; import { KindBadge } from "@/components/KindBadge"; @@ -45,36 +44,6 @@ function convertCommentPointer( return undefined; } -/** - * Check if two pointers reference the same event - */ -function isSamePointer( - pointer1: - | { id: string } - | { kind: number; pubkey: string; identifier: string } - | undefined, - pointer2: - | { id: string } - | { kind: number; pubkey: string; identifier: string } - | undefined, -): boolean { - if (!pointer1 || !pointer2) return false; - - if ("id" in pointer1 && "id" in pointer2) { - return pointer1.id === pointer2.id; - } - - if ("kind" in pointer1 && "kind" in pointer2) { - return ( - pointer1.kind === pointer2.kind && - pointer1.pubkey === pointer2.pubkey && - pointer1.identifier === pointer2.identifier - ); - } - - return false; -} - /** * Parent event card component - compact single line */ @@ -89,6 +58,9 @@ function ParentEventCard({ tooltipText: string; onClickHandler: () => void; }) { + // Don't show kind badge for kind 1 (most common, adds clutter) + const showKindBadge = parentEvent.kind !== 1; + return (
{tooltipText}

- + {showKindBadge && } { - if (!rootEvent || !rootPointer) return; - addWindow("open", { pointer: rootPointer }); - }; - const handleReplyClick = () => { if (!replyEvent || !replyPointer) return; - addWindow( - "open", - { pointer: replyPointer }, - ); + addWindow("open", { pointer: replyPointer }); }; return ( -
- {/* Show root event (thread origin) */} - {rootPointer && !rootEvent && ( - } /> - )} + {/* Show reply event (immediate parent) */} + {replyPointer && !replyEvent && ( + } /> + )} - {rootPointer && rootEvent && ( - - )} - - {/* Show reply event (immediate parent) if different from root */} - {hasDistinctReply && replyPointer && ( - - )} -
+ {replyPointer && replyEvent && ( + + )}
diff --git a/src/components/nostr/kinds/NoteRenderer.tsx b/src/components/nostr/kinds/NoteRenderer.tsx index 8d08dfa..c7cb3b7 100644 --- a/src/components/nostr/kinds/NoteRenderer.tsx +++ b/src/components/nostr/kinds/NoteRenderer.tsx @@ -3,7 +3,7 @@ import { BaseEventContainer, type BaseEventProps } from "./BaseEventRenderer"; import { getNip10References } from "applesauce-core/helpers/threading"; import { useNostrEvent } from "@/hooks/useNostrEvent"; import { UserName } from "../UserName"; -import { Reply, MessageSquare } from "lucide-react"; +import { Reply } from "lucide-react"; import { useGrimoire } from "@/core/state"; import { InlineReplySkeleton } from "@/components/ui/skeleton"; import { KindBadge } from "@/components/KindBadge"; @@ -15,42 +15,6 @@ import { TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; -import type { EventPointer } from "nostr-tools/nip19"; -import type { AddressPointer } from "nostr-tools/nip19"; - -/** - * Check if two pointers reference the same event - */ -function isSamePointer( - pointer1: - | { e: EventPointer; a: undefined } - | { e: undefined; a: AddressPointer } - | { e: EventPointer; a: AddressPointer } - | undefined, - pointer2: - | { e: EventPointer; a: undefined } - | { e: undefined; a: AddressPointer } - | { e: EventPointer; a: AddressPointer } - | undefined, -): boolean { - if (!pointer1 || !pointer2) return false; - - // Compare event pointers - if (pointer1.e && pointer2.e) { - return pointer1.e.id === pointer2.e.id; - } - - // Compare address pointers - if (pointer1.a && pointer2.a) { - return ( - pointer1.a.kind === pointer2.a.kind && - pointer1.a.pubkey === pointer2.a.pubkey && - pointer1.a.identifier === pointer2.a.identifier - ); - } - - return false; -} /** * Parent event card component - compact single line @@ -66,6 +30,9 @@ function ParentEventCard({ tooltipText: string; onClickHandler: () => void; }) { + // Don't show kind badge for kind 1 (most common, adds clutter) + const showKindBadge = parentEvent.kind !== 1; + return (
{tooltipText}

- + {showKindBadge && } { - if (!rootEvent || !rootPointer) return; - addWindow("open", { pointer: rootPointer }, `Thread root`); - }; - const handleReplyClick = () => { if (!replyEvent || !replyPointer) return; addWindow( @@ -140,31 +91,19 @@ export function Kind1Renderer({ event, depth = 0 }: BaseEventProps) { return ( -
- {/* Show root event (thread origin) */} - {rootPointer && !rootEvent && ( - } /> - )} + {/* Show reply event (immediate parent) */} + {replyPointer && !replyEvent && ( + } /> + )} - {rootPointer && rootEvent && ( - - )} - - {/* Show reply event (immediate parent) if different from root */} - {hasDistinctReply && replyPointer && ( - - )} -
+ {replyPointer && replyEvent && ( + + )}