'use client'; import NumberFlow from '@number-flow/react'; import { PRICING } from '@openpanel/payments/prices'; import { CheckIcon, ServerIcon, StarIcon } from 'lucide-react'; import Link from 'next/link'; import { useState } from 'react'; import { GetStartedButton } from '@/components/get-started-button'; import { Section, SectionHeader } from '@/components/section'; import { Button } from '@/components/ui/button'; import { cn, formatEventsCount } from '@/lib/utils'; const features = [ 'Unlimited websites or apps', 'Unlimited users', 'Unlimited dashboards', 'Unlimited charts', 'Unlimited tracked profiles', 'Yes, we have no limits or hidden costs', ]; export function Pricing() { const [selectedIndex, setSelectedIndex] = useState(2); const selected = PRICING[selectedIndex]; return (

Choose how many events you'll track this month

{PRICING.map((tier, index) => ( ))}
{selected ? ( <> 30-day free trial
Per month + VAT if applicable
) : (
Contact us at{' '} hello@openpanel.dev {' '} to get a custom quote.
)}
    {features.map((feature) => (
  • {feature}
  • ))}

Prefer to self-host?{' '} Deploy for free {' '} with unlimited events.

); }