import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:island/models/user.dart'; import 'package:island/models/badge.dart'; class BadgeList extends StatelessWidget { final List badges; const BadgeList({super.key, required this.badges}); @override Widget build(BuildContext context) { return Wrap( spacing: 8, runSpacing: 8, children: badges.map((badge) => BadgeItem(badge: badge)).toList(), ); } } class BadgeItem extends StatelessWidget { final SnAccountBadge badge; const BadgeItem({super.key, required this.badge}); @override Widget build(BuildContext context) { final template = kBadgeTemplates[badge.type]; final name = badge.label ?? template?.name.tr() ?? 'unknown'.tr(); final description = badge.caption ?? template?.description.tr() ?? ''; return Tooltip( message: '$name\n$description', child: Container( padding: const EdgeInsets.all(4), decoration: BoxDecoration( color: (template?.color ?? Colors.blue).withOpacity(0.1), shape: BoxShape.circle, ), child: Icon( template?.icon ?? Icons.stars, color: template?.color ?? Colors.orange, size: 20, ), ), ); } }