import { cn } from '@/lib/utils'; import { PRICING } from '@openpanel/payments/src/prices'; import { CheckIcon, ChevronRightIcon, DollarSignIcon } from 'lucide-react'; import Link from 'next/link'; import { DoubleSwirl } from '../Swirls'; import { Section, SectionHeader } from '../section'; import { Tag } from '../tag'; import { Button } from '../ui/button'; import { Tooltiper } from '../ui/tooltip'; export default Pricing; export function Pricing({ className }: { className?: string }) { return (
Simple and predictable } title="Simple pricing" description="Just pick how many events you want to track each month. No hidden costs." />

Stop overpaying for features

  • Unlimited websites or apps
  • {' '} Unlimited users
  • {' '} Unlimited dashboards
  • {' '} Unlimited charts
  • {' '} Unlimited tracked profiles
  • {' '} Yes, we have no limits or hidden costs
{PRICING.map((tier) => (
{new Intl.NumberFormat('en-US', {}).format(tier.events)}{' '} events / month
{tier.popular && ( <> 🔥 Popular 🔥 )} {tier.discount && ( <> 💸 Discount 💸 )}
{tier.discount && ( {new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }).format(tier.price * (1 - tier.discount.amount))} )} {new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }).format(tier.price)}
{tier.discount && (
Limited discount code available:{' '} {tier.discount.code}
)}
))}
Over{' '} {new Intl.NumberFormat('en-US', {}).format( PRICING[PRICING.length - 1].events, )}
Contact us
All features are included upfront - no hidden costs. {' '} You choose how many events to track each month.
); }