forked from EVOgeek/Vmeda.Online
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <ion-header>
 | ||
|     <ion-navbar core-back-button>
 | ||
|         <ion-title>{{ 'core.login.login' | translate }}</ion-title>
 | ||
| 
 | ||
|         <ion-buttons end>
 | ||
|             <button *ngIf="isFixedUrlSet" ion-button icon-only navPush="CoreAppSettingsPage" [attr.aria-label]="'core.settings.appsettings' | translate">
 | ||
|                 <core-icon name="fa-cogs"></core-icon>
 | ||
|             </button>
 | ||
|         </ion-buttons>
 | ||
|     </ion-navbar>
 | ||
| </ion-header>
 | ||
| <ion-content padding>
 | ||
|     <core-loading [hideUntil]="pageLoaded">
 | ||
|         <div text-wrap text-center margin-bottom>
 | ||
|             <div class="core-login-site-logo">
 | ||
|                 <!-- Show site logo or a default image. -->
 | ||
|                 <img *ngIf="logoUrl" [src]="logoUrl" role="presentation" onError="this.src='assets/img/login_logo.png'">
 | ||
|                 <img *ngIf="!logoUrl" src="assets/img/login_logo.png" role="presentation">
 | ||
|             </div>
 | ||
| 
 | ||
|             <h3 *ngIf="siteName" padding class="core-sitename"><core-format-text [text]="siteName" [filter]="false"></core-format-text></h3>
 | ||
|             <p class="core-siteurl">{{siteUrl}}</p>
 | ||
|         </div>
 | ||
| 
 | ||
|         <form ion-list [formGroup]="credForm" (ngSubmit)="login($event)" class="core-login-form" #credentialsForm>
 | ||
|             <ion-item *ngIf="siteChecked && !isBrowserSSO">
 | ||
|                 <ion-input type="text" name="username" placeholder="{{ 'core.login.username' | translate }}" formControlName="username" autocapitalize="none" autocorrect="off" autocomplete="username"></ion-input>
 | ||
|             </ion-item>
 | ||
|             <ion-item *ngIf="siteChecked && !isBrowserSSO" margin-bottom>
 | ||
|                 <core-show-password item-content [name]="'password'">
 | ||
|                     <ion-input class="core-ioninput-password" name="password" type="password" placeholder="{{ 'core.login.password' | translate }}" formControlName="password" core-show-password [clearOnEdit]="false" autocomplete="current-password"></ion-input>
 | ||
|                 </core-show-password>
 | ||
|             </ion-item>
 | ||
|             <div padding>
 | ||
|                 <button ion-button block [disabled]="siteChecked && !isBrowserSSO && !credForm.valid" class="core-login-login-button">{{ 'core.login.loginbutton' | translate }}</button>
 | ||
|             </div>
 | ||
| 
 | ||
|             <ng-container *ngIf="showScanQR">
 | ||
|                 <div class="core-login-site-qrcode-separator">{{ 'core.login.or' | translate }}</div>
 | ||
|                 <ion-item class="core-login-site-qrcode" no-lines>
 | ||
|                     <a ion-button block color="light" margin-top icon-start text-wrap (click)="showInstructionsAndScanQR()">
 | ||
|                         <core-icon name="fa-qrcode" aria-hidden="true"></core-icon>
 | ||
|                         {{ 'core.scanqr' | translate }}
 | ||
|                     </a>
 | ||
|                 </ion-item>
 | ||
|             </ng-container>
 | ||
|         </form>
 | ||
| 
 | ||
|         <!-- Forgotten password button. -->
 | ||
|         <ion-list no-lines *ngIf="showForgottenPassword" class="core-login-forgotten-password core-login-link">
 | ||
|             <a ion-item text-center text-wrap (click)="forgottenPassword()" detail-none>
 | ||
|                 {{ 'core.login.forgotten' | translate }}
 | ||
|             </a>
 | ||
|         </ion-list>
 | ||
| 
 | ||
|         <ion-list *ngIf="identityProviders && identityProviders.length" padding-top class="core-login-identity-providers">
 | ||
|             <ion-item text-wrap no-lines><h3 class="item-heading">{{ 'core.login.potentialidps' | translate }}</h3></ion-item>
 | ||
|             <button ion-item *ngFor="let provider of identityProviders" text-wrap class="core-oauth-icon" (click)="oauthClicked(provider)" title="{{provider.name}}">
 | ||
|                 <img [src]="provider.iconurl" alt="" width="32" height="32" item-start>
 | ||
|                 {{provider.name}}
 | ||
|             </button>
 | ||
|         </ion-list>
 | ||
| 
 | ||
|         <ion-list *ngIf="canSignup" padding-top class="core-login-sign-up">
 | ||
|             <ion-item text-wrap no-lines><h3 class="item-heading">{{ 'core.login.firsttime' | translate }}</h3></ion-item>
 | ||
|             <ion-item no-lines text-wrap *ngIf="authInstructions">
 | ||
|                 <p><core-format-text [text]="authInstructions" [filter]="false"></core-format-text></p>
 | ||
|             </ion-item>
 | ||
|             <button ion-button block color="light" (click)="signup()">{{ 'core.login.startsignup' | translate }}</button>
 | ||
|         </ion-list>
 | ||
|     </core-loading>
 | ||
| </ion-content>
 |