import { ScrollArea, ScrollBar } from '@/components/ui/scroll-area' import { formatAmount } from '@/lib/lightning' import { useNoteStats } from '@/providers/NoteStatsProvider' import { Zap } from 'lucide-react' import { Event } from 'nostr-tools' import { useMemo, useState } from 'react' import { SimpleUserAvatar } from '../UserAvatar' import ZapDialog from '../ZapDialog' export default function TopZaps({ event }: { event: Event }) { const { noteStatsMap } = useNoteStats() const [zapIndex, setZapIndex] = useState(-1) const topZaps = useMemo(() => { const stats = noteStatsMap.get(event.id) || {} return stats.zaps?.slice(0, 10) || [] }, [noteStatsMap, event]) if (!topZaps.length) return null return (
{topZaps.map((zap, index) => (
{ e.stopPropagation() setZapIndex(index) }} >
{formatAmount(zap.amount)}
{zap.comment}
e.stopPropagation()}> { if (open) { setZapIndex(index) } else { setZapIndex(-1) } }} pubkey={event.pubkey} eventId={event.id} defaultAmount={zap.amount} defaultComment={zap.comment} />
))}
) }