UNPKG

@finos/legend-application-marketplace

Version:
26 lines 3.61 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useLegendMarketplaceApplicationStore } from '../../application/LegendMarketplaceFrameworkProvider.js'; import { isNonNullable } from '@finos/legend-shared'; import { CopyIcon, Dialog, InfoCircleIcon, Modal, ModalBody, ModalHeader, ModalHeaderActions, ModalTitle, TimesIcon, } from '@finos/legend-art'; export const LegendMarketplaceAppInfo = (props) => { const { open, closeModal } = props; const applicationStore = useLegendMarketplaceApplicationStore(); const config = applicationStore.config; const copyInfo = () => { applicationStore.clipboardService .copyTextToClipboard([ `Environment: ${config.env}`, `Version: ${config.appVersion}`, `Revision: ${config.appVersionCommitId}`, `Build Time: ${config.appVersionBuildTime}`, `Engine Server: ${config.engineServerUrl}`, `Depot Server: ${config.depotServerUrl}`, ] .filter(isNonNullable) .join('\n')) .then(() => applicationStore.notificationService.notifySuccess('Copied application info to clipboard')) .catch(applicationStore.alertUnhandledError); }; return (_jsx(Dialog, { onClose: closeModal, open: open, children: _jsxs(Modal, { darkMode: !applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled, className: "modal--scrollable app__info", children: [_jsxs(ModalHeader, { children: [_jsx(ModalTitle, { icon: _jsx(InfoCircleIcon, {}), title: "About" }), _jsxs(ModalHeaderActions, { children: [_jsx("button", { className: "modal__header__action", tabIndex: -1, onClick: copyInfo, title: "Copy application info", children: _jsx(CopyIcon, {}) }), _jsx("button", { className: "modal__header__action", tabIndex: -1, onClick: closeModal, children: _jsx(TimesIcon, {}) })] })] }), _jsxs(ModalBody, { children: [_jsxs("div", { className: "app__info__entry", children: [_jsx("div", { className: "app__info__entry__title", children: "Environment:" }), _jsx("div", { className: "app__info__entry__value", children: config.env })] }), _jsxs("div", { className: "app__info__entry", children: [_jsx("div", { className: "app__info__entry__title", children: "Version:" }), _jsx("div", { className: "app__info__entry__value", children: config.appVersion })] }), _jsxs("div", { className: "app__info__entry", children: [_jsx("div", { className: "app__info__entry__title", children: "Revision:" }), _jsx("div", { className: "app__info__entry__value", children: config.appVersionCommitId })] }), _jsxs("div", { className: "app__info__entry", children: [_jsx("div", { className: "app__info__entry__title", children: "Build Time:" }), _jsx("div", { className: "app__info__entry__value", children: config.appVersionBuildTime })] }), _jsxs("div", { className: "app__info__group", children: [_jsxs("div", { className: "app__info__entry", children: [_jsx("div", { className: "app__info__entry__title", children: "Engine Server:" }), _jsx("div", { className: "app__info__entry__value", children: _jsx("a", { href: config.engineServerUrl, target: "_blank", rel: "noopener noreferrer", children: config.engineServerUrl }) })] }), _jsxs("div", { className: "app__info__entry", children: [_jsx("div", { className: "app__info__entry__title", children: "Depot Server:" }), _jsx("div", { className: "app__info__entry__value", children: _jsx("a", { href: config.depotServerUrl, target: "_blank", rel: "noopener noreferrer", children: config.depotServerUrl }) })] })] })] })] }) })); }; //# sourceMappingURL=LegendMarketplaceAppInfo.js.map