feat(web): MD3 矢量图标组件 + 全量 emoji 替换为新图标
新增 src/components/Icon.tsx(Material Symbols Rounded 风格,24 viewBox / currentColor / 零运行时依赖 / 可 tree-shake / 离线优先),导出 <Icon name size /> 与 IconName 类型, 覆盖全部现有界面图标的语义映射(chart/dna/chat/memory/docs/plugin/channel/device/robot/ clock/agent/night/trend/users/settings/light/ac/mic/micOff/sun/moon/lock/block/check/close/ gear/file/package/folder/shield/storage/refresh/vision/home/arrow/terminal)。 将用户端(Nav/TopBar/ChatInput/chat + 各 modes)与管理面板(sidebar 15 模块/Dashboard 卡片/System SectionTitle/Observability StatCard/Agents/Backthink/Automations/AdminTable empty)中的 emoji 图标全部替换为 <Icon name=... />,icon 字段由 string 改为 IconName / ReactNode。保留正文说明性箭头(如“设置→连接”)与流程方向箭头。 npm run build(tsc --noEmit + vite build)通过:79 模块,JS 300KB/gzip 90KB。
This commit is contained in:
1 parent
20305631c5
commit
a482bc2ea7
1 file changed
+17
-16
@@ -1,10 +1,11 @@
|
||||
import type { AdminSectionId } from "./router";
|
||||
import type { IconName } from "../components/Icon";
|
||||
|
||||
/** Sidebar grouping for the 15 admin modules. Groups are visual only. */
|
||||
export interface AdminSectionMeta {
|
||||
id: AdminSectionId;
|
||||
label: string;
|
||||
icon: string;
|
||||
icon: IconName;
|
||||
group: string;
|
||||
}
|
||||
|
||||
@@ -13,21 +14,21 @@ export interface AdminSectionMeta {
|
||||
* the section headers. All are clickable — several are shells until M10+ backend.
|
||||
*/
|
||||
export const ADMIN_SECTIONS: ReadonlyArray<AdminSectionMeta> = [
|
||||
{ id: "dashboard", label: "仪表盘", icon: "📊", group: "总览" },
|
||||
{ id: "personas", label: "人格管理", icon: "🧬", group: "内容" },
|
||||
{ id: "sessions", label: "会话管理", icon: "💬", group: "内容" },
|
||||
{ id: "memories", label: "记忆管理", icon: "🧠", group: "内容" },
|
||||
{ id: "rag", label: "知识库 RAG", icon: "📚", group: "内容" },
|
||||
{ id: "plugins", label: "插件与能力", icon: "🔌", group: "能力与连接" },
|
||||
{ id: "channels", label: "渠道管理", icon: "📡", group: "能力与连接" },
|
||||
{ id: "iot", label: "IoT 设备", icon: "📲", group: "能力与连接" },
|
||||
{ id: "llm", label: "LLM 模型", icon: "🤖", group: "能力与连接" },
|
||||
{ id: "automations", label: "自动化与提醒", icon: "⏰", group: "能力与连接" },
|
||||
{ id: "agents", label: "Agent 监控", icon: "🧩", group: "运行时" },
|
||||
{ id: "backthink", label: "后台思考", icon: "🌙", group: "运行时" },
|
||||
{ id: "observability", label: "可观测性", icon: "📈", group: "运行时" },
|
||||
{ id: "users", label: "用户与权限", icon: "👥", group: "治理" },
|
||||
{ id: "system", label: "系统设置", icon: "⚙", group: "治理" },
|
||||
{ id: "dashboard", label: "仪表盘", icon: "chart", group: "总览" },
|
||||
{ id: "personas", label: "人格管理", icon: "dna", group: "内容" },
|
||||
{ id: "sessions", label: "会话管理", icon: "chat", group: "内容" },
|
||||
{ id: "memories", label: "记忆管理", icon: "memory", group: "内容" },
|
||||
{ id: "rag", label: "知识库 RAG", icon: "docs", group: "内容" },
|
||||
{ id: "plugins", label: "插件与能力", icon: "plugin", group: "能力与连接" },
|
||||
{ id: "channels", label: "渠道管理", icon: "channel", group: "能力与连接" },
|
||||
{ id: "iot", label: "IoT 设备", icon: "device", group: "能力与连接" },
|
||||
{ id: "llm", label: "LLM 模型", icon: "robot", group: "能力与连接" },
|
||||
{ id: "automations", label: "自动化与提醒", icon: "clock", group: "能力与连接" },
|
||||
{ id: "agents", label: "Agent 监控", icon: "agent", group: "运行时" },
|
||||
{ id: "backthink", label: "后台思考", icon: "night", group: "运行时" },
|
||||
{ id: "observability", label: "可观测性", icon: "trend", group: "运行时" },
|
||||
{ id: "users", label: "用户与权限", icon: "users", group: "治理" },
|
||||
{ id: "system", label: "系统设置", icon: "settings", group: "治理" },
|
||||
];
|
||||
|
||||
/** Group headers in sidebar order (derived from ADMIN_SECTIONS). */
|
||||
|
||||
Reference in new issue
Block a user