diff --git a/src/pages/SetPasswordPage.js b/src/pages/SetPasswordPage.js
index 75112a8de3db..8139e59376f6 100644
--- a/src/pages/SetPasswordPage.js
+++ b/src/pages/SetPasswordPage.js
@@ -94,43 +94,45 @@ class SetPasswordPage extends Component {
render() {
return (
<>
-
-
-
-
+
+
+
+
+
+
+ Enter a password
+ this.setState({password: text})}
+ onSubmitEditing={this.submitForm}
+ />
+
+
+ {this.state.formError && (
+
+ {this.state.formError}
+
+ )}
+ {!_.isEmpty(this.props.account.error) && (
+
+ {this.props.account.error}
+
+ )}
-
- Enter a password
- this.setState({password: text})}
- onSubmitEditing={this.submitForm}
- />
-
-
- {this.state.formError && (
-
- {this.state.formError}
-
- )}
- {!_.isEmpty(this.props.account.error) && (
-
- {this.props.account.error}
-
- )}
-
-
+
+
>
);
}
diff --git a/src/pages/signin/LoginForm/LoginFormNarrow.js b/src/pages/signin/LoginForm/LoginFormNarrow.js
index 61c3f8571f38..58df13f81dd4 100644
--- a/src/pages/signin/LoginForm/LoginFormNarrow.js
+++ b/src/pages/signin/LoginForm/LoginFormNarrow.js
@@ -1,6 +1,8 @@
import React from 'react';
import {
- Image, Text, TextInput, View,
+ Text,
+ TextInput,
+ View,
} from 'react-native';
import {withOnyx} from 'react-native-onyx';
import PropTypes from 'prop-types';
@@ -9,9 +11,7 @@ import styles from '../../../styles/styles';
import themeColors from '../../../styles/themes/default';
import ButtonWithLoader from '../../../components/ButtonWithLoader';
import {fetchAccountDetails} from '../../../libs/actions/Session';
-import welcomeScreenshot from '../../../../assets/images/welcome-screenshot.png';
import ONYXKEYS from '../../../ONYXKEYS';
-import WelcomeText from '../../../components/WelcomeText';
const propTypes = {
/* Onyx Props */
@@ -61,7 +61,7 @@ class LoginFormNarrow extends React.Component {
render() {
return (
-
+ <>
Enter your phone or email:
)}
-
-
-
-
-
-
+ >
);
}
}
diff --git a/src/pages/signin/LoginForm/LoginFormWide.js b/src/pages/signin/LoginForm/LoginFormWide.js
index 7eccb16bf25b..13ab39458af4 100644
--- a/src/pages/signin/LoginForm/LoginFormWide.js
+++ b/src/pages/signin/LoginForm/LoginFormWide.js
@@ -7,7 +7,6 @@ import {fetchAccountDetails} from '../../../libs/actions/Session';
import styles from '../../../styles/styles';
import ButtonWithLoader from '../../../components/ButtonWithLoader';
import ONYXKEYS from '../../../ONYXKEYS';
-import WelcomeText from '../../../components/WelcomeText';
const propTypes = {
/* Onyx Props */
@@ -58,44 +57,39 @@ class LoginFormWide extends React.Component {
render() {
return (
<>
-
-
- Enter your phone or email:
- this.setState({login: text})}
- onSubmitEditing={this.validateAndSubmitForm}
- autoCapitalize="none"
- placeholder="Phone or Email"
- autoFocus
- />
-
-
-
-
-
- {this.state.formError && (
-
- {this.state.formError}
-
- )}
-
- {!_.isEmpty(this.props.account.error) && (
-
- {this.props.account.error}
-
- )}
+
+ Enter your phone or email:
+ this.setState({login: text})}
+ onSubmitEditing={this.validateAndSubmitForm}
+ autoCapitalize="none"
+ placeholder="Phone or Email"
+ autoFocus
+ />
-
-
+
+
+
+ {this.state.formError && (
+
+ {this.state.formError}
+
+ )}
+
+ {!_.isEmpty(this.props.account.error) && (
+
+ {this.props.account.error}
+
+ )}
>
);
}
diff --git a/src/pages/signin/PasswordForm.js b/src/pages/signin/PasswordForm.js
index 8e94fb6d0a8b..173d294586ff 100644
--- a/src/pages/signin/PasswordForm.js
+++ b/src/pages/signin/PasswordForm.js
@@ -65,7 +65,7 @@ class PasswordForm extends React.Component {
render() {
return (
-
+ <>
Password
)}
-
+ >
);
}
}
diff --git a/src/pages/signin/ResendValidationForm.js b/src/pages/signin/ResendValidationForm.js
index b5a598de5e1f..504b5601d817 100644
--- a/src/pages/signin/ResendValidationForm.js
+++ b/src/pages/signin/ResendValidationForm.js
@@ -66,7 +66,7 @@ class ResendValidationForm extends React.Component {
render() {
return (
-
+ <>
We've sent you a magic sign in link – just click on it to log in!
@@ -86,7 +86,7 @@ class ResendValidationForm extends React.Component {
{this.state.formSuccess}
)}
-
+ >
);
}
}
diff --git a/src/pages/signin/SignInPage.js b/src/pages/signin/SignInPage.js
index 1b5f6ed24bef..be8c9abc6bb5 100644
--- a/src/pages/signin/SignInPage.js
+++ b/src/pages/signin/SignInPage.js
@@ -12,7 +12,6 @@ import SignInPageLayout from './SignInPageLayout';
import LoginForm from './LoginForm';
import PasswordForm from './PasswordForm';
import ResendValidationForm from './ResendValidationForm';
-import TermsAndLicenses from './TermsAndLicenses';
const propTypes = {
/* Onyx Props */
@@ -85,7 +84,10 @@ class SignInPage extends Component {
return (
<>
-
+
{showLoginForm && }
{showPasswordForm && }
@@ -102,8 +104,6 @@ class SignInPage extends Component {
)}
)}
-
-
>
diff --git a/src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js b/src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js
index e3e70ea20b57..843c4d7b89d2 100644
--- a/src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js
+++ b/src/pages/signin/SignInPageLayout/SignInPageLayoutNarrow.js
@@ -1,18 +1,32 @@
import React from 'react';
import {
+ Image,
ScrollView, Text, View,
} from 'react-native';
import PropTypes from 'prop-types';
import styles from '../../../styles/styles';
import variables from '../../../styles/variables';
import ExpensifyCashLogo from '../../../../assets/images/expensify-cash.svg';
+import welcomeScreenshot from '../../../../assets/images/welcome-screenshot.png';
+import TermsAndLicenses from '../TermsAndLicenses';
+import WelcomeText from '../../../components/WelcomeText';
const propTypes = {
+
// The children to show inside the layout
children: PropTypes.node.isRequired,
+
+ // Whether we should show the welcome elements
+ shouldShowWelcomeText: PropTypes.bool,
+ shouldShowWelcomeScreenshot: PropTypes.bool,
+};
+
+const defaultProps = {
+ shouldShowWelcomeText: true,
+ shouldShowWelcomeScreenshot: true,
};
-const SignInPageLayoutNarrow = ({children}) => (
+const SignInPageLayoutNarrow = props => (
@@ -26,13 +40,30 @@ const SignInPageLayoutNarrow = ({children}) => (
- {children}
+
+ {props.children}
+
+ {props.shouldShowWelcomeScreenshot
+ && (
+
+
+
+ )}
+
+ {props.shouldShowWelcomeText && }
+
+
);
SignInPageLayoutNarrow.propTypes = propTypes;
+SignInPageLayoutNarrow.defaultProps = defaultProps;
SignInPageLayoutNarrow.displayName = 'SignInPageLayoutNarrow';
diff --git a/src/pages/signin/SignInPageLayout/SignInPageLayoutWide.js b/src/pages/signin/SignInPageLayout/SignInPageLayoutWide.js
index d2bfce6cdb44..248a8d657857 100644
--- a/src/pages/signin/SignInPageLayout/SignInPageLayoutWide.js
+++ b/src/pages/signin/SignInPageLayout/SignInPageLayoutWide.js
@@ -7,13 +7,23 @@ import styles from '../../../styles/styles';
import ExpensifyCashLogo from '../../../../assets/images/expensify-cash.svg';
import welcomeScreenshot from '../../../../assets/images/welcome-screenshot-wide.png';
import variables from '../../../styles/variables';
+import TermsAndLicenses from '../TermsAndLicenses';
+import WelcomeText from '../../../components/WelcomeText';
const propTypes = {
// The children to show inside the layout
children: PropTypes.node.isRequired,
+
+ // Whether we should show the welcome text
+ // (the welcome screenshot always displays on wide views)
+ shouldShowWelcomeText: PropTypes.bool,
+};
+
+const defaultProps = {
+ shouldShowWelcomeText: true,
};
-const SignInPageLayoutWide = ({children}) => (
+const SignInPageLayoutWide = props => (
@@ -35,14 +45,23 @@ const SignInPageLayoutWide = ({children}) => (
Expensify.cash
-
- {children}
+
+ {props.children}
+
+ {props.shouldShowWelcomeText
+ && (
+
+
+
+ )}
+
);
SignInPageLayoutWide.propTypes = propTypes;
+SignInPageLayoutWide.defaultProps = defaultProps;
SignInPageLayoutWide.displayName = 'SignInPageLayoutWide';
diff --git a/src/styles/styles.js b/src/styles/styles.js
index fae27fd6d72c..5cae4f96ae15 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -398,7 +398,7 @@ const styles = {
width: '100%',
},
- loginFormContainer: {
+ signInPageFormContainer: {
maxWidth: 295,
width: '100%',
},