@doreamonjs/gate
Version:
gate for doreamonjs
59 lines • 2.74 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importStar(require("react"));
const dva_1 = require("dva");
const classnames_1 = tslib_1.__importDefault(require("classnames"));
require("./index.less");
const icons_1 = require("@ant-design/icons");
// @TODO
const collapse_1 = tslib_1.__importDefault(require("../header/collapse"));
const Logo = (props) => {
var _a, _b;
const [isMobile] = react_1.useState((_b = (_a = window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window, "(max-width: 767px)")) === null || _b === void 0 ? void 0 : _b.matches);
const { style, theme, logoEnable, logo } = props;
const containerCls = classnames_1.default('logo', 'layout-logo', {
logo: true,
logoCollapsed: props.collapsed,
[theme]: !!theme,
});
const nameCls = classnames_1.default('name', 'logoName');
return (react_1.default.createElement("div", { style: style, className: containerCls, onClick: props.onGoHome },
isMobile && (react_1.default.createElement(collapse_1.default, { style: {
color: '#fff',
position: 'fixed',
top: 25,
left: 16,
} })),
props.appsEnable && (react_1.default.createElement("div", { style: {
position: 'absolute',
left: 32,
height: '100%',
display: 'flex',
alignItems: 'center',
}, onClick: (e) => {
e.stopPropagation();
e.preventDefault();
props.onOpenApps();
} },
react_1.default.createElement(icons_1.AppstoreOutlined, { style: { color: '#fff', fontSize: 28 } }))),
react_1.default.createElement("span", { style: { display: 'inline-flex', alignItems: 'center' } },
logoEnable && logo ? (react_1.default.createElement("img", { className: 'logoImage', alt: "site-logo", src: logo })) : null,
react_1.default.createElement("span", { className: nameCls }, props.name))));
};
const mapState = ({ applications, functions }) => {
return {
theme: applications.theme,
name: applications.site.name,
logo: applications.site.logo,
collapsed: applications.collapsed,
logoEnable: functions['global.system.logo'],
appsEnable: functions['global.system.apps'],
};
};
const mapActions = (dispatch) => ({
onGoHome: () => dispatch({ type: 'menus/navigate', payload: '/' }),
onOpenApps: () => dispatch({ type: 'applications/open/apps' }),
});
exports.default = dva_1.connect(mapState, mapActions)(Logo);
//# sourceMappingURL=logo.js.map