import 'package:driver/constant/collection_name.dart'; import 'package:driver/constant/constant.dart'; import 'package:driver/models/user_model.dart'; import 'package:driver/utils/fire_store_utils.dart'; import 'package:driver/utils/preferences.dart'; import 'package:get/get.dart'; import '../themes/theme_controller.dart'; class OwnerDashboardController extends GetxController{ RxInt drawerIndex = 0.obs; @override void onInit() { // TODO: implement onInit getUser(); getTheme(); super.onInit(); } Rx userModel = UserModel().obs; DateTime? currentBackPressTime; RxBool canPopNow = false.obs; Future getUser() async { FireStoreUtils.fireStore.collection(CollectionName.users).doc(FireStoreUtils.getCurrentUid()).snapshots().listen( (event) { if (event.exists) { userModel.value = UserModel.fromJson(event.data()!); Constant.userModel = UserModel.fromJson(event.data()!); } }, ); } RxString isDarkMode = "Light".obs; RxBool isDarkModeSwitch = false.obs; void getTheme() { bool isDark = Preferences.getBoolean(Preferences.themKey); isDarkMode.value = isDark ? "Dark" : "Light"; isDarkModeSwitch.value = isDark; } void toggleDarkMode(bool value) { isDarkModeSwitch.value = value; isDarkMode.value = value ? "Dark" : "Light"; Preferences.setBoolean(Preferences.themKey, value); // Update ThemeController for instant app theme change if (Get.isRegistered()) { final themeController = Get.find(); themeController.isDark.value = value; } } }