Files
Fondex-Driver/lib/controllers/owner_dashboard_controller.dart
2025-12-08 23:25:00 +05:00

58 lines
1.6 KiB
Dart

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 = UserModel().obs;
DateTime? currentBackPressTime;
RxBool canPopNow = false.obs;
Future<void> 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<ThemeController>()) {
final themeController = Get.find<ThemeController>();
themeController.isDark.value = value;
}
}
}