تخطَّ إلى المحتوى الرئيسي

توثيق الموديولز

حقول البيانات

الكيانات، الحقول، الأنواع.

مكتمل

واجهة `FounderFile` (المعرَّفة في `core/models/founder-file.model.ts`) هي عقد الكيان. الملفات تحمل محتوى تحريرياً، كيانات فرعية منظَّمة (تصنيفات، مواضيع، رعاة)، كتل محتوى لكل لغة (EN + AR + FR اختياري)، وحقول التقاط العملاء.

الهوية + التصنيف

id · string
معرّف مستقرّ. الصيغة: `ff-NN`.
slug · string
slug الـ URL. وصفي.
fileNumber · number
1، 2، 3، ... يقود `#01` / `#02` المرئي في eyebrow العلامة.
category · FounderFileCategorySlug
`funding` | `pitching` | `growth` | `leadership` | `legal` | `operations` | `glossary` | `market-expansion`.
topics · string[]
حتى ~6 مواضيع micro للمطابقة Cross-module.
availableLanguages · SupportedLanguage[]
أي نسخ لغة موجودة: `["en", "ar"]` لمعظم؛ `["en", "ar", "fr"]` للملفات الثلاثية. يعرض شريط chip اللغة.

كتل محتوى لكل لغة

الـ FounderFile يحمل object `lang: { en?: FounderFileLanguageContent; ar?: FounderFileLanguageContent; fr?: FounderFileLanguageContent }`. كل نسخة لغة لها `title`، `shortDescription`، `bodyHtml`، `tocSections[]`، `learningPoints[]` خاصّة. الـ helper `getLanguageContent(file, locale)` يحلّ اللغة النشطة مع EN fallback.

بنية TOC + نقاط التعلّم

tocSections · FounderFileTocSection[]
كل قسم: `{ anchor: string; titleEn: string; titleAr: string; orderIndex: number }`. يقود sidebar القارئ + تمييز القسم النشط.
learningPoints · FounderFileLearningPoint[]
كل نقطة. تُعرض كقائمة مرقّمة على صفحة التفاصيل.

حقول الرعاية + التجارية

  • `sponsorId?` — يربط بـ FounderFileSponsor entry. حين يُضبط، صفّ راعي مصغّر + chip Sponsored يُعرضان.
  • شكل `FounderFileSponsor`: `{ id; name; tier: SponsorTier; logoUrl?; websiteUrl? }`. الـ Tiers: `premier` | `featured` | `supporter`.
  • `isFeatured?` — يظهر الملف في كتلة `.card-editorial--spotlight` للقائمة.

بيانات وصفية للقراءة

  • `readingTimeMinutes · number` — يحدّده المحرّر.
  • `coverImageUrl?` — غلاف اختياري. fallback إلى SVG خاصّ بالملف.
  • `publishedAt` / `updatedAt` — يقود ترتيب الفرز على القائمة.

التقاط العميل (تدفّق التحميل)

حين يُرسل المستخدم modal التحميل، entity `DownloadLead` تُنشأ. LeadRole و LeadInterest enums منظَّمان.