import Link from "next/link"; import { Radio, RadioGroup } from "@headlessui/react"; import { t } from "@lingui/core/macro"; import { HiBolt, HiCheckCircle } from "react-icons/hi2"; import { twMerge } from "tailwind-merge"; type FrequencyValue = "monthly" | "annually"; interface Frequency { value: FrequencyValue; label: string; priceSuffix: string; } const Pricing = ({ frequency, frequencies, setFrequency, }: { frequency: Frequency | undefined; frequencies: Frequency[]; setFrequency: (frequency: Frequency) => void; }) => { const tiers = [ { name: t`Free`, id: "tier-free", href: "signup", buttonText: t`Get started`, price: { monthly: t`$0`, annually: t`$0` }, description: t`Free for everyone`, bestFor: t`Best for individuals and solo creators getting started`, featureHeader: undefined, features: [ { text: t`1 user` }, { text: t`Unlimited boards` }, { text: t`Unlimited cards` }, { text: t`Custom board templates` }, { text: t`Checklists` }, ], showPrice: true, ctaSubtext: undefined, mostPopular: false, highlighted: false, }, { name: t`Teams`, id: "tier-teams", href: "signup", buttonText: t`Get started`, price: { monthly: "$10", annually: "$8" }, description: t`Perfect for small and growing teams looking to collaborate.`, bestFor: t`Best for small and growing teams that need collaboration`, featureHeader: undefined, features: [ { text: t`All Free features +` }, { text: t`Workspace members` }, { text: t`Invite links` }, { text: t`Unlimited file uploads` }, { text: t`Email notifications for mentions` }, { text: t`Priority email support` }, ], highlighted: false, showPrice: true, showPriceSuffix: true, ctaSubtext: t`14 day free trial · Switch plans or cancel anytime`, mostPopular: false, }, { name: t`Pro`, id: "tier-pro", href: "signup", buttonText: t`Get started`, price: { monthly: "$29", annually: "$24" }, description: t`Unlimited seats and advanced features for growing teams.`, bestFor: t`Best for teams that want to scale without limits`, featureHeader: undefined, features: [ { text: t`All Teams features +` }, { text: t`Unlimited members` }, { text: t`Custom workspace username` }, { text: t`Configurable user roles and permissions` }, { text: t`Custom branding` }, ], highlighted: true, showPrice: true, showPriceSuffix: false, ctaSubtext: t`14 day free trial · Switch plans or cancel anytime`, mostPopular: true, }, { name: t`Enterprise`, id: "tier-enterprise", href: "mailto:support@kan.bn?subject=Enterprise Inquiry", buttonText: t`Contact Sales`, price: { monthly: t`Contact us`, annually: t`Contact us` }, description: t`Advanced security, compliance, and dedicated support for large organizations.`, bestFor: t`Best for large organizations with advanced needs`, featureHeader: undefined, features: [ { text: t`All Pro features +` }, { text: t`SAML SSO` }, { text: t`Advanced admin controls` }, { text: t`Dedicated account manager` }, { text: t`Custom SLA` }, { text: t`On-premise deployment option` }, ], highlighted: false, showPrice: true, showPriceSuffix: false, ctaSubtext: undefined, mostPopular: false, }, ]; return ( <>
{tier.price[frequency?.value ?? "monthly"]} {tier.id === "tier-pro" && ( {frequency?.value === "annually" ? "$79" : "$100"} )} {tier.showPriceSuffix && ( {frequency?.priceSuffix} )} {tier.id === "tier-pro" && ( {t`/month`} )}
{tier.bestFor}
)}{t`14 day free trial · Switch plans or cancel anytime`}