'use client'; import React from 'react'; import { ArrowUpRight, BarChart2, Clock, DollarSign, Search, Settings, Tag, } from 'lucide-react'; import * as Badge from '@/components/ui/badge'; import * as Divider from '@/components/ui/divider'; import * as FancyButton from '@/components/ui/fancy-button'; import * as Switch from '@/components/ui/switch'; import { cn } from '@/utils/cn'; const userCounts = [50, 100, 200, 400, 800, 1200]; const basePrices: Record = { 50: 29, 100: 49, 200: 79, 400: 99, 800: 149, 1200: 249, }; const SWITCH_COST = 15; const switchItems = [ { name: 'Engagement tools', icon: BarChart2, defaultActive: true, iconColor: 'text-information-base', }, { name: 'Review system', icon: Settings, defaultActive: true, iconColor: 'text-highlighted-base', }, { name: 'Hiring kit', icon: Search, defaultActive: false, iconColor: 'text-away-base', }, { name: 'Time tracker', icon: Clock, defaultActive: false, iconColor: 'text-success-base', }, { name: 'Payroll suite', icon: DollarSign, defaultActive: false, iconColor: 'text-error-base', }, ]; const pricingFeatures = [ 'Unlimited seats', 'Role-based control', 'Performance dashboard', 'Payroll automation', 'Priority support', ]; function CheckCircleIcon({ className }: { className?: string }) { return ( ); } export default function WorkforcePricingCalculator() { const [activeUserCount, setActiveUserCount] = React.useState(400); const [switchStates, setSwitchStates] = React.useState( switchItems.map((item) => item.defaultActive), ); const uniqueId = React.useId(); const activeSwitchCount = switchStates.filter(Boolean).length; const price = basePrices[activeUserCount] + activeSwitchCount * SWITCH_COST; const handleSwitchChange = (index: number, checked: boolean) => { setSwitchStates((prev) => { const next = [...prev]; next[index] = checked; return next; }); }; return (
Designed for growing finance teams

Flexible plans, clear benefits

No hidden costs, no rigid terms — just adaptive pricing and support
for your evolving HR goals.

Monthly active users

{userCounts.map((count) => { const isActive = count === activeUserCount; return ( ); })}
{switchItems.map((item, index) => (
{item.name} handleSwitchChange(index, checked) } className='cursor-pointer' />
))}

Workforce plan

For HR teams simplifying recruitment, onboarding, payroll, and team growth.

${price} /mo
{pricingFeatures.map((feature) => (
{feature}
))}
Start free trial
); }