'use client'; import { CustomerField, InvoiceForm } from '@/app/lib/definitions'; import { CheckIcon, ClockIcon, CurrencyDollarIcon, UserCircleIcon, } from '@heroicons/react/24/outline'; import Link from 'next/link'; import { Button } from '@/app/ui/button'; import {State, updateInvoice} from '@/app/lib/actions'; import {useActionState} from "react"; export default function EditInvoiceForm({ invoice, customers, }: { invoice: InvoiceForm; customers: CustomerField[]; }) { const initialState: State = { message: null, errors: {} }; const updateInvoiceWithId = updateInvoice.bind(null, invoice.id); const [state, formAction] = useActionState(updateInvoiceWithId, initialState); return (
{/* Customer Name */}
{state.errors?.customerId && state.errors.customerId.map((error: string) => (

{error}

))}
{/* Invoice Amount */}
{state.errors?.amount && state.errors.amount.map((error: string) => (

{error}

))}
{/* Invoice Status */}
Set the invoice status
{state.errors?.status && state.errors.status.map((error: string) => (

{error}

))}
{state.message &&

{state.message}

}
Cancel
); }