diff --git a/src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js b/src/pages/signin/SignInPageLayout/SignInPageContent.js
similarity index 66%
rename from src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js
rename to src/pages/signin/SignInPageLayout/SignInPageContent.js
index b17e12753313..5d7d6d2eb4d4 100755
--- a/src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js
+++ b/src/pages/signin/SignInPageLayout/SignInPageContent.js
@@ -11,9 +11,10 @@ import TermsAndLicenses from '../TermsAndLicenses';
import withLocalize, {withLocalizePropTypes} from '../../../components/withLocalize';
import Form from '../../../components/Form';
import compose from '../../../libs/compose';
-import scrollViewContentContainerStyles from './signInPageStyles.js';
+import scrollViewContentContainerStyles from './signInPageStyles';
import LoginKeyboardAvoidingView from './LoginKeyboardAvoidingView';
import withKeyboardState from '../../../components/withKeyboardState';
+import withWindowDimensions, {windowDimensionsPropTypes} from '../../../components/withWindowDimensions';
const propTypes = {
/** The children to show inside the layout */
@@ -26,31 +27,35 @@ const propTypes = {
/** Whether to show welcome text on a particular page */
shouldShowWelcomeText: PropTypes.bool.isRequired,
- /** SafeArea insets */
- insets: PropTypes.shape(PropTypes.object),
-
...withLocalizePropTypes,
+ ...windowDimensionsPropTypes,
};
-const defaultProps = {
- insets: {},
-};
-
-const SignInPageLayoutNarrow = props => (
+const SignInPageContent = props => (
-
-
+
);
-SignInPageLayoutNarrow.propTypes = propTypes;
-SignInPageLayoutNarrow.defaultProps = defaultProps;
-SignInPageLayoutNarrow.displayName = 'SignInPageLayoutNarrow';
+SignInPageContent.propTypes = propTypes;
+SignInPageContent.displayName = 'SignInPageContent';
export default compose(
+ withWindowDimensions,
withLocalize,
+
+ // KeyboardState HOC is needed to trigger recalculation of the UI when keyboard opens or closes
withKeyboardState,
withSafeAreaInsets,
-)(SignInPageLayoutNarrow);
+)(SignInPageContent);
diff --git a/src/pages/signin/SignInPageLayout/SignInPageLayoutWide.js b/src/pages/signin/SignInPageLayout/SignInPageLayoutWide.js
deleted file mode 100755
index d62a942be99c..000000000000
--- a/src/pages/signin/SignInPageLayout/SignInPageLayoutWide.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import React from 'react';
-import {View} from 'react-native';
-import PropTypes from 'prop-types';
-import SVGImage from '../../../components/SVGImage';
-import styles from '../../../styles/styles';
-import * as StyleUtils from '../../../styles/StyleUtils';
-import ExpensifyCashLogo from '../../../components/ExpensifyCashLogo';
-import ExpensifyText from '../../../components/ExpensifyText';
-import variables from '../../../styles/variables';
-import TermsAndLicenses from '../TermsAndLicenses';
-import withLocalize, {withLocalizePropTypes} from '../../../components/withLocalize';
-import Form from '../../../components/Form';
-
-const propTypes = {
- /** The children to show inside the layout */
- children: PropTypes.node.isRequired,
-
- /** Welcome text to show in the header of the form, changes depending
- * on form type (set password, sign in, etc.) */
- welcomeText: PropTypes.string.isRequired,
-
- /* Flag to check medium screen with device */
- isMediumScreenWidth: PropTypes.bool.isRequired,
-
- /** Whether to show welcome text on a particular page */
- shouldShowWelcomeText: PropTypes.bool.isRequired,
-
- ...withLocalizePropTypes,
-};
-
-const backgroundStyle = StyleUtils.getLoginPagePromoStyle();
-
-const SignInPageLayoutWide = props => (
-
-
-
-
-
-
-
-
- {props.shouldShowWelcomeText && (
-
- {props.welcomeText}
-
- )}
-
-
-
-
-
-
-
-
-
-
-
-
-);
-
-SignInPageLayoutWide.propTypes = propTypes;
-SignInPageLayoutWide.displayName = 'SignInPageLayoutWide';
-
-export default withLocalize(SignInPageLayoutWide);
diff --git a/src/pages/signin/SignInPageLayout/index.js b/src/pages/signin/SignInPageLayout/index.js
index 813b051de259..e0495202839e 100644
--- a/src/pages/signin/SignInPageLayout/index.js
+++ b/src/pages/signin/SignInPageLayout/index.js
@@ -1,8 +1,11 @@
import React from 'react';
+import {View} from 'react-native';
import PropTypes from 'prop-types';
-import SignInPageLayoutNarrow from './SignInPageLayoutNarrow';
-import SignInPageLayoutWide from './SignInPageLayoutWide';
+import SignInPageContent from './SignInPageContent';
import withWindowDimensions, {windowDimensionsPropTypes} from '../../../components/withWindowDimensions';
+import SVGImage from '../../../components/SVGImage';
+import styles from '../../../styles/styles';
+import * as StyleUtils from '../../../styles/StyleUtils';
const propTypes = {
/** The children to show inside the layout */
@@ -18,26 +21,42 @@ const propTypes = {
...windowDimensionsPropTypes,
};
-const SignInPageLayout = props => (
- !props.isSmallScreenWidth
- ? (
-
- {props.children}
-
- )
- : (
-
- {props.children}
-
- )
-);
+const backgroundStyle = StyleUtils.getLoginPagePromoStyle();
+
+const SignInPageLayout = (props) => {
+ const content = (
+
+ {props.children}
+
+ );
+
+ if (props.isSmallScreenWidth) {
+ return content;
+ }
+
+ return (
+
+
+ {content}
+
+
+
+
+
+ );
+};
SignInPageLayout.propTypes = propTypes;
SignInPageLayout.displayName = 'SignInPageLayout';
diff --git a/src/pages/signin/SignInPageLayout/signInPageStyles.js/index.ios.js b/src/pages/signin/SignInPageLayout/signInPageStyles/index.ios.js
similarity index 100%
rename from src/pages/signin/SignInPageLayout/signInPageStyles.js/index.ios.js
rename to src/pages/signin/SignInPageLayout/signInPageStyles/index.ios.js
diff --git a/src/pages/signin/SignInPageLayout/signInPageStyles.js/index.js b/src/pages/signin/SignInPageLayout/signInPageStyles/index.js
similarity index 100%
rename from src/pages/signin/SignInPageLayout/signInPageStyles.js/index.js
rename to src/pages/signin/SignInPageLayout/signInPageStyles/index.js
diff --git a/src/styles/styles.js b/src/styles/styles.js
index 5aae401b91a8..6fc13c5449d7 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -811,8 +811,17 @@ const styles = {
maxWidth: 335,
},
+ signInPageNarrowContentMargin: {
+ marginTop: '40%',
+ },
+
signInPageWideLeftContainer: {
width: 375,
+ maxWidth: 375,
+ },
+
+ signInPageWideLeftContentMargin: {
+ marginTop: '44.5%',
},
signInPageWideHeroContent: {
diff --git a/src/styles/utilities/spacing.js b/src/styles/utilities/spacing.js
index 9696cc0e7afe..a33ea6fd95a7 100644
--- a/src/styles/utilities/spacing.js
+++ b/src/styles/utilities/spacing.js
@@ -125,10 +125,6 @@ export default {
marginTop: 24,
},
- mt40Percentage: {
- marginTop: '40%',
- },
-
mb0: {
marginBottom: 0,
},