39 lines
1012 B
Dart
39 lines
1012 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
import '../../constant/box_name.dart';
|
|
import '../../main.dart';
|
|
import '../firebase/firbase_messge.dart';
|
|
import '../themes/themes.dart';
|
|
|
|
class LocaleController extends GetxController {
|
|
Locale? language;
|
|
|
|
ThemeData appTheme = themeEnglish;
|
|
|
|
changeLang(String langcode) {
|
|
Locale locale = Locale(langcode);
|
|
box.write(BoxName.lang, langcode);
|
|
appTheme = langcode == "ar" ? themeArabic : themeEnglish;
|
|
Get.changeTheme(appTheme);
|
|
Get.updateLocale(locale);
|
|
update();
|
|
}
|
|
|
|
@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;
|
|
}
|
|
super.onInit();
|
|
}
|
|
}
|