react-openfin-mat-impl
Version:
Materialize UI implementation of react-openfin
47 lines • 2.89 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const classnames_1 = require("classnames");
const styles_1 = require("@material-ui/styles");
const AppBar_1 = require("@material-ui/core/AppBar");
const Toolbar_1 = require("@material-ui/core/Toolbar");
const Button_1 = require("@material-ui/core/Button");
const Fab_1 = require("@material-ui/core/Fab");
const Menu_1 = require("@material-ui/icons/Menu");
const ChevronLeft_1 = require("@material-ui/icons/ChevronLeft");
const react_i18next_1 = require("react-i18next");
const HeaderLinks_1 = require("./HeaderLinks");
const HeaderThemeSwitcher_1 = require("./HeaderThemeSwitcher");
const jss_1 = require("../../assets/jss");
function makeBrand(props) {
let name = null;
props.routes.forEach((prop) => {
if (prop.path === props.location.pathname) {
name = prop.navbarName;
}
});
return name;
}
const useStyles = styles_1.makeStyles(jss_1.headerCompStyle);
const HeaderComp = (props) => {
const classes = useStyles({});
const { appLogo, color, windowsState, docked, headerPrefixElements, headerSuffixElements, handleDrawerToggle, onSwitchToLaunchBar, onUndock, onMinimize, onMaximize, onClose, } = props;
const { t, i18n } = react_i18next_1.useTranslation('menu', { useSuspense: false });
return (React.createElement(AppBar_1.default, { className: classnames_1.default(classes.appBar, classes[color]), draggable: false },
React.createElement(Toolbar_1.default, { className: classes.container },
React.createElement("div", { className: classes.preFlex },
React.createElement(HeaderThemeSwitcher_1.default, null),
handleDrawerToggle ?
React.createElement(Fab_1.default, { className: classes.menuBtn, color: "inherit", "aria-label": "open drawer", onClick: handleDrawerToggle }, props.open ? React.createElement(ChevronLeft_1.default, null) : React.createElement(Menu_1.default, null))
: null,
React.createElement("img", { src: appLogo, className: classes.companyLogImg }),
headerPrefixElements ?
headerPrefixElements :
React.createElement(Button_1.default, { href: "#", className: classes.title }, t('appName') + "|" + t(makeBrand(props)))),
React.createElement("div", { className: classes.flex }),
React.createElement("div", { className: classes.postFlex },
headerSuffixElements ? headerSuffixElements : null,
React.createElement(HeaderLinks_1.default, { windowsState: windowsState, docked: docked, onSwitchToLaunchBar: onSwitchToLaunchBar, onUndock: onUndock, onMinimize: onMinimize, onMaximize: onMaximize, onClose: onClose })))));
};
exports.default = HeaderComp;
//# sourceMappingURL=Header.js.map