Projekt

Obecné

Profil

Stáhnout (1.52 KB) Statistiky
| Větev: | Tag: | Revize:
1 8c45ccb0 hrubyjar
import 'antd/dist/antd.css';
2
import React, { useContext, useEffect } from 'react';
3
4
import { useUnauthRedirect } from '../../../hooks';
5
import { useRouter } from 'next/router';
6
import { Button, Typography } from 'antd';
7
import { faFileLines } from '@fortawesome/free-solid-svg-icons';
8
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
9
import { LoggedUserContext } from '../../../contexts/LoggedUserContext';
10 bae9fbba Jaroslav Hrubý
import { MainLayout } from '../../../layouts/MainLayout';
11 4a7bae81 Jaroslav Hrubý
import AddDocumentModal from '../../../components/modals/AddDocumentModal';
12 8c45ccb0 hrubyjar
13
function AdminDocumentPage() {
14
    const redirecting = useUnauthRedirect('/login');
15
    const { logout, role } = useContext(LoggedUserContext);
16 4a7bae81 Jaroslav Hrubý
    const [visible, setVisible] = React.useState(false);
17 8c45ccb0 hrubyjar
    const router = useRouter();
18
19 06d1aa21 Jaroslav Hrubý
    useEffect(() => {
20
        if (!redirecting && role === 'ADMINISTRATOR') {
21 8c45ccb0 hrubyjar
            // TODO load documents
22
        }
23
    }, [logout, redirecting, role, router]);
24
25
    const showModal = () => {
26 4a7bae81 Jaroslav Hrubý
        setVisible(true);
27
    };
28
29
    const hideModal = () => {
30
        setVisible(false);
31 8c45ccb0 hrubyjar
    };
32
33
    return redirecting || role !== 'ADMINISTRATOR' ? null : (
34
        <MainLayout>
35
            <Typography.Title level={2}>
36
                <FontAwesomeIcon icon={faFileLines} /> Dokumenty
37
            </Typography.Title>
38
            <Button type={'primary'} onClick={showModal}>
39
                Nahrát dokument
40
            </Button>
41 4a7bae81 Jaroslav Hrubý
            {visible && <AddDocumentModal onCancel={hideModal} />}
42 8c45ccb0 hrubyjar
        </MainLayout>
43
    );
44
}
45
46
export default AdminDocumentPage;