fix: 欢迎卡片UI优化 + 蓝牙录入按钮 + 多处修复

- 欢迎卡片:去掉白框圆角错位、图片满宽、按钮去箭头改圆角居中
- 渐变actionOutlineGradient改紫蓝双色循环
- 新增健康Agent"蓝牙录入"按钮→蓝牙设备页
- "查看健康情况"改名"健康概览"
- 饮食编辑框删除bug修复(控制器缓存)
- 启动脚本加adb reverse自动转发
- 登录闪屏修复
This commit is contained in:
MingNian
2026-06-17 10:58:59 +08:00
parent 9279b7e283
commit 4f1ad82345
28 changed files with 1641 additions and 1098 deletions

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../core/app_colors.dart';
import '../../core/app_theme.dart';
import '../../core/navigation_provider.dart';
import '../../providers/omron_device_provider.dart';
@@ -88,8 +89,7 @@ class _DeviceManagementPageState extends ConsumerState<DeviceManagementPage> {
Widget build(BuildContext context) {
final device = ref.watch(omronDeviceProvider);
return Scaffold(
backgroundColor: AppColors.background,
return GradientScaffold(
appBar: AppBar(
title: const Text('蓝牙设备'),
leading: IconButton(
@@ -118,14 +118,15 @@ class _DeviceManagementPageState extends ConsumerState<DeviceManagementPage> {
width: 82,
height: 82,
decoration: BoxDecoration(
color: AppColors.iconBg,
gradient: AppColors.calmHealthGradient,
borderRadius: BorderRadius.circular(24),
border: Border.all(color: AppColors.border),
border: Border.all(color: AppColors.borderLight),
boxShadow: AppColors.cardShadowLight,
),
child: const Icon(
Icons.bluetooth_disabled,
size: 40,
color: AppColors.primary,
color: Colors.white,
),
),
const SizedBox(height: 16),
@@ -156,10 +157,10 @@ class _DeviceManagementPageState extends ConsumerState<DeviceManagementPage> {
duration: const Duration(milliseconds: 250),
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: Colors.white,
gradient: AppColors.surfaceGradient,
borderRadius: BorderRadius.circular(18),
border: Border.all(
color: d.isConnected ? AppColors.success : AppColors.border,
color: d.isConnected ? AppColors.success : AppColors.borderLight,
),
boxShadow: AppColors.cardShadowLight,
),
@@ -169,15 +170,16 @@ class _DeviceManagementPageState extends ConsumerState<DeviceManagementPage> {
width: 50,
height: 50,
decoration: BoxDecoration(
color: d.isConnected
? AppColors.successLight
: AppColors.cardInner,
gradient: d.isConnected
? AppColors.calmHealthGradient
: AppColors.surfaceGradient,
borderRadius: BorderRadius.circular(15),
border: Border.all(color: AppColors.borderLight),
),
child: Icon(
Icons.bluetooth,
size: 24,
color: d.isConnected ? AppColors.success : AppColors.textHint,
color: d.isConnected ? Colors.white : AppColors.textHint,
),
),
const SizedBox(width: 14),
@@ -250,9 +252,9 @@ class _DeviceManagementPageState extends ConsumerState<DeviceManagementPage> {
Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: Colors.white,
gradient: AppColors.surfaceGradient,
borderRadius: BorderRadius.circular(18),
border: Border.all(color: AppColors.border),
border: Border.all(color: AppColors.borderLight),
boxShadow: AppColors.cardShadowLight,
),
child: Row(
@@ -334,9 +336,9 @@ class _DeviceManagementPageState extends ConsumerState<DeviceManagementPage> {
Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: Colors.white,
gradient: AppColors.surfaceGradient,
borderRadius: BorderRadius.circular(18),
border: Border.all(color: AppColors.border),
border: Border.all(color: AppColors.borderLight),
boxShadow: AppColors.cardShadowLight,
),
child: Column(