Files
karvon_market/app_code/lib/presenters/setting_presenter.dart
jahongireshonqulov 9fbdabafb4 Initial commit
2025-10-17 19:42:02 +05:00

83 lines
2.0 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:grostore/apis/currency_api.dart';
import 'package:grostore/apis/language_api.dart';
import 'package:grostore/custom_classes/system_data.dart';
import 'package:grostore/models/currency_response.dart';
import 'package:grostore/models/language_response.dart';
import '../helpers/shared_value_helper.dart';
class SettingPresenter extends ChangeNotifier{
Locale _locale=Locale(app_language.$,'');
List<CurrencyInfo> currencyList=[];
List<LanguageInfo> languageList=[];
LanguageInfo? selectedLanguage ;
CurrencyInfo? selectedCurrency ;
fetchCurrencyListData()async{
currencyList.clear();
var res = await CurrencyApi().getList();
currencyList.addAll(res.object.data);
print("Currency");
currencyList.forEach((element) {
if(system_currency.$.isEmpty && element.isDefault){
print("Currency isDefault");
onChange(element);
}else
if(system_currency.$.isNotEmpty && element.code == system_currency.$){
print("Currency not isDefault");
print(element.toJson());
onChange(element);
}
});
notifyListeners();
}
fetchLanguageListData()async{
languageList.clear();
var res = await LanguageApi.getLanguages();
languageList.addAll(res.object.data);
languageList.forEach((element) {
if(app_language.$ == element.code){
selectedLanguage = element;
}
});
notifyListeners();
}
onChange(CurrencyInfo currency){
if(currency!=null) {
selectedCurrency = currency;
// SystemData.systemCurrency = currency;
system_currency.$ = currency.code;
system_currency.save();
notifyListeners();
}
}
Locale get locale {
//print("app_mobile_language.isEmpty${app_mobile_language.$.isEmpty}");
return _locale ;
}
void setLocale(LanguageInfo languageInfo){
_locale = Locale(languageInfo.code,'');
selectedLanguage= languageInfo;
notifyListeners();
}
initState(){
fetchCurrencyListData();
fetchLanguageListData();
}
}