import { useState, useRef, useEffect } from 'react' import { HelpCircle, Zap, CheckCircle, Trash2 } from 'lucide-react' import { cn } from '@/lib/utils' import type { TreeStructure } from '@/types' interface AnswerStubCardProps { node: TreeStructure // type === 'answer' fromOption?: string onSelectType: (nodeId: string, type: 'decision' | 'action' | 'solution') => void onDelete: (nodeId: string) => void } export function AnswerStubCard({ node, fromOption, onSelectType, onDelete }: AnswerStubCardProps) { const [picking, setPicking] = useState(false) const [confirming, setConfirming] = useState(false) const cardRef = useRef(null) const label = fromOption || node.title || 'Answer' // Collapse picker when clicking outside the card useEffect(() => { if (!picking) return const handleOutsideClick = (e: MouseEvent) => { if (cardRef.current && !cardRef.current.contains(e.target as Node)) { setPicking(false) } } document.addEventListener('mousedown', handleOutsideClick) return () => document.removeEventListener('mousedown', handleOutsideClick) }, [picking]) return (
!picking && !confirming && setPicking(true)} > {/* Delete button — top-right corner */} {!picking && !confirming && ( )} {/* Label */}
{label}
{/* Confirm delete */} {confirming ? (

Delete this stub?

) : !picking ? (
+ Choose Type
) : (
)}
) } export default AnswerStubCard