Feature: Implement Task List for Alarms
Description
This PR implements a comprehensive task list feature for alarms, allowing users to manage daily tasks directly from their alarms. Tasks are displayed when an alarm rings, providing users with immediate visibility of their to-dos upon waking up.
Proposed Changes
This PR adds a new Task List feature to enhance the alarm functionality:
-
Data Model Changes:
- Add
TaskModelclass with properties for ID, text, and completion status - Extend
AlarmModelwithisTaskListEnabledflag andserializedTaskListstorage - Implement serialization/deserialization for task persistence
- Add
-
UI Components:
- Create full-screen
TaskListEditorPagefor task management - Add task list display to alarm ring view
- Implement interactive checkboxes for task completion
- Support for task reordering and swipe-to-delete
- Create full-screen
-
Interaction Flow:
- Allow users to enable/disable task lists per alarm
- Present tasks when alarm rings
- Track completed vs. pending tasks
- Persist task state between app sessions
-
Code Organization:
- Update controllers to handle task state
- Fix layout issues to ensure proper button visibility
- Implement responsive design for various screen sizes
-
Bug Fixes:
- Resolve button visibility issues in the alarm ring view
- Fix layout spacing when tasks are displayed
- Ensure proper reactive state management
These changes provide users with a valuable feature to view and manage their tasks directly from alarms, improving productivity and organization in their daily routines.
Screenshots
https://github.com/user-attachments/assets/25733b06-846b-4d1a-b32b-113c9f543aaf
Checklist
- [x] Tests have been added or updated to cover the changes
- [x] Documentation has been updated to reflect the changes
- [x] Code follows the established coding style guidelines
- [x] All tests are passing
Hi @MarkisDev can you please review this PR :)