fix(editor): use feed renderer and skeleton for event previews

When pasting event URLs in the editor, use KindRenderer (feed) and
EventCardSkeleton instead of DetailKindRenderer and EventDetailSkeleton.

Event previews in the editor are inline/compact like feed items, so they
should use the feed renderer rather than the detail view renderer.
This commit is contained in:
Claude
2026-01-21 08:15:48 +00:00
parent 2669f8184d
commit 76e7a2f347

View File

@@ -1,13 +1,13 @@
import { NodeViewWrapper, type ReactNodeViewProps } from "@tiptap/react";
import { useNostrEvent } from "@/hooks/useNostrEvent";
import { DetailKindRenderer } from "@/components/nostr/kinds";
import { KindRenderer } from "@/components/nostr/kinds";
import type { EventPointer, AddressPointer } from "nostr-tools/nip19";
import { EventDetailSkeleton } from "@/components/ui/skeleton";
import { EventCardSkeleton } from "@/components/ui/skeleton";
/**
* Rich preview component for Nostr events in the editor
*
* Uses the full DetailKindRenderer to show event content
* Uses the feed KindRenderer to show event content inline
*/
export function NostrEventPreviewRich({ node }: ReactNodeViewProps) {
const { type, data } = node.attrs as {
@@ -43,9 +43,9 @@ export function NostrEventPreviewRich({ node }: ReactNodeViewProps) {
<NodeViewWrapper className="my-2">
<div className="rounded-lg border border-border bg-muted/30 p-3 pointer-events-none">
{!event ? (
<EventDetailSkeleton className="py-2" />
<EventCardSkeleton className="py-2" />
) : (
<DetailKindRenderer event={event} />
<KindRenderer event={event} depth={0} />
)}
</div>
</NodeViewWrapper>