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