import 'package:flutter/cupertino.dart'; import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/main.dart'; import 'package:mc_common_app/models/general_models/generic_resp_model.dart'; import 'package:mc_common_app/models/setting_utils_models/app_info_model.dart'; import 'package:mc_common_app/models/setting_utils_models/app_invitation_history_model.dart'; import 'package:mc_common_app/models/setting_utils_models/contact_infos_model.dart'; import 'package:mc_common_app/models/setting_utils_models/faqs_model.dart'; import 'package:mc_common_app/repositories/setting_options_repo.dart'; import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/utils.dart'; import 'package:mc_common_app/view_models/base_view_model.dart'; import 'package:share_plus/share_plus.dart'; class SettingOptionsVM extends BaseVM { final SettingOptionsRepo settingOptionsRepo; SettingOptionsVM({required this.settingOptionsRepo}); List faqsList = []; Future getAllFaqs() async { setState(ViewState.busy); try { faqsList = await settingOptionsRepo.getAllFaqs(); setState(ViewState.idle); notifyListeners(); } catch (e) { logger.i(e.toString()); Utils.showToast(e.toString()); setState(ViewState.idle); } } List contactInfosList = []; Future getAllContactInfosList() async { setState(ViewState.busy); try { contactInfosList = await settingOptionsRepo.getAllContactInfos(); setState(ViewState.idle); notifyListeners(); } catch (e) { logger.i(e.toString()); Utils.showToast(e.toString()); setState(ViewState.idle); } } List appInfoList = []; Future getAppInfoList() async { setState(ViewState.busy); try { appInfoList = await settingOptionsRepo.getAppInfoList(); setState(ViewState.idle); notifyListeners(); } catch (e) { logger.i(e.toString()); Utils.showToast(e.toString()); setState(ViewState.idle); } } List termsAndConditionsList = []; Future getTermsAndConditions() async { setState(ViewState.busy); try { termsAndConditionsList = await settingOptionsRepo.getTermsAndConditions(); setState(ViewState.idle); notifyListeners(); } catch (e) { logger.i(e.toString()); Utils.showToast(e.toString()); setState(ViewState.idle); } } Future appInvitationCreate({required BuildContext context, required InviteTypeEnum inviteTypeEnum}) async { Utils.showLoading(context); try { GenericRespModel respModel = await settingOptionsRepo.appInvitationCreate(channelId: inviteTypeEnum.toIntFromEnum(), message: GlobalConsts.getAppInvitationLink()); await Utils.inviteFriend(inviteTypeEnum: inviteTypeEnum, message: GlobalConsts.getAppInvitationLink()); Utils.hideLoading(context); } catch (e) { logger.i(e.toString()); Utils.hideLoading(context); } } List appInvitationHistoryList = []; Future getAppInvitationHistoryList() async { try { appInvitationHistoryList = await settingOptionsRepo.getAppInvitationsHistory(); } catch (e) { logger.i(e.toString()); } } }