- Cleanup
This commit is contained in:
55
app/components/Login/LocalLogin.js
Normal file
55
app/components/Login/LocalLogin.js
Normal file
@@ -0,0 +1,55 @@
|
||||
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,
|
||||
};
|
||||
Reference in New Issue
Block a user