Files
new-markdown/docs/17-sidebar-fixes.md
Muse dc78bb0e2a fix(sidebar): 侧边栏四项反馈(docs/17)
空状态按钮对齐页签缩进;启动自动恢复上次工作区(prefs 存 lastWorkspace、
启动校验存在性);空文件夹展开显示「(空)」、文件夹行加粗(展开逻辑经
组件测试证实本就可用);新建泛化到任意文件夹:树头+文档/+文件夹、
文件夹右键在此新建文档/文件夹。vitest 86 通过 + 2 跳过。
2026-11-14 12:27:27 +08:00

34 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 侧边栏四项反馈处理(2026-11-14)
对应大王截图反馈:①「打开文件夹」按钮偏了 ②没进上次打开的文件夹 ③没有下级文件夹 ④不能在文件夹下新建文件夹和文档。验证:tsc 0 错误、vitest **86 通过 + 2 跳过**(新增文件树回归 3 例)、build 通过。
## ① 按钮偏移
空状态区(.sidebar-empty)改为与页签行一致的 10px 左缩进、纵向 flex 左对齐排布,段落默认外边距清零,按钮与上方文字左缘对齐、不再贴边/溢出。
## ② 启动自动恢复上次工作区
原先只把打开过的工作区写进历史表、启动时从不读回。现:打开文件夹时把路径存入偏好(lastWorkspace);启动初始化时读回并校验文件夹仍存在(statFile),存在就自动设为工作区根。不新增 Rust 命令(复用 prefs 通道),Web 模式走 localStorage 同构。
## ③ 下级文件夹
实测结论先说清:**当前代码的文件树本来就支持逐级展开**——专门写了组件级测试(mock 目录数据)验证:文件夹行带 ▸,点击展开能看到下级 .md,逻辑没有缺陷。用户当时看不到下级,最可能两种情况:测试时跑的构建较旧;或子文件夹里没有 .md/.markdown/.txt 文件——文件树按设计只收这三类文档,其余文件不显示,展开后就是空白,容易误读为「没有下级」。
本次做的改进是把反馈做明确,避免再误读:
- 展开后的空文件夹显示一行「(空)」而不是空白;
- 文件夹行加粗区分,▸/▾ 展开箭头保留。
## ④ 在任意文件夹下新建
- 树头两个按钮:「+ 文档」「+ 文件夹」,作用于工作区根目录;
- 文件夹右键菜单新增「在此新建文档…」「在此新建文件夹…」,作用于该文件夹;
- 新建文档沿用原逻辑(补 .md、重名报错不覆盖、建完自动打开);新建文件夹校验名字(不能为空、不能含 Windows 非法字符),建完刷新树并提示。
- 实现:App 的 createFileInWorkspace 泛化为 createFileInDir(dir),新增 createFolderInDir(dir)(走既有 createDirPath 命令)。
## 复验建议(Windows)
- 重启应用:应直接进上次的文件夹,文件树就位。
- 点开任意子文件夹:有文档的显示文档,没有的显示「(空)」。
- 右键一个子文件夹 → 在此新建文档/文件夹:建完树里立刻出现,新文档自动打开。
- 关掉工作区(或新装首次)看空状态:按钮与「尚未打开文件夹。」文字左缘对齐。