chore: update app version to 1.3.36+32, change build mode to release, and enhance user role handling in chicken feature with new routes and DI setup

This commit is contained in:
2025-12-13 16:30:02 +03:30
parent 0d47710e81
commit afbd72404d
121 changed files with 15161 additions and 16 deletions

View File

@@ -0,0 +1,29 @@
import 'package:rasadyar_chicken/features/jahad/presentation/routes/routes.dart';
import 'package:rasadyar_core/core.dart';
class JahadActionItem {
final String title;
final String route;
final String icon;
JahadActionItem({
required this.title,
required this.route,
required this.icon,
});
}
class JahadHomeLogic extends GetxController {
RxList<JahadActionItem> items = [
JahadActionItem(
title: "جوجه ریزی فعال",
route: JahadRoutes.activeHatchingJahad,
icon: Assets.vec.activeFramSvg.path,
),
JahadActionItem(
title: "بازرسی مزارع طیور",
route: JahadRoutes.newInspectionJahad,
icon: Assets.vec.activeFramSvg.path,
),
].obs;
}

View File

@@ -0,0 +1,46 @@
import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart';
import 'package:rasadyar_core/core.dart';
import 'logic.dart';
class JahadHomePage extends GetView<JahadHomeLogic> {
JahadHomePage({super.key});
@override
Widget build(BuildContext context) {
return ChickenBasePage(
isBase: true,
hasNews: true,
hasNotification: true,
child: gridWidget(),
);
}
Widget gridWidget() {
return ObxValue((data) {
return GridView.builder(
physics: BouncingScrollPhysics(),
padding: EdgeInsets.symmetric(vertical: 18.h, horizontal: 32.w),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
mainAxisSpacing: 24.h,
crossAxisSpacing: 24.w,
),
itemCount: data.length,
hitTestBehavior: HitTestBehavior.opaque,
itemBuilder: (BuildContext context, int index) {
var item = data[index];
return GlassMorphismCardIcon(
title: item.title,
vecIcon: item.icon,
onTap: () async {
Get.toNamed(item.route, id: jahadActionKey);
},
);
},
);
}, controller.items);
}
}