- 恢复 variables.css 完整的 ClassicDark/ModernDark 等主题定义 - 恢复 nuxt.config.ts 的主题系统逻辑(默认改为 ClassicLight,保留切换能力) - 修复 BackupManager / VotersModal / ProfileForm / LyricsModal / RequestForm / SongList / ScheduleList / StatsSlide / ArtistSlide 等数十处组件内部硬编码深色(#1a1a1a / #040e15 等)绕过主题的问题,全部改为使用 CSS 变量 (var(--bg-primary) 等) - 这样实现了:在浅色模式下,所有页面均正确显示浅色;在深色模式下,又能正常呈现深色设计,且恢复了右上角的深浅色切换能力
- RequestForm.vue:删除 PlaylistSelectionModal.vue / NeteaseUploadDialog.vue 2 行无效 import (2 组件在合并阶段已物理删除,grep 确认无 ref / 赋值 / template 渲染段残留) - AudioPlayer.vue:彻底清理 BilibiliIframeModal 相关 8 处残留: ① 封面点击事件 @click 三元嵌套语法 bug 修复 → 简化为 !isMobile ? toggleLyrics() ② 删除 v-if=false 的「观看视频」Icon 按钮(保留歌词按钮) ③ 删除 ClientOnly 包裹的 BilibiliIframeModal 渲染段 ④ 删除 BilibiliIframeModal.vue / getBilibiliUrl 2 行 import ⑤ 删除 showBilibiliIframe ref 定义 ⑥ 删除 resolveFallbackUrl 中 if(false) 包裹的 bilibili 死代码分支 ⑦ 删除整个 openBilibiliVideo 函数(含 iframe 预览 + 新窗口跳转逻辑) ⑧ handlePlayerClick 移动端逻辑简化为直接 toggleLyrics(移除 bilibili 平台分支) - 验证: ・IDE GetDiagnostics 0 error / 0 warning ・grep 本轮 3 Modal 关键字在 app/components 下 0 命中(仅 utils/url.ts 保留 getBilibiliUrl 工具函数定义,未被 import,不影响 build) ・上一轮 4 Modal(NeteaseLogin/PodcastEpisodes/BilibiliEpisodes/RecentSongs) grep 0 命中(持续干净)