feat : expand product in home page

This commit is contained in:
2025-06-30 09:28:45 +03:30
parent 48f050a122
commit 443b9f489c
2 changed files with 105 additions and 61 deletions

View File

@@ -12,6 +12,8 @@ class HomeLogic extends GetxController {
Rxn<InventoryModel> inventoryModel = Rxn<InventoryModel>(); Rxn<InventoryModel> inventoryModel = Rxn<InventoryModel>();
Rxn<KillHouseDistributionInfo> killHouseDistributionInfo = Rxn<KillHouseDistributionInfo>(); Rxn<KillHouseDistributionInfo> killHouseDistributionInfo = Rxn<KillHouseDistributionInfo>();
RxBool isExpanded = false.obs;
@override @override
void onInit() { void onInit() {

View File

@@ -19,19 +19,25 @@ class HomePage extends GetView<HomeLogic> {
hasBack: false, hasBack: false,
hasFilter: false, hasFilter: false,
hasSearch: false hasSearch: false
), ),
body: Column( body: Column(
spacing: 8, spacing: 8,
children: [ children: [
Card(
InkWell(
onTap: () {
controller.isExpanded.value = !controller.isExpanded.value;
},
child: Card(
margin: EdgeInsetsGeometry.all(6), margin: EdgeInsetsGeometry.all(6),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),
side: BorderSide(width: 0.50, color: const Color(0xFFA9A9A9)), side: BorderSide(width: 0.50, color: const Color(0xFFA9A9A9)),
), ),
child: Padding( child: ObxValue((data) {
return AnimatedSize(duration: Duration(milliseconds: 300),
child: data.value ? Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@@ -44,7 +50,8 @@ class HomePage extends GetView<HomeLogic> {
width: 40, width: 40,
height: 40, height: 40,
decoration: ShapeDecoration( decoration: ShapeDecoration(
image: DecorationImage(image: AssetImage(Assets.images.chicken.path), fit: BoxFit.cover), image: DecorationImage(
image: AssetImage(Assets.images.chicken.path), fit: BoxFit.cover),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
side: BorderSide(width: 0.25, color: const Color(0xFFB0B0B0)), side: BorderSide(width: 0.25, color: const Color(0xFFB0B0B0)),
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
@@ -82,8 +89,43 @@ class HomePage extends GetView<HomeLogic> {
distributionInformationWidget(), distributionInformationWidget(),
], ],
), ),
) : Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
spacing: 8,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
width: 40,
height: 40,
decoration: ShapeDecoration(
image: DecorationImage(
image: AssetImage(Assets.images.chicken.path), fit: BoxFit.cover),
shape: RoundedRectangleBorder(
side: BorderSide(width: 0.25, color: const Color(0xFFB0B0B0)),
borderRadius: BorderRadius.circular(4),
), ),
), ),
),
Text(
'مرغ گرم',
textAlign: TextAlign.right,
style: AppFonts.yekan16.copyWith(color: AppColor.darkGreyDarkActive),
),
Spacer(),
Icon(CupertinoIcons.chevron_down, size: 18),
],
),
],
),
),
);
}, controller.isExpanded),
)),
Padding( Padding(
padding: EdgeInsetsGeometry.all(6), padding: EdgeInsetsGeometry.all(6),
@@ -102,9 +144,9 @@ class HomePage extends GetView<HomeLogic> {
widelyUsed( widelyUsed(
title: 'خرید خارج استان', title: 'خرید خارج استان',
iconPath: Assets.vec.cubeSearchSvg.path, iconPath: Assets.vec.cubeSearchSvg.path,
onTap:() async{ onTap: () async {
iLog('on tap :خرید خارج استان '); iLog('on tap :خرید خارج استان ');
controller.rootLogic.currentPage.value =1; controller.rootLogic.currentPage.value = 1;
controller.rootLogic.currentPage.refresh(); controller.rootLogic.currentPage.refresh();
await Future.delayed(Duration(milliseconds: 100)); await Future.delayed(Duration(milliseconds: 100));
Get.toNamed(ChickenRoutes.salesOutOfProvince, id: 1); Get.toNamed(ChickenRoutes.salesOutOfProvince, id: 1);