import { memo, useMemo } from 'react'; import { Handle, Position, type NodeProps } from '@xyflow/react'; import { Database } from 'lucide-react'; export const DatabaseNode = memo(({ data, selected }: NodeProps) => { const label = (data as { label?: string }).label ?? 'Database'; const meta = useMemo(() => { try { return (data as any).metadata ? JSON.parse((data as any).metadata) : {}; } catch { return {}; } }, [data]); const hasAddress = meta.ipAddress || meta.port; return (