Modules Documentation
Status & badge logic
How statuses transition and what badges render.
Complete
Founder Files badges signal three things: editorial status (`isFeatured` → Featured chip + spotlight), sponsorship (`sponsorId` → Sponsored badge + sponsor mini-row), and language availability (`availableLanguages` → language chip strip). Combined they communicate trust + flavor at a glance.
Featured / Spotlight
- Featured chip
- Top-right of card cover. `bg-accent text-accent-foreground`. Renders when `isFeatured = true`. Limited to ~25% of files.
- Spotlight card variant
- `.card-editorial--spotlight` wrapper. Used on the listing for the editor-curated top file (separate from isFeatured).
Sponsorship marker
- Sponsored chip
- Top-right of card cover (below Featured if both). `bg-brand-orange/95 text-white`. Renders when `sponsorId` is set.
- Sponsor mini-row
- Renders inside the card body when sponsor exists. Shows tier label + sponsor name + small logo.
Language availability
- `.chip-outline` for each `availableLanguages[]` entry. Renders below the category chip in the card body.
- Labels are i18n: `ff.lang.en` → "English", `ff.lang.ar` → "العربية", `ff.lang.fr` → "Français".
- When the current locale is NOT in availableLanguages, the reader / details page still renders (using EN fallback) but a quiet "Available in EN only" notice appears.
