Wire reminder scheduler interface into local repository
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import 'package:relationship_saver/features/local/local_models.dart';
|
||||
|
||||
/// Schedules and reconciles reminder deliveries for current local state.
|
||||
abstract class ReminderScheduler {
|
||||
/// Reconciles platform schedules to match current enabled reminders.
|
||||
Future<void> reconcile(List<ReminderRule> reminders);
|
||||
|
||||
/// Clears all platform-scheduled reminder jobs.
|
||||
Future<void> clearAll();
|
||||
}
|
||||
|
||||
/// Default scheduler used until platform notifications are integrated.
|
||||
class NoopReminderScheduler implements ReminderScheduler {
|
||||
const NoopReminderScheduler();
|
||||
|
||||
@override
|
||||
Future<void> clearAll() async {}
|
||||
|
||||
@override
|
||||
Future<void> reconcile(List<ReminderRule> reminders) async {}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:relationship_saver/features/reminders/scheduling/reminder_scheduler.dart';
|
||||
|
||||
/// Provides reminder delivery scheduler implementation.
|
||||
final Provider<ReminderScheduler> reminderSchedulerProvider =
|
||||
Provider<ReminderScheduler>((Ref ref) {
|
||||
return const NoopReminderScheduler();
|
||||
});
|
||||
Reference in New Issue
Block a user