Skip to content

fix(web): 优化课表重叠课程的堆叠与展开显示 - #15

Merged
heathcetide merged 20 commits into
LingByte:mainfrom
1628755394:main
Sep 9, 2026
Merged

heathcetide merged 20 commits into
LingByte:mainfrom
1628755394:main

Conversation

@1628755394

Copy link
Copy Markdown

变更内容

  • 优化课表中重叠课程的卡片堆叠样式
  • 仅将真实时间重叠的课程归为同一组
  • 修复连续课程被错误合并并一起展开的问题
  • 调整课程卡片的圆角、阴影、标题和时间布局
  • 支持点击重叠课程后按规律展开
  • 保留主题色边框和 +N 重叠数量提示

验证结果

  • Go 构建通过:go build ./...
  • Web 构建通过:npm run build
  • 已验证课程卡片堆叠、展开和连续课程显示逻辑

相关提交

  • f59afa0 fix(coaching): 仅按真实时间重叠展开课卡
  • 0b6118c fix(coaching): 让衔接课卡统一进入堆叠组
  • 9cfa6c3 fix(coaching): 收紧重叠课卡并按可视高度分组
  • 55e35cb fix(coaching): 校正课卡堆叠层级和展开尺寸

17793426456 and others added 20 commits September 8, 2026 11:16
展开重叠课程后,点击课表空白区域恢复默认堆叠状态;教练模式下收起后再次点击才进入当天排课。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
展开重叠课程后,点击课程卡片以外的任意区域自动收起,恢复默认堆叠状态。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
NoteContext 新增 openDefaultNote 方法,重置 storageKey 为空(回退到 defaultStorageKey)。
PreTrainingCheck、PostTrainingCheck、ReviewCheck 的底栏「随心记」按钮
改为打开时调用 openDefaultNote,不再沿用上一次单词笔记的 storageKey。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
将「选择5个」拆分为「✔5个」和「❌5个」两个按钮,
分别标记5个未选词为认识/不认识。保留「全选」按钮不变。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
只保留「✔5个」和「❌5个」两个按钮,移除「全选」按钮及相关未使用代码。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
后端 review.go:
- aggKey 去掉 SessionID,按 StudentID+WordBookID 分组,
  同一学员同词库的多节课次合并为一条
- 合并后取最早 startedAt 和最晚 endedAt

前端 AntiForgetting.tsx:
- clockParts 接收 practiceEndedAt,trainingAt 显示为
  "2026-09-06 17:05~17:20" 时间段格式
- 无 endedAt 时显示 "17:05~17:05"

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
将「5个正确」和「5个错误」按钮改为薄荷绿/红色实心圆角样式,
分别使用勾号和叉号图标,并同步更新中英文文案。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
取消人工带读模式下对当前单词选中框的隐藏,点击朗读单词后使用主题色边框和浅色背景标记当前单词。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
人工带读时点击整张单词卡即可标记当前朗读单词,
并阻止单词卡内的翻页和笔记操作误触发朗读标记。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
人工带读点击单词时只更新当前选中单词,不再触发自动发音、释义展开、练习计数和序列推进;切换模式时同步清理旧的选中状态。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
恢复人工带读改动前的行为:不再对整张单词卡绑定朗读选中,
也不再在人工带读时显示当前单词的选中框,保留原有的单词点击朗读入口。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
人工带读模式下点击单词只记录当前朗读词,不触发自动音频、释义展开或练习进度;
列表和卡片模式都使用主题色边框与浅色背景显示当前选中单词,切换模式时清理旧选中状态。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
重叠课程统一从最早开始时间定位,并按固定像素间距向下堆叠,
即使点击展开详情也不再按各自时间错开,保留顶部课程详情和 +N 角标。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
恢复点击重叠课卡后的展开效果,同时让收起状态按固定间距规律堆叠。
调整卡片为居中圆角布局,标题在上、时间在下,并保留主题色边框和 +N 角标。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
让收起状态由底层卡片显示课程详情,展开状态保持约 44px 的规律间距和紧凑卡片高度,
并让点击的课卡置顶,匹配参考图的堆叠与展开效果。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
按课卡的最小可视高度判断相邻课程是否重叠,避免时间上不重叠但画面中挤在一起的卡片各自占满高度。
收起状态将重叠课卡压缩到更紧凑的高度,保持参考图中的规律堆叠效果。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
将时间刚好衔接或可视范围相接的课程归入同一堆叠组,
展开时也从组起点按固定间距排列,避免课程卡片按原始时间轴分散铺开。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
撤销连续课程的链式堆叠判断,只有实际时间段相互重叠的课程才归入同一组。
避免点击一节课后,将后续并非同时进行的课程一起展开。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@heathcetide
heathcetide merged commit 8c72c01 into LingByte:main Sep 9, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants