Files
pokedex_flutter/lib/widgets/pokemon_image.dart
2023-07-10 02:52:05 +03:00

32 lines
857 B
Dart

import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:pokedex/core/models/pokemon_helper.dart';
import 'package:pokemon_api/pokemon_api.dart';
class PokemonImage extends StatelessWidget {
const PokemonImage({
super.key,
this.size = 64,
required this.poke,
this.shiny = false,
});
final Pokemon poke;
final double size;
final bool shiny;
@override
Widget build(BuildContext context) {
return CachedNetworkImage(
imageUrl: !shiny ? PokemonHelper.imageUrl(poke)! : PokemonHelper.shinyImageUrl(poke)!,
width: size,
height: size,
progressIndicatorBuilder: (context, url, progress) => const Center(
child: CircularProgressIndicator(),
),
errorWidget: (context, url, error) => const Icon(Icons.error),
);
}
}