'use client' import { memo } from 'react' import { Handle, Position, type NodeProps } from '@xyflow/react' export interface RecipientNodeData { label: string received: number incomingRate: number threshold: number isReceiving: boolean } function RecipientNode({ data }: NodeProps) { const { label, received, incomingRate, threshold, isReceiving } = data as RecipientNodeData const progress = Math.min((received / threshold) * 100, 100) const thresholdMet = received >= threshold return (
🎯
{label}
Recipient
Received ${received.toLocaleString()}
Rate +${incomingRate}/hr
{/* Threshold Progress Bar */}
Threshold {progress.toFixed(0)}%
75 ? 'bg-amber-500' : 'bg-purple-500' }`} style={{ width: `${progress}%` }} />
${received.toLocaleString()} ${threshold.toLocaleString()}
{thresholdMet && (
✓ Threshold Met!
)} {/* Optional: outgoing handle for cascading flows */}
) } export default memo(RecipientNode)