Move work preview navigation beside workspace tabs
This commit is contained in:
1 parent
c55e9c7182
commit
d787267055
9 files changed
+272
-33
No files matched your search
@@ -183,6 +183,7 @@ export function CodingChatPanel({
|
||||
Record<string, LocalComposerAttachment[]>
|
||||
>({});
|
||||
const [agentBrowserOpen, setAgentBrowserOpen] = useState(false);
|
||||
const [browserToolbar, setBrowserToolbar] = useState<HTMLDivElement | null>(null);
|
||||
const [workRevision, setWorkRevision] = useState(0);
|
||||
const [readyWorkProjectId, setReadyWorkProjectId] = useState<string | null>(null);
|
||||
const recoveryFlight = useRef(false);
|
||||
@@ -782,12 +783,16 @@ export function CodingChatPanel({
|
||||
teacherEntry={activeProject ? <TeacherCompanion companion={teacherCompanion} open={consultationOpen} onOpen={openTeacher} onToggle={toggleTeacher} bubbleRef={setTeacherBubble} introductionRef={setTeacherIntroduction} /> : undefined}
|
||||
/>
|
||||
|
||||
<div className="classroom-tabs" role="tablist" aria-label="当前工作">
|
||||
<button role="tab" id="classroom-chat-tab" aria-controls="classroom-chat-view" aria-selected={!agentBrowserOpen} tabIndex={!agentBrowserOpen ? 0 : -1} onClick={() => setAgentBrowserOpen(false)} onKeyDown={(event) => { if (event.key === 'ArrowRight') { setAgentBrowserOpen(true); document.getElementById('classroom-work-tab')?.focus(); } }}><MessageSquare className="h-3.5 w-3.5" />操作对话</button>
|
||||
<button role="tab" id="classroom-work-tab" aria-controls="classroom-work-view" aria-selected={agentBrowserOpen} tabIndex={agentBrowserOpen ? 0 : -1} onClick={() => setAgentBrowserOpen(true)} onKeyDown={(event) => { if (event.key === 'ArrowLeft') { setAgentBrowserOpen(false); document.getElementById('classroom-chat-tab')?.focus(); } }}><Play className="h-3.5 w-3.5" />作品</button>
|
||||
<div className="classroom-workspace-toolbar" data-testid="classroom-workspace-toolbar">
|
||||
<div className="classroom-tabs" role="tablist" aria-label="当前工作">
|
||||
<button role="tab" id="classroom-chat-tab" aria-controls="classroom-chat-view" aria-selected={!agentBrowserOpen} tabIndex={!agentBrowserOpen ? 0 : -1} onClick={() => setAgentBrowserOpen(false)} onKeyDown={(event) => { if (event.key === 'ArrowRight') { setAgentBrowserOpen(true); document.getElementById('classroom-work-tab')?.focus(); } }}><MessageSquare className="h-3.5 w-3.5" />操作对话</button>
|
||||
<button role="tab" id="classroom-work-tab" aria-controls="classroom-work-view" aria-selected={agentBrowserOpen} tabIndex={agentBrowserOpen ? 0 : -1} onClick={() => setAgentBrowserOpen(true)} onKeyDown={(event) => { if (event.key === 'ArrowLeft') { setAgentBrowserOpen(false); document.getElementById('classroom-chat-tab')?.focus(); } }}><Play className="h-3.5 w-3.5" />作品</button>
|
||||
</div>
|
||||
<div className="classroom-browser-toolbar" ref={setBrowserToolbar} hidden={!agentBrowserOpen} />
|
||||
</div>
|
||||
<div id="classroom-work-view" role="tabpanel" aria-labelledby="classroom-work-tab" hidden={!agentBrowserOpen} className="classroom-work-view min-h-0 flex-1 flex-col p-5">
|
||||
<AgentBrowserPanel projectId={activeProject?.id ?? null} open={agentBrowserOpen} onOpenChange={setAgentBrowserOpen} embedded
|
||||
toolbarContainer={browserToolbar}
|
||||
teacherBubble={teacherBubble}
|
||||
teacherIntroduction={teacherIntroduction}
|
||||
workRevision={workRevision}
|
||||
|
||||
Reference in new issue
Block a user