diff --git a/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.html b/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.html
index 8fae1e023..389d7ab00 100644
--- a/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.html
+++ b/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.html
@@ -33,12 +33,24 @@
routerLink="/settings/addons"
data-test-addon-cancel-button
>
-
+ @if (addonTypeString() === AddonType.REDIRECT) {
+
+ } @else {
+
+ }
diff --git a/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.ts b/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.ts
index 26010038c..48b9066cc 100644
--- a/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.ts
+++ b/src/app/features/settings/settings-addons/components/connect-addon/connect-addon.component.ts
@@ -119,6 +119,22 @@ export class ConnectAddonComponent {
});
}
+ goToService() {
+ if (!this.redirectUrl()) return;
+
+ const newWindow = window.open(
+ this.redirectUrl()!.toString(),
+ '_blank',
+ 'popup,width=600,height=600,scrollbars=yes,resizable=yes'
+ );
+ if (newWindow) {
+ this.router.navigate([`${this.baseUrl()}/addons`]);
+ newWindow.focus();
+ } else {
+ this.toastService.showError('addons.redirect.popUpError');
+ }
+ }
+
private startOauthFlow(createdAddon: AuthorizedAccountModel): void {
this.addonAuthUrl.set(createdAddon.authUrl!);
window.open(createdAddon.authUrl!, '_blank');
diff --git a/src/app/shared/helpers/addon-type.helper.ts b/src/app/shared/helpers/addon-type.helper.ts
index b3a684027..6dbf1d274 100644
--- a/src/app/shared/helpers/addon-type.helper.ts
+++ b/src/app/shared/helpers/addon-type.helper.ts
@@ -48,6 +48,8 @@ export function getAddonTypeString(addon: AddonModel | AuthorizedAccountModel |
return AddonType.STORAGE;
} else if (isLinkAddon(addon)) {
return AddonType.LINK;
+ } else if (isRedirectAddon(addon)) {
+ return AddonType.REDIRECT;
} else {
return AddonType.CITATION;
}