import 'package:auto_route/auto_route.dart'; import 'package:shadcn_flutter/shadcn_flutter.dart'; import 'package:spotify/spotify.dart'; import 'package:spotube/collections/routes.gr.dart'; import 'package:spotube/components/image/universal_image.dart'; import 'package:spotube/components/ui/button_tile.dart'; import 'package:spotube/extensions/image.dart'; import 'package:spotube/extensions/string.dart'; class StatsPlaylistItem extends StatelessWidget { final PlaylistSimple playlist; final Widget info; const StatsPlaylistItem( {super.key, required this.playlist, required this.info}); @override Widget build(BuildContext context) { return ButtonTile( style: ButtonVariance.ghost, leading: ClipRRect( borderRadius: BorderRadius.circular(4), child: UniversalImage( path: (playlist.images).asUrlString( placeholder: ImagePlaceholder.collection, ), width: 40, height: 40, ), ), title: Text(playlist.name!), subtitle: Text( playlist.description?.unescapeHtml() ?? '', maxLines: 1, overflow: TextOverflow.ellipsis, ), trailing: info, onPressed: () { context.pushRoute(PlaylistRoute(id: playlist.id!, playlist: playlist)); }, ); } }