refactor: Make thread comments more compact

- Create ThreadCommentRenderer for compact comment display
- Remove reply preview from comments
- Remove footer from comments
- Remove reply count display when collapsed
- Reduce padding in comments section
- Tighter spacing between comments (space-y-0)
- Use compact renderer for both kind 1 and 1111 in thread view
This commit is contained in:
Claude
2026-01-17 19:32:03 +00:00
parent 616cc083ce
commit 2515545e36
3 changed files with 56 additions and 20 deletions

View File

@@ -0,0 +1,49 @@
import { NostrEvent } from "@/types/nostr";
import { UserName } from "./nostr/UserName";
import { EventMenu } from "./nostr/kinds/BaseEventRenderer";
import { RichText } from "./nostr/RichText";
import { formatTimestamp } from "@/hooks/useLocale";
import { useGrimoire } from "@/core/state";
/**
* Compact renderer for comments in thread view
* - No reply preview
* - No footer
* - Minimal padding
* - Used for both kind 1 and kind 1111 in thread context
*/
export function ThreadCommentRenderer({ event }: { event: NostrEvent }) {
const { locale } = useGrimoire();
// Format relative time for display
const relativeTime = formatTimestamp(
event.created_at,
"relative",
locale.locale,
);
// Format absolute timestamp for hover
const absoluteTime = formatTimestamp(
event.created_at,
"absolute",
locale.locale,
);
return (
<div className="flex flex-col gap-1.5 p-2 border-b border-border/50 last:border-0">
<div className="flex flex-row justify-between items-center">
<div className="flex flex-row gap-2 items-baseline">
<UserName pubkey={event.pubkey} className="text-sm" />
<span
className="text-xs text-muted-foreground cursor-help"
title={absoluteTime}
>
{relativeTime}
</span>
</div>
<EventMenu event={event} />
</div>
<RichText event={event} className="text-sm" />
</div>
);
}