2023-12-15 19:53:17 +04:00

58 lines
2.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;