import type { Event } from "@lume/types"; import { Note, Spinner, User } from "@lume/ui"; import { cn } from "@lume/utils"; import { useQuery } from "@tanstack/react-query"; import { useRouteContext } from "@tanstack/react-router"; export function RepostNote({ event, className, }: { event: Event; className?: string; }) { const { ark } = useRouteContext({ strict: false }); const { isLoading, isError, data: repostEvent, } = useQuery({ queryKey: ["repost", event.id], queryFn: async () => { try { if (event.content.length > 50) { const embed: Event = JSON.parse(event.content); return embed; } const id = event.tags.find((el) => el[0] === "e")?.[1]; const repostEvent = await ark.get_event(id); return repostEvent; } catch (e) { throw new Error(e); } }, refetchOnWindowFocus: false, refetchOnMount: false, }); return (
Reposted by
{isLoading ? (
Loading event...
) : isError || !repostEvent ? (
Event not found within your current relay set
) : (
)}
); }