feat: 升级到 lipgloss/bubbletea v2,实现翻译卡片组件
- 升级 charm.land/lipgloss/v2 v1.1.0 -> v2.0.2 - 升级 charm.land/bubbletea/v2 v1.3.10 -> v2.0.2 - 升级 charm.land/bubbles/v2 -> v2.1.0 - 新增翻译卡片组件:元信息行(Tokens/耗时/模型)、用户输入(碳黑背景)、翻译结果 - 卡片组件间距 5px - 重构 model.go 适配 v2 API - 更新 keys.go, messages.go, styles.go
This commit is contained in:
38
changelog.md
38
changelog.md
@@ -42,6 +42,19 @@
|
||||
| 5 | 快捷键系统 | 退出、清空、切换语言等 | ✅ 已完成 |
|
||||
| 6 | 集成翻译 | 对接现有Translator、加载动画 | ✅ 已完成 |
|
||||
|
||||
## TUI界面重构计划 (v0.8.0) - 聊天风格
|
||||
| 步骤 | 模块 | 内容 | 状态 |
|
||||
|------|------|------|------|
|
||||
| 1 | 模块结构拆分 | 创建 view/components/styles/keys 子目录 | ✅ 已完成 |
|
||||
| 2 | 消息数据结构 | ChatMessage, ChatGroup 结构定义 | ✅ 已完成 |
|
||||
| 3 | 消息列表组件 | 可滚动的消息历史展示 (viewport) | ✅ 已完成 |
|
||||
| 4 | 原文+译文样式 | 区分显示用户输入和翻译结果 | ✅ 已完成 |
|
||||
| 5 | 固定底部输入框 | textarea + Ctrl+J 换行 + 固定高度5行 | ✅ 已完成 |
|
||||
| 6 | 状态栏 | 完整信息显示 | ✅ 已完成 |
|
||||
| 7 | 翻译逻辑集成 | 对接 Translator | ✅ 已完成 |
|
||||
| 8 | 输入框背景色 | 使用 FocusedStyle/BlurredStyle 设置背景 | ✅ 已完成 |
|
||||
| 9 | 输入框修复 | 修复Ctrl+J换行后第一行被遮住的问题 | ✅ 已完成 |
|
||||
|
||||
## TUI界面改进计划 (v0.7.0)
|
||||
| 步骤 | 模块 | 内容 | 状态 |
|
||||
|------|------|------|------|
|
||||
@@ -405,4 +418,27 @@ yoyo onboard --force
|
||||
### 示例版本递增
|
||||
- `0.0.1` → `0.0.2`:小修复
|
||||
- `0.0.99` → `0.1.0`:新功能(修订版本溢出)
|
||||
- `1.2.3` → `2.0.0`:重大架构变更
|
||||
- `1.2.3` → `2.0.0`:重大架构变更
|
||||
|
||||
---
|
||||
|
||||
## v0.8.1 (2026-04-07)
|
||||
|
||||
### 新功能
|
||||
- 使用 lipgloss v2 设计翻译结果卡片组件
|
||||
- 卡片包含三部分:元信息行(Tokens/耗时/模型)、用户输入(碳黑背景)、翻译结果
|
||||
|
||||
### 升级
|
||||
- 升级 `charm.land/lipgloss/v2` v1.1.0 → v2.0.2
|
||||
- 升级 `charm.land/bubbletea/v2` v1.3.10 → v2.0.2
|
||||
- 升级 `charm.land/bubbles/v2` → v2.1.0
|
||||
- 更新所有模块路径为 `charm.land/xxx/v2` 格式
|
||||
|
||||
### 技术细节
|
||||
- 背景色: #1A1A1A (碳黑色)
|
||||
- 用户输入区域无边框,纯背景色
|
||||
- 组件间距: 5px marginBottom
|
||||
- View() 方法返回 `tea.View` 类型
|
||||
- KeyMsg 改为 KeyPressMsg,使用 `msg.String()` 判断键位
|
||||
|
||||
**讨论记录**: [taolun.md#版本-0.8.1-翻译结果卡片组件设计](taolun.md#版本-081---翻译结果卡片组件设计)
|
||||
Reference in New Issue
Block a user