import '../../../../data/models/reminder_payload.dart'; class ReminderQueueManager { ReminderPayload? _currentPayload; final List _pending = []; void enqueueFromClick(ReminderPayload payload) { _currentPayload = payload; } void enqueuePending(List payloads) { payloads.sort((a, b) => a.startAt.compareTo(b.startAt)); _pending.addAll(payloads); } ReminderPayload? get currentPayload => _currentPayload; bool get isEmpty => _currentPayload == null && _pending.isEmpty; void dequeueCurrent() { _currentPayload = null; if (_pending.isNotEmpty) { _currentPayload = _pending.removeAt(0); } } void clear() { _currentPayload = null; _pending.clear(); } }