diff --git a/libs/angular/src/components/generator.component.ts b/libs/angular/src/components/generator.component.ts
index 2e7d0aaada6..29262919aac 100644
--- a/libs/angular/src/components/generator.component.ts
+++ b/libs/angular/src/components/generator.component.ts
@@ -70,13 +70,7 @@ export class GeneratorComponent implements OnInit {
];
this.subaddressOptions = [{ name: i18nService.t("random"), value: "random" }];
this.catchallOptions = [{ name: i18nService.t("random"), value: "random" }];
- this.forwardOptions = [
- { name: "SimpleLogin", value: "simplelogin" },
- { name: "AnonAddy", value: "anonaddy" },
- { name: "Firefox Relay", value: "firefoxrelay" },
- { name: "Fastmail", value: "fastmail" },
- { name: "DuckDuckGo", value: "duckduckgo" },
- ];
+ this.initForwardOptions();
}
async ngOnInit() {
@@ -239,4 +233,21 @@ export class GeneratorComponent implements OnInit {
this.enforcedPasswordPolicyOptions
);
}
+
+ private async initForwardOptions() {
+ this.forwardOptions = [
+ { name: "AnonAddy", value: "anonaddy" },
+ { name: "DuckDuckGo", value: "duckduckgo" },
+ { name: "Fastmail", value: "fastmail" },
+ { name: "Firefox Relay", value: "firefoxrelay" },
+ { name: "SimpleLogin", value: "simplelogin" },
+ ];
+
+ this.usernameOptions = await this.usernameGenerationService.getOptions();
+ if (this.usernameOptions.forwardedService == null) {
+ this.forwardOptions.push({ name: "", value: null });
+ }
+
+ this.forwardOptions = this.forwardOptions.sort((a, b) => a.name.localeCompare(b.name));
+ }
}