import 'package:flutter/material.dart'; import '../../../../common/theme/theme.dart'; class ReportStatTile extends StatelessWidget { final String title; final String value; final IconData icon; final Color color; final String change; final double animatedValue; const ReportStatTile({ super.key, required this.title, required this.value, required this.icon, required this.color, required this.change, required this.animatedValue, }); @override Widget build(BuildContext context) { return Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( color: AppColor.surface, borderRadius: BorderRadius.circular(20), boxShadow: [ BoxShadow( color: color.withOpacity(0.1), blurRadius: 15, offset: const Offset(0, 5), ), ], border: Border.all(color: color.withOpacity(0.2), width: 1.5), ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Container( padding: const EdgeInsets.all(12), decoration: BoxDecoration( gradient: LinearGradient( colors: [color.withOpacity(0.2), color.withOpacity(0.1)], begin: Alignment.topLeft, end: Alignment.bottomRight, ), borderRadius: BorderRadius.circular(12), ), child: Icon(icon, color: color, size: 24), ), const Spacer(), Container( padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), decoration: BoxDecoration( color: AppColor.success.withOpacity(0.1), borderRadius: BorderRadius.circular(12), ), child: Text( change, style: AppStyle.sm.copyWith( color: AppColor.success, fontWeight: FontWeight.w700, ), ), ), ], ), const SizedBox(height: 16), Text( title, style: AppStyle.md.copyWith( color: AppColor.textSecondary, fontWeight: FontWeight.w500, ), ), const SizedBox(height: 4), Text( value, style: AppStyle.xxl.copyWith( color: color, fontWeight: FontWeight.bold, ), ), ], ), ); } }