feat(diet): add diet editing

This commit is contained in:
mso7nueh
2025-05-20 18:28:32 +03:00
parent 42deaea426
commit 941cfb04cc
9 changed files with 66 additions and 26 deletions

View File

@@ -6,7 +6,9 @@ import 'package:eatvio_app/core/utils/toasts.dart';
import 'package:eatvio_app/core/widgets/show_error_dialog.dart';
import 'package:eatvio_app/features/blog_post_create/bloc/blog_post_create_cubit/blog_post_create_cubit.dart';
import 'package:eatvio_app/features/complaining/presentation/complaining_bottom_sheet.dart';
import 'package:eatvio_app/features/create_diet/presentation/create_diet_screen.dart';
import 'package:eatvio_app/features/create_recipe/presentation/pages/recipe_create_screen.dart';
import 'package:eatvio_app/features/feed/models/diets_pagination_model.dart';
import 'package:eatvio_app/features/feed/models/feed_blog_post_model.dart';
import 'package:eatvio_app/features/feed/models/recipes_model.dart';
import 'package:eatvio_app/features/feed/presentation/bloc/diets_cubit/diets_cubit.dart';
@@ -28,6 +30,7 @@ class CustomPopup extends StatelessWidget {
final int? id;
final FeedBlogPostModel? feedBlogPostModel;
final Recipe? recipe;
final Diet? diet;
const CustomPopup({
super.key,
@@ -38,6 +41,7 @@ class CustomPopup extends StatelessWidget {
this.slug,
this.feedBlogPostModel,
this.recipe,
this.diet,
});
@override
@@ -94,11 +98,15 @@ class CustomPopup extends StatelessWidget {
sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size,
);
});
addItem('assets/icons/edit_paint.svg', 'Редактировать', () {
addItem('assets/icons/edit_paint.svg', 'Редактировать', () async {
if (complainedContentType == ComplainedContent.posts) {
GoRouter.of(context).pushNamed('blogPostCreateScreen', extra: feedBlogPostModel);
} else if (complainedContentType == ComplainedContent.recipe) {
GoRouter.of(context).pushNamed(RecipeCreateScreen.name, extra: recipe);
} else if (complainedContentType == ComplainedContent.diet) {
await showErrorDialog(context, title: 'Предупреждение', description: 'Диета будет перенесена в архив. Вы создаете новую диету на основе существующей.');
await sl<MyDietsCubit>().unpublishDiet(id!);
GoRouter.of(context).pushNamed(CreateDietScreen.name, extra: diet);
} else {
showInfoToast('В разработке');
return;

View File

@@ -5,8 +5,8 @@ import 'package:eatvio_app/generated/l10n.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
void showErrorDialog(BuildContext context, {String? title, String? description}) {
showDialog<void>(
Future<void> showErrorDialog(BuildContext context, {String? title, String? description}) async {
return await showDialog<void>(
context: context,
barrierColor: Colors.transparent,
builder: (BuildContext context) {