@antdp/basic-layouts
Version:
105 lines (104 loc) • 3.89 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _icons = require("@ant-design/icons");
var _fullscreen = _interopRequireDefault(require("@antdp/fullscreen"));
var _antd = require("antd");
var _react = _interopRequireWildcard(require("react"));
var _reactRouterDom = require("react-router-dom");
var _SearchMenus = _interopRequireDefault(require("../SearchMenus"));
var _hooks = require("./../hooks");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["icon", "title", "link", "onClick"];
var User = function User() {
var _useLayouts = (0, _hooks.useLayouts)(),
_useLayouts$topRightM = _useLayouts.topRightMenu,
topRightMenu = _useLayouts$topRightM === void 0 ? [] : _useLayouts$topRightM,
_useLayouts$profile = _useLayouts.profile,
profile = _useLayouts$profile === void 0 ? {} : _useLayouts$profile,
topRightLanguage = _useLayouts.topRightLanguage;
var avatar = profile.avatar,
name = profile.name;
var rightMenu = (0, _react.useMemo)(function () {
return topRightMenu.map(function (item, index) {
var icon = item.icon,
title = item.title,
link = item.link,
onClick = item.onClick,
rest = (0, _objectWithoutProperties2["default"])(item, _excluded);
if (item.divider) {
return {
type: 'divider'
};
}
if (!title) {
return null;
}
var child = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
style: {
marginRight: 5
},
children: icon
}), title]
});
if (link) {
child = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {
to: link,
children: child
});
}
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, rest), {}, {
label: child,
key: index,
onClick: onClick
});
});
}, [topRightMenu]);
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react["default"].Fragment, {
children: [ANTD_MENU_SEARCH_IS_SHOW && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
style: {
marginRight: 10
},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchMenus["default"], {})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_fullscreen["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Dropdown, {
menu: {
items: rightMenu
},
placement: "bottomRight",
trigger: ['click'],
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
className: "antdp-basic-layouts-header-user",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
style: {
marginRight: 8
},
children: avatar ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
src: avatar
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Avatar, {
size: 24,
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.UserOutlined, {
style: {
minWidth: 'inherit',
marginRight: 0
}
})
})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
style: {
userSelect: 'none'
},
children: name || ' - '
})]
})
}), topRightLanguage]
});
};
var _default = exports["default"] = User;
module.exports = exports.default;