Files
rasadyar_application/packages/chicken/lib/presentation/pages/root/logic.dart

79 lines
2.3 KiB
Dart
Raw Normal View History

2025-06-15 17:16:04 +03:30
import 'package:flutter/material.dart' show Colors;
2025-06-15 09:48:52 +03:30
import 'package:flutter/widgets.dart';
import 'package:rasadyar_auth/data/services/token_storage_service.dart';
2025-06-21 17:01:37 +03:30
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';
2025-06-15 09:48:52 +03:30
import 'package:rasadyar_chicken/presentation/pages/home/view.dart';
import 'package:rasadyar_chicken/presentation/pages/out_of_province/view.dart';
2025-06-27 18:08:53 +03:30
import 'package:rasadyar_chicken/presentation/pages/sales_in_province/view.dart';
2025-06-15 17:16:04 +03:30
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
enum ErrorLocationType { serviceDisabled, permissionDenied, none }
class RootLogic extends GetxController {
2025-06-15 09:48:52 +03:30
RxInt currentPage = 2.obs;
List<Widget> pages = [
2025-06-27 18:08:53 +03:30
SalesInProvincePage(),
OutOfProvincePage(),
2025-06-15 09:48:52 +03:30
HomePage(),
Container(color: Colors.blue),
Container(color: Colors.amber),
];
2025-06-22 16:51:22 +03:30
2025-06-15 17:16:04 +03:30
late DioRemote dioRemote;
var tokenService = Get.find<TokenStorageService>();
late ChickenRepository chickenRepository;
2025-06-15 17:16:04 +03:30
RxList<ErrorLocationType> errorLocationType = RxList();
RxMap<int, dynamic> inventoryExpandedList = RxMap();
2025-06-21 17:01:37 +03:30
RxList<IranProvinceCityModel> provinces = <IranProvinceCityModel>[].obs;
@override
void onInit() {
super.onInit();
dioRemote = DioRemote(baseUrl: tokenService.baseurl.value);
dioRemote.init();
chickenRepository = ChickenRepositoryImpl(dioRemote);
2025-06-15 17:16:04 +03:30
2025-06-21 17:01:37 +03:30
getProvinces();
2025-06-15 17:16:04 +03:30
/*getInventory();
getKillHouseDistributionInfo();*/
}
void toggleExpanded(int index) {
if (inventoryExpandedList.keys.contains(index)) {
inventoryExpandedList.remove(index);
} else {
inventoryExpandedList[index] = false;
}
}
2025-06-15 17:16:04 +03:30
void rootErrorHandler(DioException error) {
handleGeneric(error, () {
tokenService.deleteTokens();
});
}
2025-06-15 09:48:52 +03:30
void changePage(int index) {
currentPage.value = index;
}
2025-06-21 17:01:37 +03:30
Future<void> getProvinces() async {
try {
final res = await chickenRepository.getProvince();
if (res != null) {
provinces.clear();
provinces.value = res;
}
} catch (e) {
provinces.clear();
}
}
}