import { useState } from 'react' import { plans } from '@/data/plans' /* ─── Star icon (for "popular" badge) ──────────────── */ function Star() { return ( ) } /* ─── Check icon ──────────────────────────────────── */ function Check({ featured }: { featured: boolean }) { return ( ) } /* ─── Plan tagline lookup ─────────────────────────── */ const TAGLINE: Record = { individual: 'برای کارشناسان و محققان', organizational: 'برای شرکتها و سازمانها', ministry: 'برای نهادهای دولتی', } /* ─── Individual plan card ────────────────────────── */ function PlanCard({ plan, isMiddle }: { plan: (typeof plans)[0]; isMiddle: boolean }) { const [hovered, setHovered] = useState(false) const featured = plan.featured return ( {/* "Popular" badge — top right */} {plan.badge && ( {plan.badge} )} {/* Header */} {plan.name} {TAGLINE[plan.id]} {plan.price === 0 ? 'تماس' : plan.price.toLocaleString('fa-IR')} {plan.price > 0 ? ( تومان / {plan.period} ) : ( · {plan.period} )} {/* Features */} {plan.features.map(f => ( {f} ))} {/* CTA */} setHovered(true)} onMouseLeave={() => setHovered(false)} style={{ width: '100%', padding: '10px', border: featured ? 'none' : hovered ? 'none' : '1px solid var(--ink)', background: featured ? hovered ? 'var(--paper-2)' : 'var(--paper)' : hovered ? 'var(--ink)' : 'transparent', color: featured ? 'var(--ink)' : hovered ? 'var(--paper)' : 'var(--ink)', fontSize: 12, fontWeight: 700, fontFamily: 'Vazir, sans-serif', cursor: 'pointer', borderRadius: 0, letterSpacing: '0.5px', transition: 'background 180ms, color 180ms, border 180ms', }} > {plan.ctaLabel} ) } /* ─── Enterprise bottom card ─────────────────────── */ const enterpriseFeatures = [ 'پروژههای نامحدود', 'پشتیبانی تیمی اختصاصی', 'فاکتور رسمی سازمانی', 'بدون سقف توکن یا داده', 'دعوت اعضای نامحدود', 'قرارداد SLA معتبر', 'نقشهای سفارشی کاربری', 'امنیت پیشرفته سازمانی', 'API اتصال به سیستم داخلی', 'گزارشدهی اختصاصی', 'کارگاههای تخصصی دورهای', 'مشاوره راهبردی مستقیم', ] function EnterpriseCard() { const [hov, setHov] = useState(false) return ( {/* Left: description */} وزارتخانه / سازمان دولتی راهکار سازمانی کامل به راهکارهای سفارشی، پشتیبانی اختصاصی یا قیمتگذاری حجمی نیاز دارید؟ با کارشناسان ما درباره پلن منحصربهفرد سازمانتان صحبت کنید. setHov(true)} onMouseLeave={() => setHov(false)} style={{ padding: '11px 24px', border: '1px solid var(--ink)', background: hov ? 'var(--ink)' : 'transparent', color: hov ? 'var(--paper)' : 'var(--ink)', fontSize: 12, fontWeight: 700, fontFamily: 'Vazir, sans-serif', cursor: 'pointer', borderRadius: 0, transition: 'background 180ms, color 180ms', letterSpacing: '0.5px', }} > تماس با تیم فروش {/* Right: feature grid */} {enterpriseFeatures.map(f => ( {f} ))} ) } /* ─── Section ────────────────────────────────────── */ export default function PlansSection() { return ( {/* Header */} اشتراک و دسترسی پلن مناسب خود را انتخاب کنید از دسترسی پایه برای پژوهشگران تا راهکار کامل برای وزارتخانهها — هر سطحی از نیاز را پوشش میدهیم. {/* 3-col plan cards */} {plans.map((plan, idx) => ( ))} {/* Enterprise bottom card */} {/* Money-back note */} ✓ ضمانت بازگشت وجه ۱۴ روزه · بدون قرارداد اجباری ) }
{TAGLINE[plan.id]}
به راهکارهای سفارشی، پشتیبانی اختصاصی یا قیمتگذاری حجمی نیاز دارید؟ با کارشناسان ما درباره پلن منحصربهفرد سازمانتان صحبت کنید.
از دسترسی پایه برای پژوهشگران تا راهکار کامل برای وزارتخانهها — هر سطحی از نیاز را پوشش میدهیم.