mirror of
https://github.com/bitwarden/browser
synced 2025-12-19 17:53:39 +00:00
[BEEEP] [PM-28239] Migrate generators to standalone (#17386)
* Migrate generators to use standalone and control flow * Resolve feedback * Add variable for account * Fix generators
This commit is contained in:
@@ -6,9 +6,11 @@
|
||||
(selectedChange)="onRootChanged({ nav: $event })"
|
||||
attr.aria-label="{{ 'type' | i18n }}"
|
||||
>
|
||||
<bit-toggle *ngFor="let option of rootOptions$ | async" [value]="option.value">
|
||||
{{ option.label }}
|
||||
</bit-toggle>
|
||||
@for (option of rootOptions$ | async; track option) {
|
||||
<bit-toggle [value]="option.value">
|
||||
{{ option.label }}
|
||||
</bit-toggle>
|
||||
}
|
||||
</bit-toggle-group>
|
||||
|
||||
<nudge-generator-spotlight></nudge-generator-spotlight>
|
||||
@@ -40,69 +42,80 @@
|
||||
></button>
|
||||
</div>
|
||||
</bit-card>
|
||||
<tools-password-settings
|
||||
class="tw-mt-6"
|
||||
*ngIf="(showAlgorithm$ | async)?.id === Algorithm.password"
|
||||
[account]="account$ | async"
|
||||
(onUpdated)="generate('password settings')"
|
||||
/>
|
||||
<tools-passphrase-settings
|
||||
class="tw-mt-6"
|
||||
*ngIf="(showAlgorithm$ | async)?.id === Algorithm.passphrase"
|
||||
[account]="account$ | async"
|
||||
(onUpdated)="generate('passphrase settings')"
|
||||
/>
|
||||
<bit-section *ngIf="(category$ | async) !== 'password'">
|
||||
<bit-section-header>
|
||||
<h2 bitTypography="h6">{{ "options" | i18n }}</h2>
|
||||
</bit-section-header>
|
||||
<div class="tw-mb-4">
|
||||
<bit-card>
|
||||
<form [formGroup]="username" class="tw-container">
|
||||
<bit-form-field>
|
||||
<bit-label>{{ "type" | i18n }}</bit-label>
|
||||
<bit-select
|
||||
[items]="usernameOptions$ | async"
|
||||
formControlName="nav"
|
||||
data-testid="username-type"
|
||||
>
|
||||
</bit-select>
|
||||
<bit-hint *ngIf="!!(credentialTypeHint$ | async)">{{
|
||||
credentialTypeHint$ | async
|
||||
}}</bit-hint>
|
||||
</bit-form-field>
|
||||
</form>
|
||||
<form *ngIf="showForwarder$ | async" [formGroup]="forwarder" class="tw-container">
|
||||
<bit-form-field>
|
||||
<bit-label>{{ "service" | i18n }}</bit-label>
|
||||
<bit-select
|
||||
[items]="forwarderOptions$ | async"
|
||||
formControlName="nav"
|
||||
data-testid="email-forwarding-service"
|
||||
>
|
||||
</bit-select>
|
||||
</bit-form-field>
|
||||
</form>
|
||||
<tools-catchall-settings
|
||||
*ngIf="(showAlgorithm$ | async)?.id === Algorithm.catchall"
|
||||
[account]="account$ | async"
|
||||
(onUpdated)="generate('catchall settings')"
|
||||
/>
|
||||
<tools-forwarder-settings
|
||||
*ngIf="!!(forwarderId$ | async)"
|
||||
[account]="account$ | async"
|
||||
[forwarder]="forwarderId$ | async"
|
||||
/>
|
||||
<tools-subaddress-settings
|
||||
*ngIf="(showAlgorithm$ | async)?.id === Algorithm.plusAddress"
|
||||
[account]="account$ | async"
|
||||
(onUpdated)="generate('subaddress settings')"
|
||||
/>
|
||||
<tools-username-settings
|
||||
*ngIf="(showAlgorithm$ | async)?.id === Algorithm.username"
|
||||
[account]="account$ | async"
|
||||
(onUpdated)="generate('username settings')"
|
||||
/>
|
||||
</bit-card>
|
||||
</div>
|
||||
</bit-section>
|
||||
@let showAlgorithm = showAlgorithm$ | async;
|
||||
@let account = account$ | async;
|
||||
@switch (showAlgorithm?.id) {
|
||||
@case (Algorithm.password) {
|
||||
<tools-password-settings
|
||||
class="tw-mt-6"
|
||||
[account]="account"
|
||||
(onUpdated)="generate('password settings')"
|
||||
/>
|
||||
}
|
||||
@case (Algorithm.passphrase) {
|
||||
<tools-passphrase-settings
|
||||
class="tw-mt-6"
|
||||
[account]="account"
|
||||
(onUpdated)="generate('passphrase settings')"
|
||||
/>
|
||||
}
|
||||
}
|
||||
@if ((category$ | async) !== "password") {
|
||||
<bit-section>
|
||||
<bit-section-header>
|
||||
<h2 bitTypography="h6">{{ "options" | i18n }}</h2>
|
||||
</bit-section-header>
|
||||
<div class="tw-mb-4">
|
||||
<bit-card>
|
||||
<form [formGroup]="username" class="tw-container">
|
||||
<bit-form-field>
|
||||
<bit-label>{{ "type" | i18n }}</bit-label>
|
||||
<bit-select
|
||||
[items]="usernameOptions$ | async"
|
||||
formControlName="nav"
|
||||
data-testid="username-type"
|
||||
>
|
||||
</bit-select>
|
||||
@if (credentialTypeHint$ | async) {
|
||||
<bit-hint>{{ credentialTypeHint$ | async }}</bit-hint>
|
||||
}
|
||||
</bit-form-field>
|
||||
</form>
|
||||
@if (showForwarder$ | async) {
|
||||
<form [formGroup]="forwarder" class="tw-container">
|
||||
<bit-form-field>
|
||||
<bit-label>{{ "service" | i18n }}</bit-label>
|
||||
<bit-select
|
||||
[items]="forwarderOptions$ | async"
|
||||
formControlName="nav"
|
||||
data-testid="email-forwarding-service"
|
||||
>
|
||||
</bit-select>
|
||||
</bit-form-field>
|
||||
</form>
|
||||
}
|
||||
@if (showAlgorithm?.id === Algorithm.catchall) {
|
||||
<tools-catchall-settings
|
||||
[account]="account"
|
||||
(onUpdated)="generate('catchall settings')"
|
||||
/>
|
||||
}
|
||||
@if (forwarderId$ | async; as forwarderId) {
|
||||
<tools-forwarder-settings [account]="account" [forwarder]="forwarderId" />
|
||||
}
|
||||
@if (showAlgorithm?.id === Algorithm.plusAddress) {
|
||||
<tools-subaddress-settings
|
||||
[account]="account"
|
||||
(onUpdated)="generate('subaddress settings')"
|
||||
/>
|
||||
}
|
||||
@if (showAlgorithm?.id === Algorithm.username) {
|
||||
<tools-username-settings
|
||||
[account]="account"
|
||||
(onUpdated)="generate('username settings')"
|
||||
/>
|
||||
}
|
||||
</bit-card>
|
||||
</div>
|
||||
</bit-section>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user