@@ -80,10 +80,16 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy {
8080 protected urlToOpen ?: string ;
8181 protected valueChangeSubscription ?: Subscription ;
8282 protected alwaysShowLoginFormObserver ?: CoreEventObserver ;
83+ protected loginObserver ?: CoreEventObserver ;
8384
8485 constructor (
8586 protected fb : FormBuilder ,
86- ) { }
87+ ) {
88+ // Listen to LOGIN event to determine if login was successful, since the login can be done using QR, SSO, etc.
89+ this . loginObserver = CoreEvents . on ( CoreEvents . LOGIN , ( { siteId } ) => {
90+ this . siteId = siteId ;
91+ } ) ;
92+ }
8793
8894 /**
8995 * @inheritdoc
@@ -297,14 +303,12 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy {
297303 try {
298304 const data = await CoreSites . getUserToken ( siteUrl , username , password ) ;
299305
300- const id = await CoreSites . newSite ( data . siteUrl , data . token , data . privateToken ) ;
306+ await CoreSites . newSite ( data . siteUrl , data . token , data . privateToken ) ;
301307
302308 // Reset fields so the data is not in the view anymore.
303309 this . credForm . controls [ 'username' ] . reset ( ) ;
304310 this . credForm . controls [ 'password' ] . reset ( ) ;
305311
306- this . siteId = id ;
307-
308312 await CoreNavigator . navigateToSiteHome ( { params : { urlToOpen : this . urlToOpen } } ) ;
309313 } catch ( error ) {
310314 if ( error instanceof CoreSiteError && CoreLoginHelper . isAppUnsupportedError ( error ) ) {
@@ -379,6 +383,7 @@ export class CoreLoginCredentialsPage implements OnInit, OnDestroy {
379383 ) ;
380384 this . valueChangeSubscription ?. unsubscribe ( ) ;
381385 this . alwaysShowLoginFormObserver ?. off ( ) ;
386+ this . loginObserver ?. off ( ) ;
382387 }
383388
384389}
0 commit comments