due->resolve($event, $user); if ($now->gte($due->moment)) { return $event->after_due === AfterDue::Keep ? EventState::Overdue : EventState::Expired; } if ($now->gte($this->due->todayStart($due, $user))) { return EventState::Today; } $fireStart = $this->due->fireStart($event, $user); if ($fireStart->lt($due->day) && $now->gte($fireStart)) { return EventState::Preparing; } return EventState::Scheduled; } }