"use client" import type React from "react" import { useState } from "react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Textarea } from "@/components/ui/textarea" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog" interface SupplierPaymentFormProps { supplierName: string amountOwed: number open: boolean onOpenChange: (open: boolean) => void onSubmit: (payment: { amount: number; notes: string; date: string; paymentMethod: string }) => void } export function SupplierPaymentForm({ supplierName, amountOwed, open, onOpenChange, onSubmit, }: SupplierPaymentFormProps) { const [formData, setFormData] = useState({ amount: 0, notes: "", date: new Date().toISOString().split("T")[0], paymentMethod: "", }) const handleSubmit = (e: React.FormEvent) => { e.preventDefault() onSubmit(formData) onOpenChange(false) setFormData({ amount: 0, notes: "", date: new Date().toISOString().split("T")[0], paymentMethod: "", }) } const maxPayment = amountOwed return ( Record Payment Record a payment to {supplierName}

Amount Owed

${amountOwed.toFixed(2)}

setFormData({ ...formData, amount: Number.parseFloat(e.target.value) || 0 })} placeholder="0.00" required />
setFormData({ ...formData, paymentMethod: e.target.value })} placeholder="e.g., Bank Transfer, Check, Cash" />
setFormData({ ...formData, date: e.target.value })} required />