This commit is contained in:
Hamza-Ayed
2023-08-21 23:34:15 +03:00
parent b340316e11
commit c1869d2725
18 changed files with 418 additions and 116 deletions

View File

@@ -12,9 +12,27 @@ class LocaleController extends GetxController {
ThemeData appTheme = themeEnglish;
changeLang(String langcode) {
Locale locale = Locale(langcode);
Locale locale;
switch (langcode) {
case "ar":
locale = const Locale("ar");
appTheme = themeArabic;
break;
case "en":
locale = const Locale("en");
appTheme = themeEnglish;
break;
case "tr":
locale = const Locale("tr");
appTheme = themeEnglish;
break;
default:
locale = Locale(Get.deviceLocale!.languageCode);
appTheme = themeEnglish;
break;
}
box.write(BoxName.lang, langcode);
appTheme = langcode == "ar" ? themeArabic : themeEnglish;
Get.changeTheme(appTheme);
Get.updateLocale(locale);
update();
@@ -23,15 +41,24 @@ class LocaleController extends GetxController {
@override
void onInit() {
FirebasMessagesController().requestPermission();
if (box.read(BoxName.lang) == "ar") {
language = const Locale("ar");
appTheme = themeArabic;
} else if (box.read(BoxName.lang) == "en") {
language = const Locale("en");
appTheme = themeEnglish;
} else {
language = Locale(Get.deviceLocale!.languageCode);
appTheme = themeEnglish;
String storedLang = box.read(BoxName.lang) ?? "";
switch (storedLang) {
case "ar":
language = const Locale("ar");
appTheme = themeArabic;
break;
case "en":
language = const Locale("en");
appTheme = themeEnglish;
break;
case "tr":
language = const Locale("tr");
appTheme = themeEnglish;
break;
default:
language = Locale(Get.deviceLocale!.languageCode);
appTheme = themeEnglish;
break;
}
super.onInit();
}