@guardian/threads
Version:
38 lines • 2.18 kB
JavaScript
import React from 'react';
import { withRouter } from 'react-router-dom';
import { Button } from '../Button/Button';
import { AppContext } from '../../AppContext';
import styles from './Header.module.css';
export var Header = withRouter(function (_a) {
var location = _a.location, history = _a.history, title = _a.title, toolset = _a.toolset, menu = _a.menu, transparent = _a.transparent, withTextLogo = _a.withTextLogo, centered = _a.centered;
var isRoot = location.pathname === '/';
var onClick = function () {
if (!isRoot) {
history.push('/', '');
}
};
return (React.createElement(AppContext.Consumer, null, function (context) {
var usedTitle = title ? title : context.name ? context.name : '';
var usedMenu = menu
? menu
: context.defaultMenu
? context.defaultMenu
: undefined;
var usedToolset = toolset
? toolset
: context.defaultToolset
? context.defaultToolset
: undefined;
return (React.createElement("header", { className: styles.head, "data-transparent": transparent },
React.createElement("div", { className: styles.container, "data-centered": centered ? centered : null },
!!context.logoSvg && (React.createElement("div", { className: styles.chipHome, "data-has-border": !transparent },
React.createElement(Button, { className: styles.logo, style: {
background: "url(" + context.logoSvg + ") no-repeat center",
}, appearance: "transparent", onClick: onClick }))),
withTextLogo && (React.createElement("div", { className: styles.chip },
React.createElement("h2", { className: styles.textLogo }, usedTitle))),
!!usedMenu && (React.createElement("div", { className: [styles.menu, styles.chip].join(' '), "data-elastic": "true" }, usedMenu)),
!!usedToolset && (React.createElement("div", { className: [styles.toolset, styles.chip].join(' ') }, usedToolset)))));
}));
});
//# sourceMappingURL=Header.js.map