diff --git a/src/CONST.js b/src/CONST.js index 0d0e151adfc8..6a4d707d4ff5 100644 --- a/src/CONST.js +++ b/src/CONST.js @@ -14,6 +14,9 @@ const CONST = { PDF_VIEWER_URL: '/pdf/web/viewer.html', EXPENSIFY_ICON_URL: `${CLOUDFRONT_URL}/images/favicon-2019.png`, UPWORK_URL: 'https://www.upwork.com/ab/jobs/search/?q=Expensify%20React%20Native&user_location_match=2', + TERMS_URL: 'https://use.expensify.com/terms', + PRIVACY_URL: 'https://use.expensify.com/privacy', + LICENSES_URL: 'https://use.expensify.com/licenses', OPTION_TYPE: { REPORT: 'report', PERSONAL_DETAIL: 'personalDetail', diff --git a/src/pages/settings/InitialPage.js b/src/pages/settings/InitialPage.js index ee343ea59c62..6fe0893d55f3 100644 --- a/src/pages/settings/InitialPage.js +++ b/src/pages/settings/InitialPage.js @@ -21,6 +21,8 @@ import { import ScreenWrapper from '../../components/ScreenWrapper'; import MenuItem from '../../components/MenuItem'; import ROUTES from '../../ROUTES'; +import openURLInNewTab from '../../libs/openURLInNewTab'; +import CONST from '../../CONST'; const propTypes = { /* Onyx Props */ @@ -139,10 +141,32 @@ const InitialSettingsPage = ({ - - v - {version} - + + + v + {version} + + + Read the + {' '} + openURLInNewTab(CONST.TERMS_URL)} + > + terms of service + + {' '} + and + {' '} + openURLInNewTab(CONST.PRIVACY_URL)} + > + privacy policy + + . + + ); diff --git a/src/pages/signin/SignInPage.js b/src/pages/signin/SignInPage.js index 7c805d6f58f4..bcc0b34157d1 100644 --- a/src/pages/signin/SignInPage.js +++ b/src/pages/signin/SignInPage.js @@ -12,6 +12,7 @@ import SignInPageLayout from './SignInPageLayout'; import LoginForm from './LoginForm'; import PasswordForm from './PasswordForm'; import ResendValidationForm from './ResendValidationForm'; +import TermsAndLicenses from './TermsAndLicenses'; const propTypes = { /* Onyx Props */ @@ -92,6 +93,8 @@ class SignInPage extends Component { )} )} + + diff --git a/src/pages/signin/TermsAndLicenses/TermsOnly.js b/src/pages/signin/TermsAndLicenses/TermsOnly.js new file mode 100644 index 000000000000..c1d4ca2ce59e --- /dev/null +++ b/src/pages/signin/TermsAndLicenses/TermsOnly.js @@ -0,0 +1,32 @@ +import React from 'react'; +import {Text, View} from 'react-native'; +import styles from '../../../styles/styles'; +import CONST from '../../../CONST'; +import openURLInNewTab from '../../../libs/openURLInNewTab'; + +const TermsOnly = () => ( + + + By logging in, you agree to the + {' '} + openURLInNewTab(CONST.TERMS_URL)} + > + terms of service + + {' '} + and + {' '} + openURLInNewTab(CONST.PRIVACY_URL)} + > + privacy policy + + . + + +); + +export default TermsOnly; diff --git a/src/pages/signin/TermsAndLicenses/TermsWithLicenses.js b/src/pages/signin/TermsAndLicenses/TermsWithLicenses.js new file mode 100644 index 000000000000..94af1d8c4307 --- /dev/null +++ b/src/pages/signin/TermsAndLicenses/TermsWithLicenses.js @@ -0,0 +1,40 @@ +import React from 'react'; +import {Text, View} from 'react-native'; +import styles from '../../../styles/styles'; +import CONST from '../../../CONST'; +import openURLInNewTab from '../../../libs/openURLInNewTab'; + +const TermsWithLicenses = () => ( + + + By logging in, you agree to the + {' '} + openURLInNewTab(CONST.TERMS_URL)} + > + terms of service + + {' '} + and + {' '} + openURLInNewTab(CONST.PRIVACY_URL)} + > + privacy policy + + . Money transmission is provided by Expensify Payments LLC (NMLS ID:2017010) pursuant to its + {' '} + openURLInNewTab(CONST.LICENSES_URL)} + > + licenses + + . + + +); + +export default TermsWithLicenses; diff --git a/src/pages/signin/TermsAndLicenses/index.desktop.js b/src/pages/signin/TermsAndLicenses/index.desktop.js new file mode 100644 index 000000000000..57253e005fab --- /dev/null +++ b/src/pages/signin/TermsAndLicenses/index.desktop.js @@ -0,0 +1,3 @@ +import TermsOnly from './TermsOnly'; + +export default TermsOnly; diff --git a/src/pages/signin/TermsAndLicenses/index.native.js b/src/pages/signin/TermsAndLicenses/index.native.js new file mode 100644 index 000000000000..57253e005fab --- /dev/null +++ b/src/pages/signin/TermsAndLicenses/index.native.js @@ -0,0 +1,3 @@ +import TermsOnly from './TermsOnly'; + +export default TermsOnly; diff --git a/src/pages/signin/TermsAndLicenses/index.website.js b/src/pages/signin/TermsAndLicenses/index.website.js new file mode 100644 index 000000000000..77d96e01f64c --- /dev/null +++ b/src/pages/signin/TermsAndLicenses/index.website.js @@ -0,0 +1,3 @@ +import TermsWithLicenses from './TermsWithLicenses'; + +export default TermsWithLicenses; diff --git a/src/styles/styles.js b/src/styles/styles.js index 916b12be0b75..4baa4294d3d7 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -386,6 +386,12 @@ const styles = { width: '100%', }, + loginTermsText: { + color: themeColors.textSupporting, + fontSize: variables.fontSizeSmall, + lineHeight: 20, + }, + // Sidebar Styles sidebar: { backgroundColor: themeColors.sidebar, @@ -395,7 +401,7 @@ const styles = { sidebarFooter: { alignItems: 'center', display: 'flex', - flexDirection: 'row', + flexDirection: 'column', height: 84, justifyContent: 'flex-start', paddingHorizontal: 20,