UNPKG

@boomerang-io/carbon-addons-boomerang-react

Version:
76 lines (69 loc) 6.19 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var reactQuery = require('@tanstack/react-query'); var react = require('@carbon/react'); var icons = require('@carbon/react/icons'); var HeaderMenuItem = require('../Header/HeaderMenuItem.js'); var ErrorMessage = require('../ErrorMessage/ErrorMessage.js'); var TooltipHover = require('../TooltipHover/TooltipHover.js'); var servicesConfig = require('../../config/servicesConfig.js'); var settings = require('../../internal/settings.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); /* IBM Confidential 694970X, 69497O0 © Copyright IBM Corp. 2022, 2025 */ function AboutPlatform({ baseServicesUrl, closeModal, isOpen = false, name }) { const platformVersioUrl = servicesConfig.serviceUrl.getPlatformVersion({ baseServicesUrl }); const { data: platformVersionData, isLoading: isPlatformVersionLoading, isError: isPlatformVersionError, } = reactQuery.useQuery({ queryKey: [platformVersioUrl], queryFn: servicesConfig.resolver.query(platformVersioUrl, null), enabled: isOpen, }); const currentYear = new Date().getFullYear(); return (React__default.default.createElement(react.ComposedModal, { open: isOpen, className: `${settings.prefix}--bmrg-aboutPlatform-container ${settings.prefix}--bmrg-header-modal ${settings.prefix}--bmrg-aboutPlatform-modalheader`, onClose: closeModal }, React__default.default.createElement(react.ModalHeader, { className: `${settings.prefix}--bmrg-aboutPlatform-modaltitle`, title: `About ${name}`, closeModal: closeModal }), isPlatformVersionLoading ? (React__default.default.createElement(react.ModalBody, { style: { display: "flex", alignItems: "center", justifyContent: "center" } }, React__default.default.createElement(react.Loading, { withOverlay: false }))) : isPlatformVersionError ? (React__default.default.createElement(react.ModalBody, { style: { display: "flex", alignItems: "center", justifyContent: "center" } }, React__default.default.createElement(ErrorMessage.default, null))) : platformVersionData ? (React__default.default.createElement(react.ModalBody, null, React__default.default.createElement("div", null, React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-aboutPlatform-platform-version` }, React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-aboutPlatform-platform-version-text` }, `Version ${platformVersionData.platformVersion}`), platformVersionData.platformVersionError ? (React__default.default.createElement(TooltipHover.default, { direction: "right", tooltipText: `Failed to retrieve the versioning of one or more components. Displaying only the ${name} platform version.` }, React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" }))) : null), React__default.default.createElement("h5", { className: `${settings.prefix}--bmrg-aboutPlatform-component-header` }, "Components"), React__default.default.createElement("ul", null, React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between` }, React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Advantage Core"), React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.version)), React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between` }, React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Assistants "), React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.assistantVersion)), React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between` }, React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Agents"), React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.agentsVersion)), React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between-last` }, React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Scribeflow"), React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.scribeFlowVersion))), React__default.default.createElement("h1", { className: `${settings.prefix}--bmrg-aboutPlatform-footer__header` }, "Copyright IBM Corp. 2022, ", currentYear)))) : null)); } function AboutPlatformMenuItem(props) { const menuItemRef = React__default.default.useRef(null); const [isOpen, setIsOpen] = React__default.default.useState(false); const handleClose = () => { setIsOpen(false); setTimeout(() => { menuItemRef.current?.focus(); }, 0); }; return (React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(HeaderMenuItem.default, { icon: React__default.default.createElement(icons.Information, null), onClick: () => setIsOpen(!isOpen), ref: menuItemRef, text: `About ${props.name}`, type: "button" }), React__default.default.createElement(AboutPlatform, { isOpen: isOpen, closeModal: handleClose, ...props }))); } exports.AboutPlatformMenuItem = AboutPlatformMenuItem; exports.default = AboutPlatform;