import 'package:dio/dio.dart'; import 'package:mobile_app/domain/models/card.dart'; import 'package:pretty_dio_logger/pretty_dio_logger.dart'; import 'api_interface.dart'; class CocktailRepository extends ApiInterface { static final Dio _dio = Dio() ..interceptors.add(PrettyDioLogger( requestHeader: true, requestBody: true, )); static const String _baseUrl = 'https://www.thecocktaildb.com/api/json/v1/1'; @override Future?> loadData(String? q) async { try { final String url = q != null ? '$_baseUrl/search.php?s=$q' // Поиск по названию : '$_baseUrl/filter.php?c=Cocktail'; // Получение списка коктейлей по категории final Response response = await _dio.get>(url); if (response.data != null && response.data['drinks'] != null) { final List data = (response.data['drinks'] as List).map((drink) { return CardData( drink['strDrink'], // Название коктейля coctailId: drink['idDrink'], // ID коктейля coctailImage: drink['strDrinkThumb'], ); }).toList(); return data; } return null; } on DioException catch (e) { return null; } } }