From 611f02bc966486d3f55960d822115637ca40cce8 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Mon, 9 Sep 2024 18:01:02 +0200 Subject: [PATCH] feat: show a System information button in the logo popover if the user is an admin --- .../backoffice-header-logo.element.ts | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-header-logo.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-header-logo.element.ts index e7f82483b0..48a93afc79 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-header-logo.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-header-logo.element.ts @@ -1,13 +1,19 @@ +import { isCurrentUserAnAdmin } from '@umbraco-cms/backoffice/current-user'; import { UMB_BACKOFFICE_CONTEXT } from '../backoffice.context.js'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; +import { UMB_SYSINFO_MODAL } from '@umbraco-cms/backoffice/sysinfo'; @customElement('umb-backoffice-header-logo') export class UmbBackofficeHeaderLogoElement extends UmbLitElement { @state() private _version?: string; + @state() + private _isUserAdmin = false; + constructor() { super(); @@ -21,6 +27,12 @@ export class UmbBackofficeHeaderLogoElement extends UmbLitElement { '_observeVersion', ); }); + + this.#isAdmin(); + } + + async #isAdmin() { + this._isUserAdmin = await isCurrentUserAnAdmin(this); } override render() { @@ -31,15 +43,35 @@ export class UmbBackofficeHeaderLogoElement extends UmbLitElement { `; } + async #openSystemInformation() { + const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT); + modalManager + .open(this, UMB_SYSINFO_MODAL) + .onSubmit() + .catch(() => {}); + } + static override styles = [ UmbTextStyles, css`