From 68d10dfbe55a2b4f719f3a18d48d045f7e61bb33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B5=D1=80=D0=B0?= <Вера@DESKTOP-7L4BKCB> Date: Thu, 19 Dec 2024 11:41:08 +0400 Subject: [PATCH] process has started --- lib/data/dtos/recipes_dto.dart | 8 ++++---- lib/data/repositories/recipe_repository.dart | 10 +++++----- lib/presentation/home_page/home_page.dart | 11 ++++++++--- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/lib/data/dtos/recipes_dto.dart b/lib/data/dtos/recipes_dto.dart index fa022c4..fffb5f6 100644 --- a/lib/data/dtos/recipes_dto.dart +++ b/lib/data/dtos/recipes_dto.dart @@ -1,10 +1,10 @@ import 'package:json_annotation/json_annotation.dart'; -part 'recipe_dto.g.dart'; +part 'recipes_dto.g.dart'; @JsonSerializable(createToJson: false) class RecipesDto { - final List? hits; // API возвращает список рецептов под ключом "hits". + final List? hits; const RecipesDto({this.hits}); @@ -14,7 +14,7 @@ class RecipesDto { @JsonSerializable(createToJson: false) class RecipeDataDto { - final RecipeAttributesDataDto? recipe; // API возвращает объект "recipe" внутри каждого "hit". + final RecipeAttributesDataDto? recipe; const RecipeDataDto({this.recipe}); @@ -25,7 +25,7 @@ class RecipeDataDto { @JsonSerializable(createToJson: false) class RecipeAttributesDataDto { final String? label; - final double? calories; // API возвращает "calories" как число. + final double? calories; final String? url; final String? image; diff --git a/lib/data/repositories/recipe_repository.dart b/lib/data/repositories/recipe_repository.dart index 2897971..6f9e44a 100644 --- a/lib/data/repositories/recipe_repository.dart +++ b/lib/data/repositories/recipe_repository.dart @@ -5,7 +5,7 @@ import 'package:leonteva_pmu/data/repositories/api_interface.dart'; import 'package:leonteva_pmu/domain/models/card.dart'; import 'package:pretty_dio_logger/pretty_dio_logger.dart'; -class PotterRepository extends ApiInterface { +class RecipeRepository extends ApiInterface { static final Dio _dio = Dio() ..interceptors.add(PrettyDioLogger( requestHeader: true, @@ -16,8 +16,8 @@ class PotterRepository extends ApiInterface { )); static const String _baseUrl = 'https://api.edamam.com'; - static const String _appId = ''; // Укажите ваш APP_ID. - static const String _appKey = ''; // Укажите ваш APP_KEY. + static const String _appId = ''; // Укажите ваш APP_ID. + static const String _appKey = '<988fcbbd552b83ca870efced716389e4>'; // Укажите ваш APP_KEY. @override Future?> loadData({String? q, OnErrorCallback? onError}) async { @@ -28,8 +28,8 @@ class PotterRepository extends ApiInterface { url, queryParameters: { 'q': q ?? '', // Параметр запроса для поиска рецептов. - 'app_id': _appId, - 'app_key': _appKey, + 'd683b7dc': _appId, + '988fcbbd552b83ca870efced716389e4': _appKey, }, ); diff --git a/lib/presentation/home_page/home_page.dart b/lib/presentation/home_page/home_page.dart index f54e2aa..5b15445 100644 --- a/lib/presentation/home_page/home_page.dart +++ b/lib/presentation/home_page/home_page.dart @@ -34,12 +34,17 @@ class _BodyState extends State { final searchController = TextEditingController(); late Future?> data; - final repo = PotterRepository(); + final repo = RecipeRepository(); @override void initState() { - data = repo.loadData(onError: (e) => showErrorDialog(context, error: e)); - super.initState(); + const String query = 'default_query'; // Укажите поисковый запрос по умолчанию + + // Загружаем данные с обработкой ошибок + data = repo.loadData( + q: query, + onError: (e) => showErrorDialog(context, error: e), + ); } @override