forked from EVOgeek/Vmeda.Online
72 lines
3.5 KiB
HTML
72 lines
3.5 KiB
HTML
<ion-header>
|
|
<ion-navbar core-back-button>
|
|
<ion-title>{{ 'core.login.reconnect' | translate }}</ion-title>
|
|
</ion-navbar>
|
|
</ion-header>
|
|
<ion-content padding>
|
|
<div *ngIf="site" text-wrap text-center margin-bottom [ngClass]="{'item-avatar-center': showSiteAvatar}">
|
|
<ng-container *ngIf="showSiteAvatar">
|
|
<ion-avatar>
|
|
<!-- Show user avatar. -->
|
|
<img [src]="site.avatar" class="avatar" core-external-content [siteId]="site.id" alt="{{ 'core.pictureof' | translate:{$a: site.fullname} }}" role="presentation" onError="this.src='assets/img/user-avatar.png'">
|
|
</ion-avatar>
|
|
</ng-container>
|
|
|
|
<div class="core-login-site-logo" *ngIf="!showSiteAvatar">
|
|
<!-- Show site logo or a default image. -->
|
|
<img *ngIf="logoUrl" [src]="logoUrl" core-external-content [siteId]="siteId" role="presentation">
|
|
<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>
|
|
|
|
<p *ngIf="!isLoggedOut" class="core-login-reconnect-warning">
|
|
<ion-icon padding name="alert"></ion-icon> {{ 'core.login.reconnectdescription' | translate }}
|
|
</p>
|
|
</div>
|
|
<form ion-list *ngIf="!isOAuth" [formGroup]="credForm" (ngSubmit)="login($event)" class="core-login-form" #reconnectForm>
|
|
<ion-item text-wrap class="core-username">
|
|
<p>{{username}}</p>
|
|
</ion-item>
|
|
<ion-item 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" [clearOnEdit]="false"></ion-input>
|
|
</core-show-password>
|
|
</ion-item>
|
|
<ion-grid padding>
|
|
<ion-row>
|
|
<ion-col>
|
|
<a ion-button block color="light" (click)="cancel($event)">{{ 'core.login.cancel' | translate }}</a>
|
|
</ion-col>
|
|
<ion-col>
|
|
<button ion-button block [disabled]="!credForm.valid">{{ 'core.login.loginbutton' | translate }}</button>
|
|
</ion-col>
|
|
</ion-row>
|
|
</ion-grid>
|
|
</form>
|
|
|
|
<!-- Forgotten password button. -->
|
|
<ion-list no-lines *ngIf="showForgottenPassword && !isOAuth" class="core-login-forgotten-password">
|
|
<a ion-item text-center text-wrap (click)="forgottenPassword()" detail-none>
|
|
{{ 'core.login.forgotten' | translate }}
|
|
</a>
|
|
</ion-list>
|
|
|
|
<!-- Identity providers. -->
|
|
<ion-list *ngIf="identityProviders && identityProviders.length" padding-top class="core-login-identity-providers">
|
|
<ion-item text-wrap><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>
|
|
|
|
<!-- If OAuth, display cancel button since the form isn't displayed. -->
|
|
<ion-list *ngIf="isOAuth">
|
|
<ion-item>
|
|
<a ion-button block color="light" (click)="cancel($event)">{{ 'core.login.cancel' | translate }}</a>
|
|
</ion-item>
|
|
</ion-list>
|
|
</ion-content>
|