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 LanguageSwitcher from './LanguageSwitcher';
9 import Icon from '../common/Icon';
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">
31 <Nav activeKey={pathname} className="ms-auto">
32 <LinkContainer to="/tech">
33 <Nav.Link href="/tech">
37 <LinkContainer to="/map/lw">
38 <Nav.Link href="/map/lw">
43 <Navbar.Text className="mx-2">
49 <LinkContainer to={`/users/${user.id}`}>
51 <img alt="" src={getAvatarUrl(user)} />
53 {user.discriminator && user.discriminator !== '0' ?
54 <span className="text-muted">#{user.discriminator}</span>
60 title={t('button.logout')}
61 variant="outline-secondary"
63 <Icon.LOGOUT title="" />
70 if (location.pathname.length > 1) {
71 localStorage.setItem('returnPath', location.pathname.substr(1));
87 doLogout: PropTypes.func,
88 user: PropTypes.shape({
89 avatar: PropTypes.string,
90 discriminator: PropTypes.string,
92 username: PropTypes.string,
96 export default withUser(Header);