From 2893a4e7f9700647d05c90cfd5c56ddf3c809e8a Mon Sep 17 00:00:00 2001 From: Benimautner Date: Sat, 22 Jul 2023 22:54:50 +0200 Subject: [PATCH] moved from list to projects --- lib/global.dart | 3 +++ lib/models/task.dart | 12 ++++++++---- lib/pages/landing_page.dart | 13 +++++-------- lib/stores/list_store.dart | 2 +- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/lib/global.dart b/lib/global.dart index 277b923..2df37a1 100644 --- a/lib/global.dart +++ b/lib/global.dart @@ -20,6 +20,7 @@ import 'package:vikunja_app/service/services.dart'; import 'package:timezone/data/latest_all.dart' as tz; import 'package:workmanager/workmanager.dart'; +import 'api/project.dart'; import 'main.dart'; @@ -68,6 +69,8 @@ class VikunjaGlobalState extends State { NamespaceService get namespaceService => new NamespaceAPIService(client); + ProjectService get projectService => new ProjectAPIService(client); + TaskService get taskService => new TaskAPIService(client); BucketService get bucketService => new BucketAPIService(client); diff --git a/lib/models/task.dart b/lib/models/task.dart index e5c0773..2b7a9cf 100644 --- a/lib/models/task.dart +++ b/lib/models/task.dart @@ -10,7 +10,8 @@ import 'package:vikunja_app/utils/checkboxes_in_text.dart'; class Task { final int id; final int? parentTaskId, priority, bucketId; - final int? listId; + //final int? listId; + final int? projectId; final DateTime created, updated; DateTime? dueDate, startDate, endDate; final List reminderDates; @@ -50,7 +51,8 @@ class Task { DateTime? created, DateTime? updated, required this.createdBy, - required this.listId, + //required this.listId, + required this.projectId, this.bucketId, }) : this.created = created ?? DateTime.now(), this.updated = updated ?? DateTime.now(); @@ -105,7 +107,8 @@ class Task { : [], updated = DateTime.parse(json['updated']), created = DateTime.parse(json['created']), - listId = json['list_id'], + //listId = json['list_id'], + projectId = json['project_id'], bucketId = json['bucket_id'], createdBy = User.fromJson(json['created_by']); @@ -163,7 +166,8 @@ class Task { id: id ?? this.id, parentTaskId: parentTaskId ?? this.parentTaskId, priority: priority ?? this.priority, - listId: listId ?? this.listId, + //listId: listId ?? this.listId, + projectId: projectId ?? this.projectId, bucketId: bucketId ?? this.bucketId, created: created ?? this.created, updated: updated ?? this.updated, diff --git a/lib/pages/landing_page.dart b/lib/pages/landing_page.dart index 09200d3..d4c3f1a 100644 --- a/lib/pages/landing_page.dart +++ b/lib/pages/landing_page.dart @@ -35,7 +35,7 @@ class LandingPage extends HomeScreenWidget { class LandingPageState extends State with AfterLayoutMixin { int? defaultList; - List _list = []; + List _tasks = []; PageStatus landingPageStatus = PageStatus.built; static const platform = const MethodChannel('vikunja'); @@ -165,7 +165,7 @@ class LandingPageState extends State title: title, dueDate: dueDate, createdBy: globalState.currentUser!, - listId: defaultList!, + projectId: defaultList!, ), ); @@ -176,7 +176,7 @@ class LandingPageState extends State } List _listTasks(BuildContext context) { - var tasks = (_list.map((task) => _buildTile(task, context))).toList(); + var tasks = (_tasks.map((task) => _buildTile(task, context))).toList(); //tasks.addAll(_loadingTasks.map(_buildLoadingTile)); return tasks; } @@ -193,8 +193,7 @@ class LandingPageState extends State } Future _loadList(BuildContext context) { - log("reloading list"); - _list = []; + _tasks = []; landingPageStatus = PageStatus.loading; // FIXME: loads and reschedules tasks each time list is updated VikunjaGlobal.of(context).notifications.scheduleDueNotifications(VikunjaGlobal.of(context).taskService); @@ -208,18 +207,16 @@ class LandingPageState extends State }); return null; } - return VikunjaGlobal.of(context).listService.getAll().then((lists) { //taskList.forEach((task) {task.list = lists.firstWhere((element) => element.id == task.list_id);}); setState(() { if (taskList != null) { - _list = taskList; + _tasks = taskList; landingPageStatus = PageStatus.success; } else { landingPageStatus = PageStatus.error; } }); return null; - }); }); } } diff --git a/lib/stores/list_store.dart b/lib/stores/list_store.dart index 55f7336..3b344eb 100644 --- a/lib/stores/list_store.dart +++ b/lib/stores/list_store.dart @@ -112,7 +112,7 @@ class ListProvider with ChangeNotifier { title: title, createdBy: globalState.currentUser!, done: false, - listId: listId, + projectId: listId, ); pageStatus = PageStatus.loading;