diff options
author | Husam Salhab <47015061+hsalhab@users.noreply.github.com> | 2020-06-30 16:52:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-30 16:52:17 -0400 |
commit | d4c59d4d31aedbad19353e639953329df08e6e5a (patch) | |
tree | 446799875830477a5ad6dbff78ba7126a8eb7e17 /src/components/common | |
parent | 5c243b512343549b54dce69bf11ff4851056f26e (diff) | |
parent | b5da6e55ccd4109eb1aa7705540ffb0b4a30a805 (diff) |
Merge pull request #9 from JustinShillingford/tma42-Login-Page-UI
[TMA-61] Login Page UI with no real functionality
Diffstat (limited to 'src/components/common')
-rw-r--r-- | src/components/common/LoginInput.tsx | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/components/common/LoginInput.tsx b/src/components/common/LoginInput.tsx new file mode 100644 index 00000000..e4d6b957 --- /dev/null +++ b/src/components/common/LoginInput.tsx @@ -0,0 +1,96 @@ +import React from 'react'; +import {Text, TextInput, StyleSheet} from 'react-native'; + +const LoginInput = (props: LoginInputProps) => { + return ( + <> + <TextInput + accessibilityLabel={ + props.isUsername + ? 'Username text entry box' + : props.isPassword + ? 'Password text entry box' + : undefined + } + accessibilityHint={ + props.isUsername + ? 'Enter your tagg username here' + : props.isPassword + ? 'Enter your tagg password here' + : undefined + } + style={styles.credentials} + placeholder={ + props.isUsername + ? 'Username' + : props.isPassword + ? 'Password' + : undefined + } + placeholderTextColor="#FFFFFF" + autoCompleteType={ + props.isUsername ? 'username' : props.isPassword ? 'password' : 'off' + } + textContentType={ + props.isUsername ? 'username' : props.isPassword ? 'password' : 'none' + } + returnKeyType={ + props.isUsername ? 'next' : props.isPassword ? 'go' : 'default' + } + keyboardType={ + props.isUsername + ? 'ascii-capable' + : props.isPassword + ? 'default' + : undefined + } + onChangeText={(input) => props.onChangeText(input)} + defaultValue={props.type} + onSubmitEditing={props.onSubmitEditing} + blurOnSubmit={ + props.isUsername ? false : props.isPassword ? undefined : undefined + } + secureTextEntry={ + props.isUsername ? false : props.isPassword ? true : false + } + ref={props.input_ref} + /> + {!props.isValid && ( + <Text style={styles.invalidCredentials}>{props.validationWarning}</Text> + )} + </> + ); +}; + +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, + }, + invalidCredentials: { + top: 180, + color: '#F4DDFF', + }, +}); + +interface LoginInputProps { + type: string; + isUsername?: boolean; + isPassword?: boolean; + onChangeText: (input: string) => void; + onSubmitEditing?: () => void; + input_ref?: object; + focusPasswordInput?: boolean; + isValid?: boolean; + validationWarning?: string; +} + +export default LoginInput; |