import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:lottie/lottie.dart'; import 'package:taafee_mobile/common/const/const.dart'; import 'package:taafee_mobile/common/extensions/widget_extension.dart'; import 'package:taafee_mobile/common/widgets/gridview.dart'; import 'package:taafee_mobile/common/widgets/rx_viewer.dart'; import 'package:taafee_mobile/common/widgets/text.dart'; import 'package:taafee_mobile/common/widgets/toast.dart'; import 'package:taafee_mobile/core/routing/routing_manager.dart'; import 'package:taafee_mobile/features/card/business_logic_layer/card_controller.dart'; import 'package:taafee_mobile/features/favorite/business_logic_layer/favorite_controller.dart'; import 'package:taafee_mobile/features/favorite/presentation_layer/widgets/favorite_card.dart'; class FavoriteScreen extends StatelessWidget { final CardController cardController = Get.find(); final FavoriteController favoriteController = Get.find(); FavoriteScreen({super.key}); @override Widget build(BuildContext context) { if (favoriteController.getFavoriteState.result.isEmpty) { favoriteController.getFavorites(onConnectionError: (e) { Toast.showToast('no_internert_connection'.tr); }); } return Scaffold( backgroundColor: AppColors.backGroundColor, body: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ BoldTextWidget( "favorite".tr, fontSize: 16, color: AppColors.textColor, ).paddingOnly(top: 30, bottom: 20).paddingSymmetric(horizontal: 20), RxViewer( errorHeight: Get.width, errorWidth: Get.height * 0.75, width: Get.width, height: Get.height * 0.75, rxFuture: favoriteController.getFavoriteState, child: () => (favoriteController.getFavoriteState.result.isNotEmpty) ? GridViewWidget( mainAxisExtent: 150, count: Responsive.isTablet() ? 3 : 2, itemCount: favoriteController.getFavoriteState.result.length, child: (index) => Obx(() { return FavoriteCardWidget( favoriteModel: favoriteController .getFavoriteState.result[index], ).onTap(() { RoutingManager.to(RouteName.cardDetails, arguments: favoriteController.getFavoriteState .result[index].cardModel); }); }), ) : SizedBox( height: Get.height * 0.75, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ SizedBox( width: 128, height: 128, child: Lottie.asset( 'assets/animations/NO Favorite.json', repeat: false, ), ), RegularTextWidget( 'add_some_favorite_cards !'.tr, fontSize: Responsive.isTablet() ? 18 : 16, ), ], ).center(), ), ) // const ListViewWidget( // itemCount: 8, // child: CardWidget(), // ).paddingSymmetric(vertical: 10) , // if (favoriteController.getFavoriteState.result.length < 10) // SizedBox( // height: Get.height * 0.6, // ), ], ), ), //), ).makeSafeArea(); } }