# 目标

使用 shadcn_ui 现代化 Flutter 虚拟货币交易平台的主题和 UI，统一设计系统，提升用户体验。

## 参考文件

- `specs/theme-modernization.md` - 主题现代化规范
- `AGENTS.md` - 项目说明和注意事项
- `../REFACTOR_PLAN.md` - 已有的重构计划
- `IMPLEMENTATION_PLAN.md` - 实施计划（待创建）

## 任务范围

### Phase 1: 分析和学习 (Analysis & Learning)
1. 读取并理解 `../REFACTOR_PLAN.md` - 已有的重构计划
2. 分析现有页面：
   - 哪些页面已经用 shadcn 重构
   - 哪些页面还在使用 Material 组件
   - 哪些地方有硬编码的颜色/样式
3. 识别主题配置：
   - 当前的 ShadTheme 配置
   - 品牌色、涨跌色、中性色
   - 深色/浅色模式支持
4. 列出需要创建的自定义组件

### Phase 2: 核心页面替换 (Core Pages Replacement)
**高优先级 - 立即执行**

1. **主页面替换**
   - 文件: `lib/ui/pages/main/main_page.dart`
   - 替换为: `lib/ui/pages/main/main_page_shadcn.dart`
   - 操作: 删除原文件，重命名 shadcn 版本

2. **登录页替换**
   - 文件: `lib/ui/pages/auth/login_page.dart`
   - 替换为: `lib/ui/pages/auth/login_page_shadcn.dart`
   - 操作: 删除原文件，重命名 shadcn 版本

3. **首页重构**
   - 文件: `lib/ui/pages/home/home_page.dart`
   - 目标:
     - 使用 ShadCard 展示资产概览
     - 使用 ShadButton 进行快捷操作
     - 使用 LucideIcons 替换 Material Icons
     - 添加 flutter_animate 动画

### Phase 3: 功能页面重构 (Feature Pages Refactoring)
**高优先级**

1. **行情页面 (market_page.dart)**
   - 币种列表使用 ShadCard
   - 价格变化使用 ShadBadge（涨绿跌红）
   - 搜索框使用 ShadInput
   - 列表项使用 ShadListTile

2. **交易页面 (trade_page.dart)**
   - 买入按钮：绿色 ShadButton
   - 卖出按钮：红色 ShadButton.destructive
   - 数量输入：ShadInputFormField
   - 币种选择：ShadSelect（如果需要）

3. **资产页面 (asset_page.dart)**
   - 总资产卡片：大号 ShadCard
   - 充值/提现按钮：ShadButton
   - 资金列表：ShadListTile

4. **个人中心 (mine_page.dart)**
   - 菜单项：统一布局
   - 设置项：ShadSwitch
   - 退出登录：ShadButton.destructive

### Phase 4: 自定义组件创建 (Custom Components)
**中优先级**

创建可复用的业务组件：

1. **CoinCard - 币种卡片**
   ```dart
   // lib/ui/components/coin_card.dart
   // 显示：币种图标、名称、代码、价格、24h变化
   // 使用：ShadCard + ShadAvatar + ShadBadge
   ```

2. **TradeButton - 交易按钮**
   ```dart
   // lib/ui/components/trade_button.dart
   // 买入：绿色 ShadButton
   // 卖出：红色 ShadButton.destructive
   ```

3. **AssetCard - 资产卡片**
   ```dart
   // lib/ui/components/asset_card.dart
   // 显示：标题、余额、变化
   // 使用：ShadCard + 大号文本
   ```

4. **PriceChart - 价格图表**（可选）
   ```dart
   // lib/ui/components/price_chart.dart
   // 显示：价格趋势
   // 使用：CustomPaint + flutter_animate
   ```

### Phase 5: 注册页面重构 (Register Page)
**中优先级**

- 文件: `lib/ui/pages/auth/register_page.dart`
- 创建完整的注册表单
- 使用 ShadForm + ShadInputFormField
- 添加表单验证

### Phase 6: 动画优化 (Animation Enhancement)
**低优先级**

