Skip to content

Commit 9388bf4

Browse files
committed
fix: prevent side panel actions when side panel NVP is undefined
1 parent ef8947f commit 9388bf4

2 files changed

Lines changed: 19 additions & 3 deletions

File tree

src/components/SidePanel/index.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,14 @@ import useSidePanel from '@hooks/useSidePanel';
33
import Help from './HelpModal';
44

55
function SidePanel() {
6-
const {isSidePanelTransitionEnded, shouldHideSidePanel, sidePanelTranslateX, shouldHideSidePanelBackdrop, closeSidePanel} = useSidePanel();
6+
const {sidePanelNVP, isSidePanelTransitionEnded, shouldHideSidePanel, sidePanelTranslateX, shouldHideSidePanelBackdrop, closeSidePanel} = useSidePanel();
77

8+
// Side panel can't be displayed if NVP is undefined
9+
if (!sidePanelNVP) {
10+
return null;
11+
}
12+
13+
// Hide side panel once animation ends
814
if (isSidePanelTransitionEnded && shouldHideSidePanel) {
915
return null;
1016
}

src/hooks/useSidePanel.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,30 @@ function useSidePanel() {
9191
}, [shouldHideSidePanel, shouldApplySidePanelOffset]);
9292

9393
const openSidePanel = useCallback(() => {
94+
// User shouldn't be able to open side panel if side panel NVP is undefined
95+
if (!sidePanelNVP) {
96+
return;
97+
}
98+
9499
setIsSidePanelTransitionEnded(false);
95100
KeyboardUtils.dismiss();
96101
SidePanelActions.openSidePanel(!isExtraLargeScreenWidth);
97-
}, [isExtraLargeScreenWidth]);
102+
}, [isExtraLargeScreenWidth, sidePanelNVP]);
98103

99104
const closeSidePanel = useCallback(
100105
(shouldUpdateNarrow = false) => {
106+
// User shouldn't be able to close side panel if side panel NVP is undefined
107+
if (!sidePanelNVP) {
108+
return;
109+
}
110+
101111
setIsSidePanelTransitionEnded(false);
102112
SidePanelActions.closeSidePanel(!isExtraLargeScreenWidth || shouldUpdateNarrow);
103113

104114
// Focus the composer after closing the Side Panel
105115
focusComposerWithDelay(ReportActionComposeFocusManager.composerRef.current, CONST.ANIMATED_TRANSITION + CONST.COMPOSER_FOCUS_DELAY)(true);
106116
},
107-
[isExtraLargeScreenWidth],
117+
[isExtraLargeScreenWidth, sidePanelNVP],
108118
);
109119

110120
return {

0 commit comments

Comments
 (0)