"use client"; import { HeartPulse, Loader2, ShoppingCart } from 'lucide-react'; import { Button } from '@kit/ui/button'; import { Card, CardHeader, CardFooter, CardDescription, } from '@kit/ui/card'; import { StoreProduct, StoreProductVariant } from '@medusajs/types'; import { useState } from 'react'; import { handleAddToCart } from '~/lib/services/medusaCart.service'; import { useRouter } from 'next/navigation'; import { InfoTooltip } from '@kit/shared/components/ui/info-tooltip'; import { Trans } from '@kit/ui/trans'; export default function OrderAnalysesCards({ analyses, countryCode, }: { analyses: StoreProduct[]; countryCode: string; }) { const router = useRouter(); const [isAddingToCart, setIsAddingToCart] = useState(false); const handleSelect = async (selectedVariant: StoreProductVariant) => { if (!selectedVariant?.id || isAddingToCart) return null setIsAddingToCart(true); try { await handleAddToCart({ selectedVariant, countryCode, }); setIsAddingToCart(false); router.push('/home/cart'); } catch (e) { setIsAddingToCart(false); console.error(e); } } return (
{analyses.map(({ title, variants, description, subtitle, status, metadata, }) => { const isAvailable = status === 'published' && !!metadata?.analysisIdOriginal; return (
{isAvailable && (
)}
{title} {description && ( <> {' '} )}
{isAvailable && subtitle && ( {subtitle} )} {!isAvailable && ( )}
); })}
); }