refactor: chicken module for other role's

feat: steward Role
chore: add some rive file and library
This commit is contained in:
2025-09-02 14:40:55 +03:30
parent dfb9298097
commit 5ec772ee8a
49 changed files with 395 additions and 201 deletions

BIN
assets/rive/shapes.riv Normal file

Binary file not shown.

View File

@@ -51,7 +51,7 @@ Map<String, Future<void>?> getTargetModule(Module? value) {
case Module.liveStocks:
return {LiveStockRoutes.init: setupLiveStockDI()};
case Module.chicken:
return {ChickenRoutes.init: setupChickenDI()};
return {ChickenRoutes.initSteward: setupChickenDI()};
default:
return {AppPaths.moduleList: null};
}

View File

@@ -5,5 +5,4 @@ library;
export 'presentation/routes/pages.dart';
export 'presentation/routes/routes.dart';
export 'presentation/pages/root/view.dart';
export 'presentation/pages/root/logic.dart';

View File

@@ -0,0 +1,78 @@
String getFaUserRole(String? role) {
switch (role) {
case "Admin":
return "ادمین استان";
case "CityOperator":
return "تعاونی";
case "Poultry":
return "مرغدار";
case "ProvinceOperator":
return "مدیر اجرایی";
case "ProvinceFinancial":
return "مالی اتحادیه";
case "KillHouse":
return "کشتارگاه";
case "KillHouseVet":
return "دامپزشک کشتارگاه";
case "VetFarm":
return "دامپزشک فارم";
case "Driver":
return "راننده";
case "ProvinceInspector":
return "بازرس اتحادیه ";
case "VetSupervisor":
return "دامپزشک کل";
case "Jahad":
return "جهاد کشاورزی استان";
case "CityJahad":
return "جهاد کشاورزی شهرستان";
case "ProvincialGovernment":
return "استانداری";
case "Guilds":
return "صنف";
case "Steward":
return "مباشر";
case "Commerce":
return "معاونت بازرگانی استان";
case "CityCommerce":
return "بازرگانی شهرستان";
case "UnitWindow":
return "پنجره واحد";
case "CityVet":
return "دامپزشک شهرستان";
case "Observatory":
return "رصدخانه";
case "ProvinceSupervisor":
return "ناظر استان";
case "GuildRoom":
return "اتاق اصناف";
case "PosCompany":
return "شرکت psp";
case "LiveStockSupport":
return "پشتیبانی امور دام";
case "SuperAdmin":
return "ادمین کل";
case "ChainCompany":
return "شرکت زنجیره";
case "AdminX":
return "ادمین ایکس";
case "Supporter":
return "پشتیبان سامانه";
case "Dispenser":
return "پخش کننده";
case "CityPoultry":
return "طیور شهرستان";
case "ParentCompany":
return "شرکت مادر";
case "ColdHouseSteward":
return "مباشر سردخانه";
case "CityGuild":
return "اتحادیه پروتئینی";
case "LiveStockProvinceJahad":
return "جهاد استان";
case "PoultryScience":
return "کارشناس طیور";
default:
return "نامشخص";
}
}

View File

