feat: 结束视频后保留对话,支持继续文字聊天

- useVisionSession 新增 stopVideo 回调(停媒体流,保持连接和消息)
- App.tsx 控制区从二态改为三态(initial/video/textOnly)
- 文字对话态显示「重新开始视频」和「结束会话」按钮
- 新增 CSS 样式(video-ended-hint、btn--outline)
- 新增 i18n key(stopVideo/endSession/resumeVideo/video.ended)
- 新增设计方案文档
This commit is contained in:
2026-06-20 13:48:26 +08:00
parent 3dc2015a91
commit ae9a27c300
7 changed files with 385 additions and 4 deletions

View File

@@ -1503,6 +1503,48 @@ body {
color: white;
}
/* ---- Text-only mode (video ended, chat preserved) ---- */
.video-controls__text-only {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
width: 100%;
}
.video-ended-hint {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
padding: 4px 0;
}
.video-ended-hint__title {
font-size: 0.85rem;
font-weight: 600;
color: var(--color-text-muted);
}
.video-ended-hint__sub {
font-size: 0.7rem;
color: var(--color-text-muted);
opacity: 0.7;
}
.btn--outline {
background: transparent;
border: 1px solid var(--color-border);
color: var(--color-text-muted);
}
.btn--outline:hover {
background: var(--color-surface-2);
color: var(--color-text);
border-color: var(--color-surface-3);
}
/* ---- Scene Cards (empty state) ---- */
.scene-cards {