'use client' import { useState } from 'react' import { useFinanzasStore } from '@/lib/store' import { X, CreditCard, DollarSign, Calendar, FileText, Layers } from 'lucide-react' import { cn } from '@/lib/utils' interface AddPaymentModalProps { isOpen: boolean onClose: () => void } export function AddPaymentModal({ isOpen, onClose }: AddPaymentModalProps) { const cards = useFinanzasStore((state) => state.creditCards) const addCardPayment = useFinanzasStore((state) => state.addCardPayment) const [selectedCardId, setSelectedCardId] = useState(cards[0]?.id || '') const [description, setDescription] = useState('') const [amount, setAmount] = useState('') const [dateStr, setDateStr] = useState(new Date().toISOString().split('T')[0]) const [hasInstallments, setHasInstallments] = useState(false) const [installments, setInstallments] = useState('1') const [totalInstallments, setTotalInstallments] = useState('12') if (!isOpen) return null // Ensure card selection if cards exist if (!selectedCardId && cards.length > 0) { setSelectedCardId(cards[0].id) } const handleSubmit = (e: React.FormEvent) => { e.preventDefault() if (!description || !amount || !selectedCardId) return addCardPayment({ cardId: selectedCardId, amount: parseFloat(amount), date: new Date(dateStr).toISOString(), description, installments: hasInstallments ? { current: parseInt(installments), total: parseInt(totalInstallments) } : undefined }) // Reset setDescription('') setAmount('') setHasInstallments(false) setInstallments('1') setTotalInstallments('12') onClose() } return (
Debes agregar una tarjeta antes de registrar pagos.