@@ -20,6 +20,7 @@ function useSidePaneDisplayStatus() {
20
20
const { isExtraLargeScreenWidth, shouldUseNarrowLayout} = useResponsiveLayout ( ) ;
21
21
const [ sidePaneNVP ] = useOnyx ( ONYXKEYS . NVP_SIDE_PANE ) ;
22
22
const [ language ] = useOnyx ( ONYXKEYS . NVP_PREFERRED_LOCALE ) ;
23
+ const [ canUseHelpSidePanel = false ] = useOnyx ( ONYXKEYS . BETAS , { selector : ( betas ) => ! ! betas ?. includes ( CONST . BETAS . HELP_SIDE_PANEL ) } ) ;
23
24
const [ isModalCenteredVisible = false ] = useOnyx ( ONYXKEYS . MODAL , {
24
25
selector : ( modal ) =>
25
26
modal ?. type === CONST . MODAL . MODAL_TYPE . CENTERED_SWIPABLE_TO_RIGHT ||
@@ -35,14 +36,14 @@ function useSidePaneDisplayStatus() {
35
36
// - NVP is not set or it is false
36
37
// - language is unsupported
37
38
// - modal centered is visible
38
- const shouldHideSidePane = ! isSidePaneVisible || isLanguageUnsupported || isModalCenteredVisible ;
39
- const isSidePaneHiddenOrLargeScreen = ! isSidePaneVisible || isLanguageUnsupported || isExtraLargeScreenWidth ;
39
+ const shouldHideSidePane = ! isSidePaneVisible || isLanguageUnsupported || isModalCenteredVisible || ! canUseHelpSidePanel ;
40
+ const isSidePaneHiddenOrLargeScreen = ! isSidePaneVisible || isLanguageUnsupported || isExtraLargeScreenWidth || ! canUseHelpSidePanel ;
40
41
41
42
// The help button is hidden when:
42
- // - side pane nvp is not set
43
+ // - the user is not part of the corresponding beta
43
44
// - side pane is displayed currently
44
45
// - language is unsupported
45
- const shouldHideHelpButton = ! sidePaneNVP || ! shouldHideSidePane || isLanguageUnsupported ;
46
+ const shouldHideHelpButton = ! canUseHelpSidePanel || ! shouldHideSidePane || isLanguageUnsupported ;
46
47
const shouldHideSidePaneBackdrop = shouldHideSidePane || isExtraLargeScreenWidth || shouldUseNarrowLayout ;
47
48
48
49
return { shouldHideSidePane, isSidePaneHiddenOrLargeScreen, shouldHideHelpButton, shouldHideSidePaneBackdrop, sidePaneNVP} ;
@@ -82,25 +83,17 @@ function useSidePane() {
82
83
} , [ shouldHideSidePane , shouldApplySidePaneOffset , sidePaneWidth ] ) ;
83
84
84
85
const openSidePane = useCallback ( ( ) => {
85
- if ( ! sidePaneNVP ) {
86
- return ;
87
- }
88
-
89
86
setIsSidePaneTransitionEnded ( false ) ;
90
87
KeyboardUtils . dismiss ( ) ;
91
88
92
89
triggerSidePane ( {
93
90
isOpen : true ,
94
91
isOpenNarrowScreen : isExtraLargeScreenWidth ? undefined : true ,
95
92
} ) ;
96
- } , [ isExtraLargeScreenWidth , sidePaneNVP ] ) ;
93
+ } , [ isExtraLargeScreenWidth ] ) ;
97
94
98
95
const closeSidePane = useCallback (
99
96
( shouldUpdateNarrow = false ) => {
100
- if ( ! sidePaneNVP ) {
101
- return ;
102
- }
103
-
104
97
setIsSidePaneTransitionEnded ( false ) ;
105
98
const shouldOnlyUpdateNarrowLayout = ! isExtraLargeScreenWidth || shouldUpdateNarrow ;
106
99
triggerSidePane ( {
@@ -111,7 +104,7 @@ function useSidePane() {
111
104
// Focus the composer after closing the side pane
112
105
focusComposerWithDelay ( ReportActionComposeFocusManager . composerRef . current , CONST . ANIMATED_TRANSITION + CONST . COMPOSER_FOCUS_DELAY ) ( true ) ;
113
106
} ,
114
- [ isExtraLargeScreenWidth , sidePaneNVP ] ,
107
+ [ isExtraLargeScreenWidth ] ,
115
108
) ;
116
109
117
110
return {
0 commit comments