opendash
Version:
open.DASH data visualization framework
28 lines • 1.78 kB
JavaScript
import * as React from "react";
import { Icon as LegacyIcon } from "@ant-design/compatible";
import { Spin } from "antd";
import { useTranslation, useOpenDashServices, useUrlParam, useAppState, } from "../..";
import { HeaderDropdown, HeaderDropdownText, HeaderDropdownButton, } from "./header-dropdown";
export default function HeaderUserMenu(_a) {
var _b = _a.right, right = _b === void 0 ? false : _b;
var services = useOpenDashServices();
var t = useTranslation(["opendash"])[0];
var user = useAppState(function (state) { return state.user.current; });
var _c = useUrlParam("opendash_language", false, "json"), setShowLangSelect = _c[1];
if (!user) {
return (React.createElement(HeaderDropdown, { right: right },
React.createElement(HeaderDropdownText, { style: { textAlign: "center" } },
React.createElement(Spin, null))));
}
return (React.createElement(HeaderDropdown, { right: right },
React.createElement(HeaderDropdownText, null,
React.createElement("div", { style: { fontSize: ".8em" } }, t("auth.greeting_dropdown")),
React.createElement("div", null, user.name || user.username || user.email)),
React.createElement(HeaderDropdownButton, { onClick: function (e) { return setShowLangSelect(true); } },
React.createElement(LegacyIcon, { type: "global" }),
React.createElement("span", null, t("account.language.label"))),
React.createElement(HeaderDropdownButton, { onClick: function (e) { return services.UserService.logout(); } },
React.createElement(LegacyIcon, { type: "logout" }),
React.createElement("span", null, t("auth.logout")))));
}
//# sourceMappingURL=menu-user.js.map