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 && (
+
+ )}