43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import Topnav from '@/components/topnav'
|
|
import SiteMenu from '@/components/site-menu'
|
|
import Footer from '@/components/footer'
|
|
import OnboardingWizard from './onboarding-wizard'
|
|
import { redirect } from 'next/navigation'
|
|
import { getViewer } from '@/lib/viewer'
|
|
import '../styles/vip-onboarding.css'
|
|
|
|
export const dynamic = 'force-dynamic'
|
|
export const metadata = { title: 'تهيئة العضوية' }
|
|
|
|
export default async function VipOnboardingPage() {
|
|
const viewer = await getViewer()
|
|
if (!viewer) redirect('/login?next=%2Fvip-onboarding')
|
|
if (viewer.role !== 'vip' && viewer.role !== 'admin') redirect('/subscription')
|
|
return (
|
|
<>
|
|
<Topnav
|
|
viewer={{ email: viewer.email }}
|
|
accountLabel="حسابي"
|
|
menu
|
|
links={[
|
|
{ href: '/articles', label: 'المكتبة' },
|
|
{ href: '/posts/article-agent-guide', label: 'المقالات' },
|
|
{ href: '/subscription', label: 'العضوية' },
|
|
]}
|
|
/>
|
|
<SiteMenu
|
|
links={[
|
|
{ href: '/articles', label: 'المكتبة' },
|
|
{ href: '/posts/agent-loop-stop-condition', label: 'دليل الأعضاء' },
|
|
{ href: '/account-settings', label: 'إعدادات الحساب' },
|
|
]}
|
|
/>
|
|
<main>
|
|
<p className="member-strip" data-od-id="member-status">تم تفعيل وصول VIP — لنستثمر أول خمس دقائق في إعداد مسارك.</p>
|
|
<OnboardingWizard viewerId={viewer.id ?? null} />
|
|
</main>
|
|
<Footer />
|
|
</>
|
|
)
|
|
}
|