Skip to content

Commit 78c32ad

Browse files
committed
Fix Android
1 parent a7e6617 commit 78c32ad

3 files changed

Lines changed: 61 additions & 15 deletions

File tree

src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import FocusTrapForScreens from '@components/FocusTrap/FocusTrapForScreen';
88
import useKeyboardShortcut from '@hooks/useKeyboardShortcut';
99
import useOnyx from '@hooks/useOnyx';
1010
import useResponsiveLayout from '@hooks/useResponsiveLayout';
11-
import useSafeAreaInsets from '@hooks/useSafeAreaInsets';
12-
import useStyleUtils from '@hooks/useStyleUtils';
1311
import useThemeStyles from '@hooks/useThemeStyles';
1412
import {isMobileSafari} from '@libs/Browser';
1513
import GoogleTagManager from '@libs/GoogleTagManager';
@@ -36,6 +34,7 @@ import CONST from '@src/CONST';
3634
import ONYXKEYS from '@src/ONYXKEYS';
3735
import SCREENS from '@src/SCREENS';
3836
import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue';
37+
import OnboardingModalNavigatorContentWrapper from './OnboardingModalNavigatorContentWrapper';
3938
import Overlay from './Overlay';
4039

4140
const Stack = createPlatformStackNavigator<OnboardingModalNavigatorParamList>();
@@ -44,9 +43,6 @@ let signUpEventPublishedForAccountID: number | undefined;
4443

4544
function OnboardingModalNavigator() {
4645
const styles = useThemeStyles();
47-
const StyleUtils = useStyleUtils();
48-
const insets = useSafeAreaInsets();
49-
const safeAreaPadding = StyleUtils.getPlatformSafeAreaPadding(insets);
5046
const {onboardingIsMediumOrLargerScreenWidth} = useResponsiveLayout();
5147
const outerViewRef = React.useRef<View>(null);
5248
const [account, accountMetadata] = useOnyx(ONYXKEYS.ACCOUNT);
@@ -121,15 +117,7 @@ function OnboardingModalNavigator() {
121117
style={styles.onboardingNavigatorOuterView}
122118
>
123119
<FocusTrapForScreens>
124-
<View
125-
onClick={(e) => e.stopPropagation()}
126-
style={[
127-
styles.maxHeight100Percentage,
128-
styles.overflowHidden,
129-
styles.OnboardingNavigatorInnerView(onboardingIsMediumOrLargerScreenWidth),
130-
{paddingLeft: safeAreaPadding.paddingLeft, paddingRight: safeAreaPadding.paddingRight},
131-
]}
132-
>
120+
<OnboardingModalNavigatorContentWrapper onboardingIsMediumOrLargerScreenWidth={onboardingIsMediumOrLargerScreenWidth}>
133121
<Stack.Navigator
134122
screenOptions={defaultScreenOptions}
135123
initialRouteName={initialRouteName}
@@ -187,7 +175,7 @@ function OnboardingModalNavigator() {
187175
component={OnboardingWorkspaceInvite}
188176
/>
189177
</Stack.Navigator>
190-
</View>
178+
</OnboardingModalNavigatorContentWrapper>
191179
</FocusTrapForScreens>
192180
</View>
193181
</NoDropZone>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import React from 'react';
2+
import {View} from 'react-native';
3+
import useSafeAreaInsets from '@hooks/useSafeAreaInsets';
4+
import useStyleUtils from '@hooks/useStyleUtils';
5+
import useThemeStyles from '@hooks/useThemeStyles';
6+
7+
type OnboardingModalNavigatorContentWrapperProps = {
8+
/** Rendered child component */
9+
children: React.ReactNode;
10+
11+
/** Whether the onboarding is on a medium or larger screen width */
12+
onboardingIsMediumOrLargerScreenWidth: boolean;
13+
};
14+
15+
function OnboardingModalNavigatorContentWrapper({children, onboardingIsMediumOrLargerScreenWidth}: OnboardingModalNavigatorContentWrapperProps) {
16+
const styles = useThemeStyles();
17+
const StyleUtils = useStyleUtils();
18+
const insets = useSafeAreaInsets();
19+
const {paddingLeft, paddingRight} = StyleUtils.getPlatformSafeAreaPadding(insets);
20+
21+
// Add padding left and right to the style to account for the safe area insets
22+
return (
23+
<View
24+
onClick={(e) => e.stopPropagation()}
25+
style={[styles.maxHeight100Percentage, styles.overflowHidden, styles.OnboardingNavigatorInnerView(onboardingIsMediumOrLargerScreenWidth), {paddingLeft, paddingRight}]}
26+
>
27+
{children}
28+
</View>
29+
);
30+
}
31+
32+
export default OnboardingModalNavigatorContentWrapper;
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import React from 'react';
2+
import {View} from 'react-native';
3+
import useThemeStyles from '@hooks/useThemeStyles';
4+
5+
type OnboardingModalNavigatorContentWrapperProps = {
6+
/** Rendered child component */
7+
children: React.ReactNode;
8+
9+
/** Whether the onboarding is on a medium or larger screen width */
10+
onboardingIsMediumOrLargerScreenWidth: boolean;
11+
};
12+
13+
function OnboardingModalNavigatorContentWrapper({children, onboardingIsMediumOrLargerScreenWidth}: OnboardingModalNavigatorContentWrapperProps) {
14+
const styles = useThemeStyles();
15+
16+
return (
17+
<View
18+
onClick={(e) => e.stopPropagation()}
19+
style={[styles.maxHeight100Percentage, styles.overflowHidden, styles.OnboardingNavigatorInnerView(onboardingIsMediumOrLargerScreenWidth)]}
20+
>
21+
{children}
22+
</View>
23+
);
24+
}
25+
26+
export default OnboardingModalNavigatorContentWrapper;

0 commit comments

Comments
 (0)