4 Commits

Author SHA1 Message Date
marco a3258b84fe added controllers to context 2026-06-19 00:02:35 +02:00
marco f088b84c54 updated imports 2026-06-18 23:20:38 +02:00
marco 5a39148577 moved controllers to folder 2026-06-18 23:19:44 +02:00
marco 2b718b5bd8 added controller for locations 2026-06-18 23:18:09 +02:00
6 changed files with 50 additions and 9 deletions
+9 -1
View File
@@ -4,7 +4,9 @@ import 'model/repositories/local_repository.dart';
import 'pages/task_edit_page.dart';
import 'pages/task_overview_page.dart';
import 'service/controller_scope.dart';
import 'service/task_controller.dart';
import 'service/controllers/alarm_controller.dart';
import 'service/controllers/location_controller.dart';
import 'service/controllers/task_controller.dart';
void main() async {
final repository = LocalRepository();
@@ -13,9 +15,15 @@ void main() async {
runApp(
ControllerScope(
controller: LocationController(repository),
child: ControllerScope(
controller: AlarmController(repository),
child: ControllerScope(
controller: TaskController(repository),
child: const MainApp(),
),
),
),
);
}
+1 -1
View File
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import '../model/callback_models/create_task_request.dart';
import '../model/extensions/controller_context.dart';
import '../model/task.dart';
import '../service/task_controller.dart';
import '../service/controllers/task_controller.dart';
import '../service/tools.dart';
import '../widgets/time_selector.dart';
+1 -1
View File
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import '../model/callback_models/create_task_request.dart';
import '../model/extensions/controller_context.dart';
import '../model/task.dart';
import '../service/task_controller.dart';
import '../service/controllers/task_controller.dart';
import '../service/tools.dart';
import 'task_edit_page.dart';
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import '../model/alarm.dart';
import '../model/repositories/interfaces/alarm_repository.dart';
import '../../model/alarm.dart';
import '../../model/repositories/interfaces/alarm_repository.dart';
class AlarmController extends ChangeNotifier {
AlarmController(AlarmRepository repository) : _repository = repository {
@@ -0,0 +1,33 @@
import 'package:flutter/material.dart';
import '../../model/location.dart';
import '../../model/repositories/interfaces/location_repository.dart';
class LocationController extends ChangeNotifier {
LocationController(LocationRepository repository) : _repository = repository {
_loadLocations();
}
final LocationRepository _repository;
final List<Location> _locations = [];
Future<void> addLocation(Location location) {
_locations.add(location);
notifyListeners();
return _repository.createLocation(location);
}
Future<void> deleteLocation(Location location) {
_locations.remove(location);
notifyListeners();
return _repository.deleteLocation(location);
}
Future<void> _loadLocations() {
_locations.clear();
return _repository.loadLocations().then(
(value) => _locations.addAll(value),
);
}
}
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart' show ChangeNotifier;
import '../model/repositories/interfaces/task_repository.dart';
import '../model/task.dart';
import '../../model/repositories/interfaces/task_repository.dart';
import '../../model/task.dart';
class TaskController extends ChangeNotifier {
TaskController(TaskRepository repository) : _repository = repository {