@@ -23,7 +23,7 @@ class ChickenLocalDataSourceImp implements ChickenLocalDataSource {
color: AppColor.greenLightActive.toARGB32(),
iconColor: AppColor.greenNormal.toARGB32(),
iconPath: Assets.vec.cubeSearchSvg.path,
path: ChickenRoutes.buysInProvince,
path: ChickenRoutes.buysInProvinceSteward,
),
WidelyUsedLocalItem(
index: 1,
@@ -32,7 +32,7 @@ class ChickenLocalDataSourceImp implements ChickenLocalDataSource {
color: AppColor.blueLightActive.toARGB32(),
iconColor: AppColor.blueNormal.toARGB32(),
iconPath: Assets.vec.cubeSvg.path,
path: ChickenRoutes.salesInProvince,
path: ChickenRoutes.salesInProvinceSteward,
),
WidelyUsedLocalItem(
@@ -41,7 +41,7 @@ class ChickenLocalDataSourceImp implements ChickenLocalDataSource {
color: AppColor.blueLightActive.toARGB32(),
iconColor: AppColor.blueNormal.toARGB32(),
iconPath: Assets.vec.cubeRotateSvg.path,
path: ChickenRoutes.buysInProvince,
path: ChickenRoutes.buysInProvinceSteward,
),
];
await local.add(

View File

@@ -1,5 +1,3 @@
import 'package:freezed_annotation/freezed_annotation.dart';
part 'auth_response_model.freezed.dart';
@@ -8,13 +6,24 @@ part 'auth_response_model.g.dart';
@freezed
abstract class AuthResponseModel with _$AuthResponseModel {
const factory AuthResponseModel({
String? refresh,
String? access,
bool? otpStatus,
String? accessToken,
String? expiresIn,
String? scope,
String? expireTime,
String? mobile,
String? fullname,
String? firstname,
String? lastname,
String? city,
String? province,
String? nationalCode,
String? nationalId,
String? birthday,
String? image,
int? baseOrder,
List<String>? role,
}) = _AuthResponseModel;
factory AuthResponseModel.fromJson(Map<String, dynamic> json) =>
_$AuthResponseModelFromJson(json);
}

View File

@@ -15,7 +15,7 @@ T _$identity<T>(T value) => value;
/// @nodoc
mixin _$AuthResponseModel {
String? get refresh; String? get access; bool? get otpStatus;
String? get accessToken; String? get expiresIn; String? get scope; String? get expireTime; String? get mobile; String? get fullname; String? get firstname; String? get lastname; String? get city; String? get province; String? get nationalCode; String? get nationalId; String? get birthday; String? get image; int? get baseOrder; List<String>? get role;
/// Create a copy of AuthResponseModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@@ -28,16 +28,16 @@ $AuthResponseModelCopyWith<AuthResponseModel> get copyWith => _$AuthResponseMode
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is AuthResponseModel&&(identical(other.refresh, refresh) || other.refresh == refresh)&&(identical(other.access, access) || other.access == access)&&(identical(other.otpStatus, otpStatus) || other.otpStatus == otpStatus));
return identical(this, other) || (other.runtimeType == runtimeType&&other is AuthResponseModel&&(identical(other.accessToken, accessToken) || other.accessToken == accessToken)&&(identical(other.expiresIn, expiresIn) || other.expiresIn == expiresIn)&&(identical(other.scope, scope) || other.scope == scope)&&(identical(other.expireTime, expireTime) || other.expireTime == expireTime)&&(identical(other.mobile, mobile) || other.mobile == mobile)&&(identical(other.fullname, fullname) || other.fullname == fullname)&&(identical(other.firstname, firstname) || other.firstname == firstname)&&(identical(other.lastname, lastname) || other.lastname == lastname)&&(identical(other.city, city) || other.city == city)&&(identical(other.province, province) || other.province == province)&&(identical(other.nationalCode, nationalCode) || other.nationalCode == nationalCode)&&(identical(other.nationalId, nationalId) || other.nationalId == nationalId)&&(identical(other.birthday, birthday) || other.birthday == birthday)&&(identical(other.image, image) || other.image == image)&&(identical(other.baseOrder, baseOrder) || other.baseOrder == baseOrder)&&const DeepCollectionEquality().equals(other.role, role));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,refresh,access,otpStatus);
int get hashCode => Object.hash(runtimeType,accessToken,expiresIn,scope,expireTime,mobile,fullname,firstname,lastname,city,province,nationalCode,nationalId,birthday,image,baseOrder,const DeepCollectionEquality().hash(role));
@override
String toString() {
return 'AuthResponseModel(refresh: $refresh, access: $access, otpStatus: $otpStatus)';
return 'AuthResponseModel(accessToken: $accessToken, expiresIn: $expiresIn, scope: $scope, expireTime: $expireTime, mobile: $mobile, fullname: $fullname, firstname: $firstname, lastname: $lastname, city: $city, province: $province, nationalCode: $nationalCode, nationalId: $nationalId, birthday: $birthday, image: $image, baseOrder: $baseOrder, role: $role)';
}
@@ -48,7 +48,7 @@ abstract mixin class $AuthResponseModelCopyWith<$Res> {
factory $AuthResponseModelCopyWith(AuthResponseModel value, $Res Function(AuthResponseModel) _then) = _$AuthResponseModelCopyWithImpl;
@useResult
$Res call({
String? refresh, String? access, bool? otpStatus
String? accessToken, String? expiresIn, String? scope, String? expireTime, String? mobile, String? fullname, String? firstname, String? lastname, String? city, String? province, String? nationalCode, String? nationalId, String? birthday, String? image, int? baseOrder, List<String>? role
});
@@ -65,12 +65,25 @@ class _$AuthResponseModelCopyWithImpl<$Res>
/// Create a copy of AuthResponseModel
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? refresh = freezed,Object? access = freezed,Object? otpStatus = freezed,}) {
@pragma('vm:prefer-inline') @override $Res call({Object? accessToken = freezed,Object? expiresIn = freezed,Object? scope = freezed,Object? expireTime = freezed,Object? mobile = freezed,Object? fullname = freezed,Object? firstname = freezed,Object? lastname = freezed,Object? city = freezed,Object? province = freezed,Object? nationalCode = freezed,Object? nationalId = freezed,Object? birthday = freezed,Object? image = freezed,Object? baseOrder = freezed,Object? role = freezed,}) {
return _then(_self.copyWith(
refresh: freezed == refresh ? _self.refresh : refresh // ignore: cast_nullable_to_non_nullable
as String?,access: freezed == access ? _self.access : access // ignore: cast_nullable_to_non_nullable
as String?,otpStatus: freezed == otpStatus ? _self.otpStatus : otpStatus // ignore: cast_nullable_to_non_nullable
as bool?,
accessToken: freezed == accessToken ? _self.accessToken : accessToken // ignore: cast_nullable_to_non_nullable
as String?,expiresIn: freezed == expiresIn ? _self.expiresIn : expiresIn // ignore: cast_nullable_to_non_nullable
as String?,scope: freezed == scope ? _self.scope : scope // ignore: cast_nullable_to_non_nullable
as String?,expireTime: freezed == expireTime ? _self.expireTime : expireTime // ignore: cast_nullable_to_non_nullable
as String?,mobile: freezed == mobile ? _self.mobile : mobile // ignore: cast_nullable_to_non_nullable
as String?,fullname: freezed == fullname ? _self.fullname : fullname // ignore: cast_nullable_to_non_nullable
as String?,firstname: freezed == firstname ? _self.firstname : firstname // ignore: cast_nullable_to_non_nullable
as String?,lastname: freezed == lastname ? _self.lastname : lastname // ignore: cast_nullable_to_non_nullable
as String?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as String?,province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
as String?,nationalCode: freezed == nationalCode ? _self.nationalCode : nationalCode // ignore: cast_nullable_to_non_nullable
as String?,nationalId: freezed == nationalId ? _self.nationalId : nationalId // ignore: cast_nullable_to_non_nullable
as String?,birthday: freezed == birthday ? _self.birthday : birthday // ignore: cast_nullable_to_non_nullable
as String?,image: freezed == image ? _self.image : image // ignore: cast_nullable_to_non_nullable
as String?,baseOrder: freezed == baseOrder ? _self.baseOrder : baseOrder // ignore: cast_nullable_to_non_nullable
as int?,role: freezed == role ? _self.role : role // ignore: cast_nullable_to_non_nullable
as List<String>?,
));
}
@@ -155,10 +168,10 @@ return $default(_that);case _:
/// }
/// ```
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? refresh, String? access, bool? otpStatus)? $default,{required TResult orElse(),}) {final _that = this;
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( String? accessToken, String? expiresIn, String? scope, String? expireTime, String? mobile, String? fullname, String? firstname, String? lastname, String? city, String? province, String? nationalCode, String? nationalId, String? birthday, String? image, int? baseOrder, List<String>? role)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _AuthResponseModel() when $default != null:
return $default(_that.refresh,_that.access,_that.otpStatus);case _:
return $default(_that.accessToken,_that.expiresIn,_that.scope,_that.expireTime,_that.mobile,_that.fullname,_that.firstname,_that.lastname,_that.city,_that.province,_that.nationalCode,_that.nationalId,_that.birthday,_that.image,_that.baseOrder,_that.role);case _:
return orElse();
}
@@ -176,10 +189,10 @@ return $default(_that.refresh,_that.access,_that.otpStatus);case _:
/// }
/// ```
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? refresh, String? access, bool? otpStatus) $default,) {final _that = this;
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( String? accessToken, String? expiresIn, String? scope, String? expireTime, String? mobile, String? fullname, String? firstname, String? lastname, String? city, String? province, String? nationalCode, String? nationalId, String? birthday, String? image, int? baseOrder, List<String>? role) $default,) {final _that = this;
switch (_that) {
case _AuthResponseModel():
return $default(_that.refresh,_that.access,_that.otpStatus);case _:
return $default(_that.accessToken,_that.expiresIn,_that.scope,_that.expireTime,_that.mobile,_that.fullname,_that.firstname,_that.lastname,_that.city,_that.province,_that.nationalCode,_that.nationalId,_that.birthday,_that.image,_that.baseOrder,_that.role);case _:
throw StateError('Unexpected subclass');
}
@@ -196,10 +209,10 @@ return $default(_that.refresh,_that.access,_that.otpStatus);case _:
/// }
/// ```
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? refresh, String? access, bool? otpStatus)? $default,) {final _that = this;
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( String? accessToken, String? expiresIn, String? scope, String? expireTime, String? mobile, String? fullname, String? firstname, String? lastname, String? city, String? province, String? nationalCode, String? nationalId, String? birthday, String? image, int? baseOrder, List<String>? role)? $default,) {final _that = this;
switch (_that) {
case _AuthResponseModel() when $default != null:
return $default(_that.refresh,_that.access,_that.otpStatus);case _:
return $default(_that.accessToken,_that.expiresIn,_that.scope,_that.expireTime,_that.mobile,_that.fullname,_that.firstname,_that.lastname,_that.city,_that.province,_that.nationalCode,_that.nationalId,_that.birthday,_that.image,_that.baseOrder,_that.role);case _:
return null;
}
@@ -211,12 +224,33 @@ return $default(_that.refresh,_that.access,_that.otpStatus);case _:
@JsonSerializable()
class _AuthResponseModel implements AuthResponseModel {
const _AuthResponseModel({this.refresh, this.access, this.otpStatus});
const _AuthResponseModel({this.accessToken, this.expiresIn, this.scope, this.expireTime, this.mobile, this.fullname, this.firstname, this.lastname, this.city, this.province, this.nationalCode, this.nationalId, this.birthday, this.image, this.baseOrder, final List<String>? role}): _role = role;
factory _AuthResponseModel.fromJson(Map<String, dynamic> json) => _$AuthResponseModelFromJson(json);
@override final String? refresh;
@override final String? access;
@override final bool? otpStatus;
@override final String? accessToken;
@override final String? expiresIn;
@override final String? scope;
@override final String? expireTime;
@override final String? mobile;
@override final String? fullname;
@override final String? firstname;
@override final String? lastname;
@override final String? city;
@override final String? province;
@override final String? nationalCode;
@override final String? nationalId;
@override final String? birthday;
@override final String? image;
@override final int? baseOrder;
final List<String>? _role;
@override List<String>? get role {
final value = _role;
if (value == null) return null;
if (_role is EqualUnmodifiableListView) return _role;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(value);
}
/// Create a copy of AuthResponseModel
/// with the given fields replaced by the non-null parameter values.
@@ -231,16 +265,16 @@ Map<String, dynamic> toJson() {
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is _AuthResponseModel&&(identical(other.refresh, refresh) || other.refresh == refresh)&&(identical(other.access, access) || other.access == access)&&(identical(other.otpStatus, otpStatus) || other.otpStatus == otpStatus));
return identical(this, other) || (other.runtimeType == runtimeType&&other is _AuthResponseModel&&(identical(other.accessToken, accessToken) || other.accessToken == accessToken)&&(identical(other.expiresIn, expiresIn) || other.expiresIn == expiresIn)&&(identical(other.scope, scope) || other.scope == scope)&&(identical(other.expireTime, expireTime) || other.expireTime == expireTime)&&(identical(other.mobile, mobile) || other.mobile == mobile)&&(identical(other.fullname, fullname) || other.fullname == fullname)&&(identical(other.firstname, firstname) || other.firstname == firstname)&&(identical(other.lastname, lastname) || other.lastname == lastname)&&(identical(other.city, city) || other.city == city)&&(identical(other.province, province) || other.province == province)&&(identical(other.nationalCode, nationalCode) || other.nationalCode == nationalCode)&&(identical(other.nationalId, nationalId) || other.nationalId == nationalId)&&(identical(other.birthday, birthday) || other.birthday == birthday)&&(identical(other.image, image) || other.image == image)&&(identical(other.baseOrder, baseOrder) || other.baseOrder == baseOrder)&&const DeepCollectionEquality().equals(other._role, _role));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,refresh,access,otpStatus);
int get hashCode => Object.hash(runtimeType,accessToken,expiresIn,scope,expireTime,mobile,fullname,firstname,lastname,city,province,nationalCode,nationalId,birthday,image,baseOrder,const DeepCollectionEquality().hash(_role));
@override
String toString() {
return 'AuthResponseModel(refresh: $refresh, access: $access, otpStatus: $otpStatus)';
return 'AuthResponseModel(accessToken: $accessToken, expiresIn: $expiresIn, scope: $scope, expireTime: $expireTime, mobile: $mobile, fullname: $fullname, firstname: $firstname, lastname: $lastname, city: $city, province: $province, nationalCode: $nationalCode, nationalId: $nationalId, birthday: $birthday, image: $image, baseOrder: $baseOrder, role: $role)';
}
@@ -251,7 +285,7 @@ abstract mixin class _$AuthResponseModelCopyWith<$Res> implements $AuthResponseM
factory _$AuthResponseModelCopyWith(_AuthResponseModel value, $Res Function(_AuthResponseModel) _then) = __$AuthResponseModelCopyWithImpl;
@override @useResult
$Res call({
String? refresh, String? access, bool? otpStatus
String? accessToken, String? expiresIn, String? scope, String? expireTime, String? mobile, String? fullname, String? firstname, String? lastname, String? city, String? province, String? nationalCode, String? nationalId, String? birthday, String? image, int? baseOrder, List<String>? role
});
@@ -268,12 +302,25 @@ class __$AuthResponseModelCopyWithImpl<$Res>
/// Create a copy of AuthResponseModel
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? refresh = freezed,Object? access = freezed,Object? otpStatus = freezed,}) {
@override @pragma('vm:prefer-inline') $Res call({Object? accessToken = freezed,Object? expiresIn = freezed,Object? scope = freezed,Object? expireTime = freezed,Object? mobile = freezed,Object? fullname = freezed,Object? firstname = freezed,Object? lastname = freezed,Object? city = freezed,Object? province = freezed,Object? nationalCode = freezed,Object? nationalId = freezed,Object? birthday = freezed,Object? image = freezed,Object? baseOrder = freezed,Object? role = freezed,}) {
return _then(_AuthResponseModel(
refresh: freezed == refresh ? _self.refresh : refresh // ignore: cast_nullable_to_non_nullable
as String?,access: freezed == access ? _self.access : access // ignore: cast_nullable_to_non_nullable
as String?,otpStatus: freezed == otpStatus ? _self.otpStatus : otpStatus // ignore: cast_nullable_to_non_nullable
as bool?,
accessToken: freezed == accessToken ? _self.accessToken : accessToken // ignore: cast_nullable_to_non_nullable
as String?,expiresIn: freezed == expiresIn ? _self.expiresIn : expiresIn // ignore: cast_nullable_to_non_nullable
as String?,scope: freezed == scope ? _self.scope : scope // ignore: cast_nullable_to_non_nullable
as String?,expireTime: freezed == expireTime ? _self.expireTime : expireTime // ignore: cast_nullable_to_non_nullable
as String?,mobile: freezed == mobile ? _self.mobile : mobile // ignore: cast_nullable_to_non_nullable
as String?,fullname: freezed == fullname ? _self.fullname : fullname // ignore: cast_nullable_to_non_nullable
as String?,firstname: freezed == firstname ? _self.firstname : firstname // ignore: cast_nullable_to_non_nullable
as String?,lastname: freezed == lastname ? _self.lastname : lastname // ignore: cast_nullable_to_non_nullable
as String?,city: freezed == city ? _self.city : city // ignore: cast_nullable_to_non_nullable
as String?,province: freezed == province ? _self.province : province // ignore: cast_nullable_to_non_nullable
as String?,nationalCode: freezed == nationalCode ? _self.nationalCode : nationalCode // ignore: cast_nullable_to_non_nullable
as String?,nationalId: freezed == nationalId ? _self.nationalId : nationalId // ignore: cast_nullable_to_non_nullable
as String?,birthday: freezed == birthday ? _self.birthday : birthday // ignore: cast_nullable_to_non_nullable
as String?,image: freezed == image ? _self.image : image // ignore: cast_nullable_to_non_nullable
as String?,baseOrder: freezed == baseOrder ? _self.baseOrder : baseOrder // ignore: cast_nullable_to_non_nullable
as int?,role: freezed == role ? _self._role : role // ignore: cast_nullable_to_non_nullable
as List<String>?,
));
}

View File

@@ -8,14 +8,40 @@ part of 'auth_response_model.dart';
_AuthResponseModel _$AuthResponseModelFromJson(Map<String, dynamic> json) =>
_AuthResponseModel(
refresh: json['refresh'] as String?,
access: json['access'] as String?,
otpStatus: json['otp_status'] as bool?,
accessToken: json['access_token'] as String?,
expiresIn: json['expires_in'] as String?,
scope: json['scope'] as String?,
expireTime: json['expire_time'] as String?,
mobile: json['mobile'] as String?,
fullname: json['fullname'] as String?,
firstname: json['firstname'] as String?,
lastname: json['lastname'] as String?,
city: json['city'] as String?,
province: json['province'] as String?,
nationalCode: json['national_code'] as String?,
nationalId: json['national_id'] as String?,
birthday: json['birthday'] as String?,
image: json['image'] as String?,
baseOrder: (json['base_order'] as num?)?.toInt(),
role: (json['role'] as List<dynamic>?)?.map((e) => e as String).toList(),
);
Map<String, dynamic> _$AuthResponseModelToJson(_AuthResponseModel instance) =>
<String, dynamic>{
'refresh': instance.refresh,
'access': instance.access,
'otp_status': instance.otpStatus,
'access_token': instance.accessToken,
'expires_in': instance.expiresIn,
'scope': instance.scope,
'expire_time': instance.expireTime,
'mobile': instance.mobile,
'fullname': instance.fullname,
'firstname': instance.firstname,
'lastname': instance.lastname,
'city': instance.city,
'province': instance.province,
'national_code': instance.nationalCode,
'national_id': instance.nationalId,
'birthday': instance.birthday,
'image': instance.image,
'base_order': instance.baseOrder,
'role': instance.role,
};

View File

@@ -105,19 +105,6 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin {
return isCaptchaValid && isFormValid;
}
LoginRequestModel _buildLoginRequest() {
final phone = usernameController.value.text;
final pass = passwordController.value.text;
final code = captchaController.textController.value.text;
final key = captchaController.captchaKey.value;
return LoginRequestModel.createWithCaptcha(
username: phone,
password: pass,
captchaCode: code,
captchaKey: key!,
);
}
Future<void> submitLoginForm() async {
if (!_isFormValid()) return;
@@ -144,7 +131,7 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin {
);
}
Get.offAndToNamed(ChickenRoutes.init);
Get.offAndToNamed(ChickenRoutes.initSteward);
},
onError: (error, stackTrace) {
if (error is DioException) {

View File

@@ -1,8 +1,6 @@
import 'package:rasadyar_chicken/chicken.dart';
import 'package:rasadyar_core/core.dart';
class BuyLogic extends GetxController {
RootLogic rootLogic = Get.find<RootLogic>();
List<String> routesName = ['خرید'];

View File

@@ -27,7 +27,7 @@ class BuyPage extends GetView<BuyLogic> {
iconPath: Assets.vec.cubeSvg.path,
color: AppColor.greenNormalActive,
onTap: () {
Get.toNamed(ChickenRoutes.buysInProvince, id: 0);
Get.toNamed(ChickenRoutes.buysInProvinceSteward, id: 0);
},
),
saleOrBuyItemCard(
@@ -35,7 +35,7 @@ class BuyPage extends GetView<BuyLogic> {
iconPath: Assets.vec.truckFastSvg.path,
color: AppColor.greenNormalActive,
onTap: () {
Get.toNamed(ChickenRoutes.buysOutOfProvince, id: 0);
Get.toNamed(ChickenRoutes.buysOutOfProvinceSteward, id: 0);
},
),
],

View File

@@ -1,7 +1,7 @@
import 'package:rasadyar_chicken/presentation/pages/buy/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province_all/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province_waiting/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/buy/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/buy_in_province_all/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/buy_in_province_waiting/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
class BuyInProvinceLogic extends GetxController {
@@ -11,7 +11,7 @@ class BuyInProvinceLogic extends GetxController {
Rx<Jalali> fromDateFilter = Jalali.now().obs;
Rx<Jalali> toDateFilter = Jalali.now().obs;
RootLogic get rootLogic => Get.find<RootLogic>();
StewardRootLogic get rootLogic => Get.find<StewardRootLogic>();
BuyLogic get buyLogic => Get.find<BuyLogic>();
RxInt selectedSegmentIndex = 0.obs;

View File

@@ -1,9 +1,8 @@
import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province_all/view.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province_waiting/view.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/buy_in_province_all/view.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/buy_in_province_waiting/view.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart';
import 'package:rasadyar_chicken/presentation/widget/inventory_widget.dart';
import 'package:rasadyar_chicken/presentation/widget/steward/inventory_widget.dart';
import 'package:rasadyar_chicken/presentation/widget/page_route.dart';
import 'package:rasadyar_core/core.dart';
@@ -94,6 +93,4 @@ class BuyInProvincePage extends GetView<BuyInProvinceLogic> {
),
);
}
}

View File

@@ -1,6 +1,6 @@
import 'package:rasadyar_chicken/data/models/request/steward_allocation/steward_allocation_request.dart';
import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_arrival.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
class BuyInProvinceAllLogic extends GetxController {
@@ -12,7 +12,7 @@ class BuyInProvinceAllLogic extends GetxController {
final RxBool isLoadingMoreAllocationsMade = false.obs;
RxInt currentPage = 1.obs;
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
Rx<Resource<PaginationModel<WaitingArrivalModel>>> allProduct =
Resource<PaginationModel<WaitingArrivalModel>>.loading().obs;

View File

@@ -3,7 +3,7 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/request/steward_allocation/steward_allocation_request.dart';
import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_arrival.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
@@ -16,7 +16,7 @@ class BuyInProvinceWaitingLogic extends GetxController {
Rx<Color> bgConfirmAllColor = AppColor.blueNormal.obs;
RxInt currentPage = 1.obs;
final RxBool isLoadingMoreAllocationsMade = false.obs;
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
Rx<Resource<PaginationModel<WaitingArrivalModel>>> waitingProduct =
Resource<PaginationModel<WaitingArrivalModel>>.loading().obs;

View File

@@ -4,9 +4,9 @@ import 'package:rasadyar_chicken/data/models/request/create_steward_free_bar/cre
import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/data/models/response/steward_free_bar/steward_free_bar.dart';
import 'package:rasadyar_chicken/presentation/pages/buy/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/buy/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
@@ -33,7 +33,7 @@ class BuyOutOfProvinceLogic extends GetxController {
RxnString _base64Image = RxnString();
RxnString editImageUrl = RxnString();
RootLogic get rootLogic => Get.find<RootLogic>();
StewardRootLogic get rootLogic => Get.find<StewardRootLogic>();
BuyLogic get buyLogic => Get.find<BuyLogic>();

View File

@@ -7,7 +7,7 @@ import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_pr
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/data/models/response/steward_free_bar/steward_free_bar.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart';
import 'package:rasadyar_chicken/presentation/widget/inventory_widget.dart';
import 'package:rasadyar_chicken/presentation/widget/steward/inventory_widget.dart';
import 'package:rasadyar_core/core.dart';

View File

@@ -2,10 +2,11 @@
import 'package:rasadyar_chicken/chicken.dart';
import 'package:rasadyar_chicken/data/models/response/bar_information/bar_information.dart';
import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
class HomeLogic extends GetxController {
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
RxnInt totalWeightTodayBars = RxnInt();
Rxn<KillHouseDistributionInfo> killHouseDistributionInfo = Rxn<KillHouseDistributionInfo>();
Rxn<BarInformation> barInformation = Rxn();

View File

@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/inventory/inventory_model.dart';
import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
import 'package:rasadyar_chicken/presentation/widget/app_bar.dart';
import 'package:rasadyar_chicken/presentation/widget/widely_used/view.dart';
import 'package:rasadyar_chicken/presentation/widget/steward/widely_used/view.dart';
import 'package:rasadyar_core/core.dart';
import 'logic.dart';
@@ -31,7 +31,7 @@ class HomePage extends GetView<HomeLogic> {
borderRadius: BorderRadius.circular(8),
side: BorderSide(width: 0.50, color: const Color(0xFFA9A9A9)),
),
child: ObxValue((data) {
return AnimatedSize(
duration: Duration(milliseconds: 300),
@@ -79,9 +79,9 @@ class HomePage extends GetView<HomeLogic> {
),
SizedBox(height: 8),
_todayShipmentWidget(),
_inventoryWidget(),
Row(
children: [
Text(
@@ -91,9 +91,9 @@ class HomePage extends GetView<HomeLogic> {
),
],
),
_informationShipment(),
Row(
children: [
Text(
@@ -103,7 +103,7 @@ class HomePage extends GetView<HomeLogic> {
),
],
),
distributionInformationWidget(),
],
),
@@ -154,9 +154,9 @@ class HomePage extends GetView<HomeLogic> {
}, controller.isExpanded),
),
),
WidelyUsedWidget(),
SizedBox(height: 20,)
SizedBox(height: 20),
],
),
),

View File

@@ -3,11 +3,11 @@ import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/request/change_password/change_password_request_model.dart';
import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
import 'package:rasadyar_chicken/data/models/response/user_profile/user_profile.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
class ProfileLogic extends GetxController {
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
RxInt selectedInformationType = 0.obs;
Rxn<Jalali> birthDate = Rxn<Jalali>();

View File

@@ -11,22 +11,22 @@ import 'package:rasadyar_chicken/data/models/response/roles_products/roles_produ
import 'package:rasadyar_chicken/data/repositories/chicken/chicken_repository.dart';
import 'package:rasadyar_chicken/data/repositories/chicken/chicken_repository_imp.dart';
import 'package:rasadyar_chicken/presentation/pages/buy/view.dart';
import 'package:rasadyar_chicken/presentation/pages/home/view.dart';
import 'package:rasadyar_chicken/presentation/pages/profile/view.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/view.dart';
import 'package:rasadyar_chicken/presentation/pages/segmentation/view.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/buy/view.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/home/view.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/profile/view.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sale/view.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/segmentation/view.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
enum ErrorLocationType { serviceDisabled, permissionDenied, none }
class RootLogic extends GetxController {
class StewardRootLogic extends GetxController {
RxInt currentPage = 2.obs;
List<Widget> pages = [BuyPage(), SalePage(), HomePage(), SegmentationPage(), ProfilePage()];
final defaultRoutes = <int, String>{0: ChickenRoutes.buy, 1: ChickenRoutes.sale};
final defaultRoutes = <int, String>{0: ChickenRoutes.buySteward, 1: ChickenRoutes.saleSteward};
RxList<ProductModel> rolesProductsModel = RxList<ProductModel>();
Rxn<WidelyUsedLocalModel> widelyUsedList = Rxn<WidelyUsedLocalModel>();

View File

@@ -2,10 +2,11 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:rasadyar_chicken/chicken.dart';
import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
class RootPage extends GetView<RootLogic> {
RootPage({super.key});
class StewardRootPage extends GetView<StewardRootLogic> {
StewardRootPage({super.key});
DateTime? _lastBackPressed;
@@ -46,7 +47,7 @@ class RootPage extends GetView<RootLogic> {
onGenerateRoute: (settings) {
final page = ChickenPages.pages.firstWhere(
(e) => e.name == settings.name,
orElse: () => ChickenPages.pages.firstWhere((e) => e.name == ChickenRoutes.buy),
orElse: () => ChickenPages.pages.firstWhere((e) => e.name == ChickenRoutes.buySteward),
);
return buildRouteFromGetPage(page);
@@ -58,7 +59,7 @@ class RootPage extends GetView<RootLogic> {
final page = ChickenPages.pages.firstWhere(
(e) => e.name == settings.name,
orElse: () =>
ChickenPages.pages.firstWhere((e) => e.name == ChickenRoutes.sale),
ChickenPages.pages.firstWhere((e) => e.name == ChickenRoutes.saleSteward),
);
return buildRouteFromGetPage(page);

View File

@@ -4,7 +4,7 @@ import 'package:rasadyar_chicken/data/models/response/allocated_made/allocated_m
import 'package:rasadyar_chicken/data/models/response/guild/guild_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/data/models/response/steward_free_bar_dashboard/steward_free_bar_dashboard.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
class SaleLogic extends GetxController {
@@ -14,7 +14,7 @@ class SaleLogic extends GetxController {
Rxn<StewardFreeBarDashboard> stewardFreeDashboard = Rxn<StewardFreeBarDashboard>();
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
List<String> routesName = ['فروش'];

View File

@@ -27,14 +27,14 @@ class SalePage extends GetView<SaleLogic> {
title: 'فروش داخل استان',
iconPath: Assets.vec.cubeSvg.path,
onTap: () {
Get.toNamed(ChickenRoutes.salesInProvince, id: 1);
Get.toNamed(ChickenRoutes.salesInProvinceSteward, id: 1);
},
),
saleOrBuyItemCard(
title: 'فروش خارج استان',
iconPath: Assets.vec.truckFastSvg.path,
onTap: () {
Get.toNamed(ChickenRoutes.salesOutOfProvince, id: 1);
Get.toNamed(ChickenRoutes.salesOutOfProvinceSteward, id: 1);
},
),
],

View File

@@ -8,14 +8,14 @@ import 'package:rasadyar_chicken/data/models/response/allocated_made/allocated_m
import 'package:rasadyar_chicken/data/models/response/guild/guild_model.dart';
import 'package:rasadyar_chicken/data/models/response/guild_profile/guild_profile.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/string_utils.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
class SalesInProvinceLogic extends GetxController {
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
SaleLogic saleLogic = Get.find<SaleLogic>();
RxnString searchedValue = RxnString();
RxList<int> isExpandedList = <int>[].obs;

View File

@@ -5,7 +5,7 @@ import 'package:rasadyar_chicken/data/models/response/guild/guild_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/presentation/utils/string_utils.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart';
import 'package:rasadyar_chicken/presentation/widget/inventory_widget.dart';
import 'package:rasadyar_chicken/presentation/widget/steward/inventory_widget.dart';
import 'package:rasadyar_chicken/presentation/widget/page_route.dart';
import 'package:rasadyar_core/core.dart';

View File

@@ -5,15 +5,15 @@ import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_pr
import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/data/models/response/steward_free_sale_bar/steward_free_sale_bar.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province_buyers/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province_sales_list/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sales_out_of_province_buyers/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sales_out_of_province_sales_list/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
class SalesOutOfProvinceLogic extends GetxController {
RootLogic get rootLogic => Get.find<RootLogic>();
StewardRootLogic get rootLogic => Get.find<StewardRootLogic>();
SaleLogic get saleLogic => Get.find<SaleLogic>();

View File

@@ -4,11 +4,10 @@ import 'package:flutter/services.dart';
import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/data/models/response/steward_free_sale_bar/steward_free_sale_bar.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province_sales_list/view.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart';
import 'package:rasadyar_chicken/presentation/widget/filter_bottom_sheet.dart';
import 'package:rasadyar_chicken/presentation/widget/inventory_widget.dart';
import 'package:rasadyar_chicken/presentation/widget/steward/inventory_widget.dart';
import 'package:rasadyar_chicken/presentation/widget/page_route.dart';
import 'package:rasadyar_core/core.dart';
@@ -71,7 +70,7 @@ class SalesOutOfProvincePage extends GetView<SalesOutOfProvinceLogic> {
icon: Icon(CupertinoIcons.person_add_solid, color: Colors.white, size: 35.w),
backgroundColor: AppColor.blueNormal,
onPressed: () {
Get.toNamed(ChickenRoutes.salesOutOfProvinceBuyer, id: 1);
Get.toNamed(ChickenRoutes.salesOutOfProvinceBuyerSteward, id: 1);
},
),
SizedBox(width: 25),

View File

@@ -2,14 +2,14 @@ import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sales_out_of_province/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
class SalesOutOfProvinceBuyersLogic extends GetxController {
RootLogic get rootLogic => Get.find<RootLogic>();
StewardRootLogic get rootLogic => Get.find<StewardRootLogic>();
SaleLogic get saleLogic => Get.find<SaleLogic>();

View File

@@ -5,14 +5,14 @@ import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_pr
import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/data/models/response/steward_free_sale_bar/steward_free_sale_bar.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province_buyers/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/sales_out_of_province_buyers/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
class SalesOutOfProvinceSalesListLogic extends GetxController {
RootLogic get rootLogic => Get.find<RootLogic>();
StewardRootLogic get rootLogic => Get.find<StewardRootLogic>();
SaleLogic get saleLogic => Get.find<SaleLogic>();

View File

@@ -64,7 +64,7 @@ class SalesOutOfProvinceSalesListPage extends GetView<SalesOutOfProvinceSalesLis
icon: Icon(CupertinoIcons.person_add_solid, color: Colors.white, size: 35.w),
backgroundColor: AppColor.blueNormal,
onPressed: () {
Get.toNamed(ChickenRoutes.salesOutOfProvinceBuyer, id: 1);
Get.toNamed(ChickenRoutes.salesOutOfProvinceBuyerSteward, id: 1);
},
),
SizedBox(width: 25),

View File

@@ -4,12 +4,12 @@ import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/guild/guild_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/data/models/response/segmentation_model/segmentation_model.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart';
import 'package:rasadyar_core/core.dart';
class SegmentationLogic extends GetxController {
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
RxBool isLoadingMoreAllocationsMade = false.obs;
RxInt currentPage = 1.obs;

View File

@@ -0,0 +1,28 @@
export 'buy/logic.dart';
export 'buy/view.dart';
export 'buy_in_province/logic.dart';
export 'buy_in_province/view.dart';
export 'buy_in_province_all/logic.dart';
export 'buy_in_province_all/view.dart';
export 'buy_in_province_waiting/logic.dart';
export 'buy_in_province_waiting/view.dart';
export 'buy_out_of_province/logic.dart';
export 'buy_out_of_province/view.dart';
export 'home/logic.dart';
export 'home/view.dart';
export 'profile/logic.dart';
export 'profile/view.dart';
export 'root/logic.dart';
export 'root/view.dart';
export 'sale/logic.dart';
export 'sale/view.dart';
export 'sales_in_province/logic.dart';
export 'sales_in_province/view.dart';
export 'sales_out_of_province/logic.dart';
export 'sales_out_of_province/view.dart';
export 'sales_out_of_province_buyers/logic.dart';
export 'sales_out_of_province_buyers/view.dart';
export 'sales_out_of_province_sales_list/logic.dart';
export 'sales_out_of_province_sales_list/view.dart';
export 'segmentation/logic.dart';
export 'segmentation/view.dart';

View File

@@ -1,28 +1,6 @@
import 'package:rasadyar_chicken/presentation/pages/auth/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/auth/view.dart';
import 'package:rasadyar_chicken/presentation/pages/buy/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/buy/view.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province/view.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province_all/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_in_province_waiting/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_out_of_province/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/buy_out_of_province/view.dart';
import 'package:rasadyar_chicken/presentation/pages/home/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/home/view.dart';
import 'package:rasadyar_chicken/presentation/pages/profile/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/root/view.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sale/view.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_in_province/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_in_province/view.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province/view.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province_buyers/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province_buyers/view.dart';
import 'package:rasadyar_chicken/presentation/pages/sales_out_of_province_sales_list/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/segmentation/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/steward.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/logic.dart';
import 'package:rasadyar_chicken/presentation/widget/captcha/logic.dart';
@@ -42,13 +20,14 @@ sealed class ChickenPages {
}),
),
//region Steward Pages
GetPage(
name: ChickenRoutes.init,
page: () => RootPage(),
name: ChickenRoutes.initSteward,
page: () => StewardRootPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => BaseLogic());
Get.lazyPut(() => RootLogic());
Get.lazyPut(() => StewardRootLogic());
Get.lazyPut(() => HomeLogic());
Get.lazyPut(() => BuyLogic());
Get.lazyPut(() => SaleLogic());
@@ -59,7 +38,7 @@ sealed class ChickenPages {
),
GetPage(
name: ChickenRoutes.home,
name: ChickenRoutes.homeSteward,
page: () => HomePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
@@ -70,18 +49,18 @@ sealed class ChickenPages {
//sales
GetPage(
name: ChickenRoutes.sale,
name: ChickenRoutes.saleSteward,
page: () => SalePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => SaleLogic());
Get.lazyPut(() => BaseLogic());
Get.lazyPut(() => SalesOutOfProvinceLogic());
Get.lazyPut(() => RootLogic());
Get.lazyPut(() => StewardRootLogic());
}),
),
GetPage(
name: ChickenRoutes.salesOutOfProvince,
name: ChickenRoutes.salesOutOfProvinceSteward,
page: () => SalesOutOfProvincePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
@@ -92,7 +71,7 @@ sealed class ChickenPages {
}),
),
GetPage(
name: ChickenRoutes.salesOutOfProvinceBuyer,
name: ChickenRoutes.salesOutOfProvinceBuyerSteward,
page: () => SalesOutOfProvinceBuyersPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
@@ -103,7 +82,7 @@ sealed class ChickenPages {
}),
),
GetPage(
name: ChickenRoutes.salesInProvince,
name: ChickenRoutes.salesInProvinceSteward,
page: () => SalesInProvincePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
@@ -115,7 +94,7 @@ sealed class ChickenPages {
//buy
GetPage(
name: ChickenRoutes.buy,
name: ChickenRoutes.buySteward,
page: () => BuyPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
@@ -124,7 +103,7 @@ sealed class ChickenPages {
}),
),
GetPage(
name: ChickenRoutes.buysOutOfProvince,
name: ChickenRoutes.buysOutOfProvinceSteward,
page: () => BuyOutOfProvincePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
@@ -134,7 +113,7 @@ sealed class ChickenPages {
}),
),
GetPage(
name: ChickenRoutes.buysInProvince,
name: ChickenRoutes.buysInProvinceSteward,
page: () => BuyInProvincePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
@@ -145,5 +124,8 @@ sealed class ChickenPages {
Get.lazyPut(() => BuyInProvinceAllLogic());
}),
),
//endregion
];
}

View File

@@ -3,20 +3,28 @@ sealed class ChickenRoutes {
static const auth = '/AuthChicken';
static const _base = '/chicken';
static const init = '$_base/';
static const home = '$_base/home';
static const buy = '$_base/buy';
static const sale = '$_base/sale';
static const segmentation = '$_base/segmentation';
//region Steward Routes
static const _steward = '$_base/steward';
static const initSteward = '$_steward/';
static const homeSteward = '$_steward/home';
static const buySteward = '$_steward/buy';
static const saleSteward = '$_steward/sale';
static const segmentationSteward = '$_steward/segmentation';
//buys
static const buysOutOfProvince = '$buy/buyOutOfProvince';
static const buysInProvince = '$buy/buyInProvince';
static const buysOutOfProvinceSteward = '$buySteward/buyOutOfProvince';
static const buysInProvinceSteward = '$buySteward/buyInProvince';
//sales
static const salesInProvince = '$sale/SalesInProvince';
static const salesOutOfProvince = '$sale/saleOutOfProvince';
static const salesOutOfProvinceBuyer = '$sale/saleOutOfProvinceBuyer ';
static const salesInProvinceSteward = '$saleSteward/SalesInProvince';
static const salesOutOfProvinceSteward = '$saleSteward/saleOutOfProvince';
static const salesOutOfProvinceBuyerSteward = '$saleSteward/saleOutOfProvinceBuyer ';
//endregion
//region Poultry Science Routes
static const _poultryScience = '$_base/poultryScience';
static const initPoultryScience = '$_poultryScience/';
//endregion
}

View File

@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
Widget inventoryWidget(RootLogic rootLogic) {
Widget inventoryWidget(StewardRootLogic rootLogic) {
return Container(
width: Get.width,
height: 39,

View File

@@ -1,11 +1,12 @@
import 'package:rasadyar_chicken/chicken.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
import 'package:rasadyar_core/core.dart';
enum WidelyUsedType { edit, normal }
class WidelyUsedLogic extends GetxController {
Rx<WidelyUsedType> type = WidelyUsedType.normal.obs;
RootLogic rootLogic = Get.find<RootLogic>();
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
@override

View File

@@ -60,7 +60,7 @@ class WidelyUsedWidget extends StatelessWidget {
controller.rootLogic.currentPage.value = 0;
controller.rootLogic.currentPage.refresh();
await Future.delayed(Duration(milliseconds: 100));
Get.toNamed(ChickenRoutes.buysOutOfProvince, id: 0);
Get.toNamed(ChickenRoutes.buysOutOfProvinceSteward, id: 0);
},
),
@@ -74,7 +74,7 @@ class WidelyUsedWidget extends StatelessWidget {
controller.rootLogic.currentPage.value = 0;
controller.rootLogic.currentPage.refresh();
await Future.delayed(Duration(milliseconds: 100));
Get.toNamed(ChickenRoutes.buysInProvince, id: 0);
Get.toNamed(ChickenRoutes.buysInProvinceSteward, id: 0);
},
isOnEdit: false,
),
@@ -87,7 +87,7 @@ class WidelyUsedWidget extends StatelessWidget {
controller.rootLogic.currentPage.value = 1;
controller.rootLogic.currentPage.refresh();
await Future.delayed(Duration(milliseconds: 100));
Get.toNamed(ChickenRoutes.salesOutOfProvince, id: 1);
Get.toNamed(ChickenRoutes.salesOutOfProvinceSteward, id: 1);
},
),
@@ -99,7 +99,7 @@ class WidelyUsedWidget extends StatelessWidget {
controller.rootLogic.currentPage.value = 1;
controller.rootLogic.currentPage.refresh();
await Future.delayed(Duration(milliseconds: 100));
Get.toNamed(ChickenRoutes.salesInProvince, id: 1);
Get.toNamed(ChickenRoutes.salesInProvinceSteward, id: 1);
},
),
],

View File

@@ -26,7 +26,7 @@ build/
# Flutter specific
.flutter-plugins
.flutter-plugins-dependencies
pubspec.lock
.lock
# Test outputs
test_cache/

View File

@@ -7,8 +7,9 @@ export 'package:collection/collection.dart';
export 'package:connectivity_plus/connectivity_plus.dart';
export 'package:device_info_plus/device_info_plus.dart';
export 'package:dio/dio.dart';
//other packages
export 'package:flutter_localizations/flutter_localizations.dart';
export 'package:rive/rive.dart';
//map
export 'package:flutter_map/flutter_map.dart';
export 'package:flutter_map_animations/flutter_map_animations.dart';

View File

@@ -77,10 +77,10 @@ packages:
dependency: transitive
description:
name: build
sha256: "6439a9c71a4e6eca8d9490c1b380a25b02675aa688137dfbe66d2062884a23ac"
sha256: ce76b1d48875e3233fde17717c23d1f60a91cc631597e49a400c89b475395b1d
url: "https://pub.dev"
source: hosted
version: "3.0.2"
version: "3.1.0"
build_config:
dependency: transitive
description:
@@ -101,26 +101,26 @@ packages:
dependency: transitive
description:
name: build_resolvers
sha256: "2b21a125d66a86b9511cc3fb6c668c42e9a1185083922bf60e46d483a81a9712"
sha256: d1d57f7807debd7349b4726a19fd32ec8bc177c71ad0febf91a20f84cd2d4b46
url: "https://pub.dev"
source: hosted
version: "3.0.2"
version: "3.0.3"
build_runner:
dependency: "direct dev"
description:
name: build_runner
sha256: fd3c09f4bbff7fa6e8d8ef688a0b2e8a6384e6483a25af0dac75fef362bcfe6f
sha256: b24597fceb695969d47025c958f3837f9f0122e237c6a22cb082a5ac66c3ca30
url: "https://pub.dev"
source: hosted
version: "2.7.0"
version: "2.7.1"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
sha256: ab27e46c8aa233e610cf6084ee6d8a22c6f873a0a9929241d8855b7a72978ae7
sha256: "066dda7f73d8eb48ba630a55acb50c4a84a2e6b453b1cb4567f581729e794f7b"
url: "https://pub.dev"
source: hosted
version: "9.3.0"
version: "9.3.1"
built_collection:
dependency: transitive
description:
@@ -1357,6 +1357,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.5.0"
rive:
dependency: "direct main"
description:
name: rive
sha256: "2551a44fa766a7ed3f52aa2b94feda6d18d00edc25dee5f66e72e9b365bb6d6c"
url: "https://pub.dev"
source: hosted
version: "0.13.20"
rive_common:
dependency: transitive
description:
name: rive_common
sha256: "2ba42f80d37a4efd0696fb715787c4785f8a13361e8aea9227c50f1e78cf763a"
url: "https://pub.dev"
source: hosted
version: "0.4.15"
rxdart:
dependency: "direct main"
description:

View File

@@ -44,7 +44,7 @@ dependencies:
#SVG
flutter_svg: ^2.2.0
cached_network_image: ^3.4.1
rive: ^0.13.20
#Shimmer
shimmer: ^3.0.0
@@ -94,7 +94,7 @@ dev_dependencies:
sdk: flutter
flutter_lints: ^6.0.0
##code generation
build_runner: ^2.7.0
build_runner: ^2.7.1
hive_ce_generator: ^1.9.3
freezed: ^3.2.0
json_serializable: ^6.11.0

View File

@@ -1385,6 +1385,22 @@ packages:
relative: true
source: path
version: "2.0.0"
rive:
dependency: transitive
description:
name: rive
sha256: "2551a44fa766a7ed3f52aa2b94feda6d18d00edc25dee5f66e72e9b365bb6d6c"
url: "https://pub.dev"
source: hosted
version: "0.13.20"
rive_common:
dependency: transitive
description:
name: rive_common
sha256: "2ba42f80d37a4efd0696fb715787c4785f8a13361e8aea9227c50f1e78cf763a"
url: "https://pub.dev"
source: hosted
version: "0.4.15"
rxdart:
dependency: transitive
description:

View File

@@ -76,4 +76,4 @@ flutter_gen:
image: true
flutter_svg: true
lottie: true
rive: false
rive: true