"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { Badge, Button, Container } from "@/components/ui"; import { useAuth } from "@/hooks/useAuth"; import { useTheme } from "@/hooks/useTheme"; import { loadCommercialBundles, loadCommercialPricing, loadCommercialProducts, } from "../adapters"; import { commercialGet, extractItems } from "../adapters/http"; import type { CommercialBundle, CommercialPricingItem, CommercialProduct } from "../types"; const JOURNEY = [ "کشف نیاز", "پیشنهاد هوشمند", "باندل و قیمت", "Trial رایگان", "Workspace", "تولید", ]; const FAQ = [ { q: "آیا می‌توانم بدون کارت بانکی شروع کنم؟", a: "بله. پس از ساخت workspace می‌توانید دوره آزمایشی را از Billing فعال کنید — جزئیات trial از رجیستری قیمت‌گذاری می‌آید.", }, { q: "محصولات جدید چطور اضافه می‌شوند؟", a: "با ثبت در رجیستری تجاری Admin. بدون تغییر frontend در کاتالوگ و لانچر ظاهر می‌شوند.", }, { q: "دامنه اختصاصی کی باز می‌شود؟", a: "بر اساس سیاست دامنه پس از entitlement / اشتراک فعال — تا آن زمان فقط زیردامنه پلتفرم.", }, { q: "آیا باندل قیمت ثابت دارد؟", a: "خیر. باندل فقط به pricing_refs ارجاع می‌دهد؛ مبالغ از کاتالوگ قیمت runtime خوانده می‌شود.", }, ]; export function CommercialMarketingLanding() { const { theme } = useTheme(); const { isAuthenticated, login, loading: authLoading } = useAuth(); const siteName = theme?.site_name ?? "TorbatYar"; const [products, setProducts] = useState([]); const [bundles, setBundles] = useState([]); const [pricing, setPricing] = useState([]); const [businessTypes, setBusinessTypes] = useState< Array<{ business_type_code: string; display_name: string }> >([]); useEffect(() => { void Promise.all([ loadCommercialProducts(), loadCommercialBundles(), loadCommercialPricing(), commercialGet("/api/v1/commercial/business-types"), ]).then(([p, b, pr, bt]) => { if (p.availability === "ready") setProducts(p.data.filter((x) => x.visibility !== "hidden")); if (b.availability === "ready") setBundles(b.data); if (pr.availability === "ready") setPricing(pr.data.slice(0, 4)); if (bt.ok) { setBusinessTypes( extractItems<{ business_type_code: string; display_name: string }>(bt.data, [ "items", "business_types", ]) ); } }); }, []); return (
{/* Hero — one composition, brand-first, full-bleed atmosphere */}

{siteName}

سیستم‌عامل کسب‌وکار شما روی ابر

از کشف نیاز تا داشبورد تولید — محصولات، باندل و قیمت از رجیستری زنده؛ بدون کاتالوگ ثابت.

{isAuthenticated ? ( ) : ( )}
{/* Business selector teaser */}

کشف کسب‌وکار

نوع کسب‌وکار از رجیستری می‌آید؛ ارزیابی چندمرحله‌ای نیازها را به پیشنهاد محصول و باندل وصل می‌کند.

{businessTypes.length ? ( businessTypes.slice(0, 12).map((t) => ( {t.display_name} )) ) : ( )}
{/* Product ecosystem */}

اکوسیستم محصولات

کشف پویا از رجیستری — افزودن محصول در Admin بدون تغییر این صفحه.

{products.length ? (
    {products.slice(0, 9).map((p) => (
  • {p.display_name}

    {p.description || p.category || "—"}

  • ))}
) : (

کاتالوگ محصول هنوز از API پر نشده — داده جعلی نمایش داده نمی‌شود.

)}
{/* Feature / industry / bundle / pricing teasers */}

قابلیت‌های پلتفرم

ارزیابی metadata-driven، پیشنهاد runtime، قفل قابلیت، دامنه بر اساس سیاست، Billing و لانچر اپ‌ها — همه از Core Commercial.

صنایع

صنایع نامحدود از business-types registry — نه لیست ثابت frontend.

{!businessTypes.length ? (

انواع کسب‌وکار از API در دسترس نیست.

) : null}

باندل‌ها

{bundles.length ? (
    {bundles.slice(0, 6).map((b) => (
  • {b.display_name}

    {b.description || "باندل تجاری از رجیستری"}

    {b.recommendation_badge ? ( {b.recommendation_badge} ) : null}
  • ))}
) : (

باندلی در رجیستری نیست.

)} مقایسه و انتخاب باندل →

نمای قیمت

{pricing.length ? (
    {pricing.map((item) => (
  • {item.display_name}

    {item.pricing_model || "—"} ·{" "} {item.amount_minor != null ? `${item.amount_minor} ${item.currency || ""}` : "مبلغ از بک‌اند"}

  • ))}
) : (

آیتم قیمت از API نیست — بدون مبلغ ساختگی.

)} مشاهده کامل قیمت‌گذاری →
{/* Customer journey */}

مسیر مشتری

    {JOURNEY.map((step, i) => (
  1. {String(i + 1).padStart(2, "0")}

    {step}

  2. ))}
{/* Trust + FAQ + CTA */}

اعتماد سازمانی

  • چندمستأجری و SSO یکپارچه
  • سیاست دامنه و entitlement قابل ممیزی
  • رجیستری نسخه‌دار محصولات و قیمت
  • بدون کاتالوگ جعلی در frontend

سوالات متداول

{FAQ.map((item) => (
{item.q}
{item.a}
))}

آماده ساخت workspace هستید؟

ارزیابی را شروع کنید، باندل را انتخاب کنید، trial بگیرید و وارد داشبورد تجاری شوید.

); }