"use client"; import { useState } from 'react'; import { useTranslation } from 'react-i18next'; import Image from 'next/image'; import { useRouter } from 'next/navigation'; import { Card, CardContent, CardDescription, CardFooter, CardHeader, } from '@kit/ui/card'; import { Trans } from '@kit/ui/trans'; import { StoreProduct, StoreProductVariant } from '@medusajs/types'; import { Button } from '@medusajs/ui'; import { handleAddToCart } from '@/lib/services/medusaCart.service'; import { PackageHeader } from './package-header'; import { ButtonTooltip } from './ui/button-tooltip'; export interface IAnalysisPackage { titleKey: string; price: number; nrOfAnalyses: number | string; tagColor: string; descriptionKey: string; } export default function SelectAnalysisPackage({ analysisPackage, countryCode, }: { analysisPackage: StoreProduct countryCode: string, }) { const router = useRouter(); const { t, i18n: { language } } = useTranslation(); const [isAddingToCart, setIsAddingToCart] = useState(false); const handleSelect = async (selectedVariant: StoreProductVariant) => { if (!selectedVariant?.id) return null setIsAddingToCart(true); await handleAddToCart({ selectedVariant, countryCode, }); setIsAddingToCart(false); router.push('/home/cart'); } const titleKey = analysisPackage.title; const nrOfAnalyses = analysisPackage?.metadata?.nrOfAnalyses ?? 0; const description = analysisPackage.description ?? ''; const subtitle = analysisPackage.subtitle ?? ''; const variant = analysisPackage.variants?.[0]; if (!variant) { return null; } const price = variant.calculated_price?.calculated_amount ?? 0; return ( {description && ( )} background {subtitle} ); }