mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-05-29 20:30:00 +08:00
## 问题 新加的 hermes 页面里到处是 emoji(⚠️📁📋💬🔐🔗🖼️📝⚙️📦💬🔊🎙🔍✓ 等), 不同 OS 渲染样式差异大(macOS Apple Color Emoji vs Windows Segoe UI Emoji vs Linux Noto Color Emoji),看着很不专业,也跟现有 SVG 图标系统割裂。 ## 方案 新建 src/engines/hermes/lib/svg-icons.js — 集中所有需要的 SVG path: 状态:alert-triangle, check, x, check-circle, x-circle, info 文件:folder, folder-up, file, file-text, image, link-2, settings 列表:clipboard-list, message-square, inbox 安全:lock, shield, key 媒体:volume, mic, search 导出 svgIcon(name, opts) — 渲染时统一 viewBox / stroke-width / currentColor, size 可选覆盖。 ## 替换覆盖(7 个页面 + 2 处 CSS) - profiles.js: ⚠️ → alert-triangle, 📁 → folder - kanban.js: ⚠️ → alert-triangle, 📋 → clipboard-list, 💬 → message-square - oauth.js: ⚠️ → alert-triangle, 🔐 → lock - group-chat.js: ⚠️ → alert-triangle - logs.js: ⚠️ → 纯文本 [ERROR](log raw 字段不需要图标) - files.js: 📁🔗🖼️📝⚙️📄 全部 → folder/link-2/image/file-text/settings/file ".." → folder-up - lazy-deps.js: 7 个 category emoji → message-square/volume/mic/search/ shield/inbox/image ✓ 装好标识 → check svg 📦 empty → inbox CSS 适配: - .page-inline-error-icon: 加 inline-flex + 自动 currentColor,svg 20×20 - .empty-state .empty-icon: 加 inline-flex + svg 跟 font-size 走(1em) ## 范围控制 本次只处理我最近 3 个 commit 里新加的页面 emoji。 历史代码(setup.js / services.js / chat.js 的 ✅❌✓ 等)暂不动 — 那是 跨工作流的复杂改动,单独评估再做,避免连锁影响 CI。 ## 验证 ✓ npm run build PASS(1.80s)