import 'package:household_keeper/features/home/domain/daily_plan_models.dart'; /// State for the calendar day view: tasks for the selected date + overdue tasks /// + pre-populated tasks within the current interval window. class CalendarDayState { final DateTime selectedDate; final List dayTasks; final List overdueTasks; /// Tasks visible via pre-population: recurring tasks whose nextDueDate is in /// the future but whose current interval window includes [selectedDate]. /// These are shown with muted styling to distinguish them from due-today tasks. final List prePopulatedTasks; /// Total number of tasks in the database (across all days/rooms). /// Used by the UI to distinguish first-run empty state (no tasks exist at all) /// from celebration state (tasks exist but today's are all done). final int totalTaskCount; const CalendarDayState({ required this.selectedDate, required this.dayTasks, required this.overdueTasks, this.prePopulatedTasks = const [], required this.totalTaskCount, }); /// True when day tasks, overdue tasks, and pre-populated tasks are all empty. bool get isEmpty => dayTasks.isEmpty && overdueTasks.isEmpty && prePopulatedTasks.isEmpty; }