# 组件 UI 重新设计示例
本文档展示如何将现有组件中的 emoji 替换为 SVG 图标,并应用更专业的设计风格。
## 示例 1: GlobalSidebar.vue
### Before
```vue
```
### After
```vue
```
## 示例 2: DocumentsPanel.vue
### Before
```vue
```
### After
```vue
```
## 示例 3: MainContent.vue 工具栏
### Before
```vue
```
### After
```vue
```
## 示例 4: 状态指示器
### Before
```vue
⚠️ 警告信息
✅ 操作成功
❌ 发生错误
```
### After
```vue
警告信息
操作成功
发生错误
```
## 示例 5: 空状态提示
### Before
```vue
```
### After
```vue
```
## 设计原则总结
### 1. 一致的间距系统
- 使用 `gap` 属性设置图标和文字的间距
- 推荐间距:`var(--space-2)` (8px)
### 2. 语义化颜色
- 主要操作:`var(--accent-primary)`
- 成功状态:`var(--accent-success)`
- 警告状态:`var(--accent-warning)`
- 危险操作:`var(--accent-danger)`
### 3. 交互反馈
- 所有可点击元素添加 `transition`
- hover 状态使用 `var(--bg-elevated)` 背景变化
- 添加适当的 `border-radius`
### 4. 图标尺寸规范
- 按钮内图标:16px
- 标题/标签图标:18-20px
- 大型展示图标:24-48px
### 5. 对齐方式
- 使用 `display: flex`
- `align-items: center` 确保垂直居中
- 图标添加 `flex-shrink: 0` 防止被压缩
## 迁移检查清单
在完成每个组件的迁移后,请确认:
- [ ] 移除所有 emoji 字符
- [ ] 导入 `IconLibrary` 组件
- [ ] 图标名称符合语义
- [ ] 图标尺寸合适
- [ ] 图标和文字正确对齐
- [ ] hover 状态有视觉反馈
- [ ] 颜色使用设计令牌
- [ ] 间距符合设计系统
- [ ] 添加必要的 `aria-label`
- [ ] 测试响应式布局