'use client'; import { useFormState } from 'react-dom'; 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 { updateInvoice } from '@/app/lib/actions'; export default function EditInvoiceForm({ invoice, customers, }: { invoice: InvoiceForm; customers: CustomerField[]; }) { const initialState = { message: null, errors: {} }; const [state, dispatch] = useFormState(updateInvoice, initialState); return (
{/* Invoice ID */} {/* Customer Name */}
{state.errors?.customerId ? (
{state.errors.customerId.map((error: string) => (

{error}

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

{error}

))}
) : null}
{/* Invoice Status */}
{state.errors?.status ? (
{state.errors.status.map((error: string) => (

{error}

))}
) : null}
{state.message ? (

{state.message}

) : null}
Cancel
); }