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,67 +49,65 @@ class FavoriteWidget extends StatelessWidget {
));
});
} else {
if (isFromDetailsScreen || isFavoriteCardWidget) {
return ValueBuilder<bool>(
initialValue: favoriteController.isCardFav(cardModel.id),
builder: (bool? value, toggle) {
if (value!) {
return SvgPicture.asset(
'assets/icons/heart_fill.svg',
).onTap(() async {
toggle(!value);
// if (isFromDetailsScreen || isFavoriteCardWidget) {
// return ValueBuilder<bool>(
// initialValue: favoriteController.isCardFav(cardModel.id),
// builder: (bool? value, toggle) {
// if (value!) {
// return SvgPicture.asset(
// 'assets/icons/heart_fill.svg',
// ).onTap(() async {
// toggle(!value);
favoriteController.toggleFavoriteCard(cardModel.id);
// favoriteController.toggleFavoriteCard(cardModel.id);
cardController.toggleFavorite(cardModel.id, true,
onSuccess: (val) {});
});
}
return SvgPicture.asset(
'assets/icons/heart.svg',
colorFilter:
const ColorFilter.mode(Colors.white, BlendMode.srcIn),
).onTap(() async {
toggle(!value);
favoriteController.toggleFavoriteCard(
cardModel.id,
cardModel: cardModel,
userId: cardModel.user.id,
);
cardController.toggleFavorite(cardModel.id, false,
onSuccess: (val) {
// if (isFromDetailsScreen) {
// favoriteController.getFavorites();
// cardController.toggleFavorite(cardModel.id, true,
// onSuccess: (val) {});
// });
// }
});
// return SvgPicture.asset(
// 'assets/icons/heart.svg',
// colorFilter:
// const ColorFilter.mode(Colors.white, BlendMode.srcIn),
// ).onTap(() async {
// toggle(!value);
// cardModel.isFav = !cardModel.isFav;
// if (isFavoriteCardWidget || isFromDetailsScreen) {
// cardController.cardState.result.clear();
// cardController.getCards();
// }
});
},
);
} else {
// favoriteController.toggleFavoriteCard(
// cardModel.id,
// cardModel: cardModel,
// userId: cardModel.user.id,
// );
// cardController.toggleFavorite(cardModel.id, false,
// onSuccess: (val) {
// // if (isFromDetailsScreen) {
// // favoriteController.getFavorites();
// // }
// });
// // cardModel.isFav = !cardModel.isFav;
// // if (isFavoriteCardWidget || isFromDetailsScreen) {
// // cardController.cardState.result.clear();
// // 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) {
cardController.toggleFavorite(cardModel.id, true, onSuccess: (val) {
// favoriteController.getFavorites();
});
});
} else {
return SvgPicture.asset(
'assets/icons/heart.svg',
colorFilter:
const ColorFilter.mode(Colors.white, BlendMode.srcIn),
colorFilter: const ColorFilter.mode(Colors.white, BlendMode.srcIn),
).onTap(() async {
favoriteController.toggleFavoriteCard(
cardModel.id,
@ -129,7 +127,7 @@ class FavoriteWidget extends StatelessWidget {
// // // cardController.cardState.result.clear();
// // // 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/presentation_layer/widgets/appbar.dart';
import '../../../favorite/business_logic_layer/favorite_controller.dart';
// ignore: must_be_immutable
class HomeScreen extends StatelessWidget {
final HomeController homeController = Get.find<HomeController>();
@ -32,10 +34,13 @@ class HomeScreen extends StatelessWidget {
final ScrollController searchScrollController = ScrollController();
final AuthController authController = Get.find<AuthController>();
final ChatController chatController = Get.find<ChatController>();
final FavoriteController favoriteController = Get.find<FavoriteController>();
HomeScreen({super.key});
Future<void> load() async {
await Future.wait([
if (favoriteController.getFavoriteState.result.isEmpty)
favoriteController.getFavorites(),
if (categoryController.categoryState.result.isEmpty)
categoryController.getCategories(onConnectionError: (e) {
Toast.showToast('no_internert_connection'.tr);