style: 淡薰紫 Lavender Breeze + UI修复

- 主色改淡薰紫 #8B9CF7 + 白底 清新风格
- 每个智能体卡不同淡色调
- 删除欢迎卡底部"或直接对我说"
- 运动创建/打卡接入 API
- 全项目薄荷绿→淡紫替换
This commit is contained in:
MingNian
2026-06-03 20:46:39 +08:00
parent f46c30f8e7
commit f6c1ea7ec9
18 changed files with 306 additions and 254 deletions

View File

@@ -182,7 +182,7 @@ class ReportListPage extends ConsumerWidget {
appBar: AppBar(title: const Text('看报告')),
body: const Center(
child: Column(mainAxisSize: MainAxisSize.min, children: [
CircularProgressIndicator(color: Color(0xFF14B8A6)),
CircularProgressIndicator(color: Color(0xFF8B9CF7)),
SizedBox(height: 16),
Text('AI 正在分析报告...'),
]),
@@ -209,7 +209,7 @@ class ReportListPage extends ConsumerWidget {
Widget _buildUploadButton(BuildContext context, WidgetRef ref) {
return FloatingActionButton(
onPressed: () => _showUploadOptions(context, ref),
backgroundColor: const Color(0xFF14B8A6),
backgroundColor: const Color(0xFF8B9CF7),
child: const Icon(Icons.add),
);
}
@@ -266,10 +266,10 @@ class ReportListPage extends ConsumerWidget {
width: 120,
height: 120,
decoration: BoxDecoration(
color: const Color(0xFFF2FAF9),
color: const Color(0xFFF0F2FF),
borderRadius: BorderRadius.circular(60),
),
child: const Icon(Icons.file_open, size: 48, color: Color(0xFF14B8A6)),
child: const Icon(Icons.file_open, size: 48, color: Color(0xFF8B9CF7)),
),
const SizedBox(height: 20),
const Text('暂无检查报告', style: TextStyle(fontSize: 18, fontWeight: FontWeight.w500)),
@@ -285,14 +285,14 @@ class ReportListPage extends ConsumerWidget {
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
boxShadow: [BoxShadow(color: const Color(0xFF14B8A6).withAlpha(10), blurRadius: 4, offset: const Offset(0, 2))],
boxShadow: [BoxShadow(color: const Color(0xFF8B9CF7).withAlpha(10), blurRadius: 4, offset: const Offset(0, 2))],
),
child: ListTile(
leading: Container(
width: 48,
height: 48,
decoration: BoxDecoration(
color: const Color(0xFFF2FAF9),
color: const Color(0xFFF0F2FF),
borderRadius: BorderRadius.circular(12),
),
child: _getReportIcon(report.type),
@@ -315,13 +315,13 @@ class ReportListPage extends ConsumerWidget {
Widget _getReportIcon(String type) {
final icons = {
'血液检查': const Icon(Icons.bloodtype, size: 24, color: Color(0xFF14B8A6)),
'心电图': const Icon(Icons.monitor_heart, size: 24, color: Color(0xFF14B8A6)),
'超声检查': const Icon(Icons.image, size: 24, color: Color(0xFF14B8A6)),
'影像报告': const Icon(Icons.image, size: 24, color: Color(0xFF14B8A6)),
'PDF文档': const Icon(Icons.picture_as_pdf, size: 24, color: Color(0xFF14B8A6)),
'血液检查': const Icon(Icons.bloodtype, size: 24, color: Color(0xFF8B9CF7)),
'心电图': const Icon(Icons.monitor_heart, size: 24, color: Color(0xFF8B9CF7)),
'超声检查': const Icon(Icons.image, size: 24, color: Color(0xFF8B9CF7)),
'影像报告': const Icon(Icons.image, size: 24, color: Color(0xFF8B9CF7)),
'PDF文档': const Icon(Icons.picture_as_pdf, size: 24, color: Color(0xFF8B9CF7)),
};
return icons[type] ?? const Icon(Icons.description, size: 24, color: Color(0xFF14B8A6));
return icons[type] ?? const Icon(Icons.description, size: 24, color: Color(0xFF8B9CF7));
}
String _formatDate(DateTime date) {
@@ -382,8 +382,8 @@ class ReportDetailPage extends ConsumerWidget {
icon: const Icon(Icons.image),
label: const Text('查看原始图片'),
style: OutlinedButton.styleFrom(
foregroundColor: const Color(0xFF14B8A6),
side: const BorderSide(color: Color(0xFF14B8A6)),
foregroundColor: const Color(0xFF8B9CF7),
side: const BorderSide(color: Color(0xFF8B9CF7)),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(24)),
),
),
@@ -394,7 +394,7 @@ class ReportDetailPage extends ConsumerWidget {
height: 48,
child: ElevatedButton(
onPressed: () => pushRoute(ref, 'aiAnalysis'),
style: ElevatedButton.styleFrom(backgroundColor: const Color(0xFF14B8A6), foregroundColor: Colors.white, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(24))),
style: ElevatedButton.styleFrom(backgroundColor: const Color(0xFF8B9CF7), foregroundColor: Colors.white, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(24))),
child: const Text('查看 AI 智能解读'),
),
),
@@ -408,7 +408,7 @@ class ReportDetailPage extends ConsumerWidget {
return Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: const Color(0xFFF2FAF9),
color: const Color(0xFFF0F2FF),
borderRadius: BorderRadius.circular(16),
),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
@@ -430,7 +430,7 @@ class ReportDetailPage extends ConsumerWidget {
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
border: Border.all(color: const Color(0xFFD4EDE8), width: 1.5),
border: Border.all(color: const Color(0xFFD8DCFD), width: 1.5),
),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Padding(