Developer Page Specifications
Status Logic
Open / ClosingSoon / Rolling / Closed computation rules + sponsored/verified stored flags.
الحالة محتسبة، ليست مُخَزَّنة — باستثناء واحد. الحالات الأربع الأساسية (Open / ClosingSoon / Rolling / Closed) تَشتقّ من DeadlineDate + IsRolling عند كل قراءة. IsSponsored و IsVerified علامتان bool مُخَزَّنتان يَضبطهما admin. مَهمّة ليلية تَحفظ الحالة المحتسبة في العمود للفلترة السريعة، لكن كل قراءة لا تزال تُعيد الحساب للدفاع ضد الانحراف.
الحالات المحتسبة
- Open
- IsRolling = false و DeadlineDate > NOW() + INTERVAL '7 days'. الحالة الافتراضية لفرصة مستقبلية مُتحقَّق منها مع موعد أكثر من أسبوع بعيد.
- ClosingSoon
- IsRolling = false و DeadlineDate BETWEEN NOW() AND NOW() + INTERVAL '7 days'. يُحَفِّز صبغة warning + pill "Closing soon" + ترقية تسمية CTA "Apply (closing soon)".
- Rolling
- IsRolling = true. DeadlineDate يُتجاهَل. الكروت تُرسم بـ accent بنفسجي وتسمية "Rolling applications".
- Closed
- IsRolling = false و DeadlineDate < NOW(). الكروت تَفقد التشبّع إلى opacity 60%، CTA "Apply" يُعطَّل. مُستثناة-بالفلتر من العرض الافتراضي Status=all؛ تَظهر فقط حين المستخدم يُفلتر صراحة Status=closed.
علامات تحريرية مُخَزَّنة
- IsSponsored
- bool مُخَزَّن. مضبوط حين رعاية تجارية تُغطّي وضع هذه الفرصة. يَرسم pill "SPONSORED" + شريط إفصاح الراعي في أعلى جسم التفاصيل. المعيار التحريري لا يزال يَنطبق — الرعاية تَشتري الوضع، ليس فحص-حقائق متساهل.
- IsVerified
- bool مُخَزَّن. مضبوط بعد مرور التحقّق التحريري 3-بوّابات (سلطة المصدر · دقّة التفاصيل · صلة منظومية — انظر عقيدة التحقّق §9.6). يَقود ✓ chip أخضر.
القابلية للتكوين
- نافذة ClosingSoon افتراضي = 7 أيام. قابلة للتكوين عبر FeatureFlag.opportunityClosingSoonDays (admin يَستطيع التغيير لـ 5 أو 14 عالمياً).
- حد الأرشفة التلقائية لـ Closed = 180 يوم بعد DeadlineDate. بعد ذلك، الصف يَبقى IsActive=true وقابل-للاستعلام، لكن يَنتقل لسطح admin "archive" منفصل ومُستثنى من القائمة افتراضياً.
اعتبارات المنطقة الزمنية
DeadlineDate يُخَزَّن دائماً في UTC (timestamptz). منطق العرض يُحَوِّل لمحلّية المشاهد. لكن احتساب الحالة يَستخدم دائماً UTC NOW() — أبداً ساعة المشاهد. مؤسّس في القاهرة في 11:55م يَرى نفس حالة Closed كمؤسّس في سان فرانسيسكو في 12:55م UTC. هذا مهم للعدالة — كل مُتقدِّم عالمياً يَرى النافذة تُغلَق في نفس اللحظة.
