Integrate project classroom with teacher and friend consultations

This commit is contained in:
鲨鱼辣椒
2026-09-22 15:50:18 +08:00
parent e5d271bc45
commit 68e676cb62
28 changed files with 957 additions and 314 deletions

View File

@@ -79,12 +79,9 @@ function ProductTitleBar({
};
// The project sidebar preview is rendered below the title bar, so mirror
// its full width in the title bar for ordinary pages. The chat workspace
// has an independent conversation rail and must keep its pinned columns.
// keeps project conversations in the sidebar and must preserve its title rail.
const sidebarPreviewTitlebarVisible = sidebarCollapsed && sidebarPeekOpen && !workspaceLayout && !overlay;
const sidebarTitlebarHidden = sidebarCollapsed && !sidebarPreviewTitlebarVisible;
const conversationSurfaceOffset = sidebarTitlebarHidden
? (nativeTrafficLights ? '-132px' : '-52px')
: '0px';
const sidebarToggle = (
<button
type="button"
@@ -194,13 +191,6 @@ function ProductTitleBar({
marginRight: 'var(--agent-browser-panel-width, 0px)',
}}
>
{workspaceLayout ? (
<div
data-testid="titlebar-conversation-surface"
className="pointer-events-none absolute inset-y-0 z-0 w-[256px] border-r border-border/80 bg-surface-tertiary"
style={{ left: conversationSurfaceOffset }}
/>
) : null}
{pageTitle ? (
<h1
data-testid="titlebar-page-title"
@@ -219,7 +209,7 @@ function ProductTitleBar({
<span className="truncate text-sm font-semibold">{activeProject?.name ?? 'Makelore 工作台'}</span>
</div>
) : null}
{!overlay ? titlebarLogo : null}
{!overlay && !workspaceLayout ? titlebarLogo : null}
<div
className={cn(
'no-drag absolute inset-y-0 right-0 z-10 flex items-center justify-end gap-1 px-2',