1 import PropTypes from 'prop-types';
2 import React from 'react';
3 import { Button, Container, Nav, Navbar } from 'react-bootstrap';
4 import { LinkContainer } from 'react-router-bootstrap';
5 import { useLocation } from 'react-router-dom';
6 import { useTranslation } from 'react-i18next';
8 import Icon from './Icon';
9 import LanguageSwitcher from './LanguageSwitcher';
10 import { getAvatarUrl } from '../../helpers/User';
11 import { withUser } from '../../helpers/UserContext';
13 const Header = ({ doLogout, user }) => {
14 const { pathname } = useLocation();
15 const { t } = useTranslation();
17 return <Navbar id="header" bg="dark" variant="dark">
19 <LinkContainer to="/">
24 <Nav activeKey={pathname}>
25 <LinkContainer to="/tournaments/6">
26 <Nav.Link href="/tournaments/6">
30 <LinkContainer to="/tournaments/5">
31 <Nav.Link href="/tournaments/5">
36 <Nav activeKey={pathname} className="ms-auto">
37 <LinkContainer to="/tech">
38 <Nav.Link href="/tech">
42 <LinkContainer to="/map">
43 <Nav.Link href="/map">
48 <Navbar.Text className="mx-2">
54 <LinkContainer to={`/users/${user.id}`}>
56 <img alt="" src={getAvatarUrl(user)} />
58 {user.discriminator && user.discriminator !== '0' ?
59 <span className="text-muted">#{user.discriminator}</span>
65 title={t('button.logout')}
66 variant="outline-secondary"
68 <Icon.LOGOUT title="" />
75 if (location.pathname.length > 1) {
76 localStorage.setItem('returnPath', location.pathname.substr(1));
92 doLogout: PropTypes.func,
93 user: PropTypes.shape({
94 avatar: PropTypes.string,
95 discriminator: PropTypes.string,
97 username: PropTypes.string,
101 export default withUser(Header);