Developer Page Specifications
Status Logic
IsActive / IsFeatured + sponsor contract expiry auto-hides mini-row.
Complete
No temporal status. Three stored booleans: IsActive (publish gate), IsFeatured (homepage banner), HasSponsor (computed from SponsorId IS NOT NULL — drives sponsor mini-row + disclosure ribbon).
Publishability
- A file is publicly queryable when IsActive=true AND both FounderFileLang.en + .ar exist with Title + BestForTagline + ReaderBodyHtml populated.
- Featured banner (B on listing) requires IsFeatured=true AND CoverImageUrl !== null AND at least 2 LearningPoints.
- Sponsor mini-row visibility requires SponsorId IS NOT NULL AND Sponsor.ContractExpiry > NOW() (auto-hides when sponsor contract expires).
