import 'package:leonteva_pmu/data/dtos/recipes_dto.dart'; import 'package:leonteva_pmu/domain/models/card.dart'; const String imagePlaceholder = 'https://cdn-icons-png.flaticon.com/512/4036/4036418.png'; extension RecipeDataDtoToModel on RecipeDataDto { CardData toDomain() => CardData( recipe?.label ?? 'UNKNOWN', // Используем поле label из recipe. imageUrl: recipe?.image ?? imagePlaceholder, // Используем поле image. descriptionText: _makeDescriptionText( recipe?.calories?.toString(), // Преобразуем double в строку. recipe?.url, // Используем поле url. ), ); String _makeDescriptionText(String? calories, String? url) { if (calories != null && url != null) { return 'Calories: $calories\nURL: $url'; } else if (calories != null) { return 'Calories: $calories'; } else if (url != null) { return 'URL: $url'; } else { return 'No description available'; } } }