import "@goauthentik/admin/admin-overview/TopApplicationsTable"; import "@goauthentik/admin/admin-overview/cards/AdminStatusCard"; import "@goauthentik/admin/admin-overview/cards/RecentEventsCard"; import "@goauthentik/admin/admin-overview/cards/SystemStatusCard"; import "@goauthentik/admin/admin-overview/cards/VersionStatusCard"; import "@goauthentik/admin/admin-overview/cards/WorkerStatusCard"; import "@goauthentik/admin/admin-overview/charts/AdminLoginAuthorizeChart"; import "@goauthentik/admin/admin-overview/charts/OutpostStatusChart"; import "@goauthentik/admin/admin-overview/charts/SyncStatusChart"; import { VERSION } from "@goauthentik/common/constants"; import { me } from "@goauthentik/common/users"; import { AKElement } from "@goauthentik/elements/Base"; import "@goauthentik/elements/PageHeader"; import "@goauthentik/elements/cards/AggregatePromiseCard"; import { paramURL } from "@goauthentik/elements/router/RouterOutlet"; import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; import { customElement, state } from "lit/decorators.js"; import PFContent from "@patternfly/patternfly/components/Content/content.css"; import PFList from "@patternfly/patternfly/components/List/list.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import { SessionUser } from "@goauthentik/api"; export function versionFamily(): string { const parts = VERSION.split("."); parts.pop(); return parts.join("."); } @customElement("ak-admin-overview") export class AdminOverviewPage extends AKElement { static get styles(): CSSResult[] { return [ PFGrid, PFPage, PFContent, PFList, css` .row-divider { margin-top: -4px; margin-bottom: -4px; } .graph-container { height: 20em; } .big-graph-container { height: 35em; } .card-container { max-height: 10em; } `, ]; } @state() user?: SessionUser; async firstUpdated(): Promise { this.user = await me(); } render(): TemplateResult { let name = this.user?.user.username; if (this.user?.user.name) { name = this.user.user.name; } return html` ${msg(str`Welcome, ${name}.`)}
`; } }