@@ -18,12 +18,33 @@ import { CoreAppProvider } from '@providers/app';
1818import { CoreEventsProvider } from '@providers/events' ;
1919import { CoreSitesProvider , CoreSiteCheckResponse } from '@providers/sites' ;
2020import { CoreDomUtilsProvider } from '@providers/utils/dom' ;
21+ import { CoreUrlUtilsProvider } from '@providers/utils/url' ;
2122import { CoreConfigConstants } from '../../../../configconstants' ;
2223import { CoreLoginHelperProvider } from '../../providers/helper' ;
2324import { FormBuilder , FormGroup , Validators } from '@angular/forms' ;
2425import { CoreUrl } from '@classes/utils/url' ;
2526import { TranslateService } from '@ngx-translate/core' ;
2627
28+ /**
29+ * Data about an error when connecting to a site.
30+ */
31+ type CoreLoginSiteError = {
32+ /**
33+ * The error message that ocurred.
34+ */
35+ message : string ;
36+
37+ /**
38+ * URL the user entered.
39+ */
40+ url ?: string ;
41+
42+ /**
43+ * URL the user entered with protocol added if needed.
44+ */
45+ fullUrl ?: string ;
46+ } ;
47+
2748/**
2849 * Page to enter or select the site URL to connect to.
2950 */
@@ -42,8 +63,7 @@ export class CoreLoginSitePage {
4263 fixedDisplay = 'buttons' ;
4364 showKeyboard = false ;
4465 filter = '' ;
45- errorUrl : string ;
46- errorMessage : string ;
66+ error : CoreLoginSiteError ;
4767
4868 constructor ( navParams : NavParams ,
4969 protected navCtrl : NavController ,
@@ -54,7 +74,8 @@ export class CoreLoginSitePage {
5474 protected modalCtrl : ModalController ,
5575 protected domUtils : CoreDomUtilsProvider ,
5676 protected eventsProvider : CoreEventsProvider ,
57- protected translate : TranslateService ) {
77+ protected translate : TranslateService ,
78+ protected urlUtils : CoreUrlUtilsProvider ) {
5879
5980 this . showKeyboard = ! ! navParams . get ( 'showKeyboard' ) ;
6081
@@ -180,8 +201,7 @@ export class CoreLoginSitePage {
180201 * Hide the login error.
181202 */
182203 protected hideLoginIssue ( ) : void {
183- this . errorUrl = null ;
184- this . errorMessage = null ;
204+ this . error = null ;
185205 }
186206
187207 /**
@@ -191,8 +211,14 @@ export class CoreLoginSitePage {
191211 * @param error Error to display.
192212 */
193213 protected showLoginIssue ( url : string , error : any ) : void {
194- this . errorUrl = url ;
195- this . errorMessage = this . domUtils . getErrorMessage ( error ) ;
214+ this . error = {
215+ url : url ,
216+ message : this . domUtils . getErrorMessage ( error ) ,
217+ } ;
218+
219+ if ( url ) {
220+ this . error . fullUrl = this . urlUtils . isAbsoluteURL ( url ) ? url : 'https://' + url ;
221+ }
196222 }
197223
198224 /**
0 commit comments