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
|
import React from 'react';
import {TextInput, StyleSheet} from 'react-native';
import PropTypes from 'prop-types';
const LoginInput = (props: LoginInputProps) => {
return (
<TextInput
accessibilityLabel={
props.isUsername ? 'Username text entry box' : 'Password text entry box'
}
accessibilityHint={
props.isUsername
? 'Enter your tagg username here'
: 'Enter your tagg password here'
}
style={styles.credentials}
placeholder={props.isUsername ? 'Username' : 'Password'}
placeholderTextColor="#FFFFFF"
autoCompleteType={props.isUsername ? 'username' : 'password'}
textContentType={props.isUsername ? 'username' : 'password'}
returnKeyType={props.isUsername ? 'next' : 'go'}
keyboardType={props.isUsername ? 'ascii-capable' : 'default'}
onChangeText={(input) => props.onChangeText(input)}
defaultValue={props.type}
onSubmitEditing={props.onSubmitEditing}
blurOnSubmit={props.isUsername ? false : undefined}
// ref={props.isUsername ? undefined : useRef()}
secureTextEntry={props.isUsername ? false : true}
focus={props.isUsername ? undefined : props.focusPasswordInput}
/>
);
};
const styles = StyleSheet.create({
credentials: {
top: 190,
width: 248,
height: 40,
fontSize: 20,
color: '#FFFFFF',
borderColor: '#FFFDFD',
borderWidth: 2,
borderRadius: 20,
paddingLeft: 13,
marginVertical: 15,
},
});
LoginInput.propTypes = {
type: PropTypes.string.isRequired,
isUsername: PropTypes.bool.isRequired,
onChangeText: PropTypes.func.isRequired,
onSubmitEditing: PropTypes.func,
ref: PropTypes.any,
focusPasswordInput: PropTypes.bool,
};
export default LoginInput;
|