import 'package:flutter/material.dart'; import 'package:mobilki_lab1/data/dtos/pokemon_dto.dart'; import 'package:mobilki_lab1/domain/models/card.dart'; import 'package:mobilki_lab1/domain/models/home.dart'; const _imagePlaceholder = 'https://upload.wikimedia.org/wikipedia/en/archive/b/b1/20210811082420%21Portrait_placeholder.png'; extension PokemonListDtoToModel on PokemonListDto { HomeData toDomain() => HomeData( data: results?.map((e) => e.toDomain()).toList(), nextPage: next != null ? int.tryParse(next!.split('?')[1].split('=')[1]) : null, ); } extension PokemonDtoToModel on PokemonDto { CardData toDomain() => CardData( name ?? 'UNKNOWN', descriptionText: '', // Здесь можно добавить описание, если оно есть imageUrl: _imagePlaceholder, // Здесь нужно добавить логику для получения URL изображения id: null, // Здесь можно добавить логику для получения ID icon: Icons.catching_pokemon, // Используем стандартную иконку ); } extension PokemonDetailsDtoToModel on PokemonDetailsDto { CardData toDomain() => CardData( name ?? 'UNKNOWN', descriptionText: _makeDescriptionText(height, weight), imageUrl: sprites?.frontDefault ?? _imagePlaceholder, id: id, icon: Icons.catching_pokemon, // Используем стандартную иконку ); String _makeDescriptionText(int? height, int? weight) { return height != null && weight != null ? 'Height: $height, Weight: $weight' : height != null ? 'Height: $height' : weight != null ? 'Weight: $weight' : ''; } }