mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-26 10:46:35 +00:00
Check if addon is valid before navigating (#8538)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
This commit is contained in:
parent
a66b3f6b80
commit
3853cc9214
@ -21,6 +21,7 @@ import { extractSearchParam } from "../../../src/common/url/search-params";
|
|||||||
import "../../../src/components/ha-circular-progress";
|
import "../../../src/components/ha-circular-progress";
|
||||||
import {
|
import {
|
||||||
fetchHassioAddonInfo,
|
fetchHassioAddonInfo,
|
||||||
|
fetchHassioAddonsInfo,
|
||||||
HassioAddonDetails,
|
HassioAddonDetails,
|
||||||
} from "../../../src/data/hassio/addon";
|
} from "../../../src/data/hassio/addon";
|
||||||
import { extractApiErrorMessage } from "../../../src/data/hassio/common";
|
import { extractApiErrorMessage } from "../../../src/data/hassio/common";
|
||||||
@ -173,9 +174,16 @@ class HassioAddonDashboard extends LitElement {
|
|||||||
|
|
||||||
protected async firstUpdated(): Promise<void> {
|
protected async firstUpdated(): Promise<void> {
|
||||||
if (this.route.path === "") {
|
if (this.route.path === "") {
|
||||||
const addon = extractSearchParam("addon");
|
const requestedAddon = extractSearchParam("addon");
|
||||||
if (addon) {
|
if (requestedAddon) {
|
||||||
navigate(this, `/hassio/addon/${addon}`, true);
|
const addonsInfo = await fetchHassioAddonsInfo(this.hass);
|
||||||
|
const validAddon = addonsInfo.addons
|
||||||
|
.some((addon) => addon.slug === requestedAddon);
|
||||||
|
if (!validAddon) {
|
||||||
|
this._error = this.supervisor.localize("my.error_addon_not_found");
|
||||||
|
} else {
|
||||||
|
navigate(this, `/hassio/addon/${requestedAddon}`, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.addEventListener("hass-api-called", (ev) => this._apiCalled(ev));
|
this.addEventListener("hass-api-called", (ev) => this._apiCalled(ev));
|
||||||
|
@ -3656,7 +3656,8 @@
|
|||||||
"my": {
|
"my": {
|
||||||
"not_supported": "[%key:ui::panel::my::not_supported%]",
|
"not_supported": "[%key:ui::panel::my::not_supported%]",
|
||||||
"faq_link": "[%key:ui::panel::my::faq_link%]",
|
"faq_link": "[%key:ui::panel::my::faq_link%]",
|
||||||
"error": "[%key:ui::panel::my::error%]"
|
"error": "[%key:ui::panel::my::error%]",
|
||||||
|
"error_addon_not_found": "Add-on not found"
|
||||||
},
|
},
|
||||||
"system": {
|
"system": {
|
||||||
"log": {
|
"log": {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user