diff --git a/app/home/(user)/_components/order-analyses-cards.tsx b/app/home/(user)/_components/order-analyses-cards.tsx index bc4a690..9a9d8d8 100644 --- a/app/home/(user)/_components/order-analyses-cards.tsx +++ b/app/home/(user)/_components/order-analyses-cards.tsx @@ -1,6 +1,6 @@ "use client"; -import { HeartPulse, ShoppingCart } from 'lucide-react'; +import { HeartPulse, Loader2, ShoppingCart } from 'lucide-react'; import { Button } from '@kit/ui/button'; import { @@ -24,15 +24,20 @@ export default function OrderAnalysesCards({ const [isAddingToCart, setIsAddingToCart] = useState(false); const handleSelect = async (selectedVariant: StoreProductVariant) => { - if (!selectedVariant?.id) return null + if (!selectedVariant?.id || isAddingToCart) return null setIsAddingToCart(true); - await handleAddToCart({ - selectedVariant, - countryCode, - }); - setIsAddingToCart(false); - router.push('/home/cart'); + try { + await handleAddToCart({ + selectedVariant, + countryCode, + }); + setIsAddingToCart(false); + router.push('/home/cart'); + } catch (e) { + setIsAddingToCart(false); + console.error(e); + } } return ( @@ -53,9 +58,8 @@ export default function OrderAnalysesCards({ variant="outline" className="px-2 text-black" onClick={() => handleSelect(variants![0]!)} - disabled={isAddingToCart} > - + {isAddingToCart ? : }