Repository navigation
v2.3.0 — UI/动效打磨 + 划词整句翻译
安装
已发布到 PyPI:pip install readloops,安装后执行 readloops serve 启动。
新增
- 划词翻译整句:选中多个单词时调用 AI 翻译整段选中文本(新增
POST /api/words/translate与ai.py::translate_sentence);选中单个单词仍走本地 ECDICT 词典,句子模式下隐藏「加入生词本」 - 侧边栏 logo 链接:点击项目名跳转项目主页
- 空状态快捷键提示:空列表中展示
空格/选中/F键位提示
重构 — 设计 token 体系
- 按钮系统:新增
--btn-*尺寸/圆角/内边距 token;.toolbar-btn成为全站共享基类(.primary/.danger/.icon/.large),合并此前两套不同的删除按钮设计 - 动效系统:新增
--page-*/--enter-*/--ease-*token;新增staggerIn(selector, step, max)作为成组元素错峰入场的统一入口 - 玻璃质感统一:提高表面亮度,新增
body::before氛围光层(随主题切换配色);弹窗、确认框、输入框由实色统一为玻璃
修复
- 页面切换残影(两个根因):① 渲染函数为 async 但未
await;②transition移除类时反向补间与淡入动画冲突 → 统一改用animation - 自动专注模式回归:非阅读页点击消耗一次性触发机会 → 增加视图判断
- 计时栏在非阅读页也显示 → 改为仅阅读视图显示
- 统计热力图入场「炸开」:188 格各自缩放 → 容器整块淡入
- 清理两套互相覆盖的错峰逻辑与
return之后的死代码 - Windows 控制台中文输出崩溃:默认代码页(cp1252 等)下
readloops --help/init/doctor会 UnicodeEncodeError → CLI 入口统一把标准流重配置为 UTF-8(含回归测试)
动效
- 容器只做 opacity、不做位移,位移仅留给内容层
- 页面离开 0.10s / 进入 0.52s;内容入场 0.78s + 14px 位移 + 0.055s 错峰
- 新增
--ease-damped: cubic-bezier(0.34, 1.28, 0.42, 1)带回弹的阻尼缓动 - 主题切换改为 400ms 颜色过渡
说明:本轮为纯表现层改动;唯一新增后端接口为 POST /api/words/translate,无数据库变更。完整变更见 CHANGELOG。