Browse Source

fix(login): prevent page reload on Enter key in access token dialog

pull/5751/head
unknown 3 weeks ago
parent
commit
10e4b95d43
  1. 61
      apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html

61
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html

@ -5,66 +5,39 @@
<form class="w-100" (ngSubmit)="onLoginWithAccessToken()"> <form class="w-100" (ngSubmit)="onLoginWithAccessToken()">
<mat-form-field appearance="outline" class="without-hint w-100"> <mat-form-field appearance="outline" class="without-hint w-100">
<mat-label i18n>Security Token</mat-label> <mat-label i18n>Security Token</mat-label>
<input <input matInput [formControl]="accessTokenFormControl" [type]="isAccessTokenHidden ? 'password' : 'text'"
matInput (keydown.enter)="onLoginWithAccessToken(); $event.preventDefault()" />
[formControl]="accessTokenFormControl" <button mat-button matSuffix type="button" (click)="isAccessTokenHidden = !isAccessTokenHidden">
[type]="isAccessTokenHidden ? 'password' : 'text'" <ion-icon [name]="isAccessTokenHidden ? 'eye-outline' : 'eye-off-outline'" />
/>
<button
mat-button
matSuffix
type="button"
(click)="isAccessTokenHidden = !isAccessTokenHidden"
>
<ion-icon
[name]="isAccessTokenHidden ? 'eye-outline' : 'eye-off-outline'"
/>
</button> </button>
</mat-form-field> </mat-form-field>
<!-- Hidden submit button to enable form submission with Enter key -->
<button type="submit" style="display: none">Submit</button>
</form> </form>
@if (data.hasPermissionToUseSocialLogin) { @if (data.hasPermissionToUseSocialLogin) {
<div class="my-3 text-center text-muted" i18n>or</div> <div class="my-3 text-center text-muted" i18n>or</div>
<div class="d-flex flex-column"> <div class="d-flex flex-column">
<button <button class="mb-2 px-4 rounded-pill" mat-stroked-button (click)="onLoginWithInternetIdentity()">
class="mb-2 px-4 rounded-pill" <img class="mr-2" src="../assets/icons/internet-computer.svg" style="height: 0.75rem" /><span i18n>Sign in with
mat-stroked-button Internet Identity</span>
(click)="onLoginWithInternetIdentity()"
>
<img
class="mr-2"
src="../assets/icons/internet-computer.svg"
style="height: 0.75rem"
/><span i18n>Sign in with Internet Identity</span>
</button> </button>
<a <a class="px-4 rounded-pill" href="../api/v1/auth/google" mat-stroked-button><img class="mr-2"
class="px-4 rounded-pill" src="../assets/icons/google.svg" style="height: 1rem" /><span i18n>Sign in with Google</span></a>
href="../api/v1/auth/google"
mat-stroked-button
><img
class="mr-2"
src="../assets/icons/google.svg"
style="height: 1rem"
/><span i18n>Sign in with Google</span></a
>
</div> </div>
} }
</div> </div>
</div> </div>
<div mat-dialog-actions> <div mat-dialog-actions>
<div class="flex-grow-1"> <div class="flex-grow-1">
<mat-checkbox color="primary" i18n (change)="onChangeStaySignedIn($event)" <mat-checkbox color="primary" i18n (change)="onChangeStaySignedIn($event)">Stay signed in</mat-checkbox>
>Stay signed in</mat-checkbox
>
</div> </div>
<div> <div>
<button <button color="primary" mat-flat-button [disabled]="
color="primary"
mat-flat-button
[disabled]="
!(accessTokenFormControl.dirty && accessTokenFormControl.valid) !(accessTokenFormControl.dirty && accessTokenFormControl.valid)
" " (click)="onLoginWithAccessToken()">
(click)="onLoginWithAccessToken()"
>
<ng-container i18n>Sign in</ng-container> <ng-container i18n>Sign in</ng-container>
</button> </button>
</div> </div>

Loading…
Cancel
Save