From 475afa48666d1e02d4cd39cc5287f3664383dd6c Mon Sep 17 00:00:00 2001 From: Cal Nightingale Date: Tue, 10 Mar 2026 11:23:34 -0400 Subject: [PATCH] Add URL params to control side panel initial state Support `leftPanelClosed` and `rightPanelClosed` URL query parameters to override the mode's default panel open/closed state. This enables embedding consumers (e.g. the review service) to load the viewer with panels closed without requiring mode-level config changes. Co-Authored-By: Claude Opus 4.6 --- platform/app/src/routes/Mode/Mode.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/platform/app/src/routes/Mode/Mode.tsx b/platform/app/src/routes/Mode/Mode.tsx index 11efb98c66d..d0ee9997ee6 100644 --- a/platform/app/src/routes/Mode/Mode.tsx +++ b/platform/app/src/routes/Mode/Mode.tsx @@ -156,6 +156,16 @@ export default function ModeRoute({ // layoutProps contains all props but leftPanels and rightPanels layoutData.props = layoutProps; + // Allow URL params to override panel closed state + const urlLeftPanelClosed = lowerCaseSearchParams.get('leftpanelclosed'); + const urlRightPanelClosed = lowerCaseSearchParams.get('rightpanelclosed'); + if (urlLeftPanelClosed !== null) { + layoutData.props.leftPanelClosed = urlLeftPanelClosed === 'true'; + } + if (urlRightPanelClosed !== null) { + layoutData.props.rightPanelClosed = urlRightPanelClosed === 'true'; + } + layoutTemplateData.current = layoutData; setRefresh(!refresh); }