Repository navigation
v0.11.12
起因:报销管理页「看不到具体备注信息,不好区分」。查下来不是备注没存,而是行宽被挤没了:那一行的右侧要放「核销」按钮和金额,左侧信息列被压到约 60dp,而日期胶囊自己就占掉约 56dp —— 备注和它排在同一行、允许收缩,于是被压到零宽,屏幕上看着像"这条记录没有备注"。明细页没有核销按钮,所以同样的代码在那边只是截断、在这边是彻底消失。
修复
- 记录行的日期与备注改为整行宽度单独占一行(左边缘与分类文字对齐):不再和「核销 + 金额」抢宽度,报销页的备注、记账人、日期都能看全;备注由 1 行放宽到 2 行,长备注不再只露两三个字
- 顺带修好同一页缺的两处明细:记账人标识(此前该页没传成员缓存,全家一起报账时分不清是谁垫的)和点击条目进入编辑(此前该页条目点不开,长备注没有任何地方能看全)
- 影响面:明细页、统计页分类明细用同一个行组件,备注同样变成整行宽、最多两行(只是能看更多字,位置不变)
优化(触感反馈调柔)
用户反馈「振动太大了,点击反馈不舒服」。查 expo-haptics 的 Android 实现后确认这不是错觉:它在 Android 上是直接驱动马达的固定波形(不走系统触感通道),notificationAsync 因此天生偏重——成功是「40ms+停顿+40ms」双段共 180ms,失败是三段共 330ms,而这两档此前被用在记一笔成功、金额校验失败这类日常高频动作上。
- 日常确认改为单段轻击:
hapticSuccess由notificationAsync(Success)(双段 180ms)改为impactAsync(Soft)(单段 50ms,振幅 30) - 错误提示保留但减重:
hapticError由三段 330ms 改为impactAsync(Heavy)(单段 60ms,振幅 70)——错误仍要能被察觉,但不再是一串长震 hapticLight(数字键盘按键等,已是单段 50ms 最轻档)不变;三个入口仍集中在src/utils/haptics.ts,以后调强度只改这一处
新增(管理页状态灯)
- 「家庭同步」入口行右侧加连接状态灯:绿=已登录且
/api/health探测通过,灰=未配置 / 未登录 / 服务器不可达 / 正在检测。此前管理页只有一行文字摘要,看不出"同步到底还活着没",得点进二级页才知道 - 探测随管理页摘要一起刷新(进入该 Tab、同步完成、登录态变化),并沿用同步页的
mounted+ 序号防护,切走页面后旧响应不会回来盖掉新结果 - 读屏会念出「服务器已连接 / 未连接」,颜色不是唯一线索