From 271edb521432e0ddb7d34400845c820ad271f781 Mon Sep 17 00:00:00 2001 From: Engiber Lozada <89547469+engijlr@users.noreply.github.com> Date: Thu, 16 Oct 2025 14:55:43 +0200 Subject: [PATCH] News Dashboard: split into card + container, parent handles the data from the repo (#20503) * Made card element it is own reusable component and passing the data as property. * Created the umb-news-container element to handle all the priority grouping. * Added hover styles to normal-priority cards. * Removed unused variable. --- .../components/umb-news-card.element.ts | 132 ++++++++++++ .../components/umb-news-container.element.ts | 110 ++++++++++ .../umbraco-news-dashboard.element.ts | 190 +----------------- 3 files changed, 245 insertions(+), 187 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/umbraco-news/components/umb-news-card.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/umbraco-news/components/umb-news-container.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/components/umb-news-card.element.ts b/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/components/umb-news-card.element.ts new file mode 100644 index 0000000000..133f5e53c5 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/umbraco-news/components/umb-news-card.element.ts @@ -0,0 +1,132 @@ +import { css, customElement, html, nothing, property, unsafeHTML, when } from '@umbraco-cms/backoffice/external/lit'; +import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import type { NewsDashboardItemResponseModel } from '@umbraco-cms/backoffice/external/backend-api'; + +@customElement('umb-news-card') +export class UmbNewsCardElement extends UmbLitElement { + @property({ type: Object }) + item!: NewsDashboardItemResponseModel; + + @property({ type: Number }) + priority: number = 3; + + #renderHeading(priority: number, text: string) { + if (priority <= 2) return html`