# 前端界面重新设计总结 ## 设计目标 系统性地重新设计前端界面,打造现代化、专业的标注平台,遵循以下原则: 1. **现代简约风格** - 干净整洁,无 emoji,专业感 2. **三种主题模式** - 白色、深色、护眼模式 3. **后台管理风格** - 侧边栏 + 顶部导航 + 内容区 4. **高效信息架构** - 圆角设计,清晰的视觉层次 5. **标注效率优先** - 减少干扰,突出核心功能 ## 实现内容 ### 1. 主题系统 #### 创建的文件 **`src/theme/theme-config.ts`** - 定义三种主题模式的颜色配置 - 白色模式:干净专业,使用蓝色作为主色调 - 深色模式:现代舒适,使用深蓝灰色背景 - 护眼模式:温暖舒适,使用指定的护眼色彩方案 - background: #f9f4ef - headline: #020826 - paragraph: #716040 - button: #8c7851 - buttontext: #fffffe **`src/atoms/theme-atoms.ts`** - 使用 Jotai 管理主题状态 - 支持 localStorage 持久化 - 提供派生 atoms 用于主题判断 **`src/components/theme-provider/`** - ThemeProvider 组件 - 自动应用 CSS 变量到文档根元素 - 监听主题变化并实时更新 **`src/components/theme-switcher/`** - 主题切换组件 - 三个按钮:白色、深色、护眼 - 带图标和标签,响应式设计 ### 2. 布局系统 #### 重新设计的组件 **`src/components/layout/layout.tsx` + `layout.module.scss`** - 现代后台管理布局 - 侧边栏 + 顶部栏 + 内容区 - 响应式设计,移动端友好 **`src/components/layout/top-bar.tsx` + `top-bar.module.scss`** - 新增顶部导航栏 - 显示当前页面标题 - 集成主题切换器 - 固定高度 64px(移动端 56px) **`src/components/layout/sidebar.tsx` + `sidebar.module.scss`** - 完全重新设计的侧边栏 - 移除所有 emoji - 添加自定义 Logo(SVG 图标) - 现代化菜单项设计 - 活动状态使用主题色高亮 - 移动端滑动抽屉 + 遮罩层 ### 3. 首页重新设计 **`src/views/home-view.tsx` + `home-view.module.scss`** - 移除所有 emoji - Hero Section:大标题 + 描述 + 双按钮 - Features Grid:三个功能卡片,悬停效果 - Stats Section:三个统计项 - 使用 CSS 模块化样式 - 完全响应式设计 ### 4. 全局样式 **`src/styles/global.scss`** - 基础重置样式 - 主题变量应用 - 滚动条样式 - 焦点样式 - 选择样式 - 工具类 - 卡片样式 - 按钮基础样式 - 状态颜色 - 加载动画 ## 主题色彩方案 ### 白色模式(Light) - 背景:#ffffff, #f8f9fa, #f1f3f5 - 文字:#1a1a1a, #4a4a4a, #6b7280 - 按钮:#2563eb(蓝色) - 边框:#e5e7eb ### 深色模式(Dark) - 背景:#0f172a, #1e293b, #334155 - 文字:#f1f5f9, #cbd5e1, #94a3b8 - 按钮:#3b82f6(亮蓝色) - 边框:#334155 ### 护眼模式(Eye-Care) - 背景:#f9f4ef, #eaddcf, #e5d4c1 - 文字:#020826, #716040, #8c7851 - 按钮:#8c7851(棕色) - 边框:#d4c4b0 ## 设计特点 ### 1. 无渐变色 - 所有颜色使用纯色 - 避免使用渐变效果 - 保持界面简洁专业 ### 2. 无紫色 - 主色调使用蓝色系(白色/深色模式) - 护眼模式使用棕色系 - 避免使用紫色或类似颜色 ### 3. 圆角设计 - 卡片:12px 圆角 - 按钮:8-10px 圆角 - 输入框:8px 圆角 - Logo 图标:8px 圆角 ### 4. 文本层次 - 标题:大字号,粗体,headline 颜色 - 正文:中等字号,paragraph 颜色 - 辅助文本:小字号,paragraph-subtle 颜色 ### 5. 交互反馈 - 悬停:背景色变化 + 边框高亮 - 活动:主题色背景 + 白色文字 - 点击:轻微缩放或位移 - 过渡:0.2-0.3s ease 动画 ### 6. 响应式设计 - 桌面端:侧边栏固定,内容区自适应 - 平板端:侧边栏可收起 - 移动端:汉堡菜单 + 滑动抽屉 ## 技术实现 ### CSS 变量系统 所有颜色通过 CSS 变量定义: ```css --theme-background --theme-headline --theme-paragraph --theme-button --theme-border ... ``` ### 主题切换流程 1. 用户点击主题按钮 2. 更新 Jotai atom 状态 3. ThemeProvider 监听变化 4. 应用新的 CSS 变量 5. 所有组件自动更新 ### 样式组织 - 全局样式:`global.scss` - 组件样式:`component.module.scss` - 主题配置:`theme-config.ts` - 避免内联样式 ## LabelStudio 编辑器 ### 主题适配策略 - **暂不修改编辑器内部样式** - 编辑器保持默认样式 - 只修改编辑器容器的背景和边框 - 避免样式冲突和复杂度 ### 未来优化方向 如果需要编辑器主题适配: 1. 研究 LabelStudio 的主题系统 2. 创建自定义 CSS 覆盖 3. 测试所有标注类型 4. 确保不影响功能 ## 使用方法 ### 切换主题 1. 点击顶部栏右侧的主题切换器 2. 选择白色、深色或护眼模式 3. 主题自动保存到 localStorage 4. 下次访问自动应用上次选择的主题 ### 自定义主题 修改 `src/theme/theme-config.ts` 中的颜色值: ```typescript export const themes: Record = { light: { background: '#ffffff', // ... 其他颜色 }, // ... }; ``` ### 添加新主题 1. 在 `ThemeMode` 类型中添加新模式 2. 在 `themes` 对象中添加颜色配置 3. 在 `ThemeSwitcher` 中添加按钮 4. 更新 CSS 变量映射 ## 文件清单 ### 新增文件 - `src/theme/theme-config.ts` - 主题配置 - `src/atoms/theme-atoms.ts` - 主题状态管理 - `src/components/theme-provider/` - 主题提供者 - `src/components/theme-switcher/` - 主题切换器 - `src/components/layout/top-bar.tsx` - 顶部栏 - `src/components/layout/top-bar.module.scss` - 顶部栏样式 - `src/components/layout/layout.module.scss` - 布局样式 - `src/components/layout/sidebar.module.scss` - 侧边栏样式 - `src/views/home-view.module.scss` - 首页样式 - `src/styles/global.scss` - 全局样式 ### 修改文件 - `src/app/app.tsx` - 集成 ThemeProvider - `src/main.tsx` - 导入全局样式 - `src/components/layout/layout.tsx` - 重新设计布局 - `src/components/layout/sidebar.tsx` - 重新设计侧边栏 - `src/views/home-view.tsx` - 重新设计首页 ## 下一步建议 ### 1. 其他页面重新设计 - ProjectsView - 项目列表页 - ProjectDetailView - 项目详情页 - TasksView - 任务列表页 - AnnotationView - 标注页面 - 使用相同的设计语言和组件 ### 2. 组件库扩展 - 创建统一的 Button 组件 - 创建统一的 Card 组件 - 创建统一的 Input 组件 - 创建统一的 Table 组件 ### 3. 动画优化 - 添加页面切换动画 - 添加列表项加载动画 - 添加骨架屏 - 优化过渡效果 ### 4. 无障碍性 - 添加 ARIA 标签 - 键盘导航支持 - 屏幕阅读器优化 - 对比度检查 ### 5. 性能优化 - 懒加载组件 - 图片优化 - 代码分割 - 缓存策略 ## 总结 成功实现了现代化、专业的前端界面重新设计: ✅ 三种主题模式(白色、深色、护眼) ✅ 后台管理风格布局 ✅ 移除所有 emoji ✅ 圆角设计 ✅ 清晰的视觉层次 ✅ 响应式设计 ✅ 主题持久化 ✅ 平滑过渡动画 ✅ 专业的色彩方案 ✅ 模块化样式组织 用户现在可以: 1. 在三种主题之间自由切换 2. 享受现代化的界面设计 3. 在不同设备上获得良好体验 4. 长时间使用护眼模式减少疲劳 5. 获得高效的标注工作流程 这为标注平台提供了完整的现代化界面基础!