Skip to content

Commit e082845

Browse files
committed
Details page opening when clicked on a task from widget
1 parent 8c3bd7d commit e082845

File tree

2 files changed

+58
-25
lines changed

2 files changed

+58
-25
lines changed

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

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'dart:io';
66
import 'package:connectivity_plus/connectivity_plus.dart';
77
import 'package:flutter/material.dart';
88
import 'package:get/get.dart';
9+
import 'package:home_widget/home_widget.dart';
910
import 'package:loggy/loggy.dart';
1011
import 'package:shared_preferences/shared_preferences.dart';
1112
import 'package:taskwarrior/app/models/filters.dart';
@@ -15,9 +16,11 @@ import 'package:taskwarrior/app/models/storage.dart';
1516
import 'package:taskwarrior/app/models/storage/client.dart';
1617
import 'package:taskwarrior/app/models/tag_meta_data.dart';
1718
import 'package:taskwarrior/app/modules/splash/controllers/splash_controller.dart';
19+
import 'package:taskwarrior/app/routes/app_pages.dart';
1820
import 'package:taskwarrior/app/services/tag_filter.dart';
1921
import 'package:taskwarrior/app/tour/filter_drawer_tour.dart';
2022
import 'package:taskwarrior/app/tour/home_page_tour.dart';
23+
import 'package:taskwarrior/app/utils/constants/palette.dart';
2124
import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart';
2225
import 'package:taskwarrior/app/utils/language/supported_language.dart';
2326
import 'package:taskwarrior/app/utils/taskfunctions/comparator.dart';
@@ -61,6 +64,7 @@ class HomeController extends GetxController {
6164
_profileSet();
6265
loadDelayTask();
6366
initLanguageAndDarkMode();
67+
handleHomeWidgetClicked();
6468
}
6569

6670
void addListenerToScrollController() {
@@ -591,4 +595,35 @@ class HomeController extends GetxController {
591595
},
592596
);
593597
}
598+
599+
late RxString uuid = "".obs;
600+
late RxBool isHomeWidgetTaskTapped = false.obs;
601+
602+
void handleHomeWidgetClicked() async {
603+
Uri? myUri = await HomeWidget.initiallyLaunchedFromHomeWidget();
604+
if (myUri != null) {
605+
if (myUri.host == "cardclicked") {
606+
if (myUri.queryParameters["uuid"] != null) {
607+
uuid.value = myUri.queryParameters["uuid"] as String;
608+
isHomeWidgetTaskTapped.value = true;
609+
Future.delayed(const Duration(seconds: 2), () {
610+
Get.toNamed(Routes.DETAIL_ROUTE, arguments: ["uuid", uuid.value]);
611+
});
612+
}
613+
}
614+
}
615+
HomeWidget.widgetClicked.listen((uri) async {
616+
if (uri != null) {
617+
if (uri.host == "cardclicked") {
618+
if (uri.queryParameters["uuid"] != null) {
619+
uuid.value = uri.queryParameters["uuid"] as String;
620+
isHomeWidgetTaskTapped.value = true;
621+
}
622+
debugPrint('uuid is $uuid');
623+
print("tonamed called");
624+
Get.toNamed(Routes.DETAIL_ROUTE, arguments: ["uuid", uuid.value]);
625+
}
626+
}
627+
});
628+
}
594629
}

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

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -41,30 +41,28 @@ class HomeView extends GetView<HomeController> {
4141
// var waitingFilter = controller.waitingFilter;
4242
// var pendingTags = controller.pendingTags;
4343

44-
return isHomeWidgetTaskTapped == false
45-
? Obx(
46-
() => Scaffold(
47-
appBar: HomePageAppBar(
48-
server: server,
49-
credentials: credentials,
50-
controller: controller,
51-
),
52-
backgroundColor: controller.isDarkModeOn.value
53-
? TaskWarriorColors.kprimaryBackgroundColor
54-
: TaskWarriorColors.kLightPrimaryBackgroundColor,
55-
drawer: NavDrawer(homeController: controller),
56-
body: HomePageBody(controller: controller),
57-
endDrawer: Obx(
58-
() => FilterDrawer(
59-
filters: controller.getFilters(),
60-
homeController: controller,
61-
),
62-
),
63-
floatingActionButton:
64-
HomePageFloatingActionButton(controller: controller),
65-
resizeToAvoidBottomInset: false,
66-
),
67-
)
68-
: const DetailRouteView();
44+
return Obx(
45+
() => Scaffold(
46+
appBar: HomePageAppBar(
47+
server: server,
48+
credentials: credentials,
49+
controller: controller,
50+
),
51+
backgroundColor: controller.isDarkModeOn.value
52+
? TaskWarriorColors.kprimaryBackgroundColor
53+
: TaskWarriorColors.kLightPrimaryBackgroundColor,
54+
drawer: NavDrawer(homeController: controller),
55+
body: HomePageBody(controller: controller),
56+
endDrawer: Obx(
57+
() => FilterDrawer(
58+
filters: controller.getFilters(),
59+
homeController: controller,
60+
),
61+
),
62+
floatingActionButton:
63+
HomePageFloatingActionButton(controller: controller),
64+
resizeToAvoidBottomInset: false,
65+
),
66+
);
6967
}
7068
}

0 commit comments

Comments
 (0)