import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:lucide_icons_flutter/lucide_icons.dart'; import '../../../../core/theme/app_theme.dart'; import 'avatar_circle.dart'; /// 用户资料卡片 class ProfileCard extends StatelessWidget { final dynamic user; const ProfileCard({super.key, required this.user}); @override Widget build(BuildContext context) { final colorScheme = Theme.of(context).colorScheme; return Container( width: double.infinity, padding: const EdgeInsets.all(16), decoration: BoxDecoration( color: colorScheme.surface, borderRadius: BorderRadius.circular(14), border: Border.all( color: colorScheme.outlineVariant.withValues(alpha: 0.5), ), ), child: Row( children: [ AvatarCircle( radius: 22, fontSize: 16, text: user?.avatarText, ), const SizedBox(width: 12), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( user?.username ?? '未登錄', style: AppTextStyles.bodyLarge(context).copyWith( fontWeight: FontWeight.w600, ), ), const SizedBox(height: 2), GestureDetector( onTap: () { Clipboard.setData(ClipboardData(text: '${user?.id ?? ''}')); ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('ID已复制'), duration: Duration(seconds: 1), ), ); }, child: Row( mainAxisSize: MainAxisSize.min, children: [ Text( 'ID: ${user?.id ?? ''}', style: AppTextStyles.bodySmall(context).copyWith( color: colorScheme.onSurfaceVariant, ), ), const SizedBox(width: 4), Icon( LucideIcons.copy, size: 12, color: colorScheme.onSurfaceVariant, ), ], ), ), ], ), ), Icon( LucideIcons.chevronRight, size: 16, color: colorScheme.onSurfaceVariant, ), ], ), ); } }