MOBILE-4059 login: Add help button in header
parent
d0f28162da
commit
734f1c6323
|
@ -12,6 +12,9 @@
|
|||
<ion-button fill="clear" (click)="openSettings()" [attr.aria-label]="'core.settings.appsettings' | translate">
|
||||
<ion-icon slot="icon-only" name="fas-cog" aria-hidden="true"></ion-icon>
|
||||
</ion-button>
|
||||
<ion-button *ngIf="canContactSupport" fill="clear" (click)="contactSupport()" [attr.aria-label]="'core.help' | translate">
|
||||
<ion-icon slot="icon-only" name="far-question-circle" aria-hidden="true"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
|
|
@ -28,6 +28,7 @@ import { CoreSiteIdentityProvider, CoreSitePublicConfigResponse } from '@classes
|
|||
import { CoreEvents } from '@singletons/events';
|
||||
import { CoreNavigator } from '@services/navigator';
|
||||
import { CoreForms } from '@singletons/form';
|
||||
import { CoreUserSupport } from '@features/user/services/support';
|
||||
|
||||
/**
|
||||
* Page to enter the user credentials.
|
||||
|
@ -56,6 +57,7 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy {
|
|||
showScanQR = false;
|
||||
loginAttempts = 0;
|
||||
siteConfig?: CoreSitePublicConfigResponse;
|
||||
canContactSupport?: boolean;
|
||||
|
||||
protected eventThrown = false;
|
||||
protected viewLeft = false;
|
||||
|
@ -78,6 +80,7 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy {
|
|||
this.logoUrl = !CoreConstants.CONFIG.forceLoginLogo && CoreNavigator.getRouteParam('logoUrl') || undefined;
|
||||
this.siteConfig = CoreNavigator.getRouteParam('siteConfig');
|
||||
this.urlToOpen = CoreNavigator.getRouteParam('urlToOpen');
|
||||
this.canContactSupport = this.siteConfig && CoreUserSupport.canContactSupport(this.siteConfig);
|
||||
} catch (error) {
|
||||
CoreDomUtils.showErrorModal(error);
|
||||
|
||||
|
@ -125,6 +128,15 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Contact site support.
|
||||
*/
|
||||
async contactSupport(): Promise<void> {
|
||||
const supportPageUrl = this.siteConfig && CoreUserSupport.getSupportPageUrl(this.siteConfig);
|
||||
|
||||
await CoreUserSupport.contact({ supportPageUrl });
|
||||
}
|
||||
|
||||
/**
|
||||
* Get site config and check if it requires SSO login.
|
||||
* This should be used only if a fixed URL is set, otherwise this check is already performed in CoreLoginSitePage.
|
||||
|
|
|
@ -7,6 +7,12 @@
|
|||
<ion-title>
|
||||
<h1>{{ 'core.login.reconnect' | translate }}</h1>
|
||||
</ion-title>
|
||||
|
||||
<ion-buttons slot="end">
|
||||
<ion-button *ngIf="canContactSupport" fill="clear" (click)="contactSupport()" [attr.aria-label]="'core.help' | translate">
|
||||
<ion-icon slot="icon-only" name="far-question-circle" aria-hidden="true"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
<ion-content class="ion-padding" (keydown)="keyDown($event)" (keyup)="keyUp($event)">
|
||||
|
|
|
@ -26,6 +26,7 @@ import { CoreEvents } from '@singletons/events';
|
|||
import { CoreError } from '@classes/errors/error';
|
||||
import { CoreNavigator, CoreRedirectPayload } from '@services/navigator';
|
||||
import { CoreForms } from '@singletons/form';
|
||||
import { CoreUserSupport } from '@features/user/services/support';
|
||||
|
||||
/**
|
||||
* Page to enter the user password to reconnect to a site.
|
||||
|
@ -57,6 +58,7 @@ export class CoreLoginReconnectPage implements OnInit, OnDestroy {
|
|||
showLoading = true;
|
||||
reconnectAttempts = 0;
|
||||
siteConfig?: CoreSitePublicConfigResponse;
|
||||
canContactSupport?: boolean;
|
||||
|
||||
protected viewLeft = false;
|
||||
protected eventThrown = false;
|
||||
|
@ -102,6 +104,7 @@ export class CoreLoginReconnectPage implements OnInit, OnDestroy {
|
|||
this.userAvatar = site.infos.userpictureurl;
|
||||
this.siteUrl = site.infos.siteurl;
|
||||
this.siteName = site.getSiteName();
|
||||
this.canContactSupport = site.canContactSupport();
|
||||
|
||||
// If login was OAuth we should only reach this page if the OAuth method ID has changed.
|
||||
this.isOAuth = site.isOAuth();
|
||||
|
@ -134,6 +137,15 @@ export class CoreLoginReconnectPage implements OnInit, OnDestroy {
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Contact site support.
|
||||
*/
|
||||
async contactSupport(): Promise<void> {
|
||||
const supportPageUrl = this.siteConfig && CoreUserSupport.getSupportPageUrl(this.siteConfig);
|
||||
|
||||
await CoreUserSupport.contact({ supportPageUrl });
|
||||
}
|
||||
|
||||
/**
|
||||
* Get some data (like identity providers) from the site config.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue