authorgravatar for maria@kuuro.netmaria <maria@kuuro.net> 2026-09-03 20:38:43-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-03 20:38:43-04:00
log0a0b6be96833adae68b36540c00d347eda278736
tree058e89931e6632266c9e40090267c147f3b7d220
parentd76b24dd15a219666941ab1b4967d8f738adcda0
signature Signed by PGP key B5690EEEBB952194

fix(web): keep right panel controls clickable (#9517)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

2 files changed, 16 insertions(+), 4 deletions(-)

apps/web/src/components/ChatView.tsx+12-3
......@@ -1865,8 +1865,7 @@ function ChatViewContent(props: ChatViewProps) {
18651865 panelAnimationDurationMs,
18661866 );
18671867 const rightPanelPresent = rightPanelPresence.present;
1868 const rightPanelControlsInPanel =
1869 rightPanelPresent && (!shouldUseRightPanelSheet || rightPanelOpen);
1868 const rightPanelControlsInPanel = rightPanelPresent && rightPanelOpen;
18701869 const renderedRightPanelSurface = rightPanelPresence.value?.activeSurface ?? null;
18711870 const renderedRightPanelSurfaces = rightPanelPresence.value?.surfaces ?? [];
18721871 const previewMiniPlayerVisible = shouldRenderPreviewMiniPlayer(
......@@ -7451,6 +7450,15 @@ function ChatViewContent(props: ChatViewProps) {
74517450 <div className="pointer-events-auto flex h-full items-center">{panelToggleControls}</div>
74527451 </div>
74537452 );
7453 const inlineRightPanelControls = (
7454 <div className="mr-px flex h-full items-center gap-1 [-webkit-app-region:no-drag]">
7455 <RightPanelMaximizeControl
7456 maximized={rightPanelMaximized}
7457 onToggle={toggleRightPanelMaximized}
7458 />
7459 {panelToggleControls}
7460 </div>
7461 );
74547462 const rightPanelContent = activeThreadRef ? (
74557463 renderedRightPanelSurface?.kind === "preview" ? (
74567464 <Suspense fallback={null}>
......@@ -7611,7 +7619,7 @@ function ChatViewContent(props: ChatViewProps) {
76117619 reserveNativeControls={reserveTitleBarControlInset && !inlineRightPanelOwnsTitleBar}
76127620 className="relative bg-background"
76137621 >
7614 {!shouldUseRightPanelSheet || !rightPanelControlsInPanel ? panelLayoutControls : null}
7622 {!rightPanelControlsInPanel ? panelLayoutControls : null}
76157623 <ChatHeader
76167624 {...(!supportsPullRequests || activeProjectRepository === null
76177625 ? {}
......@@ -8039,6 +8047,7 @@ function ChatViewContent(props: ChatViewProps) {
80398047 mode="inline"
80408048 open={rightPanelOpen}
80418049 maximized={rightPanelMaximized}
8050 layoutControls={rightPanelOpen ? inlineRightPanelControls : null}
80428051 surfaces={renderedRightPanelSurfaces}
80438052 environmentId={activeThreadRef.environmentId}
80448053 activeSurfaceId={renderedRightPanelSurface?.id ?? null}
apps/web/src/components/RightPanelTabs.tsx+4-1
......@@ -990,7 +990,10 @@ export function RightPanelTabs(props: RightPanelTabsProps) {
990990 // controls a few pixels higher and the cluster jumps on open.
991991 props.mode === "inline" && !props.layoutControls ? "pr-28" : "pr-3",
992992 ownsDesktopTitleBar && "drag-region",
993 ownsDesktopTitleBar && "wco:pr-[calc(var(--workspace-native-controls-inset)+6rem)]",
993 ownsDesktopTitleBar &&
994 (props.layoutControls
995 ? "wco:pr-[var(--workspace-native-controls-inset)]"
996 : "wco:pr-[calc(var(--workspace-native-controls-inset)+6rem)]"),
994997 props.mode === "inline" && props.maximized && COLLAPSED_SIDEBAR_TITLEBAR_INSET_CLASS,
995998 )}
996999 data-right-panel-tabbar