import {useState} from 'react'; import {Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle} from '@/components/ui/dialog'; import {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from '@/components/ui/select'; import {Button} from '@/components/ui/button'; import {Input} from '@/components/ui/input'; import {Label} from '@/components/ui/label'; import {useAppDispatch, createLiability} from '@/store'; interface Props { open: boolean; onOpenChange: (open: boolean) => void; } const liabilityTypes = ['credit_card', 'loan', 'mortgage', 'other'] as const; export default function AddLiabilityDialog({open, onOpenChange}: Props) { const dispatch = useAppDispatch(); const [form, setForm] = useState({name: '', type: '', balance: ''}); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); dispatch( createLiability({ name: form.name, type: form.type.toUpperCase() as 'CREDIT_CARD' | 'LOAN' | 'MORTGAGE' | 'OTHER', currentBalance: parseFloat(form.balance) || 0, }) ); onOpenChange(false); setForm({name: '', type: '', balance: ''}); }; return ( Add Liability Add a new liability to track
setForm({...form, name: e.target.value})} className="input-depth" required />
setForm({...form, balance: e.target.value})} className="input-depth" required />
); }