使用 flutter_animate 添加动画：

1. **页面切换动画**
   - 淡入淡出效果
   - 滑动效果

2. **列表加载动画**
   - 交错淡入
   - 滑动进入

3. **交互反馈动画**
   - 按钮点击缩放
   - 卡片悬停效果

### Phase 7: 主题定制 (Theme Customization)
**可选**

1. **品牌色定制**
   ```dart
   // 在 main.dart 中
   const brandGreen = Color(0xFF00D4AA);
   const upColor = Color(0xFF10B981);
   const downColor = Color(0xFFEF4444);
   ```

2. **配色方案调整**
   - 可选：Zinc, Blue, Violet 等

### Phase 8: 验证和测试 (Validation & Testing)

1. **功能验证**
   - 运行应用，测试所有功能
   - 确保无运行时错误

2. **视觉验证**
   - 检查所有页面一致性
   - 检查深色模式效果
   - 检查动画流畅度

3. **代码验证**
   - 运行 `flutter analyze`
   - 确保无警告和错误

## 优先级

### P0 - 立即执行
1. 替换 main_page.dart
2. 替换 login_page.dart
3. 重构 home_page.dart

### P1 - 高优先级
1. 重构 market_page.dart
2. 重构 trade_page.dart
3. 重构 asset_page.dart
4. 重构 mine_page.dart

### P2 - 中优先级
1. 创建自定义组件
2. 重构 register_page.dart

### P3 - 低优先级
1. 动画优化
2. 主题定制
3. 性能优化

## 完成标准

- [ ] 所有核心页面已重构为 shadcn 组件
- [ ] 所有按钮使用 ShadButton
- [ ] 所有卡片使用 ShadCard
- [ ] 所有输入框使用 ShadInputFormField
- [ ] 所有图标使用 LucideIcons
- [ ] 统一的间距和颜色
- [ ] 流畅的动画效果
- [ ] 功能验证通过
- [ ] `flutter analyze` 无错误
- [ ] 应用可正常运行

## 注意事项

- ⚠️ **不要修改业务逻辑**
- ⚠️ **不要修改 API 调用**
- ⚠️ **不要修改 Provider 逻辑**
- ⚠️ **不要删除现有功能**
- ⚠️ **每次修改后测试功能**
- ⚠️ **保持代码整洁**

## 工作流程

1. **先读取理解**：阅读现有代码和重构计划
2. **优先替换**：先完成已有 shadcn 版本的替换
3. **逐个重构**：按优先级重构每个页面
4. **创建组件**：提取可复用的自定义组件
5. **持续验证**：每完成一个页面就测试
6. **更新文档**：完成后更新 IMPLEMENTATION_PLAN.md

## 输出格式

创建 `IMPLEMENTATION_PLAN.md`：

```markdown
# Monisuo 主题现代化实施计划

## Status
STATUS: BUILDING

## Progress

### Phase 1: Analysis ✅
- [分析结果]

### Phase 2: Core Pages
- [ ] main_page.dart 替换
- [ ] login_page.dart 替换
- [ ] home_page.dart 重构

### Phase 3: Feature Pages
- [ ] market_page.dart 重构
- [ ] trade_page.dart 重构
- [ ] asset_page.dart 重构
- [ ] mine_page.dart 重构

### Phase 4: Custom Components
- [ ] CoinCard 创建
- [ ] TradeButton 创建
- [ ] AssetCard 创建

## Changes Made
[详细记录每个文件的修改]

## Issues Found
[发现的问题]

## Questions
[需要确认的问题]

## Completion
When all tasks are done, update status to:
STATUS: COMPLETE
```

## 开始指令

开始工作：
1. 读取 `../REFACTOR_PLAN.md` 了解已有计划
2. 读取 `specs/theme-modernization.md` 了解规范
3. 读取 `AGENTS.md` 了解项目结构
4. 创建 `IMPLEMENTATION_PLAN.md`
5. 开始执行 P0 优先级任务

Let's modernize the Monisuo Flutter app with a beautiful shadcn_ui theme! 🎨✨
