daysUntilEvent method
حساب الأيام المتبقية للمناسبة
Implementation
int daysUntilEvent() {
final now = DateTime.now();
final currentHijri = HijriDate.fromDate(now);
// البحث عن أقرب يوم للمناسبة
int minDays = 999999;
for (int day in days) {
// جرب السنة الحالية
DateTime eventDate = _calculateEventDate(currentHijri.hYear, month, day);
int daysUntil = eventDate.difference(now).inDays;
if (daysUntil >= 0 && daysUntil < minDays) {
minDays = daysUntil;
}
// إذا لم نجد في السنة الحالية، جرب السنة القادمة
if (daysUntil < 0) {
eventDate = _calculateEventDate(currentHijri.hYear + 1, month, day);
daysUntil = eventDate.difference(now).inDays;
if (daysUntil < minDays) {
minDays = daysUntil;
}
}
}
return minDays == 999999 ? 0 : minDays;
}