58 lines
2.1 KiB
JavaScript
58 lines
2.1 KiB
JavaScript
import './login.css';
|
||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||
import { useForm } from 'react-hook-form';
|
||
import { useNavigate } from 'react-router-dom';
|
||
import LoginApiService from '../service/loginapiservice';
|
||
import useUser from '../../../../providers/hooks/UserHook.jsx';
|
||
|
||
const Login = () => {
|
||
const { userLogin } = useUser();
|
||
const { register, handleSubmit, formState: { errors } } = useForm();
|
||
console.log(errors);
|
||
const navigate = useNavigate();
|
||
const makeSubmit = async (data) => {
|
||
const res1 = await LoginApiService.getByHandle(data.handle);
|
||
if (res1.length === 0) {
|
||
alert('Пользователся с таким хэндлом не существует');
|
||
return;
|
||
}
|
||
if (res1[0].password !== data.password) {
|
||
alert('Введен неверный пароль');
|
||
return;
|
||
}
|
||
userLogin(res1[0]);
|
||
navigate('/');
|
||
};
|
||
return (
|
||
<main className="d-flex align-items-center">
|
||
<div className="register-panel container-fluid p-0 m-0 ">
|
||
<div className="container-fluid d-flex align-items-center">
|
||
|
||
<div className="col-md-4 offset-md-4 col-12">
|
||
<div className="form-container mt-auto">
|
||
<form className="form-horizontal" onSubmit = {handleSubmit(async (data) => {
|
||
await makeSubmit(data);
|
||
})}>
|
||
<div className="form-group">
|
||
<label>хэндл</label>
|
||
<input {...register('handle', { required: 'Это поле обязательно' })} className="form-control" name = "handle" type="handle" placeholder="хэндл"></input>
|
||
<p>{errors.handle?.message}</p>
|
||
</div>
|
||
|
||
<div className="form-group">
|
||
<label>пароль</label>
|
||
<input {...register('password', { required: 'Это поле обязательно' })} className="form-control" name = "password" type="password" placeholder="пароль"></input>
|
||
<p>{errors.password?.message}</p>
|
||
</div>
|
||
<input type = 'submit'/>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</main>
|
||
);
|
||
};
|
||
export default Login;
|