feat(memoir+conversation): 章节/故事最小可读字数;会话 hasUserMessage 与 UI 优化

- 后端:300 字门槛统一物化、hydrate、列表/PDF/详情;过短章节对读者隐藏
- 对话:首包前打字动画、大字模式排版、朗读/TTS 交互与布局稳定
- 首页:复用无用户消息会话;空列表「继续对话」与文案 i18n
- 章节阅读:标题进正文、封面与去重标题;阅读 Markdown 字号上调
This commit is contained in:
Kevin
2026-03-26 16:28:33 +08:00
parent d990399112
commit 1374f6e8f5
15 changed files with 708 additions and 198 deletions

View File

@@ -63,6 +63,7 @@ interface Resources {
conversation: {
addMore: 'More';
agentName: 'Life Echo';
assistantReplying: 'Replying…';
cancel: 'Cancel';
cancelRecording: 'Cancel recording';
cannotReadAloud: 'Read unavailable';
@@ -88,6 +89,8 @@ interface Resources {
readingAloud: 'Reading aloud…';
recentChats: 'Recent Chats';
recordingPermissionDenied: 'Microphone permission is required to record';
resumeChatSubtitle: 'Open your latest conversation to keep talking.';
resumeChatTitle: 'Continue chatting';
send: 'Send';
startNewSubtitle: 'Capture a new memory or share your thoughts with your companion.';
stopReadingAloud: 'Stop reading aloud';

View File

@@ -11,6 +11,7 @@
"deleteConversation": "Delete Conversation",
"addMore": "More",
"agentName": "Life Echo",
"assistantReplying": "Replying…",
"cancelRecording": "Cancel recording",
"chatTitle": "Conversation",
"connectionConnected": "Connected",
@@ -18,6 +19,8 @@
"connectionDisconnected": "Disconnected",
"emptyGreetingSubtitle": "Chat with your companion and record your stories.",
"greetingTitle": "Say Hello",
"resumeChatTitle": "Continue chatting",
"resumeChatSubtitle": "Open your latest conversation to keep talking.",
"inputPlaceholder": "Type a message...",
"inputPlaceholderVoice": "Type here or hold the mic to speak...",
"me": "Me",

View File

@@ -11,6 +11,7 @@
"deleteConversation": "删除对话",
"addMore": "更多功能",
"agentName": "岁月知己",
"assistantReplying": "正在回复…",
"cancelRecording": "取消录音发送",
"chatTitle": "对话",
"connectionConnected": "已连接",
@@ -18,6 +19,8 @@
"connectionDisconnected": "未连接",
"emptyGreetingSubtitle": "和岁月知己聊聊,记录你的故事。",
"greetingTitle": "打个招呼",
"resumeChatTitle": "继续对话",
"resumeChatSubtitle": "进入最近一条对话,接着和岁月知己聊。",
"inputPlaceholder": "输入消息...",
"inputPlaceholderVoice": "点击这里输入,或者按住左边说话...",
"me": "我",