1 | import React, {Component} from 'react';
|
2 | import PropTypes from 'prop-types';
|
3 | import classNames from 'classnames';
|
4 |
|
5 | import rerenderHOC from '../global/rerender-hoc';
|
6 | import Theme from '../global/theme';
|
7 |
|
8 | import styles from './header.css';
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | export default class Header extends Component {
|
15 | static propTypes = {
|
16 | className: PropTypes.string,
|
17 | children: PropTypes.node,
|
18 | spaced: PropTypes.bool,
|
19 | theme: PropTypes.string
|
20 | };
|
21 |
|
22 | static defaultProps = {
|
23 | spaced: true,
|
24 | theme: Theme.DARK
|
25 | };
|
26 |
|
27 | render() {
|
28 | const {children, className, spaced, theme, ...restProps} = this.props;
|
29 | const classes = classNames(styles.header, styles[theme], className, {
|
30 | [styles.headerSpaced]: spaced
|
31 | });
|
32 |
|
33 | return (
|
34 | <div
|
35 | {...restProps}
|
36 | className={classes}
|
37 | >
|
38 | {children}
|
39 | </div>
|
40 | );
|
41 | }
|
42 | }
|
43 |
|
44 | export const RerenderableHeader = rerenderHOC(Header);
|
45 | export {default as Logo} from './logo';
|
46 | export {default as Tray} from './tray';
|
47 | export {default as TrayIcon} from './tray-icon';
|
48 | export {default as Profile} from './profile';
|
49 | export {default as SmartProfile} from './smart-profile';
|
50 | export {default as Services} from './services';
|
51 | export {default as SmartServices} from './smart-services';
|