Skip to content

feat: 新增侧边栏自定义相关功能#88

Open
RhoPaper wants to merge 2 commits into
SPlayer-Dev:devfrom
RhoPaper:feat/sidebar-customize
Open

feat: 新增侧边栏自定义相关功能#88
RhoPaper wants to merge 2 commits into
SPlayer-Dev:devfrom
RhoPaper:feat/sidebar-customize

Conversation

@RhoPaper

Copy link
Copy Markdown

改动类型

  • 新功能(feat)
  • 缺陷修复(fix)
  • 重构 / 优化(不改变对外行为)
  • 文档(docs)
  • 其他(请在「改动说明」中注明)

是否包含破坏性变更

  • 是(请在「改动说明」中详细描述)

改动说明

动机

侧边栏此前为硬编码菜单,导航项的顺序、显隐、分组均不可调整。不同用户的使用习惯差异较大(如纯本地用户用不到云盘/收藏、流媒体用户希望入口靠前等),本 PR 为侧边栏引入完整的自定义能力

主要变更

非常经典标准的可自定义导航栏功能,没什么特别的;所有配置项位于“外观-布局”中,侧栏右键有快捷方式

导航区自定义

  • 导航项支持拖拽排序与显隐切换(首页不可隐藏);下载/流媒体入口仍受对应功能开关约束
  • “匿名分组”,导航项归属于分组,组间以分隔线 视觉 区分;支持新增/删除分组、整组拖拽换位、跨组拖拽导航项(删除非空组时组内项自动并入相邻组)
  • 分组可命名,各组也可单独选择是否在侧栏显示标题;显示时默认表现为组名标题替代分隔线,当然也可全局开启”组名与分隔线叠加“;空分组默认自动跳过,可选保留分隔线留白

歌单分组自定义

  • 几乎跟上面的一样
  • 「我的歌单」「收藏的歌单」在编辑器中为默认收起的可展开卡片,保留原有整组显隐开关
  • 展开后可拖拽调整歌单显示顺序、单独隐藏歌单(仅影响侧栏,不影响其他页面);
    「我的歌单」卡片内可切换本地/在线来源,两套顺序/隐藏配置独立保存

交互入口

  • 设置 → 外观 → 布局 新增「自定义侧边栏」配置项(弹窗编辑,确认生效、可取消)
  • 侧栏右键菜单:导航项/歌单项支持「在侧边栏中隐藏」,任意处可打开「自定义侧边栏」
    (定向跳转设置页并高亮)
  • 恢复默认前有警告确认弹窗

关于AI

改动包含大量由DeepSeek-V4 Pro模型生成的代码,本人均已人工复核并手动测试验证,确保代码质量及可用性,并全程参照贡献指南书写

关联 Issue

测试情况

pnpm format / pnpm lint / pnpm typecheck 全部跑通

做了 pnpm build 完整构建,正常完成无报错,构建产物可正常运行使用( Arch Linux x64 平台, AppImage格式 );条件受限Windows 和 macOS 暂未实测(改动都是前端,应该不会有太大兼容性问题吧……)

⚠️兼容性:清空 localStorage 后首次启动为默认布局(与改动前一致);旧存档升级后正常回退默认

截图 / 录屏

默认样式不变

默认样式不变



侧栏右键菜单
侧栏右键菜单

新增“自定义侧边栏”配置项
新增“自定义侧边栏”配置项

配置弹窗UI-1 配置弹窗UI-2 配置弹窗UI-3
配置弹窗UI

重置警告弹窗
重置警告弹窗(复用快捷键配置部分的样式)

配置示例-效果 配置示例-配置项1 配置示例-配置项2
配置示例

自查清单

  • 本 PR 只包含一个主要功能 / 修复,没有夹带无关改动
  • 已在本地完整测试通过;AI 生成的代码同样自行测试并审阅过,未做未经验证的提交
  • 已运行 pnpm format,并确认 pnpm typecheckpnpm lint 通过
  • 改动涉及原生模块时已 pnpm build:native 验证;未手写 native/*/index.d.ts
  • 已向 dev 分支提交

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant