refactored storage system that controller handles logic checks

This commit is contained in:
2026-06-12 14:30:06 +02:00
parent e1fc7c1a90
commit ec4efff01a
3 changed files with 81 additions and 34 deletions
+19 -4
View File
@@ -25,16 +25,31 @@ class TaskController extends ChangeNotifier {
Future<void> reorderTask(int oldIndex, int newIndex) async {
final taskId = _taskOrder.removeAt(oldIndex);
_taskOrder.insert(newIndex, taskId);
_repository.saveTaskOrder(_taskOrder);
_repository.updateTaskOrder(_taskOrder);
}
Future<void> saveTask(Task task) async {
await _repository.saveTask(task);
await _loadTasks();
await _loadTaskOrder();
if (_tasks.contains(task)) {
_tasks.remove(task);
_tasks.add(task);
_repository.updateTask(task);
} else {
_tasks.add(task);
_taskOrder.add(task.id);
_repository.createTask(task);
_repository.updateTaskOrder(_taskOrder);
}
notifyListeners();
}
Future<void> deleteTask(Task task) async {
_tasks.remove(task);
_taskOrder.remove(task.id);
notifyListeners();
_repository.deleteTask(task);
_repository.updateTaskOrder(_taskOrder);
}
Future<void> _loadTasks() async {
_tasks.clear();
return _repository.loadTasks().then((value) => _tasks.addAll(value));