Files
Eventment/app/components/Login/LocalLogin.js
2019-08-08 16:18:08 -04:00

56 lines
1.5 KiB
JavaScript

import React, { useState } from 'react';
import PropTypes from 'prop-types';
import { Button, TextInput, View } from 'react-native';
import styles from './Login.styles.js';
export default function LocalLogin({ doLoginAction }) {
const [enabled, setEnableSubmit] = useState(false);
const [password, setPassword] = useState(null);
const [username, setUsername] = useState(null);
const _handleLoginSubmit = () => {
doLoginAction(username, password);
};
const _updateState = (field, value) => {
if (field === 'username') {
setUsername(value);
}
if (field === 'password') {
setPassword(value);
}
if (!!username && !!password) {
setEnableSubmit(true);
}
};
return (
<View style={styles.loginWrap}>
<TextInput
keyboardType="email-address"
onChangeText={(text) => _updateState('username', text)}
placeholder="email"
style={styles.textInput}
value={username}
/>
<TextInput
enablesReturnKeyAutomatically
onChangeText={(text) => _updateState('password', text)}
placeholder="password"
secureTextEntry
style={styles.textInput}
value={password}
/>
<Button disabled={!enabled} onPress={_handleLoginSubmit} title="Login" />
</View>
);
}
LocalLogin.propTypes = {
doLoginAction: PropTypes.func.isRequired,
};