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

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

منطق الحالة والشارات

كيف تتبدّل الحالات وما الشارات التي تظهر.

مكتمل

حالة الفعالية مُحتسَبة في الغالب، ليست مُخزَّنة. 5 من 7 قيم EventStatus مُشتقَّة من حساب الزمن (upcoming / open / closing-soon / live / completed). فقط 2 (postponed / cancelled) overrides يدوية على محرّر ضبطها صراحةً. هذا يُبقي الشارات دقيقة بدون حاجة تحديثات يدوية دائمة.

الحالات المُحتسَبة

upcoming
startDate في المستقبل و (applicationDeadline null أو applicationDeadline > now + 7 يوم). الحالة الافتراضية لفعالية مُتحقَّق منها مستقبلية بدون موعد عاجل.
open
لفئات accelerator/incubator/pitch-competition: applicationDeadline ≥ now + 7 يوم. التسجيل / التقديم يقبل وليس عاجلاً بعد.
closing-soon
applicationDeadline أو registrationDeadline ضمن الـ 7 أيام القادمة (ولا تزال في المستقبل). يُحفِّز صبغة warning + ترقية CTA "Apply (closing soon)".
live
now ≥ startDate و (endDate null أو now ≤ endDate). يُرسَم بحركة نبضة accent على الشارة.
completed
endDate < now (أو، لو لا endDate، startDate + 1 يوم < now). الشارة تفقد التشبّع؛ الفعالية تبقى قابلة للاكتشاف للسجلّ التاريخي.

الحالات المُتجاوَزة يدوياً

postponed
يضبطه محرّر. الفعالية كانت مجدولة لكن تم تأجيلها بدون تأكيد تاريخ جديد. Banner يظهر في الـ hero: "This event has been postponed. We’re tracking the new date."
cancelled
يضبطه محرّر. الفعالية مُلغاة دائماً. الـ JSON-LD يُصدر eventStatus=https://schema.org/EventCancelled. الـ CTAs تصبح مُعطَّلة. الفلاتر تستثني cancelled افتراضياً.