diff --git a/packages/extension-api/src/extension-api.d.ts b/packages/extension-api/src/extension-api.d.ts index accc13633f0..e3894386ba7 100644 --- a/packages/extension-api/src/extension-api.d.ts +++ b/packages/extension-api/src/extension-api.d.ts @@ -4157,6 +4157,11 @@ declare module '@podman-desktop/api' { * @see {@link window.createWebviewPanel createWebviewPanel} for creating a Webview */ export function navigateToWebview(webviewId: string): Promise; + + /** + * Navigate to Authentication settings page + */ + export function navigateToAuthentication(): Promise; } /** diff --git a/packages/main/src/plugin/extension-loader.ts b/packages/main/src/plugin/extension-loader.ts index 76785ae2b82..b38826bba34 100644 --- a/packages/main/src/plugin/extension-loader.ts +++ b/packages/main/src/plugin/extension-loader.ts @@ -1216,6 +1216,9 @@ export class ExtensionLoader { navigateToWebview: async (webviewId: string): Promise => { await this.navigationManager.navigateToWebview(webviewId); }, + navigateToAuthentication: async (): Promise => { + await this.navigationManager.navigateToAuthentication(); + }, }; const version = app.getVersion(); diff --git a/packages/main/src/plugin/navigation/navigation-manager.ts b/packages/main/src/plugin/navigation/navigation-manager.ts index 1d3c8c84bb2..68c9d8b10cf 100644 --- a/packages/main/src/plugin/navigation/navigation-manager.ts +++ b/packages/main/src/plugin/navigation/navigation-manager.ts @@ -207,4 +207,10 @@ export class NavigationManager { }, }); } + + async navigateToAuthentication(): Promise { + this.navigateTo({ + page: NavigationPage.AUTHENTICATION, + }); + } } diff --git a/packages/main/src/plugin/navigation/navigation-page.ts b/packages/main/src/plugin/navigation/navigation-page.ts index b9c7efee1c7..6230c08f33e 100644 --- a/packages/main/src/plugin/navigation/navigation-page.ts +++ b/packages/main/src/plugin/navigation/navigation-page.ts @@ -32,4 +32,5 @@ export enum NavigationPage { TROUBLESHOOTING = 'troubleshooting', HELP = 'help', WEBVIEW = 'webview', + AUTHENTICATION = 'authentication', } diff --git a/packages/renderer/src/navigation.ts b/packages/renderer/src/navigation.ts index ecb479f490e..97ba8dd1eb0 100644 --- a/packages/renderer/src/navigation.ts +++ b/packages/renderer/src/navigation.ts @@ -79,5 +79,8 @@ export const handleNavigation = (page: NavigationPage, parameters?: { [key: stri case NavigationPage.WEBVIEW: router.goto(`/webviews/${parameters?.['id']}`); break; + case NavigationPage.AUTHENTICATION: + router.goto('/preferences/authentication-providers'); + break; } };