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 => ( -
+ ( }), ]} > - + ( {props.children}
- +
); -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} - - )} -
{props.children}
-
- - - -
-
- - - -
-
-); - -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, },