Update check update icon and add toast when checking update (#20677)

* Update check update icon

* Add toast when checking for update
pull/20680/head
Paul Bottein 2024-04-30 21:21:30 +02:00 committed by GitHub
parent 86a7e69812
commit d0df029ff1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 20 additions and 15 deletions

View File

@ -1,19 +1,19 @@
import { mdiStorePlus, mdiUpdate } from "@mdi/js"; import { mdiRefresh, mdiStorePlus } from "@mdi/js";
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { CSSResultGroup, LitElement, TemplateResult, css, html } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { atLeastVersion } from "../../../src/common/config/version"; import { atLeastVersion } from "../../../src/common/config/version";
import { fireEvent } from "../../../src/common/dom/fire_event";
import "../../../src/components/ha-fab"; import "../../../src/components/ha-fab";
import { reloadHassioAddons } from "../../../src/data/hassio/addon";
import { extractApiErrorMessage } from "../../../src/data/hassio/common";
import { Supervisor } from "../../../src/data/supervisor/supervisor"; import { Supervisor } from "../../../src/data/supervisor/supervisor";
import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box";
import "../../../src/layouts/hass-subpage";
import "../../../src/layouts/hass-tabs-subpage"; import "../../../src/layouts/hass-tabs-subpage";
import { haStyle } from "../../../src/resources/styles"; import { haStyle } from "../../../src/resources/styles";
import { HomeAssistant, Route } from "../../../src/types"; import { HomeAssistant, Route } from "../../../src/types";
import { supervisorTabs } from "../hassio-tabs"; import { supervisorTabs } from "../hassio-tabs";
import "./hassio-addons"; import "./hassio-addons";
import "../../../src/layouts/hass-subpage";
import { reloadHassioAddons } from "../../../src/data/hassio/addon";
import { extractApiErrorMessage } from "../../../src/data/hassio/common";
import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box";
import { fireEvent } from "../../../src/common/dom/fire_event";
@customElement("hassio-dashboard") @customElement("hassio-dashboard")
class HassioDashboard extends LitElement { class HassioDashboard extends LitElement {
@ -43,7 +43,7 @@ class HassioDashboard extends LitElement {
<ha-icon-button <ha-icon-button
slot="toolbar-icon" slot="toolbar-icon"
@click=${this._handleCheckUpdates} @click=${this._handleCheckUpdates}
.path=${mdiUpdate} .path=${mdiRefresh}
.label=${this.supervisor.localize("store.check_updates")} .label=${this.supervisor.localize("store.check_updates")}
></ha-icon-button> ></ha-icon-button>
<hassio-addons <hassio-addons

View File

@ -118,6 +118,10 @@ export const checkForEntityUpdates = async (
return; return;
} }
showToast(element, {
message: hass.localize("ui.panel.config.updates.checking_updates"),
});
let updated = 0; let updated = 0;
const unsubscribeEvents = await hass.connection.subscribeEvents<HassEvent>( const unsubscribeEvents = await hass.connection.subscribeEvents<HassEvent>(

View File

@ -1,7 +1,7 @@
import { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; import { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item";
import { mdiDotsVertical, mdiUpdate } from "@mdi/js"; import { mdiDotsVertical, mdiRefresh } from "@mdi/js";
import { HassEntities } from "home-assistant-js-websocket"; import { HassEntities } from "home-assistant-js-websocket";
import { css, html, LitElement, TemplateResult } from "lit"; import { LitElement, TemplateResult, css, html } from "lit";
import { customElement, property, state } from "lit/decorators"; import { customElement, property, state } from "lit/decorators";
import memoizeOne from "memoize-one"; import memoizeOne from "memoize-one";
import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { isComponentLoaded } from "../../../common/config/is_component_loaded";
@ -14,11 +14,11 @@ import "../../../components/ha-check-list-item";
import "../../../components/ha-metric"; import "../../../components/ha-metric";
import { extractApiErrorMessage } from "../../../data/hassio/common"; import { extractApiErrorMessage } from "../../../data/hassio/common";
import { import {
fetchHassioSupervisorInfo,
HassioSupervisorInfo, HassioSupervisorInfo,
SupervisorOptions,
fetchHassioSupervisorInfo,
reloadSupervisor, reloadSupervisor,
setSupervisorOption, setSupervisorOption,
SupervisorOptions,
} from "../../../data/hassio/supervisor"; } from "../../../data/hassio/supervisor";
import { import {
checkForEntityUpdates, checkForEntityUpdates,
@ -66,7 +66,7 @@ class HaConfigSectionUpdates extends LitElement {
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.updates.check_updates" "ui.panel.config.updates.check_updates"
)} )}
.path=${mdiUpdate} .path=${mdiRefresh}
@click=${this._checkUpdates} @click=${this._checkUpdates}
></ha-icon-button> ></ha-icon-button>
<ha-button-menu multi> <ha-button-menu multi>

View File

@ -4,7 +4,7 @@ import {
mdiDotsVertical, mdiDotsVertical,
mdiMagnify, mdiMagnify,
mdiPower, mdiPower,
mdiUpdate, mdiRefresh,
} from "@mdi/js"; } from "@mdi/js";
import { HassEntities, UnsubscribeFunc } from "home-assistant-js-websocket"; import { HassEntities, UnsubscribeFunc } from "home-assistant-js-websocket";
import { import {
@ -206,7 +206,7 @@ class HaConfigDashboard extends SubscribeMixin(LitElement) {
<ha-list-item graphic="icon"> <ha-list-item graphic="icon">
${this.hass.localize("ui.panel.config.updates.check_updates")} ${this.hass.localize("ui.panel.config.updates.check_updates")}
<ha-svg-icon slot="graphic" .path=${mdiUpdate}></ha-svg-icon> <ha-svg-icon slot="graphic" .path=${mdiRefresh}></ha-svg-icon>
</ha-list-item> </ha-list-item>
<ha-list-item graphic="icon"> <ha-list-item graphic="icon">

View File

@ -1889,6 +1889,7 @@
"check_updates": "Check for updates", "check_updates": "Check for updates",
"no_new_updates": "No new updates found", "no_new_updates": "No new updates found",
"updates_refreshed": "{count} {count, plural,\n one {update}\n other {updates}\n} refreshed", "updates_refreshed": "{count} {count, plural,\n one {update}\n other {updates}\n} refreshed",
"checking_updates": "Checking for updates...",
"title": "{count} {count, plural,\n one {update}\n other {updates}\n}", "title": "{count} {count, plural,\n one {update}\n other {updates}\n}",
"unable_to_fetch": "Unable to load updates", "unable_to_fetch": "Unable to load updates",
"more_updates": "Show all updates", "more_updates": "Show all updates",