عضوية فردية
{MEMBERSHIP_PRICE}شهرياً
{early ?سعر مستقبلي — غير قابل للشراء حالياً.
:تلغي متى شئت، ويبقى حسابك المجاني ومحفوظاتك.
}{early ? 'لن يتم إنشاء اشتراك أو تحصيل مبلغ تلقائياً.' : 'الدفع عبر Stripe. لا نحفظ بيانات بطاقتك.'}
import { getPayload } from 'payload' import { headers } from 'next/headers' import Topnav from '@/components/topnav' import Footer from '@/components/footer' import SubscribeButton from './subscribe-button' import Faq from './faq' import configPromise from '@payload-config' import Link from 'next/link' import { formatNumber, guidesLabel, minutesLabel, MEMBERSHIP_PRICE } from '@/lib/format' import type { Viewer } from '@/lib/viewer' import { freeEarlyAccess } from '@/lib/launch' import NotifyForm from './notify-form' export const dynamic = 'force-dynamic' export const metadata = { title: 'العضوية', description: 'انضم لقائمة الإشعار: وصول مبكر مجاني لكل الأدلة اليوم، وخطة عضوية مستقبلية بـ 10$ شهرياً تضيف ملفات عمل وملخصات للأعضاء.', } /* Member-library samples — real VIP guides, read from the CMS at request time. */ const SAMPLES = [ { slug: 'agent-loop-stop-condition', cover: 'تشريح وكيل ناجح', variant: '', output: 'قالب حالة الوكيل + قائمة فحص قبل التشغيل' }, { slug: 'systematic-model-eval', cover: 'قِس قبل أن تبدّل', variant: 'guide-cover-light', output: 'مجموعة صغيرة من اختبارات التقييم قابلة لإعادة التشغيل' }, { slug: 'prototype-to-production', cover: 'من التجربة إلى الإنتاج', variant: '', output: 'قائمة قرارات ما قبل الإطلاق' }, ] const FAQ_ITEMS = [ { q: 'هل أستطيع الإلغاء في أي وقت؟', a: 'نعم. يتوقف التجديد التالي، ويستمر وصولك حتى نهاية الفترة المدفوعة.' }, { q: 'هل المحتوى مناسب للمبتدئ؟', a: 'كل دليل يوضح مستواه. ابدأ بالأدلة المجانية في مسار الأساسيات، ثم انتقل إلى الوكلاء والأتمتة.' }, { q: 'هل توجد شهادة إكمال؟', a: 'لا حالياً. تركيز أنور بآي على التطبيق والملفات العملية، لا على شهادات الحضور.' }, { q: 'هل يمكنني استخدام الملفات في عملي؟', a: 'نعم للاستخدام الشخصي والمهني داخل مشاريعك. إعادة بيع الملفات أو نشرها كما هي غير مشمول.' }, ] export default async function SubscriptionPage() { const payload = await getPayload({ config: configPromise }) const { user } = await payload.auth({ headers: await headers() }) const role = (user?.role as string) || null const entitled = role === 'vip' || role === 'admin' const early = freeEarlyAccess() const viewer: Viewer = user ? { email: user.email, role: role ?? 'free' } : null const { docs: published } = await payload.find({ collection: 'posts', where: { status: { equals: 'published' } }, depth: 0, limit: 200, select: { title: true, slug: true, dek: true, category: true, readingMinutes: true, access: true }, }) const freeCount = published.filter(doc => doc.access === 'free').length const memberCount = published.length - freeCount const samples = SAMPLES.flatMap(sample => { const post = published.find(doc => doc.slug === sample.slug) return post ? [{ ...sample, post }] : [] }) return (
يمكنك قراءة المحتوى المنشور خلال فترة الوصول المبكر دون بطاقة دفع. نراجع إطلاق العضوية بعد نحو أسبوعين، وقد تمتد الفترة إذا لم تكتمل خدمة الدفع. بعض المواد محددة للعضوية مستقبلاً، وسنوضح ذلك قبل تفعيلها. لن يتم إنشاء اشتراك أو تحصيل مبلغ تلقائياً.
الأدلة المجانية تعرّفك بالمفاهيم. العضوية تفتح الأدلة المعمّقة التي تأخذك من التجربة إلى نظام يعمل، مع القوالب وقوائم الفحص التي نستخدمها فعلاً.
{MEMBERSHIP_PRICE}شهرياً
{early ?سعر مستقبلي — غير قابل للشراء حالياً.
:تلغي متى شئت، ويبقى حسابك المجاني ومحفوظاتك.
}{early ? 'لن يتم إنشاء اشتراك أو تحصيل مبلغ تلقائياً.' : 'الدفع عبر Stripe. لا نحفظ بيانات بطاقتك.'}
كل دليل يبدأ بمشكلة حقيقية وينتهي بشيء تشغّله. اقرأ المقدمة مجاناً قبل أن تقرر.
| الميزة | حساب مجاني | العضوية |
|---|---|---|
| الأدلة المجانية ({formatNumber(freeCount)}) | كاملة | كاملة |
| أدلة الأعضاء ({formatNumber(memberCount)}) | المقدمة فقط | كاملة |
| ملفات العمل | — | تنزيل كامل |
| التعليق والنقاش | على الأدلة المجانية | على كل الأدلة |
| حفظ الأدلة للعودة لاحقاً | — | متاح |