"use client"; import { Check, ChevronsUpDown } from "lucide-react"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@/components/ui/collapsible"; import { cn } from "@/lib/utils"; interface FeatureSection { category: string; features: { name: string; free: string | boolean; startup: string | boolean; enterprise: string | boolean; }[]; } const pricingPlans = [ { name: "رایگان", button: { text: "شروع رایگان", variant: "outline" as const, }, }, { name: "استارتاپ", button: { text: "شروع رایگان", variant: "outline" as const, }, }, { name: "سازمانی", button: { text: "دریافت دمو", variant: "outline" as const, }, }, ]; const comparisonFeatures: FeatureSection[] = [ { category: "میزان استفاده", features: [ { name: "اعضا", free: "نامحدود", startup: "نامحدود", enterprise: "نامحدود", }, { name: "تراکنش‌ها", free: "۲۵۰", startup: "نامحدود", enterprise: "نامحدود", }, { name: "تیم‌ها", free: "۲", startup: "نامحدود", enterprise: "نامحدود", }, ], }, { category: "امکانات", features: [ { name: "گزارش‌دهی", free: true, startup: true, enterprise: true, }, { name: "تحلیل‌ها", free: true, startup: true, enterprise: true, }, { name: "ورود و خروج داده", free: true, startup: true, enterprise: true, }, { name: "یکپارچه‌سازی‌ها", free: true, startup: true, enterprise: true, }, { name: "هوش مصنوعی نوافروش", free: false, startup: true, enterprise: true, }, { name: "نقش‌های مدیریتی", free: false, startup: false, enterprise: false, }, { name: "گزارش ممیزی", free: false, startup: false, enterprise: false, }, ], }, { category: "پشتیبانی", features: [ { name: "پشتیبانی اولویت‌دار", free: true, startup: true, enterprise: true, }, { name: "مدیر حساب", free: false, startup: false, enterprise: true, }, { name: "SLA پایداری", free: false, startup: false, enterprise: true, }, ], }, ]; interface Pricing23Props { className?: string; } const Pricing23 = ({ className }: Pricing23Props) => { const [selectedPlan, setSelectedPlan] = useState(1); return (
); }; const PlanHeaders = ({ selectedPlan, onPlanChange, }: { selectedPlan: number; onPlanChange: (index: number) => void; }) => { const [isOpen, setIsOpen] = useState(false); return (
{/* Mobile View */}

{pricingPlans[selectedPlan].name}

{pricingPlans.map( (plan, index) => index !== selectedPlan && ( ), )}
{/* Desktop View */}
{pricingPlans.map((plan, index) => (

{plan.name}

))}
); }; const FeatureSections = ({ selectedPlan }: { selectedPlan: number }) => ( <> {comparisonFeatures.map((section, sectionIndex) => (

{section.category}

{section.features.map((feature, featureIndex) => (
{feature.name} {/* Mobile View - Only Selected Plan */}
{(() => { const value = [ feature.free, feature.startup, feature.enterprise, ][selectedPlan]; return typeof value === "boolean" ? ( value ? ( ) : null ) : (
{value}
); })()}
{/* Desktop View - All Plans */}
{[feature.free, feature.startup, feature.enterprise].map( (value, i) => (
{typeof value === "boolean" ? ( value ? ( ) : null ) : (
{value}
)}
), )}
))}
))} ); export { Pricing23 };