feat: UI 系统中心化 + 趋势图重构 + 法律文档 H5 上线
- UI 系统: 新增 design_tokens / module_visuals / app_buttons / app_status_badge / app_toast / ai_content 六个共享模块; 28 个页面接入, SnackBar 全部替换为 AppToast - 趋势图: 直线折线 + 渐变填充 + 阴影; 去网格线; X 轴日+月份分隔; Y 轴整数刻度最多 4 个; 点击数据点/录入记录显示上方浮层, 选中点变实心 - 法律文档 H5: 后端 wwwroot 托管隐私政策/服务协议/关于/个人信息收集清单/第三方 SDK 清单 + 索引页; Program.cs 启用 UseDefaultFiles + UseStaticFiles - 其他: auth_provider 登录流程调整; api_client IP 适配; 主页智能体栏间距优化
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:shadcn_ui/shadcn_ui.dart';
|
||||
|
||||
import '../../core/app_colors.dart';
|
||||
import '../../core/app_module_visuals.dart';
|
||||
import '../../core/app_theme.dart';
|
||||
import '../../core/navigation_provider.dart';
|
||||
import '../../providers/data_providers.dart';
|
||||
@@ -619,15 +620,19 @@ class _NotificationVisual {
|
||||
|
||||
const _NotificationVisual(this.icon, this.color, this.lightColor, this.label);
|
||||
|
||||
factory _NotificationVisual.fromModule(AppModuleVisual visual) {
|
||||
return _NotificationVisual(
|
||||
visual.icon,
|
||||
visual.color,
|
||||
visual.lightColor,
|
||||
visual.label,
|
||||
);
|
||||
}
|
||||
|
||||
factory _NotificationVisual.of(InAppNotification item) {
|
||||
switch (item.actionType) {
|
||||
case 'exercise':
|
||||
return const _NotificationVisual(
|
||||
LucideIcons.activity,
|
||||
Color(0xFF16A34A),
|
||||
Color(0xFFEAF8EF),
|
||||
'运动',
|
||||
);
|
||||
return _NotificationVisual.fromModule(AppModuleVisuals.exercise);
|
||||
case 'health':
|
||||
return item.severity == 'critical'
|
||||
? const _NotificationVisual(
|
||||
@@ -636,12 +641,7 @@ class _NotificationVisual {
|
||||
Color(0xFFFEE2E2),
|
||||
'紧急',
|
||||
)
|
||||
: const _NotificationVisual(
|
||||
LucideIcons.heartPulse,
|
||||
Color(0xFFF59E0B),
|
||||
Color(0xFFFEF3C7),
|
||||
'健康',
|
||||
);
|
||||
: _NotificationVisual.fromModule(AppModuleVisuals.health);
|
||||
case 'report':
|
||||
return item.severity == 'error'
|
||||
? const _NotificationVisual(
|
||||
@@ -650,19 +650,9 @@ class _NotificationVisual {
|
||||
Color(0xFFFEE2E2),
|
||||
'报告',
|
||||
)
|
||||
: const _NotificationVisual(
|
||||
LucideIcons.fileCheck2,
|
||||
Color(0xFF8B5CF6),
|
||||
Color(0xFFEDE9FE),
|
||||
'报告',
|
||||
);
|
||||
: _NotificationVisual.fromModule(AppModuleVisuals.report);
|
||||
default:
|
||||
return const _NotificationVisual(
|
||||
LucideIcons.pill,
|
||||
Color(0xFF3B82F6),
|
||||
Color(0xFFDBEAFE),
|
||||
'用药',
|
||||
);
|
||||
return _NotificationVisual.fromModule(AppModuleVisuals.medication);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user