'use client'; import React, { useState } from 'react'; import { useRouter } from 'next/navigation'; import { AnalysisPackageWithVariant } from '@/packages/shared/src/components/select-analysis-package'; import { pathsConfig } from '@/packages/shared/src/config'; import { Spinner } from '@kit/ui/makerkit/spinner'; import { Trans } from '@kit/ui/makerkit/trans'; import { Button } from '@kit/ui/shadcn/button'; import { toast } from '@kit/ui/shadcn/sonner'; import { Table, TableBody, TableCell, TableRow } from '@kit/ui/shadcn/table'; import { handleAddToCart } from '~/lib/services/medusaCart.service'; import { cn } from '~/lib/utils'; const AddToCartButton = ({ onClick, disabled, isLoading, }: { onClick: () => void; disabled: boolean; isLoading: boolean; }) => { return ( ); }; const ComparePackagesAddToCartButtons = ({ countryCode, standardPackage, standardPlusPackage, premiumPackage, }: { countryCode: string; standardPackage: AnalysisPackageWithVariant; standardPlusPackage: AnalysisPackageWithVariant; premiumPackage: AnalysisPackageWithVariant; }) => { const [addedPackage, setAddedPackage] = useState(null); const router = useRouter(); const handleSelect = async ({ variantId }: AnalysisPackageWithVariant) => { setAddedPackage(variantId); try { await handleAddToCart({ selectedVariant: { id: variantId }, countryCode, }); setAddedPackage(null); toast.success( , ); router.push(pathsConfig.app.cart); } catch (e) { toast.error( , ); setAddedPackage(null); console.error(e); } }; return ( handleSelect(standardPackage)} disabled={!!addedPackage} isLoading={addedPackage === standardPackage.variantId} /> handleSelect(standardPlusPackage)} disabled={!!addedPackage} isLoading={addedPackage === standardPlusPackage.variantId} /> handleSelect(premiumPackage)} disabled={!!addedPackage} isLoading={addedPackage === premiumPackage.variantId} />
); }; export default ComparePackagesAddToCartButtons;