-
Notifications
You must be signed in to change notification settings - Fork 2.8k
/
SignInPageLayoutNarrow.js
executable file
·71 lines (64 loc) · 2.57 KB
/
SignInPageLayoutNarrow.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import React from 'react';
import {ScrollView, View, KeyboardAvoidingView} from 'react-native';
import PropTypes from 'prop-types';
import styles from '../../../styles/styles';
import variables from '../../../styles/variables';
import ExpensifyCashLogo from '../../../components/ExpensifyCashLogo';
import Text from '../../../components/Text';
import TermsAndLicenses from '../TermsAndLicenses';
import withLocalize, {withLocalizePropTypes} from '../../../components/withLocalize';
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,
/** Whether to show welcome text on a particular page */
shouldShowWelcomeText: PropTypes.bool.isRequired,
...withLocalizePropTypes,
};
const SignInPageLayoutNarrow = props => (
<ScrollView
keyboardShouldPersistTaps="handled"
showsVerticalScrollIndicator={false}
style={[
styles.flexGrow1,
styles.signInPageNarrowContentContainer,
styles.alignSelfCenter,
]}
contentContainerStyle={styles.ph5}
>
<KeyboardAvoidingView behavior="position">
<View style={[styles.flexGrow1]}>
<View
style={[
styles.signInPageInnerNative,
styles.flex1,
styles.dFlex,
styles.flexColumn,
styles.mt40Percentage,
]}
>
<View style={[styles.componentHeightLarge, styles.mb2]}>
<ExpensifyCashLogo
width={variables.componentSizeLarge}
height={variables.componentSizeLarge}
/>
</View>
{props.shouldShowWelcomeText && (
<Text style={[styles.mv5, styles.textLabel, styles.h3]}>
{props.welcomeText}
</Text>
)}
{props.children}
</View>
</View>
</KeyboardAvoidingView>
<View style={[styles.mt3, styles.mb5, styles.alignSelfCenter]}>
<TermsAndLicenses />
</View>
</ScrollView>
);
SignInPageLayoutNarrow.propTypes = propTypes;
SignInPageLayoutNarrow.displayName = 'SignInPageLayoutNarrow';
export default withLocalize(SignInPageLayoutNarrow);