Support app param in my links (#29142)

This commit is contained in:
Petar Petrov 2026-01-26 09:55:42 +01:00 committed by GitHub
parent 9bb9ae6ad6
commit 63284b328c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 21 additions and 6 deletions

View File

@ -330,6 +330,15 @@ export const getMyRedirects = (): Redirects => ({
supervisor_addons: {
redirect: "/config/apps",
},
supervisor_app: {
redirect: "/config/app",
params: {
app: "string",
},
optional_params: {
repository_url: "url",
},
},
supervisor_addon: {
redirect: "/config/app",
params: {
@ -525,12 +534,16 @@ class HaPanelMy extends LitElement {
private _createRedirectUrl(): string {
const params = extractSearchParamsObject();
// Special case for supervisor_addon: use path-based URL
if (params.addon && this._redirect!.redirect === "/config/app") {
const addon = params.addon;
delete params.addon;
const optionalParams = this._createOptionalParams(params);
return `/config/app/${addon}/info${optionalParams}`;
// Special case for supervisor_app/supervisor_addon: use path-based URL
// Support both "app" (new) and "addon" (legacy) parameters
if (this._redirect!.redirect === "/config/app") {
const appSlug = params.app || params.addon;
if (appSlug) {
delete params.app;
delete params.addon;
const optionalParams = this._createOptionalParams(params);
return `/config/app/${appSlug}/info${optionalParams}`;
}
}
const resultParams = this._createRedirectParams();

View File

@ -164,6 +164,8 @@ export default <T extends Constructor<HassElement>>(superClass: T) =>
}
if (redirect.redirect === "/config/integrations/integration") {
myParams.append("domain", targetPath.split("/")[4]);
} else if (redirect.redirect === "/config/app") {
myParams.append("app", targetPath.split("/")[3]);
} else if (redirect.redirect === "/hassio/addon") {
myParams.append("addon", targetPath.split("/")[3]);
}