"use client"; import Link from "next/link"; import { useCallback, useEffect, useState } from "react"; import { apiFetch } from "@/lib/api-client"; import { BookOpen, FileText, Gavel, Megaphone, Route, Sparkles, Target, ExternalLink, } from "lucide-react"; type ProgramPayload = { title_ar?: string; journey_ar?: { step: number; title: string; detail_ar: string }[]; }; const LEGAL_LINKS = [ { href: "/strategy/legal/affiliate-rules-ar.md", label: "قواعد المسوقين بالعمولة", summary: "مسموح ومحظور، عقوبات، حقوق المسوق." }, { href: "/strategy/legal/commission-policy-ar.md", label: "سياسة العمولات", summary: "هيكل العمولات والمستحقات." }, { href: "/strategy/legal/consent-policy-ar.md", label: "سياسة الموافقة", summary: "التواصل والموافقات المطلوبة." }, ] as const; const PLAYBOOK_STEPS = [ { phase: "تأهيل", items: [ { label: "تعرّف على البرنامج والعمولة", section: "affiliates" as const }, { label: "اقرأ القواعد والموافقة", section: null }, ], }, { phase: "محتوى وجاهزية", items: [ { label: "البرزنتيشنات القطاعية", section: "presentations" as const }, { label: "سكربتات المكالمات والواتساب", section: "scripts" as const }, ], }, { phase: "توليد ومتابعة", items: [ { label: "توليد عملاء محتملين", section: "leads" as const }, { label: "صندوق الوارد الموحّد", section: "inbox" as const }, ], }, { phase: "شراكات متقدمة", items: [{ label: "Partnership Studio", section: "partnership-studio" as const }], }, ]; function dash(section: string) { return `/dashboard?section=${section}`; } export function MarketerHubView() { const [program, setProgram] = useState(null); const load = useCallback(async () => { const r = await apiFetch("/api/v1/affiliates/program"); if (r.ok) setProgram(await r.json()); }, []); useEffect(() => { void load(); }, [load]); return (

مركز المسوق

مسار واحد: قواعد البرنامج، الأدوات في Dealix، والوثائق الرسمية — بدون تشتيت بين الشاشات.

برنامج العمولة (مختصر مباشر من API)

{program?.title_ar &&

{program.title_ar}

}
    {(program?.journey_ar || []).slice(0, 4).map((s) => (
  • {s.step} {s.title} — {s.detail_ar}
  • ))} {!program?.journey_ar?.length &&
  • جارٍ التحميل أو لا توجد بيانات برنامج بعد.
  • }
فتح لوحة المسوقين والترتيب الكامل

Playbook المسار

{PLAYBOOK_STEPS.map((block) => (

{block.phase}

    {block.items.map((it) => (
  • {it.section ? ( {it.label} ) : ( {it.label} )}
  • ))}
))}

الوثائق القانونية (ملخص + الملف الكامل)

{LEGAL_LINKS.map((doc) => (

{doc.label}

{doc.summary}

))}

للربط الشامل بالبيئة والتكاملات راجع وثيقة INTEGRATION_MASTER في المستودع أو مسار الاستراتيجية العامة.

); }