PMU/lib/data/mappers/recipes_mapper.dart
2024-12-18 17:20:52 +04:00

29 lines
1013 B
Dart

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';
}
}
}