import 'package:flutter/material.dart' show Colors; import 'package:flutter/widgets.dart'; import 'package:rasadyar_auth/data/services/token_storage_service.dart'; import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart'; import 'package:rasadyar_chicken/data/repositories/chicken_repository.dart'; import 'package:rasadyar_chicken/data/repositories/chicken_repository_imp.dart'; import 'package:rasadyar_chicken/presentation/pages/home/view.dart'; import 'package:rasadyar_chicken/presentation/pages/out_of_province/view.dart'; import 'package:rasadyar_chicken/presentation/utils/utils.dart'; import 'package:rasadyar_core/core.dart'; enum ErrorLocationType { serviceDisabled, permissionDenied, none } class RootLogic extends GetxController { RxInt currentPage = 2.obs; List pages = [ Container(color: Colors.red), OutOfProvincePage(), HomePage(), Container(color: Colors.blue), Container(color: Colors.amber), ]; late DioRemote dioRemote; var tokenService = Get.find(); late ChickenRepository chickenRepository; RxList errorLocationType = RxList(); RxMap inventoryExpandedList = RxMap(); RxList provinces = [].obs; @override void onInit() { super.onInit(); dioRemote = DioRemote(baseUrl: tokenService.baseurl.value); dioRemote.init(); chickenRepository = ChickenRepositoryImpl(dioRemote); getProvinces(); /*getInventory(); getKillHouseDistributionInfo();*/ } void toggleExpanded(int index) { if (inventoryExpandedList.keys.contains(index)) { inventoryExpandedList.remove(index); } else { inventoryExpandedList[index] = false; } } void rootErrorHandler(DioException error) { handleGeneric(error, () { tokenService.deleteTokens(); }); } void changePage(int index) { currentPage.value = index; } Future getProvinces() async { try { final res = await chickenRepository.getProvince(); if (res != null) { provinces.clear(); provinces.value = res; } } catch (e) { provinces.clear(); } } }