1 |
e9c60748
|
Dominik Poch
|
import { Form, Input, Button } from 'antd';
|
2 |
|
|
import { UserOutlined, LockOutlined } from '@ant-design/icons';
|
3 |
|
|
import 'antd/dist/antd.css';
|
4 |
c73aecde
|
Dominik Poch
|
import { LoginLayout } from '../../layouts/LoginLayout';
|
5 |
e9c60748
|
Dominik Poch
|
|
6 |
7a84a6d5
|
Dominik Poch
|
/**
|
7 |
|
|
* Creates a login screen.
|
8 |
|
|
* @returns Html structure of the login screen.
|
9 |
|
|
*/
|
10 |
e9c60748
|
Dominik Poch
|
function Login() {
|
11 |
7a84a6d5
|
Dominik Poch
|
/**
|
12 |
|
|
* Handles submission a form when its fields were successfully validated.
|
13 |
|
|
* @param values Fields of the login form.
|
14 |
|
|
*/
|
15 |
e9c60748
|
Dominik Poch
|
const onFinish = (values: any) => {
|
16 |
e5bc2de2
|
Dominik Poch
|
/**
|
17 |
|
|
@todo: delete login form log when login API is implemented
|
18 |
|
|
**/
|
19 |
e9c60748
|
Dominik Poch
|
console.log('Values of the login form: ', values);
|
20 |
|
|
};
|
21 |
|
|
|
22 |
7a84a6d5
|
Dominik Poch
|
/**
|
23 |
|
|
* Handles submission a form when its validation failed.
|
24 |
|
|
* @param errorInfo Validation errors.
|
25 |
|
|
*/
|
26 |
e9c60748
|
Dominik Poch
|
const onFinishFailed = (errorInfo: any) => {
|
27 |
e5bc2de2
|
Dominik Poch
|
/**
|
28 |
|
|
@todo: delete log when error handling is implemented
|
29 |
|
|
**/
|
30 |
e9c60748
|
Dominik Poch
|
console.log('Errors: ', errorInfo);
|
31 |
|
|
};
|
32 |
|
|
|
33 |
|
|
return (
|
34 |
77eb11b3
|
Dominik Poch
|
<LoginLayout>
|
35 |
|
|
<Form
|
36 |
|
|
name="login"
|
37 |
|
|
onFinish={onFinish}
|
38 |
|
|
onFinishFailed={onFinishFailed}
|
39 |
|
|
autoComplete="off"
|
40 |
e9c60748
|
Dominik Poch
|
>
|
41 |
77eb11b3
|
Dominik Poch
|
<Form.Item
|
42 |
2d3822e7
|
Dominik Poch
|
name="username"
|
43 |
cbd9de5e
|
Dominik Poch
|
rules={[
|
44 |
|
|
{
|
45 |
|
|
required: true,
|
46 |
2d3822e7
|
Dominik Poch
|
message: 'Prosím zadejte své uživatelské jméno',
|
47 |
cbd9de5e
|
Dominik Poch
|
},
|
48 |
|
|
]}
|
49 |
77eb11b3
|
Dominik Poch
|
>
|
50 |
|
|
<Input
|
51 |
|
|
prefix={<UserOutlined className="site-form-item-icon" />}
|
52 |
2d3822e7
|
Dominik Poch
|
placeholder="Uživatelské jméno"
|
53 |
77eb11b3
|
Dominik Poch
|
/>
|
54 |
|
|
</Form.Item>
|
55 |
e9c60748
|
Dominik Poch
|
|
56 |
77eb11b3
|
Dominik Poch
|
<Form.Item
|
57 |
|
|
name="password"
|
58 |
cbd9de5e
|
Dominik Poch
|
rules={[{ required: true, message: 'Prosím zadejte své heslo' }]}
|
59 |
77eb11b3
|
Dominik Poch
|
>
|
60 |
|
|
<Input.Password
|
61 |
|
|
prefix={<LockOutlined className="site-form-item-icon" />}
|
62 |
|
|
placeholder="Heslo"
|
63 |
|
|
/>
|
64 |
|
|
</Form.Item>
|
65 |
|
|
<Form.Item>
|
66 |
882caa6a
|
Dominik Poch
|
<Button type="primary" htmlType="submit" className="w-100">
|
67 |
77eb11b3
|
Dominik Poch
|
Přihlásit
|
68 |
|
|
</Button>
|
69 |
|
|
</Form.Item>
|
70 |
|
|
</Form>
|
71 |
|
|
</LoginLayout>
|
72 |
e9c60748
|
Dominik Poch
|
);
|
73 |
|
|
}
|
74 |
|
|
|
75 |
|
|
export default Login;
|