mckero
cf93ca9f71
fix(ui): 修复菜单布局的三个严重 bug
Bug #1: moveToMain 误驱逐页面
- 根因:每次调用 moveToMain 都执行驱逐逻辑,即使页面本来就在主菜单
- 场景:拖拽主菜单内部顺序 → SettingsViewModel 遍历新顺序逐个调 moveToMain
→ 每次都判断 main.size > 5 → 误驱逐最后一个页面
- 修复:只在真正从 More 移到主菜单时才驱逐(加 wasInMore 标志位)
Bug #2: onReorder 传 resolve 输出污染状态
- 根因:SettingsScreen 拖拽回调传的是 resolve 输出(mainItems/subItems)
而不是持久化输入(screenOrder/subMenuOrder)
- 场景:拖拽主菜单 → onReorder 传 [Radar, ..., Settings](完整列表)
→ Settings 被显式存入 screenOrder → 下次 resolve 当作用户手动放置 → 参与驱逐逻辑
- 修复:
1. 拖拽主菜单时过滤掉 Settings(锁定页面用默认位置,不存持久化)
2. 另一个菜单用输入的 screenOrder/subMenuOrder,不用 resolve 输出
Bug #3: onReorder More 菜单传错参数
- 根因:拖拽 More 菜单时传的是 mainItems(resolve 输出),不是 screenOrder
- 修复:改用输入的 screenOrder
影响:修复前,拖拽主菜单会丢页面,移页面到主菜单可能导致 Settings 消失
2026-08-14 00:43:23 +00:00
..
2026-08-13 14:48:56 +00:00
2026-06-27 14:15:05 +01:00
2026-08-03 21:38:57 +08:00
2026-08-03 21:38:57 +08:00
2026-08-12 13:00:25 +00:00
2026-08-05 07:59:35 +00:00
2026-08-02 20:09:51 +08:00
2026-08-14 00:43:23 +00:00
2026-08-05 15:26:42 +00:00