diff --git a/lib/features/account/presentation_layer/screens/account.dart b/lib/features/account/presentation_layer/screens/account.dart index 3ce2515..a71151f 100644 --- a/lib/features/account/presentation_layer/screens/account.dart +++ b/lib/features/account/presentation_layer/screens/account.dart @@ -33,7 +33,7 @@ class AccountScreen extends StatelessWidget { @override Widget build(BuildContext context) { accountController.getSelectedLanguageIcon(); - // homeController.readUser(); + homeController.readUser(); return Scaffold( backgroundColor: AppColors.backGroundColor, body: SingleChildScrollView( @@ -109,7 +109,12 @@ class AccountScreen extends StatelessWidget { ], ).onTap(() { RoutingManager.offAll(RouteName.login); + String? languangeCode = + homeController.storage.getLanguage(); homeController.storage.clearCache(); + if (languangeCode != null) { + homeController.storage.saveLanguage(languangeCode); + } homeController.storage.savefirstTimeOpened(); }); }), @@ -236,36 +241,39 @@ class AccountScreen extends StatelessWidget { width: 20, ), if (Responsive.isTablet()) Container().expanded(7), - DropdownButton( - value: accountController.selectedLanguageSvg.value, - items: [ - DropdownMenuItem( - value: 'english', - child: SizedBox( - width: 50, - height: 23, - child: BoldTextWidget('english'.tr), + Obx(() { + return DropdownButton( + value: accountController.selectedLanguageSvg.value, + items: [ + DropdownMenuItem( + value: 'english', + child: SizedBox( + width: 50, + height: 23, + child: BoldTextWidget('english'.tr), + ), ), - ), - DropdownMenuItem( - value: 'arabic', - child: SizedBox( - width: 50, - height: 23, - child: BoldTextWidget('arabic'.tr), + DropdownMenuItem( + value: 'arabic', + child: SizedBox( + width: 50, + height: 23, + child: BoldTextWidget('arabic'.tr), + ), ), - ), - ], - onChanged: (value) { - if (value == 'english') { - accountController.changeLanguage(Languages.english); - homeController.setUiLanguage(Languages.english.code); - } - if (value == 'arabic') { - accountController.changeLanguage(Languages.arabic); - homeController.setUiLanguage(Languages.arabic.code); - } - }) + ], + onChanged: (value) { + if (value == 'english') { + accountController.changeLanguage(Languages.english); + homeController + .setUiLanguage(Languages.english.code); + } + if (value == 'arabic') { + accountController.changeLanguage(Languages.arabic); + homeController.setUiLanguage(Languages.arabic.code); + } + }); + }) ], ).paddingSymmetric(horizontal: 15), ).paddingSymmetric( diff --git a/lib/features/auth/business_logic_layer/auth_controller.dart b/lib/features/auth/business_logic_layer/auth_controller.dart index da65ef0..799f963 100644 --- a/lib/features/auth/business_logic_layer/auth_controller.dart +++ b/lib/features/auth/business_logic_layer/auth_controller.dart @@ -105,7 +105,11 @@ class AuthController extends GetxController { onSuccess: (value) async { isGuest = false.obs; storage.saveIsGuest(false); + String? languangeCode = storage.getLanguage(); await storage.clearCache(); + if (languangeCode != null) { + storage.saveLanguage(languangeCode); + } onSuccess?.call(value); }, ); @@ -200,7 +204,11 @@ class AuthController extends GetxController { onSuccess: (value) { isGuest = true.obs; onSuccess?.call(value); + String? languangeCode = storage.getLanguage(); storage.clearCache(); + if (languangeCode != null) { + storage.saveLanguage(languangeCode); + } }, onError: (error) { onError?.call(error); diff --git a/lib/features/home/business_logic_layer/home_controller.dart b/lib/features/home/business_logic_layer/home_controller.dart index 4546552..9a37db4 100644 --- a/lib/features/home/business_logic_layer/home_controller.dart +++ b/lib/features/home/business_logic_layer/home_controller.dart @@ -37,7 +37,11 @@ class HomeController extends GetxController { ButtonWidget( onTap: () { RoutingManager.offAll(RouteName.login); + String? languangeCode = storage.getLanguage(); storage.clearCache(); + if (languangeCode != null) { + storage.saveLanguage(languangeCode); + } storage.savefirstTimeOpened(); }, title: 'sign_in'.tr) diff --git a/lib/features/home/presentation_layer/screens/super_home.dart b/lib/features/home/presentation_layer/screens/super_home.dart index 50bfc0d..32b645f 100644 --- a/lib/features/home/presentation_layer/screens/super_home.dart +++ b/lib/features/home/presentation_layer/screens/super_home.dart @@ -69,7 +69,11 @@ class SuperHome extends StatelessWidget { val = false; }); LocalStorage().saveIsGuest(false); + String? languangeCode = LocalStorage().getLanguage(); LocalStorage().clearCache(); + if (languangeCode != null) { + LocalStorage().saveLanguage(languangeCode); + } homeController.storage.savefirstTimeOpened(); homeController.selectIndex.value = 0; chatController.io.disconnect(); diff --git a/lib/features/splash/presentation_layer.dart/screens.dart/splash.dart b/lib/features/splash/presentation_layer.dart/screens.dart/splash.dart index f9ea40b..4058872 100644 --- a/lib/features/splash/presentation_layer.dart/screens.dart/splash.dart +++ b/lib/features/splash/presentation_layer.dart/screens.dart/splash.dart @@ -39,7 +39,11 @@ class SplashScreen extends StatelessWidget { val = false; }); localStorage.saveIsGuest(false); + String? languangeCode = localStorage.getLanguage(); await localStorage.clearCache(); + if (languangeCode != null) { + localStorage.saveLanguage(languangeCode); + } homeController.storage.savefirstTimeOpened(); RoutingManager.offAll(RouteName.login); homeController.selectIndex.value = 0; @@ -108,7 +112,13 @@ class SplashScreen extends StatelessWidget { val = false; }); localStorage.saveIsGuest(false); + String? languangeCode = + localStorage.getLanguage(); await localStorage.clearCache(); + if (languangeCode != null) { + localStorage + .saveLanguage(languangeCode); + } homeController.storage .savefirstTimeOpened(); RoutingManager.offAll(