1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-25 09:03:28 +00:00
Files
browser/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.html
Jared Snider 3782e328e1 refactor(Auth-Font-Icons): [Auth/PM-31804] Migrate auth font icons to use bit-icon (#18816)
* PM-31804 - WIP

* PM-31804 - Profile Component - fix missing translation

* PM-31804 - Web - Emergency Access Takeover Dialog Comp - remove screen reader only span as arialabel on spinner should be sufficient

* PM-31804 - Web - EmergencyAccessViewComp - remove redundant span as aria label handles accessibility.

* PM-31804 - Web - EmergencyAccessViewComp - Remove redundant sr only span - replaced w/ aria label

* PM-31804 - Web - EmergencyAccessViewComp - Remove redundant sr only span - replaced w/ aria label

* PM-31804 - EmergencyAccessComp - Replace redundant sr only span with aria label

* PM-31804 - two-factor-setup.component.html - Replace redundant sr only spans with aria labels

* PM-31804 - WebauthnLoginSettingsModule - remove unnecessary IconModule - it's imported via SharedModule

* PM-31804 - web - emergency-access.component.html - Replace redundant sr only span with aria label

* PM-31804 - LoginDecryptionOptionsComponent - Replace redundant sr only span with aria label

* PM-31804 - ChangePasswordComp - Replace redundant sr only span with aria label

* PM-31804 - AccountComponent - add BitwardenIcon type to satisfy template type requirements for name property.

* PM-31804 - Browser Account Security Component - replace nonexistent chevron icon with existing angle right icon.

* PM-31804 - Fix A11y issues with missing aria labels

* PM-31804 - Remove remaining redundant sr only spans since we now have aria labels
2026-02-23 10:42:02 -05:00

111 lines
3.3 KiB
HTML

<ng-container *ngIf="loading">
<div class="tw-flex tw-items-center tw-justify-center">
<bit-icon name="bwi-spinner" class="bwi-spin bwi-3x" [ariaLabel]="'loading' | i18n"></bit-icon>
</div>
</ng-container>
<ng-container *ngIf="!loading">
<form
[bitSubmit]="submit"
[formGroup]="form"
autocomplete="off"
(keydown.enter)="handleEnterKeyPress()"
>
<app-two-factor-auth-email
[tokenFormControl]="tokenFormControl"
(tokenChange)="saveFormDataWithPartialData($event)"
*ngIf="selectedProviderType === providerType.Email"
/>
<app-two-factor-auth-authenticator
[tokenFormControl]="tokenFormControl"
(tokenChange)="saveFormDataWithPartialData($event)"
*ngIf="selectedProviderType === providerType.Authenticator"
/>
<app-two-factor-auth-yubikey
[tokenFormControl]="tokenFormControl"
*ngIf="selectedProviderType === providerType.Yubikey"
/>
<app-two-factor-auth-duo
(tokenEmitter)="submit($event)"
[providerData]="selectedProviderData"
*ngIf="
selectedProviderType === providerType.OrganizationDuo ||
selectedProviderType === providerType.Duo
"
#duoComponent
/>
<bit-form-control *ngIf="!hideRememberMe()">
<bit-label>{{ "dontAskAgainOnThisDeviceFor30Days" | i18n }}</bit-label>
<input type="checkbox" bitCheckbox formControlName="remember" (change)="onRememberChange()" />
</bit-form-control>
<app-two-factor-auth-webauthn
(webAuthnResultEmitter)="submit($event.token, $event.remember)"
(webAuthnInNewTabEmitter)="webAuthInNewTab = $event"
*ngIf="selectedProviderType === providerType.WebAuthn"
/>
<ng-container *ngIf="selectedProviderType == null">
<p bitTypography="body1">{{ "noTwoStepProviders" | i18n }}</p>
<p bitTypography="body1">{{ "noTwoStepProviders2" | i18n }}</p>
</ng-container>
<!-- Buttons -->
<div class="tw-flex tw-flex-col tw-space-y-3">
<button
type="submit"
buttonType="primary"
bitButton
bitFormButton
#continueButton
*ngIf="showContinueButton()"
>
<span> {{ "continueLoggingIn" | i18n }} </span>
</button>
<button
type="button"
buttonType="primary"
bitButton
(click)="launchDuo()"
*ngIf="
selectedProviderType === providerType.Duo ||
selectedProviderType === providerType.OrganizationDuo
"
>
<span *ngIf="duoLaunchAction === DuoLaunchAction.DIRECT_LAUNCH">
{{ "launchDuo" | i18n }}</span
>
<span *ngIf="duoLaunchAction === DuoLaunchAction.SINGLE_ACTION_POPOUT">
{{ "popoutExtension" | i18n }}</span
>
</button>
<p class="tw-text-center tw-mb-0">{{ "or" | i18n }}</p>
<button
type="button"
buttonType="secondary"
bitButton
bitFormButton
*ngIf="twoFactorProviders?.size > 1"
(click)="selectOtherTwoFactorMethod()"
>
<span> {{ "selectAnotherMethod" | i18n }} </span>
</button>
<button
type="button"
buttonType="secondary"
bitButton
bitFormButton
(click)="use2faRecoveryCode()"
>
<span> {{ "useYourRecoveryCode" | i18n }} </span>
</button>
</div>
</form>
</ng-container>