fixed likes and favourite sync and adeded filter leayoutfor diets

This commit is contained in:
Username1548
2024-11-15 19:07:15 +07:00
parent 64baf15cbd
commit 00da652860
24 changed files with 831 additions and 100 deletions

View File

@@ -132,7 +132,20 @@ class DietsCubit extends Cubit<DietsState> {
Duration(milliseconds: 200),
() async {
try {
await dietsRepository.likeDiet(id);
final dietLikeStateData = await dietsRepository.likeDiet(id);
final actualDiet = currentDiet.copyWith(
wasLikedByMe: dietLikeStateData.isLiked,
totalLikes: dietLikeStateData.totalLikes,
);
dietsForModification[index] = actualDiet;
emit(
DietsState.loaded(
dietsList: [
...dietsForModification,
],
isLoading: isLoading,
),
);
} catch (e) {
log(e.toString());
emit(
@@ -231,7 +244,16 @@ class DietsCubit extends Cubit<DietsState> {
Duration(milliseconds: 200),
() async {
try {
await dietsRepository.addToFavorite(id);
final diet = await dietsRepository.addToFavorite(id);
dietsForModification[index] = diet;
emit(
DietsState.loaded(
dietsList: [
...dietsForModification,
],
isLoading: isLoading,
),
);
} catch (e) {
log(e.toString());
emit(
@@ -269,7 +291,16 @@ class DietsCubit extends Cubit<DietsState> {
Duration(milliseconds: 200),
() async {
try {
await dietsRepository.removeFromFavorite(id);
final diet = await dietsRepository.removeFromFavorite(id);
dietsForModification[index] = diet;
emit(
DietsState.loaded(
dietsList: [
...dietsForModification,
],
isLoading: isLoading,
),
);
} catch (e) {
log(e.toString());
emit(