Revize 6a250c18
Přidáno uživatelem Lukáš Vlček před asi 2 roky(ů)
webapp/components/navigation/AdminNavBar.tsx | ||
---|---|---|
3 | 3 |
import { useRouter } from 'next/router'; |
4 | 4 |
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; |
5 | 5 |
import { LoggedUserContext } from '../../contexts/LoggedUserContext'; |
6 |
import { |
|
7 |
faUser, |
|
8 |
faFileExport, |
|
9 |
faFileLines, |
|
10 |
faUsers, |
|
11 |
faTags, |
|
12 |
faBookmark, |
|
13 |
} from '@fortawesome/free-solid-svg-icons'; |
|
6 |
import { faFileLines, faTags, faUser, faUsers } from '@fortawesome/free-solid-svg-icons'; |
|
14 | 7 |
import { userController } from '../../controllers'; |
15 |
import { UserInfo } from '../../api';
|
|
8 |
import { COLOR_NAVBAR } from '../../constants';
|
|
16 | 9 |
|
17 | 10 |
const AdminNavBar = () => { |
18 | 11 |
const router = useRouter(); |
... | ... | |
20 | 13 |
const { SubMenu } = Menu; |
21 | 14 |
const [name, setName] = useState<string>(''); |
22 | 15 |
|
23 |
const handleLogout = useCallback(() => { |
|
24 |
logout(); |
|
25 |
router.push('/login'); |
|
16 |
const handleLogout = useCallback(async () => {
|
|
17 |
await logout();
|
|
18 |
await router.push('/login');
|
|
26 | 19 |
}, [logout, router]); |
27 | 20 |
|
28 | 21 |
async function fetchUsername() { |
... | ... | |
35 | 28 |
}, []); |
36 | 29 |
|
37 | 30 |
return ( |
38 |
<Menu theme="dark" mode="horizontal"> |
|
39 |
<Menu.Item style={{}} key="1" onClick={() => router.push('/documents/admin')}> |
|
40 |
<FontAwesomeIcon icon={faFileLines} /> Dokumenty |
|
41 |
</Menu.Item> |
|
42 |
<Menu.Item style={{}} key="2" onClick={() => router.push('/users')}> |
|
43 |
<FontAwesomeIcon icon={faUsers} /> Uživatelé |
|
44 |
</Menu.Item> |
|
45 |
<Menu.Item style={{}} key="3" onClick={() => router.push('/tags')}> |
|
46 |
<FontAwesomeIcon icon={faTags} /> Značky |
|
47 |
</Menu.Item> |
|
48 |
<Menu.Item style={{}} key="5" onClick={() => router.push('/export')}> |
|
49 |
<FontAwesomeIcon icon={faFileExport} /> Export |
|
50 |
</Menu.Item> |
|
51 |
|
|
52 |
<SubMenu icon={<FontAwesomeIcon icon={faUser} />} key="account" title={name}> |
|
53 |
<Menu.Item key="setting:2" onClick={() => handleLogout()}> |
|
54 |
Odhlásit se |
|
31 |
<div className={'navbar-wrapper'}> |
|
32 |
<Menu theme="dark" mode="horizontal" style={{ flexGrow: 1 }}> |
|
33 |
<Menu.Item |
|
34 |
style={{}} |
|
35 |
key="1" |
|
36 |
onClick={() => router.push('/documents/admin')} |
|
37 |
> |
|
38 |
<FontAwesomeIcon icon={faFileLines} /> Dokumenty |
|
39 |
</Menu.Item> |
|
40 |
<Menu.Item style={{}} key="2" onClick={() => router.push('/users')}> |
|
41 |
<FontAwesomeIcon icon={faUsers} /> Uživatelé |
|
42 |
</Menu.Item> |
|
43 |
<Menu.Item style={{}} key="3" onClick={() => router.push('/tags')}> |
|
44 |
<FontAwesomeIcon icon={faTags} /> Značky |
|
55 | 45 |
</Menu.Item> |
56 |
</SubMenu> |
|
57 |
</Menu> |
|
46 |
</Menu> |
|
47 |
<Menu theme="dark" mode="horizontal" style={{}}> |
|
48 |
<SubMenu |
|
49 |
icon={<FontAwesomeIcon icon={faUser} />} |
|
50 |
key="account" |
|
51 |
title={name} |
|
52 |
> |
|
53 |
<Menu.Item key="setting:2" onClick={() => handleLogout()}> |
|
54 |
Odhlásit se |
|
55 |
</Menu.Item> |
|
56 |
</SubMenu> |
|
57 |
</Menu> |
|
58 |
</div> |
|
58 | 59 |
); |
59 | 60 |
}; |
60 | 61 |
|
Také k dispozici: Unified diff
Layout and minor color changes