import 'package:driver/constant/constant.dart'; import 'package:driver/models/language_model.dart'; import 'package:driver/utils/fire_store_utils.dart'; import 'package:driver/utils/preferences.dart'; import 'package:get/get.dart'; import '../constant/collection_name.dart'; class ChangeLanguageController extends GetxController { Rx selectedLanguage = LanguageModel().obs; RxList languageList = [].obs; RxBool isLoading = true.obs; @override void onInit() { // TODO: implement onInit getLanguage(); super.onInit(); } Future getLanguage() async { await FireStoreUtils.fireStore.collection(CollectionName.settings).doc("languages").get().then((event) { if (event.exists) { List languageListTemp = event.data()!["list"]; for (var element in languageListTemp) { LanguageModel languageModel = LanguageModel.fromJson(element); languageList.add(languageModel); } if (Preferences.getString(Preferences.languageCodeKey).toString().isNotEmpty) { LanguageModel pref = Constant.getLanguage(); for (var element in languageList) { if (element.slug == pref.slug) { selectedLanguage.value = element; } } } } }); isLoading.value = false; } }