import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { VERSION } from "@goauthentik/common/constants"; import { globalAK } from "@goauthentik/common/global"; import "@goauthentik/elements/EmptyState"; import { WithBrandConfig } from "@goauthentik/elements/Interface/brandProvider"; import { WithLicenseSummary } from "@goauthentik/elements/Interface/licenseSummaryProvider"; import { ModalButton } from "@goauthentik/elements/buttons/ModalButton"; import { DefaultBrand } from "@goauthentik/elements/sidebar/SidebarBrand"; import { msg } from "@lit/localize"; import { TemplateResult, css, html } from "lit"; import { customElement } from "lit/decorators.js"; import { until } from "lit/directives/until.js"; import PFAbout from "@patternfly/patternfly/components/AboutModalBox/about-modal-box.css"; import { AdminApi, CapabilitiesEnum, LicenseSummaryStatusEnum } from "@goauthentik/api"; @customElement("ak-about-modal") export class AboutModal extends WithLicenseSummary(WithBrandConfig(ModalButton)) { static get styles() { return ModalButton.styles.concat( PFAbout, css` .pf-c-about-modal-box__hero { background-image: url("/static/dist/assets/images/flow_background.jpg"); } `, ); } async getAboutEntries(): Promise<[string, string | TemplateResult][]> { const status = await new AdminApi(DEFAULT_CONFIG).adminSystemRetrieve(); const version = await new AdminApi(DEFAULT_CONFIG).adminVersionRetrieve(); let build: string | TemplateResult = msg("Release"); if (globalAK().config.capabilities.includes(CapabilitiesEnum.CanDebug)) { build = msg("Development"); } else if (version.buildHash !== "") { build = html`${version.buildHash}`; } return [ [msg("Version"), version.versionCurrent], [msg("UI Version"), VERSION], [msg("Build"), build], [msg("Python version"), status.runtime.pythonVersion], [msg("Platform"), status.runtime.platform], [msg("Kernel"), status.runtime.uname], [ msg("OpenSSL"), `${status.runtime.opensslVersion} ${status.runtime.opensslFipsEnabled ? "FIPS" : ""}`, ], ]; } renderModal() { let product = globalAK().brand.brandingTitle || DefaultBrand.brandingTitle; if (this.licenseSummary.status !== LicenseSummaryStatusEnum.Unlicensed) { product += ` ${msg("Enterprise")}`; } return html`
{ e.stopPropagation(); this.closeModal(); }} >
`; } }