import Link from "next/link"; import { Radio, RadioGroup } from "@headlessui/react"; import { useState } from "react"; import { HiCheckCircle } from "react-icons/hi2"; import { twMerge } from "tailwind-merge"; type Frequency = "monthly" | "annually"; const frequencies = [ { value: "monthly" as Frequency, label: "Monthly", priceSuffix: "per user/month", }, { value: "annually" as Frequency, label: "Yearly", priceSuffix: "per user/month", }, ]; const tiers = [ { name: "Individuals", id: "tier-individuals", href: "signup", buttonText: "Get Started", price: { monthly: "Free", annually: "Free" }, description: "Everything you need, free forever. Unlimited boards, unlimited lists, unlimited cards. Upgrade any time.", featureHeader: "Free, forever", features: [ "1 user", "Unlimited boards", "Unlimited lists", "Unlimited cards", "Unlimited comments", "Unlimited activity log", ], showPrice: true, }, { name: "Teams", id: "tier-teams", href: "signup", buttonText: "Get Started", price: { monthly: "$10.00", annually: "$8.00" }, description: "Kanban is better with a team. Perfect for small and growing teams looking to collaborate.", featureHeader: "Everything in the free plan, plus:", features: [ "Workspace members", "Admin roles", "Priority email support", "Support the development of the project", ], highlighted: true, showPrice: true, showPriceSuffix: true, }, { name: "Self Host", id: "tier-self-host", href: "https://github.com/kanbn/kan", buttonText: "View docs", price: { monthly: "-", annually: "-" }, description: "Host Kan on your own infrastructure. Ideal for organisations that need complete control over their data.", featureHeader: "Complete control and ownership:", features: [ "Run on your own infrastructure", "Own your data", "Custom domain", ], mostPopular: false, showPrice: false, }, ]; const Pricing = () => { const initialFrequency = frequencies[1]!; const [frequency, setFrequency] = useState(initialFrequency); return ( <>
Pricing
Simple pricing
Get started for free, with no usage limits. For collaboration, upgrade to a plan that fits the size of your team.
{/* Beta free pricing pill */}-20%
) : null}{tier.description}
{tier.price[frequency.value]} {tier.showPriceSuffix && ( {frequency.priceSuffix} )}
{tier.buttonText}{tier.featureHeader}