fix: 登录页白底+渐变边框/胶囊加大/底部提示/今日健康优化/发送按钮蓝紫渐变

- 登录页:输入框白底+渐变紫蓝外框,去掉focus内框;登录按钮白底紫字;协议勾选白底
- 首页胶囊:适老化加大(内边距14x8/字号15/图标17/圆角18)
- 欢迎卡片底部提示:各智能体专属引导文案,字号加大颜色加深
- 今日健康卡片:健康指标改一行总结(异常提醒/正常显示);用药显示具体药品名+状态
- 发送按钮:蓝→紫渐变
- 设置页菜单:白色卡片+圆角16+轻阴影
- IP改localhost:adb reverse解决IP变动问题
- 服药打卡快捷按钮:改为跳转打卡页,不再一键全打
This commit is contained in:
MingNian
2026-06-11 11:17:13 +08:00
parent f6dd14be3b
commit 7baf0d513f
5 changed files with 140 additions and 95 deletions

View File

@@ -22,45 +22,45 @@ class AppMenuItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
final theme = ShadTheme.of(context);
return GestureDetector(
onTap: onTap,
behavior: HitTestBehavior.opaque,
child: Container(
margin: const EdgeInsets.symmetric(horizontal: 24, vertical: 2),
padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 14),
margin: const EdgeInsets.symmetric(horizontal: 24, vertical: 4),
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14),
decoration: BoxDecoration(
color: theme.colorScheme.card,
borderRadius: BorderRadius.circular(AppTheme.rSm),
color: Colors.white,
borderRadius: BorderRadius.circular(16),
boxShadow: [BoxShadow(color: Colors.black.withAlpha(6), blurRadius: 8, offset: const Offset(0, 2))],
),
child: Row(children: [
Container(
width: 38,
height: 38,
width: 40,
height: 40,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(AppTheme.rSm),
color: AppColors.cardInner,
borderRadius: BorderRadius.circular(12),
),
child: Icon(icon, size: 22, color: AppColors.textPrimary),
),
const SizedBox(width: AppTheme.sLg),
const SizedBox(width: 14),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(title, style: TextStyle(fontSize: 19, fontWeight: FontWeight.w500, color: theme.colorScheme.foreground)),
Text(title, style: const TextStyle(fontSize: 17, fontWeight: FontWeight.w500, color: AppColors.textPrimary)),
if (subtitle != null && subtitle!.isNotEmpty)
Padding(
padding: const EdgeInsets.only(top: 2),
child: Text(subtitle!, style: TextStyle(fontSize: 16, color: theme.colorScheme.mutedForeground)),
child: Text(subtitle!, style: const TextStyle(fontSize: 14, color: AppColors.textHint)),
),
],
),
),
if (trailing != null && trailing!.isNotEmpty)
Text(trailing!, style: TextStyle(fontSize: 17, color: theme.colorScheme.mutedForeground)),
Text(trailing!, style: const TextStyle(fontSize: 15, color: AppColors.textHint)),
const SizedBox(width: 4),
Icon(LucideIcons.chevronRight, size: 21, color: theme.colorScheme.mutedForeground),
const Icon(Icons.chevron_right, size: 20, color: AppColors.textHint),
]),
),
);