Files
Eventment/app/components/Login/LocalLogin.js

51 lines
1.4 KiB
JavaScript

import React, { useState } from 'react';
import PropTypes from 'prop-types';
import { Button, TextInput, View } from 'react-native';
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
style={{ height: 40 }}
placeholder="email"
onChangeText={(text) => _updateState('username', text)}
value={username}
/>
<TextInput
style={{ height: 40 }}
placeholder="password"
onChangeText={(text) => _updateState('password', text)}
value={password}
/>
<Button disabled={!enabled} onPress={_handleLoginSubmit} title="Login" />
</View>
);
}
LocalLogin.propTypes = {
doLoginAction: PropTypes.func.isRequired,
};