getUpcomingEvents static method
Gets upcoming events in the next few months
Implementation
static List<IslamicEvent> getUpcomingEvents({int monthsAhead = 3}) {
final currentDate = HijriDate.now();
final allEvents = IslamicEventsManager.allEvents;
final upcomingEvents = <IslamicEvent>[];
for (final event in allEvents) {
final daysUntil = calculateDaysUntilEvent(currentDate, event);
// Only include events that are actually upcoming (positive days)
if (daysUntil > 0 && daysUntil <= monthsAhead * 30) {
upcomingEvents.add(event);
}
}
// Sort by days until event
upcomingEvents.sort((a, b) {
final daysA = calculateDaysUntilEvent(currentDate, a);
final daysB = calculateDaysUntilEvent(currentDate, b);
return daysA.compareTo(daysB);
});
return upcomingEvents;
}