diff --git a/src/panels/config/apps/ha-config-app-dashboard.ts b/src/panels/config/apps/ha-config-app-dashboard.ts index 8e3f662c20..c44f7a6d29 100644 --- a/src/panels/config/apps/ha-config-app-dashboard.ts +++ b/src/panels/config/apps/ha-config-app-dashboard.ts @@ -63,9 +63,12 @@ class HaConfigAppDashboard extends LitElement { this._fromStore = extractSearchParam("store") === "true"; const repositoryUrl = extractSearchParam("repository_url"); if (repositoryUrl) { - navigate(`/config/app/${this.route.path.split("/")[1]}`, { - replace: true, - }); + navigate( + `/config/app/${this.route.path.split("/")[1]}?repository_url=${encodeURIComponent(repositoryUrl)}`, + { + replace: true, + } + ); } await this._loadAddon(repositoryUrl); this.addEventListener("hass-api-called", (ev) => this._apiCalled(ev)); diff --git a/src/state/quick-bar-mixin.ts b/src/state/quick-bar-mixin.ts index 4e192d1afc..b61b29a056 100644 --- a/src/state/quick-bar-mixin.ts +++ b/src/state/quick-bar-mixin.ts @@ -290,6 +290,14 @@ export default >(superClass: T) => } } } + if (redirect.optional_params) { + const params = extractSearchParamsObject(); + for (const key of Object.keys(redirect.optional_params)) { + if (key in params) { + myParams.append(key, params[key]); + } + } + } if (redirect.redirect === "/config/integrations/integration") { myParams.append("domain", targetPath.split("/")[4]); } else if (redirect.redirect === "/config/app") {