Projekt

Obecné

Profil

Stáhnout (2.3 KB) Statistiky
| Větev: | Tag: | Revize:
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 deed893a 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;