import 'package:flutter/material.dart'; import '../../../core/theme/app_colors.dart'; import '../../../core/theme/app_text_styles.dart'; import '../../../core/theme/app_dimensions.dart'; /// 个人信息卡片组件 class ProfileInfoCard extends StatelessWidget { final String title; final Widget child; final EdgeInsetsGeometry? padding; final VoidCallback? onTap; const ProfileInfoCard({ super.key, required this.title, required this.child, this.padding, this.onTap, }); @override Widget build(BuildContext context) { return Container( width: double.infinity, decoration: BoxDecoration( color: AppColors.surface, borderRadius: BorderRadius.circular(AppDimensions.radiusMd), boxShadow: [ BoxShadow( color: AppColors.shadow.withOpacity(0.05), blurRadius: 8, offset: const Offset(0, 2), ), ], ), child: Material( color: Colors.transparent, child: InkWell( onTap: onTap, borderRadius: BorderRadius.circular(AppDimensions.radiusMd), child: Padding( padding: padding ?? const EdgeInsets.all(AppDimensions.spacingMd), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ // 标题 Text( title, style: AppTextStyles.titleMedium.copyWith( color: AppColors.onSurface, fontWeight: FontWeight.w600, ), ), const SizedBox(height: AppDimensions.spacingMd), // 内容 child, ], ), ), ), ), ); } }