import { useState } from "react" import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query" import { api } from "../lib/api" export default function Customers() { const queryClient = useQueryClient() const [name, setName] = useState("") const { data: customers, isLoading, isError } = useQuery({ queryKey: ["customers"], queryFn: () => api.listCustomers() }) const createMutation = useMutation({ mutationFn: (name: string) => api.createCustomer({ name }), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["customers"] }) setName("") } }) const deleteMutation = useMutation({ mutationFn: (id: string) => api.deleteCustomer(id), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["customers"] }) } }) const handleSubmit = (e: React.FormEvent) => { e.preventDefault() if (!name.trim()) return createMutation.mutate(name) } if (isLoading) return
Loading customers...
if (isError) return
Error loading customers.
return (

Customers

Manage your client database

Add New Customer

setName(e.target.value)} placeholder="Enter company or person name" />
{customers && customers.length > 0 ? ( customers.map((customer: any) => ( )) ) : ( )}
Name Actions
{customer.name}
No customers found. Add your first customer above.
) }