现象 (UI 元素审计)
设置弹窗里的两个 Tab 包含若干看起来可交互、实际什么都不做的控件,前端用 `SegSimple` / `SwitchLite` 这类只持有内部 useState 的占位组件。
受影响位置
Personalize Tab (`components/SettingsModal.tsx::PersonalizeSection`)
| 控件 | 位置 | 现状 | 缺失 |
|---|
| 外观(跟随系统 / 浅色 / 深色) | line 199-202 | SegSimple 只切换内部 state | 没有任何 theme 系统;UI 始终浅色,整个项目无 dark mode CSS |
| 启动时打开(概览 / 上次位置) | line 222-225 | SegSimple 内部 state | 不影响真实启动项 |
| 开机自启 | line 229-230 | SwitchLite 默认 `on` | 没接 `tauri-plugin-autostart` 或等价机制 |
毛玻璃强度(已接)+ 界面语言(最近接好)这两条是正常的,可保留。
Account Tab (`components/SettingsModal.tsx::AccountSection`)
| 控件 | 位置 | 现状 | 缺失 |
|---|
| "登录 / 同步" 按钮 | line 162-164 | 纯 ``,无 onClick | 没有账号系统、没有同步后端 |
| "本地用户" 头像 / 名字 | line 154-160 | 写死 "L" / "本地用户" / "未登录" | 不准备做账号就该简化为单卡 |
About Mini Tab (`components/SettingsModal.tsx::AboutMini`)
| 控件 | 位置 | 现状 | 缺失 |
|---|
| "检查"按钮 | line 264 | 无 onClick | 检查更新没接(v1.1.4 后没有 Sparkle,也没用 Tauri updater) |
| "openless.app/docs ↗" | line 265 | 无 onClick | 没打开链接 |
| "GitHub Issues ↗" | line 266 | 无 onClick | 没打开链接 |
优先级
high — 用户期待"我能点的都该有效"。空壳带来"程序坏了"的负面感知。
建议拆解
- 第一波(高 ROI):Personalize 删掉外观 / 启动时打开 / 开机自启三行,或把开机自启接到 `tauri-plugin-autostart`;AboutMini 三个按钮接 `openExternal` 或删除
- 第二波:Personalize 切深色实际生效(需要全套 dark CSS 变量)
- 不做:Account 不做账号系统的话,整个 Account Tab 和左侧导航的 "账户" 入口都该移除
关联
与 Codex 审计 #60(词汇启停 UI 不回滚)的精神同源:UI 不应 mock 出"我在工作"的假象。
现象 (UI 元素审计)
设置弹窗里的两个 Tab 包含若干看起来可交互、实际什么都不做的控件,前端用 `SegSimple` / `SwitchLite` 这类只持有内部 useState 的占位组件。
受影响位置
Personalize Tab (`components/SettingsModal.tsx::PersonalizeSection`)
毛玻璃强度(已接)+ 界面语言(最近接好)这两条是正常的,可保留。
Account Tab (`components/SettingsModal.tsx::AccountSection`)
About Mini Tab (`components/SettingsModal.tsx::AboutMini`)
优先级
high — 用户期待"我能点的都该有效"。空壳带来"程序坏了"的负面感知。
建议拆解
关联
与 Codex 审计 #60(词汇启停 UI 不回滚)的精神同源:UI 不应 mock 出"我在工作"的假象。