2023-08-01 15:23:30 +03:00

46 lines
1.3 KiB
JavaScript

import styles from './Form.module.scss';
import axios from 'axios';
import Button from 'elements/Button';
import Error from 'elements/Error';
import { H3 } from 'elements/H';
import Input from 'elements/Input';
import getConfig from 'next/config';
import { useRouter } from 'next/router';
import { useState } from 'react';
const { publicRuntimeConfig: config } = getConfig();
export default function Form() {
const router = useRouter();
const [hasError, setHasError] = useState(false);
const error = hasError ? <Error>Неверный логин или пароль</Error> : null;
return (
<form
className={styles.form}
onSubmit={(e) => {
e.preventDefault();
const login = e.target[0].value;
const password = e.target[1].value;
const data = { login, password };
axios
.post('/signin', data)
.then(() => {
router.reload();
})
.catch(() => {
setHasError(true);
});
}}
>
<H3>{config.appTitle}</H3>
<Input name="login" type="text" placeholder="Логин" required autoComplete="on" />
<Input name="password" type="password" placeholder="Пароль" required autoComplete="on" />
{error}
<Button>Войти</Button>
</form>
);
}