import {Theme, WithStyles} from 'material-ui'; import AccountCircle from 'material-ui-icons/AccountCircle'; import Chat from 'material-ui-icons/Chat'; import DevicesOther from 'material-ui-icons/DevicesOther'; import ExitToApp from 'material-ui-icons/ExitToApp'; import LightbulbOutline from 'material-ui-icons/LightbulbOutline'; import SupervisorAccount from 'material-ui-icons/SupervisorAccount'; import AppBar from 'material-ui/AppBar'; import Button from 'material-ui/Button'; import IconButton from 'material-ui/IconButton'; import {withStyles} from 'material-ui/styles'; import Toolbar from 'material-ui/Toolbar'; import Typography from 'material-ui/Typography'; import React, {Component} from 'react'; import {Link} from 'react-router-dom'; import * as UserAction from '../actions/UserAction'; const styles = (theme: Theme) => ({ appBar: { zIndex: theme.zIndex.drawer + 1, }, title: { flex: 1, display: 'flex', alignItems: 'center', }, titleName: { paddingRight: 10, }, link: { color: 'inherit', textDecoration: 'none', }, }); type Styles = WithStyles<'link' | 'titleName' | 'title' | 'appBar'>; interface IProps { loggedIn: boolean; name: string; admin: boolean; version: string; toggleTheme: VoidFunction; showSettings: VoidFunction; } class Header extends Component { public render() { const {classes, version, name, loggedIn, admin, toggleTheme} = this.props; return (
Gotify @{version}
{loggedIn && this.renderButtons(name, admin)}
); } private renderButtons(name: string, admin: boolean) { const {classes, showSettings} = this.props; return (
{admin ? ( ) : ( '' )}
); } } export default withStyles(styles, {withTheme: true})(Header);