4e41e8c603
- operator is more lightweight - auth and auth-guard service updated - anonymous in login form - improved login form - websocket retries to reconnect
31 lines
1.5 KiB
HTML
31 lines
1.5 KiB
HTML
<!-- The actual form -->
|
|
<mat-toolbar class="login-logo-bar" color="primary">
|
|
<img src='/assets/img/openslides-logo-h-dark-transparent.svg' alt='OpenSlides-logo'>
|
|
</mat-toolbar>
|
|
<div class="form-wrapper">
|
|
|
|
<mat-spinner *ngIf="inProcess"></mat-spinner>
|
|
<form [formGroup]="loginForm" class="login-form" (ngSubmit)="formLogin()">
|
|
<mat-form-field>
|
|
<input matInput required placeholder="User name" formControlName="username" [errorStateMatcher]="parentErrorStateMatcher">
|
|
</mat-form-field>
|
|
<br>
|
|
<mat-form-field>
|
|
<input matInput required placeholder="Password" formControlName="password" [type]="!hide ? 'password' : 'text'" [errorStateMatcher]="parentErrorStateMatcher">
|
|
<fa-icon matSuffix [icon]="!hide ? 'eye-slash' : 'eye'" (click)="hide = !hide"></fa-icon>
|
|
<mat-error>{{loginErrorMsg}}</mat-error>
|
|
</mat-form-field>
|
|
|
|
<!-- forgot password button -->
|
|
<br>
|
|
<button type="button" class='forgot-password-button' (click)="resetPassword()" mat-button>Forgot Password?</button>
|
|
|
|
<!-- login button -->
|
|
<br>
|
|
<!-- TODO: Next to each other...-->
|
|
<button mat-raised-button color="primary" class='login-button' type="submit" translate>Login</button>
|
|
<button mat-raised-button *ngIf="areGuestsEnabled()" color="primary" class='login-button'
|
|
type="button" (click)="guestLogin()" translate>Login as Guest</button>
|
|
</form>
|
|
|
|
</div> |