diff --git a/apps/web/vibes/soul/sections/cart/client.tsx b/apps/web/vibes/soul/sections/cart/client.tsx index d482aa578..ecfa63d61 100644 --- a/apps/web/vibes/soul/sections/cart/client.tsx +++ b/apps/web/vibes/soul/sections/cart/client.tsx @@ -9,6 +9,7 @@ import { startTransition, useActionState, useEffect, useOptimistic } from 'react import { useFormStatus } from 'react-dom'; import { Button } from '@/vibes/soul/primitives/button'; +import { toast } from '@/vibes/soul/primitives/toaster'; import { StickySidebarLayout } from '@/vibes/soul/sections/sticky-sidebar-layout'; import { cartLineItemActionFormDataSchema } from './schema'; @@ -79,6 +80,16 @@ export function CartClient({ lastResult: null, }); + const [form] = useForm({ lastResult: state.lastResult }); + + useEffect(() => { + if (form.errors) { + form.errors.forEach((error) => { + toast.error(error); + }); + } + }, [form.errors]); + const [optimisticLineItems, setOptimisticLineItems] = useOptimistic( state.lineItems, (prevState, formData) => {