48 lines
3.5 KiB
HTML
48 lines
3.5 KiB
HTML
<div class="card login-panel ui-fluid" style="min-width: 400px ;">
|
|
<div class="ui-g">
|
|
<div class="ui-g-12">
|
|
<img src="/assets/images/agnav-logo.png">
|
|
</div>
|
|
<form name="form" #f="ngForm" (ngSubmit)="onSubmit()">
|
|
<div *ngIf="error$ | async" class="ui-g-12 login-error">
|
|
<span class="ui-message ui-messages-error">{{ error$ | async}}</span>
|
|
</div>
|
|
|
|
<p-messages [(value)]="msgs"></p-messages>
|
|
|
|
<div class="ui-g-12">
|
|
<span class="md-inputfield">
|
|
<input type="text" name="username" [pattern]="GC?.emailRegex" email [(ngModel)]="model.username" #username="ngModel" required autocomplete="on" pInputText>
|
|
<span *ngIf="username.invalid && (username.dirty || username.touched)" class="ui-message ui-messages-error ui-corner-all">
|
|
{{ userValidMsg() }}
|
|
</span>
|
|
<label i18n="@@userName">Username</label>
|
|
</span>
|
|
</div>
|
|
<div class="ui-g-12">
|
|
<span class="md-inputfield">
|
|
<input type="password" name="password" agmPwdToggle [(ngModel)]="model.password" #password="ngModel" required autocomplete="on" pInputText>
|
|
<span i18n="@@pwdReqVal" *ngIf="password.invalid && (password.dirty || password.touched)" class="ui-message ui-messages-error ui-corner-all">Password is required</span>
|
|
<label i18n="@@password">Password</label>
|
|
</span>
|
|
</div>
|
|
<div class="ui-g-12" *ngIf="useReCaptcha">
|
|
<span class="md-inputfield">
|
|
<ngx-recaptcha2 #captchaElem [siteKey]="siteKey" [size]="size" [hl]="lang" [theme]="theme" [type]="type" name="recaptcha" data-size="compact" [useGlobalDomain]="false"
|
|
[(ngModel)]="model.token" #recaptcha="ngModel"
|
|
(load)="handleLoad()" (reload)="handleReload()" (success)="handleSuccess($event)" (expire)="handleExpire()" (reset)="handleReset()" (error)="handleError($event)">
|
|
</ngx-recaptcha2>
|
|
<span i18n="@@reCaptchaReqMsg" *ngIf="(useReCaptcha && !captchaSuccess)" class="ui-message ui-messages-error" style="width: 100%;">You must complete the reCAPTCHA to log in.</span>
|
|
</span>
|
|
</div>
|
|
<div class="ui-g-12">
|
|
<button type="submit" [disabled]="(!f.valid) || (useReCaptcha && !captchaSuccess) || (pending$ | async)" i18n-label="@@login" label="Login" icon="ui-icon-person" pButton></button>
|
|
<img *ngIf="pending$ | async"
|
|
src="data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==" />
|
|
<a [routerLink]="['/password-reset']" href="">
|
|
<ng-container i18n="@@forgotPwd">Forgot password</ng-container> ?
|
|
</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div> |