From 0aa314d9ae11e621c43d4a3e0d96afa8a7e91c20 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Wed, 2 Jun 2021 16:57:41 +0000 Subject: [PATCH] overlay --- hassio/src/dashboard/hassio-addons.ts | 39 ++++++++++++++++++++---- hassio/src/dashboard/hassio-dashboard.ts | 3 ++ hassio/src/dashboard/hassio-update.ts | 8 ++--- 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/hassio/src/dashboard/hassio-addons.ts b/hassio/src/dashboard/hassio-addons.ts index 52f7a70e70..b8040396e2 100644 --- a/hassio/src/dashboard/hassio-addons.ts +++ b/hassio/src/dashboard/hassio-addons.ts @@ -1,4 +1,4 @@ -import { mdiArrowUpBoldCircle, mdiPuzzle } from "@mdi/js"; +import { mdiArrowUpBoldCircle, mdiPlay, mdiPuzzle, mdiStop } from "@mdi/js"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { atLeastVersion } from "../../../src/common/config/version"; @@ -17,18 +17,26 @@ class HassioAddons extends LitElement { @property({ attribute: false }) public supervisor!: Supervisor; + @property({ type: Boolean }) public narrow!: boolean; + protected render(): TemplateResult { return html` -
+
${this.supervisor.supervisor.addons.map( (addon) => html`
+
+ + +
${addon.icon && atLeastVersion(this.hass.config.version, 0, 105) ? html`` : html``} -
${addon.name}
` @@ -105,13 +113,18 @@ class HassioAddons extends LitElement { haStyle, hassioStyle, css` - :root { - display: block; - max-width: 400px; + .addons { + display: grid; + grid-template-columns: repeat(4, auto); + padding-bottom: 16px; + } + .addons[narrow] { + grid-template-columns: repeat(2, auto); } .addon { text-align: center; max-width: 100px; + padding: 8px; } .icon > *:not(.overlay) { position: relative; @@ -121,6 +134,20 @@ class HassioAddons extends LitElement { --mdc-icon-size: 60px; display: flex; } + .icon { + margin-bottom: 4px; + } + .overlay { + position: absolute; + z-index: 2; + --mdc-icon-size: 24px; + color: var(--secondary-text-color); + background-color: var(--secondary-background-color); + opacity: 0.6; + border-radius: 100%; + margin-left: 12px; + border: 1px var(--secondary-text-color) solid; + } `, ]; } diff --git a/hassio/src/dashboard/hassio-dashboard.ts b/hassio/src/dashboard/hassio-dashboard.ts index d62c407cd8..9e6165d949 100644 --- a/hassio/src/dashboard/hassio-dashboard.ts +++ b/hassio/src/dashboard/hassio-dashboard.ts @@ -38,10 +38,12 @@ class HassioDashboard extends LitElement {
@@ -57,6 +59,7 @@ class HassioDashboard extends LitElement { margin: 4px; display: flex; max-width: 1500px; + justify-content: center; } .content > * { display: block; diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index fb2ef491c5..734379553f 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -42,6 +42,8 @@ export class HassioUpdate extends LitElement { @property({ attribute: false }) public supervisor!: Supervisor; + @property({ type: Boolean }) public narrow!: boolean; + private _pendingUpdates = memoizeOne( (supervisor: Supervisor): number => Object.keys(supervisor).filter( @@ -70,12 +72,6 @@ export class HassioUpdate extends LitElement { )} 🎉" > - ${this._renderUpdateRow({ - type: "core", - heading: "Home Assistant Core", - version: "XXX", - icon: mdiHomeAssistant, - })} ${this.supervisor.addon.addons .filter((addon) => addon.update_available) .map((addon) =>