Skip to content

Commit 53cdd47

Browse files
authored
Merge branch 'main' into tour
2 parents c7ba8b4 + 1c09780 commit 53cdd47

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+3237
-188
lines changed

lib/api_service.dart

Lines changed: 509 additions & 0 deletions
Large diffs are not rendered by default.

lib/app/modules/detailRoute/controllers/detail_route_controller.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// ignore_for_file: depend_on_referenced_packages
2+
13
import 'package:built_collection/built_collection.dart';
24
import 'package:flutter/material.dart';
35
import 'package:get/get.dart';

lib/app/modules/detailRoute/views/detail_route_view.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// ignore_for_file: depend_on_referenced_packages, deprecated_member_use
2+
13
import 'package:built_collection/built_collection.dart';
24
import 'package:flutter/material.dart';
35
import 'package:get/get.dart';

lib/app/modules/home/controllers/home_controller.dart

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'package:get/get.dart';
99
import 'package:home_widget/home_widget.dart';
1010
import 'package:loggy/loggy.dart';
1111
import 'package:shared_preferences/shared_preferences.dart';
12+
import 'package:taskwarrior/api_service.dart';
1213
import 'package:taskwarrior/app/models/filters.dart';
1314

1415
import 'package:taskwarrior/app/models/json/task.dart';
@@ -22,6 +23,7 @@ import 'package:taskwarrior/app/tour/filter_drawer_tour.dart';
2223
import 'package:taskwarrior/app/tour/home_page_tour.dart';
2324
import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart';
2425
import 'package:taskwarrior/app/utils/language/supported_language.dart';
26+
import 'package:taskwarrior/app/utils/taskchampion/credentials_storage.dart';
2527
import 'package:taskwarrior/app/utils/taskfunctions/comparator.dart';
2628
import 'package:taskwarrior/app/utils/taskfunctions/projects.dart';
2729
import 'package:taskwarrior/app/utils/taskfunctions/query.dart';
@@ -49,6 +51,8 @@ class HomeController extends GetxController {
4951
final Rx<SupportedLanguage> selectedLanguage = SupportedLanguage.english.obs;
5052
final ScrollController scrollController = ScrollController();
5153
final RxBool showbtn = false.obs;
54+
late TaskDatabase taskdb;
55+
var tasks = <Tasks>[].obs;
5256

5357
@override
5458
void onInit() {
@@ -66,6 +70,45 @@ class HomeController extends GetxController {
6670
if (Platform.isAndroid) {
6771
handleHomeWidgetClicked();
6872
}
73+
taskdb = TaskDatabase();
74+
taskdb.open();
75+
getUniqueProjects();
76+
_loadTaskChampion();
77+
fetchTasksFromDB();
78+
}
79+
80+
Future<List<String>> getUniqueProjects() async {
81+
var taskDatabase = TaskDatabase();
82+
List<String> uniqueProjects = await taskDatabase.fetchUniqueProjects();
83+
debugPrint('Unique projects: $uniqueProjects');
84+
return uniqueProjects;
85+
}
86+
87+
Future<void> deleteAllTasksInDB() async {
88+
var taskDatabase = TaskDatabase();
89+
await taskDatabase.deleteAllTasksInDB();
90+
debugPrint('Deleted all tasks from db');
91+
}
92+
93+
Future<void> refreshTasks(String clientId, String encryptionSecret) async {
94+
TaskDatabase taskDatabase = TaskDatabase();
95+
await taskDatabase.open();
96+
List<Tasks> tasksFromServer = await fetchTasks(clientId, encryptionSecret);
97+
await updateTasksInDatabase(tasksFromServer);
98+
List<Tasks> fetchedTasks = await taskDatabase.fetchTasksFromDatabase();
99+
tasks.value = fetchedTasks;
100+
}
101+
102+
Future<void> fetchTasksFromDB() async {
103+
TaskDatabase taskDatabase = TaskDatabase();
104+
await taskDatabase.open();
105+
List<Tasks> fetchedTasks = await taskDatabase.fetchTasksFromDatabase();
106+
tasks.value = fetchedTasks;
107+
}
108+
109+
Future<void> _loadTaskChampion() async {
110+
final SharedPreferences prefs = await SharedPreferences.getInstance();
111+
taskchampion.value = prefs.getBool('taskchampion') ?? false;
69112
}
70113

71114
void addListenerToScrollController() {
@@ -425,21 +468,25 @@ class HomeController extends GetxController {
425468
final SharedPreferences prefs = await SharedPreferences.getInstance();
426469
bool? value;
427470
value = prefs.getBool('sync-onStart') ?? false;
428-
471+
String? clientId, encryptionSecret;
472+
clientId = await CredentialsStorage.getClientId();
473+
encryptionSecret = await CredentialsStorage.getEncryptionSecret();
429474
if (value) {
430475
synchronize(context, false);
476+
refreshTasks(clientId!, encryptionSecret!);
431477
} else {}
432478
}
433479

434480
RxBool syncOnStart = false.obs;
435481
RxBool syncOnTaskCreate = false.obs;
436482
RxBool delaytask = false.obs;
437483
RxBool change24hr = false.obs;
484+
RxBool taskchampion = false.obs;
438485

439486
// dialogue box
440-
441487
final formKey = GlobalKey<FormState>();
442488
final namecontroller = TextEditingController();
489+
final projectcontroller = TextEditingController();
443490
var due = Rxn<DateTime>();
444491
RxString dueString = ''.obs;
445492
RxString priority = 'M'.obs;
@@ -505,7 +552,7 @@ class HomeController extends GetxController {
505552
void initLanguageAndDarkMode() {
506553
isDarkModeOn.value = AppSettings.isDarkMode;
507554
selectedLanguage.value = AppSettings.selectedLanguage;
508-
print("called and value is${isDarkModeOn.value}");
555+
// print("called and value is${isDarkModeOn.value}");
509556
}
510557

511558
final addKey = GlobalKey();
@@ -557,6 +604,7 @@ class HomeController extends GetxController {
557604

558605
final GlobalKey statusKey = GlobalKey();
559606
final GlobalKey projectsKey = GlobalKey();
607+
final GlobalKey projectsKeyTaskc = GlobalKey();
560608
final GlobalKey filterTagKey = GlobalKey();
561609
final GlobalKey sortByKey = GlobalKey();
562610

@@ -565,6 +613,7 @@ class HomeController extends GetxController {
565613
targets: filterDrawer(
566614
statusKey: statusKey,
567615
projectsKey: projectsKey,
616+
projectsKeyTaskc: projectsKeyTaskc,
568617
filterTagKey: filterTagKey,
569618
sortByKey: sortByKey,
570619
),

lib/app/modules/home/views/add_task_bottom_sheet.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -269,21 +269,21 @@ class AddTaskBottomSheet extends StatelessWidget {
269269
initialTime: TimeOfDay.fromDateTime(
270270
homeController.due.value ?? DateTime.now()),
271271
);
272-
print("date$date Time : $time");
272+
// print("date$date Time : $time");
273273
if (time != null) {
274274
var dateTime = date.add(
275275
Duration(
276276
hours: time.hour,
277277
minutes: time.minute,
278278
),
279279
);
280-
print(dateTime);
280+
// print(dateTime);
281281
homeController.due.value = dateTime.toUtc();
282282

283-
print("due value ${homeController.due}");
283+
// print("due value ${homeController.due}");
284284
homeController.dueString.value =
285285
DateFormat("dd-MM-yyyy HH:mm").format(dateTime);
286-
print(homeController.dueString.value);
286+
// print(homeController.dueString.value);
287287
if (dateTime.isBefore(DateTime.now())) {
288288
//Try changing the color. in the settings and Due display.
289289

@@ -391,7 +391,6 @@ class AddTaskBottomSheet extends StatelessWidget {
391391
);
392392

393393
Widget buildAddButton(BuildContext context) {
394-
395394
return TextButton(
396395
child: Text(
397396
"Add",
@@ -402,7 +401,7 @@ class AddTaskBottomSheet extends StatelessWidget {
402401
),
403402
),
404403
onPressed: () async {
405-
print(homeController.formKey.currentState);
404+
// print(homeController.formKey.currentState);
406405
if (homeController.formKey.currentState!.validate()) {
407406
try {
408407
var task = taskParser(homeController.namecontroller.text)

0 commit comments

Comments
 (0)