import 'package:flutter/material.dart'; import '../../../../core/theme/app_spacing.dart'; import '../../../../core/theme/app_theme.dart'; import '../../../components/coin_icon.dart'; /// 幣種頭像組件 /// /// 顯示幣種圖標或首字母的圓形頭像,帶主題色邊框和背景。 class CoinAvatar extends StatelessWidget { final String? icon; const CoinAvatar({super.key, this.icon}); @override Widget build(BuildContext context) { // 如果 icon 是币种代码(如 BTC, ETH),使用 CoinIcon if (icon != null && icon!.length <= 5 && icon!.toUpperCase() == icon) { return CoinIcon( symbol: icon!, size: 44, isCircle: false, ); } // 否则使用原来的字母显示方式 final colorScheme = Theme.of(context).colorScheme; return Container( width: 44, height: 44, decoration: BoxDecoration( color: colorScheme.primary.withOpacity(0.1), borderRadius: BorderRadius.circular(AppRadius.md), border: Border.all(color: colorScheme.primary.withOpacity(0.2)), ), child: Center( child: Text(icon ?? '?', style: AppTextStyles.displaySmall(context).copyWith( fontSize: 20, color: colorScheme.primary, )), ), ); } }