Sfoglia il codice sorgente

feat(chat): 无会话时隐藏顶栏

顶栏内容(头像 / 容器名 / 会话名 / 状态 / 工具栏)全部依附于当前会话,
无会话时只是排不产生作用的控件,还把空白态压得不够空。

渲染条件从 agentId 收紧为 agentId && currentSession。
注意只隐藏顶栏,消息区仍渲染 —— 空白态卡片就在那里。

验证:tsc 0 错误;单测 1082/1082;构建通过;verify:ui 12/12

Co-Authored-By: Claude Code <noreply@anthropic.com>
Huccct 23 ore fa
parent
commit
9f5ef803bd
2 ha cambiato i file con 19 aggiunte e 0 eliminazioni
  1. 10 0
      docs/00-tracking/操作追踪.md
  2. 9 0
      src/app/desktop/pages/chat/chat.ts

+ 10 - 0
docs/00-tracking/操作追踪.md

@@ -3726,3 +3726,13 @@ agent-lj 的 8 个历史会话索引在墓碑中,Matrix 消息完好未删。
 
 ### 验证
 - tsc 0 错误;单测 **1082/1082**;构建通过;verify:ui 12/12
+
+### 补充:无会话时隐藏顶栏(2026-11-01)
+用户指出空白态上方还有一整条顶栏(头像 / 容器名 / 状态 / 工具栏)也应该去掉。
+
+- 顶栏渲染条件从 `chat.agentId()` 收紧为 `chat.agentId() && chat.currentSession()`
+- ⚠️ 只隐藏**顶栏**,消息区仍渲染 —— 空白态卡片就在消息区里,
+  若连消息区一起藏掉就看不到「还没有对话 + 新建按钮」了
+- 无顶栏后 `.messages--bare` 自然撑满整个主列,卡片居中更干净
+
+验证:tsc 0 错误;单测 1082/1082;构建通过;verify:ui 12/12

+ 9 - 0
src/app/desktop/pages/chat/chat.ts

@@ -150,6 +150,14 @@ interface ConversationRow {
             <ui-empty title="选择一个会话" description="从左侧选择数字生命开始对话。" />
           </div>
         } @else {
+          <!--
+            🔴 无会话时不渲染顶栏(2026-11-01 用户要求)。
+               容器名 / 会话名 / 状态 / 工具栏全部**依附于当前会话**,
+               没有会话时它只是一排不产生作用的控件,还把空白态压得不够「空」。
+               注意:只隐藏**顶栏**,下面的消息区仍要渲染 ——
+               空白态卡片(还没有对话 + 新建按钮)就在那里。
+          -->
+          @if (chat.currentSession()) {
           <header class="chat-head">
             @if (chat.agent(); as a) {
               <ui-avatar [name]="a.name" [size]="'md'" />
@@ -252,6 +260,7 @@ interface ConversationRow {
               </ui-tooltip>
             </div>
           </header>
+          }
 
           <!--
             连接状态提示(AC-04.9)。