fix(settings): 设置页尾部不再渲染不属于本页的空态卡
用户 2026-11-08 在 M174 的助手页与 M175 的 Java 页截图里看到同一张卡(四格图标 + 「没有逐实例覆盖」+ 说明被窗口下沿截断):两张图 1180×1100、卡片位置完全一致、 独立居中在内容下方。 根因是 `pages/settings/mod.rs` 的 `form()` 在分组循环之后**无条件** push 了 `pages/settings/frame.rs` 的 `overrides_empty()`(M84 骨架期的占位,M99 纯搬移时原样 留下,固定 320dp 高):于是六个分组下面都长出同一张卡,与实例选中态无关。 修法:删掉该空态位及其唯一的三个 i18n key(`SettingsOverrides*`,金表同步删三行)。 设置页永远有内容(总有一组被选中),12b §15 的空态件是给实例/下载/日志页的; 「逐实例覆盖」全仓既无数据源也无消息落点,所以不挪给任何一组,直接不渲染。 守门(`settings/frame.rs` 的 `no_stray_empty_state` 三条,变异实测会红): 尾部不许再出现额外 push、`form()` 不认任何空态件名、设置页不读实例选择。
This commit is contained in:
1 parent
30b61e2684
commit
7fdebba961
4 files changed
+106
-34
No files matched your search
@@ -190,9 +190,6 @@ pub(super) const ROWS: &[(&str, &str, &str)] = &[
|
||||
("SettingsGroupAppearance", "Appearance", "外观"),
|
||||
("SettingsGroupJava", "Java", "Java 运行时"),
|
||||
("SettingsGroupDownloads", "Downloads", "下载"),
|
||||
("SettingsOverridesEmptyTitle", "No per-instance overrides", "没有逐实例覆盖"),
|
||||
("SettingsOverridesEmptyBody", "Overrides let one instance keep its own Java runtime, memory or JVM flags while the rest of the launcher keeps the defaults above.", "逐实例覆盖让某个实例保留自己的 Java 运行时、内存或 JVM 参数,其余实例沿用上面的默认值。"),
|
||||
("SettingsOverridesAdd", "Add override", "新增覆盖"),
|
||||
("AgentFallbackBody", "The assistant page is not built yet. Chat lives in the docked panel once the AI mission lands; this screen is the M68 skeleton fallback.", "助手页还没做。AI 接线落地后对话会出现在右侧停靠面板;这一屏是 M68 的骨架回退。"),
|
||||
("VersionRailTitle", "Version type", "版本类型"),
|
||||
("VersionMajorTitle", "Major version", "主版本"),
|
||||
|
||||
Reference in new issue
Block a user