import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../../core/constants/app_contants.dart'; import '../../../core/local_stoarge/app_storage.dart'; import '../../../custom_widgets/custom_dialog.dart'; import '../../../routes/app_pages.dart'; class AppSettingController extends GetxController { static bool isDarkMode = false; static RxBool isRTL = false.obs; static RxString selectedLocale = "en".obs; // LocaleController localeController = LocaleController(); updateLanguage(Locale locale) async { Get.updateLocale(locale); // Get.find().saveLocale(locale.toString()); // localeController.selectedLocale.value = locale.toString(); AppSettingController.isRTL.value = Get.locale!.languageCode == "ar" || Get.locale!.languageCode == "ur"; AppSettingController.selectedLocale.value = Get.locale!.languageCode; await AppStorage.putString(AppConstants.SELECTED_LOCALE, AppSettingController.selectedLocale.value); await AppStorage.putBoolean(AppConstants.IS_RTL, AppSettingController.isRTL.value); Get.forceAppUpdate(); update(); } @override void onInit() { super.onInit(); } void changeAppMode(bool value) async { AppStorage.putBoolean(AppConstants.IS_DARK_MODE, value); isDarkMode = value; } void showLogoutDialog(BuildContext context) { CustomDialog.showLogoutDialog( context: context, onTapPositive: () { Navigator.of(context, rootNavigator: true).pop(); Get.offAllNamed(Routes.LOGIN_SCREEN); }, onTapNegative: () { Navigator.of(context, rootNavigator: true).pop(); }, ); } } class AppSettings { String title; String description; Icon icon; Function() onTap; AppSettings({required this.title, required this.description, required this.icon, required this.onTap}); }