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

@@ -59,8 +59,13 @@ class AboutDietCubit extends Cubit<AboutDietState> {
Duration(seconds: 1),
() async {
try {
await dietsRepository.likeDiet(id);
await getDiet(id);
final dietLikeStateData = await dietsRepository.likeDiet(id);
final actualDiet = currentDiet.copyWith(
wasLikedByMe: dietLikeStateData.isLiked,
totalLikes: dietLikeStateData.totalLikes,
);
emit(AboutDietState.loaded(actualDiet));
dietsRepository.emitLikesStateToFeed(DietLikesState(wasLikedByMe: actualDiet.wasLikedByMe, totalLikes: actualDiet.totalLikes, index: dietIndexInFeed));
} catch (e) {
log(e.toString());
dietsRepository
@@ -87,10 +92,9 @@ class AboutDietCubit extends Cubit<AboutDietState> {
Duration(seconds: 1),
() async {
try {
await dietsRepository.addToFavorite(id);
Future.delayed(const Duration(seconds: 1), () async {
await getDiet(id);
});
final diet = await dietsRepository.addToFavorite(id);
emit(AboutDietState.loaded(diet));
dietsRepository.emitFavoriteStateToFeed(DietFavoriteState(isFavorite: diet.isFavorite, index: dietIndexInFeed));
} catch (e) {
log(e.toString());
dietsRepository.emitFavoriteStateToFeed(DietFavoriteState(isFavorite: currentDiet.isFavorite, index: dietIndexInFeed));
@@ -116,10 +120,9 @@ class AboutDietCubit extends Cubit<AboutDietState> {
Duration(seconds: 1),
() async {
try {
await dietsRepository.removeFromFavorite(id);
Future.delayed(const Duration(seconds: 1), () async {
await getDiet(id);
});
final diet = await dietsRepository.removeFromFavorite(id);
emit(AboutDietState.loaded(diet));
dietsRepository.emitFavoriteStateToFeed(DietFavoriteState(isFavorite: diet.isFavorite, index: dietIndexInFeed));
} catch (e) {
log(e.toString());
dietsRepository.emitFavoriteStateToFeed(DietFavoriteState(isFavorite: currentDiet.isFavorite, index: dietIndexInFeed));

View File

@@ -1,3 +1,4 @@
import 'package:eatvio_app/core/widgets/bottom_sheet_handler_bar.dart';
import 'package:eatvio_app/core/widgets/custom_divider.dart';
import 'package:eatvio_app/features/diets/presentation/widgets/calendar_widget.dart';
import 'package:eatvio_app/generated/l10n.dart';
@@ -16,11 +17,7 @@ class StartDietBottomSheet extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
SizedBox(height: 4),
Container(
height: 4,
width: 40,
decoration: BoxDecoration(color: appTheme.lightGray, borderRadius: BorderRadius.circular(20)),
),
BottomSheetHandlerBar(),
SizedBox(height: 12),
Text(
s.startDiet,