diff --git a/packages/bottom-tabs/src/views/ResourceSavingScene.tsx b/packages/bottom-tabs/src/views/ResourceSavingScene.tsx index 3ee4e3f1..c6a7a52a 100644 --- a/packages/bottom-tabs/src/views/ResourceSavingScene.tsx +++ b/packages/bottom-tabs/src/views/ResourceSavingScene.tsx @@ -1,6 +1,5 @@ import * as React from 'react'; import { Platform, StyleSheet, View } from 'react-native'; - // eslint-disable-next-line import/no-unresolved import { Screen, screensEnabled } from 'react-native-screens'; @@ -10,12 +9,14 @@ type Props = { style?: any; }; -const FAR_FAR_AWAY = 3000; // this should be big enough to move the whole view out of its container +const FAR_FAR_AWAY = 30000; // this should be big enough to move the whole view out of its container export default class ResourceSavingScene extends React.Component { render() { - if (screensEnabled?.()) { + // react-native-screens is buggy on web + if (screensEnabled?.() && Platform.OS !== 'web') { const { isVisible, ...rest } = this.props; + // @ts-ignore return ; } @@ -24,7 +25,13 @@ export default class ResourceSavingScene extends React.Component { return ( { render() { - if (screensEnabled?.()) { + // react-native-screens is buggy on web + if (screensEnabled?.() && Platform.OS !== 'web') { const { isVisible, ...rest } = this.props; // @ts-ignore return ; } + const { isVisible, children, style, ...rest } = this.props; return ( { left = insets.left, } = focusedOptions.safeAreaInsets || {}; - // Screens is buggy on iOS, so we don't enable it there + // Screens is buggy on iOS and web, so we only enable it on Android // For modals, usually we want the screen underneath to be visible, so also disable it there - const isScreensEnabled = Platform.OS !== 'ios' && mode !== 'modal'; + const isScreensEnabled = Platform.OS === 'android' && mode !== 'modal'; return (