feat: 智能体问答页右侧面板受控折叠,收起整列归零并在 header 提供展开入口
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
d9de41dd67
commit
90d29ed232
2 files changed
+85
-8
No files matched your search
@@ -1,6 +1,11 @@
|
||||
"use client";
|
||||
|
||||
import { BotIcon, Compass, PlusSquare } from "lucide-react";
|
||||
import {
|
||||
BotIcon,
|
||||
Compass,
|
||||
PanelRightOpenIcon,
|
||||
PlusSquare,
|
||||
} from "lucide-react";
|
||||
import { useParams, useRouter } from "next/navigation";
|
||||
import { useLocation } from "react-router-dom";
|
||||
import { useRouteBase } from "@/core/route-base";
|
||||
@@ -191,6 +196,10 @@ export default function AgentChatPage({
|
||||
|
||||
// 任务深链上下文(taskId + 开场信息):闸门(rwfx)与纯绑定(3qfx/xdfx)都要读取。
|
||||
const taskCtxOn = !!(taskGate || taskBind);
|
||||
// 右侧智能体详情面板折叠态(受控):普通问答默认展开,任务工作区默认收起。
|
||||
// 收起时整列宽度动画关闭;展开态的「收起」按钮在面板右上角,收起态的
|
||||
// 「展开」按钮在顶部 header「新对话」按钮右侧。
|
||||
const [detailCollapsed, setDetailCollapsed] = useState(taskCtxOn);
|
||||
const isXdfxTaskBind = !!chatBasePath?.includes("/plan-task-action/");
|
||||
const taskContext = useMemo<TaskContext | null>(() => {
|
||||
if (!taskCtxOn) return null;
|
||||
@@ -621,7 +630,11 @@ export default function AgentChatPage({
|
||||
size="sm"
|
||||
variant="ghost"
|
||||
className="text-muted-foreground hover:text-foreground mr-1"
|
||||
onClick={() => startAgentGuide("chat")}
|
||||
onClick={() => {
|
||||
// 引导的 chat-detail 步骤会高亮右侧面板,重放前先展开。
|
||||
setDetailCollapsed(false);
|
||||
startAgentGuide("chat");
|
||||
}}
|
||||
>
|
||||
<Compass className="size-4" />
|
||||
使用引导
|
||||
@@ -687,6 +700,23 @@ export default function AgentChatPage({
|
||||
<PlusSquare /> {t.agents.newChat}
|
||||
</Button>
|
||||
</Tooltip>
|
||||
{/* 右侧智能体详情面板收起时的「展开」入口:仅收起态显示
|
||||
(展开态的「收起」按钮在面板右上角)。桌面端专用(lg+),
|
||||
窄屏面板走抽屉交互;嵌入态面板固定渲染,不显示该开关。 */}
|
||||
{!isEmbedded && detailCollapsed && (
|
||||
<Tooltip content="展开智能体信息">
|
||||
<Button
|
||||
size="sm"
|
||||
variant="ghost"
|
||||
className="text-muted-foreground hover:text-foreground hidden lg:inline-flex"
|
||||
onClick={() => setDetailCollapsed(false)}
|
||||
aria-label="展开智能体信息"
|
||||
aria-expanded={false}
|
||||
>
|
||||
<PanelRightOpenIcon className="size-4" />
|
||||
</Button>
|
||||
</Tooltip>
|
||||
)}
|
||||
<TokenUsageIndicator
|
||||
enabled={tokenUsageEnabled}
|
||||
messages={thread.messages}
|
||||
@@ -851,7 +881,8 @@ export default function AgentChatPage({
|
||||
agentName={agentDisplayName}
|
||||
disabled={thread.isLoading || isDemoMode}
|
||||
onAskQuestion={(text) => handleSubmit({ text, files: [] })}
|
||||
defaultCollapsed={taskCtxOn}
|
||||
collapsed={detailCollapsed}
|
||||
onCollapsedChange={setDetailCollapsed}
|
||||
showRecentChats={!taskCtxOn}
|
||||
compactAppearanceActions={compactAppearanceActions}
|
||||
/>
|
||||
|
||||
Reference in new issue
Block a user