import { useState } from "react"; import { Button } from "@app/components/ui/button"; import { MinusCircle, PlusCircle } from "lucide-react"; import { Credenza, CredenzaBody, CredenzaClose, CredenzaContent, CredenzaDescription, CredenzaFooter, CredenzaHeader, CredenzaTitle } from "@app/components/Credenza"; import { useTranslations } from "next-intl"; type SitePriceCalculatorProps = { isOpen: boolean; onOpenChange: (open: boolean) => void; mode: "license" | "additional-sites"; }; export function SitePriceCalculator({ isOpen, onOpenChange, mode }: SitePriceCalculatorProps) { const [siteCount, setSiteCount] = useState(3); const pricePerSite = 5; const licenseFlatRate = 125; const incrementSites = () => { setSiteCount((prev) => prev + 1); }; const decrementSites = () => { setSiteCount((prev) => (prev > 1 ? prev - 1 : 1)); }; function continueToPayment() { if (mode === "license") { // open in new tab window.open( `https://payment.fossorial.io/buy/dab98d3d-9976-49b1-9e55-1580059d833f?quantity=${siteCount}`, "_blank" ); } else { window.open( `https://payment.fossorial.io/buy/2b881c36-ea5d-4c11-8652-9be6810a054f?quantity=${siteCount}`, "_blank" ); } } const totalCost = mode === "license" ? licenseFlatRate + siteCount * pricePerSite : siteCount * pricePerSite; const t = useTranslations(); return ( {mode === "license" ? t('licensePurchase') : t('licensePurchaseSites')} {t('licensePurchaseDescription', {selectedMode: mode})}
{t('numberOfSites')}
{siteCount}

{t('licensePricingPage')} {t('pricingPage')} .

); }