favorites bug fixed

This commit is contained in:
MhdZiadHirati 2023-10-25 09:11:21 +03:00
parent 0059cf1872
commit 2fe2a57b9b
2 changed files with 76 additions and 73 deletions

View File

@ -49,87 +49,85 @@ class FavoriteWidget extends StatelessWidget {
)); ));
}); });
} else { } else {
if (isFromDetailsScreen || isFavoriteCardWidget) { // if (isFromDetailsScreen || isFavoriteCardWidget) {
return ValueBuilder<bool>( // return ValueBuilder<bool>(
initialValue: favoriteController.isCardFav(cardModel.id), // initialValue: favoriteController.isCardFav(cardModel.id),
builder: (bool? value, toggle) { // builder: (bool? value, toggle) {
if (value!) { // if (value!) {
return SvgPicture.asset( // return SvgPicture.asset(
'assets/icons/heart_fill.svg', // 'assets/icons/heart_fill.svg',
).onTap(() async { // ).onTap(() async {
toggle(!value); // toggle(!value);
favoriteController.toggleFavoriteCard(cardModel.id); // favoriteController.toggleFavoriteCard(cardModel.id);
cardController.toggleFavorite(cardModel.id, true, // cardController.toggleFavorite(cardModel.id, true,
onSuccess: (val) {}); // onSuccess: (val) {});
}); // });
} // }
return SvgPicture.asset( // return SvgPicture.asset(
'assets/icons/heart.svg', // 'assets/icons/heart.svg',
colorFilter: // colorFilter:
const ColorFilter.mode(Colors.white, BlendMode.srcIn), // const ColorFilter.mode(Colors.white, BlendMode.srcIn),
).onTap(() async { // ).onTap(() async {
toggle(!value); // toggle(!value);
favoriteController.toggleFavoriteCard( // favoriteController.toggleFavoriteCard(
cardModel.id, // cardModel.id,
cardModel: cardModel, // cardModel: cardModel,
userId: cardModel.user.id, // userId: cardModel.user.id,
); // );
cardController.toggleFavorite(cardModel.id, false, // cardController.toggleFavorite(cardModel.id, false,
onSuccess: (val) { // onSuccess: (val) {
// if (isFromDetailsScreen) { // // if (isFromDetailsScreen) {
// favoriteController.getFavorites(); // // favoriteController.getFavorites();
// } // // }
}); // });
// cardModel.isFav = !cardModel.isFav; // // cardModel.isFav = !cardModel.isFav;
// if (isFavoriteCardWidget || isFromDetailsScreen) { // // if (isFavoriteCardWidget || isFromDetailsScreen) {
// cardController.cardState.result.clear(); // // cardController.cardState.result.clear();
// cardController.getCards(); // // cardController.getCards();
// } // // }
// });
// },
// );
// } else {
return Obx(() {
if (favoriteController.isCardFav(cardModel.id)) {
return SvgPicture.asset(
'assets/icons/heart_fill.svg',
).onTap(() async {
favoriteController.toggleFavoriteCard(cardModel.id);
cardController.toggleFavorite(cardModel.id, true, onSuccess: (val) {
// favoriteController.getFavorites();
}); });
}, });
); } else {
} else { return SvgPicture.asset(
return Obx(() { 'assets/icons/heart.svg',
if (favoriteController.isCardFav(cardModel.id)) { colorFilter: const ColorFilter.mode(Colors.white, BlendMode.srcIn),
return SvgPicture.asset( ).onTap(() async {
'assets/icons/heart_fill.svg', favoriteController.toggleFavoriteCard(
).onTap(() async { cardModel.id,
favoriteController.toggleFavoriteCard(cardModel.id); cardModel: cardModel,
cardController.toggleFavorite(cardModel.id, true, userId: cardModel.user.id,
onSuccess: (val) { );
// favoriteController.getFavorites(); cardController.toggleFavorite(cardModel.id, false,
}); onSuccess: (val) {
// favoriteController.getFavorites();
}); });
} else { });
return SvgPicture.asset( }
'assets/icons/heart.svg', });
colorFilter:
const ColorFilter.mode(Colors.white, BlendMode.srcIn),
).onTap(() async {
favoriteController.toggleFavoriteCard(
cardModel.id,
cardModel: cardModel,
userId: cardModel.user.id,
);
cardController.toggleFavorite(cardModel.id, false,
onSuccess: (val) {
// favoriteController.getFavorites();
});
});
}
});
// // // cardModel.isFav = !cardModel.isFav; // // // cardModel.isFav = !cardModel.isFav;
// // // if (isFavoriteCardWidget || isFromDetailsScreen) { // // // if (isFavoriteCardWidget || isFromDetailsScreen) {
// // // cardController.cardState.result.clear(); // // // cardController.cardState.result.clear();
// // // cardController.getCards(); // // // cardController.getCards();
// // // } // // // }
} // }
} }
} }
} }

View File

@ -23,6 +23,8 @@ import 'package:taafee_mobile/features/chat/business%20logic%20layer/chat_contro
import 'package:taafee_mobile/features/home/business_logic_layer/home_controller.dart'; import 'package:taafee_mobile/features/home/business_logic_layer/home_controller.dart';
import 'package:taafee_mobile/features/home/presentation_layer/widgets/appbar.dart'; import 'package:taafee_mobile/features/home/presentation_layer/widgets/appbar.dart';
import '../../../favorite/business_logic_layer/favorite_controller.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class HomeScreen extends StatelessWidget { class HomeScreen extends StatelessWidget {
final HomeController homeController = Get.find<HomeController>(); final HomeController homeController = Get.find<HomeController>();
@ -32,10 +34,13 @@ class HomeScreen extends StatelessWidget {
final ScrollController searchScrollController = ScrollController(); final ScrollController searchScrollController = ScrollController();
final AuthController authController = Get.find<AuthController>(); final AuthController authController = Get.find<AuthController>();
final ChatController chatController = Get.find<ChatController>(); final ChatController chatController = Get.find<ChatController>();
final FavoriteController favoriteController = Get.find<FavoriteController>();
HomeScreen({super.key}); HomeScreen({super.key});
Future<void> load() async { Future<void> load() async {
await Future.wait([ await Future.wait([
if (favoriteController.getFavoriteState.result.isEmpty)
favoriteController.getFavorites(),
if (categoryController.categoryState.result.isEmpty) if (categoryController.categoryState.result.isEmpty)
categoryController.getCategories(onConnectionError: (e) { categoryController.getCategories(onConnectionError: (e) {
Toast.showToast('no_internert_connection'.tr); Toast.showToast('no_internert_connection'.tr);