{"version":3,"file":"9966.34136624235cbcfa.js","mappings":"oSAiBA,MAAMA,EAAqB,IAAIC,OAUxB,IAAMC,EAAS,UAAAC,EAAhB,MAAOD,EAKX,cAAIE,GACF,OAAOC,KAAKC,WAAaD,KAAKC,YAAc,IAAIC,OAAuBF,KAAKC,UAAYN,CAC1F,CAIAQ,YACUC,EACAC,EACAC,EACAC,EACAC,EACAC,GALAT,KAAAI,YACAJ,KAAAK,QACAL,KAAAM,cACAN,KAAAO,gBACAP,KAAAQ,QACAR,KAAAS,SAfVT,KAAAU,cAAgB,8CAChBV,KAAAW,WAAa,GACbX,KAAAC,UAAoBN,EAKZK,KAAAY,WAAa,IAAIC,GAStB,CAEHC,WACEd,KAAKQ,MAAMO,YAAYC,QAAKC,KAAUjB,KAAKY,aAAaM,UAAWC,YAC7DA,WAAQlB,UACVD,KAAKC,UAAYkB,EAAOlB,UAEf,OAAAmB,EAAA,OAAAC,EAAArB,KAAKS,OAAOa,6BAAZ,EAAAD,EAAoCE,SAApCH,EAA4CI,QACrDxB,KAAKC,UAAYD,KAAKS,OAAOa,uBAAuBC,OAAOC,MAAMvB,WAAaN,EACP,GAU3E8B,WAAW,MACTC,OAAc,CAAC1B,KAAKM,YAAYqB,YAAa3B,KAAKO,cAAcqB,WAC7DZ,QAAKa,KAAK,IACVX,UAAU,EAAEY,EAAYC,MACnBD,IACEC,IACFC,QAAQC,IAAI,2BAEZjC,KAAKO,cAAc2B,wBAAwB,CAAEH,aAG/C/B,KAAKS,OAAO0B,SAAS,CAACnC,KAAKD,YAAa,CACtCgB,YAAa,CACX,CAACqB,MAAoB,KAErB,CAACC,MAAwB,KACzBpC,UAAW,MAEbqC,oBAAqB,UACtB,EAEJ,EACF,KACL,CAEAC,cACEvC,KAAKY,WAAW4B,OAChBxC,KAAKY,WAAW6B,UAClB,WAjEW5C,0CAAS6C,MAAAC,MAAAD,MAAAE,MAAAF,MAAAG,KAAAH,MAAAI,KAAAJ,MAAAK,MAAAL,MAAAK,MAAA,0BAATlD,EAASmD,UAAA,gBAAAC,YAAA,EAAAC,SAAA,CAAAR,OAAAS,MAAA,EAAAC,KAAA,EAAAC,OAAA,+GAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,ICpBhBb,MAPN,gBAOMA,CAPO,uBAOPA,CAFH,UAEGA,CADqB,QACjBA,MAAA,wBAAgCA,QACpCA,MAAA,WACEA,MAAA,qBAMRA,qBAbIA,QAEAA,MAFA,gBAAAc,EAAA9C,cAEAgC,CAF+B,kBAE/BA,CADsB,aAAAc,EAAA7C,YAIhB+B,MAAA,GAAAA,YAAA,qBAGAA,MAAA,GAAAA,MAAA,iBAAAc,EAAAzD,4BDeE0D,KAAeC,IAAsBC,IAAoBC,QAExD/D,CAAS","names":["DEFAULT_RETURN_URL","NAV_PAGE_ON_LOGIN","LoginPage","_LoginPage","successUrl","this","returnUrl","DEFAULT_BACK_ROUTE","constructor","translate","store","userService","tokensService","route","router","backgroundUrl","sideBlocks","onDestroy$","Subject","ngOnInit","queryParams","pipe","takeUntil","subscribe","params","_b","_a","getCurrentNavigation","extras","state","setTimeout","combineLatest","isLoggedIn$","tokenId$","take","isLoggedIn","tokenId","console","log","applyTokenToCurrentUser","navigate","TOKEN_QUERY_PARAM","TOKEN_QUERY_PARAM_OLD","queryParamsHandling","ngOnDestroy","next","complete","i0","i1","i2","i3","i4","i5","selectors","standalone","features","decls","vars","consts","template","rf","ctx","TranslatePipe","SplitLayoutComponent","LoginFormComponent","IonContent"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/pages/auth/login/login.page.ts","./src/app/pages/auth/login/login.page.html"],"sourcesContent":["/** @format */\n\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { TranslateService, TranslatePipe } from '@ngx-translate/core';\nimport { IonContent } from '@ionic/angular/standalone';\nimport { combineLatest, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n// import { getHydrateState, selectHydrated } from '@store/reducers/hydrate.reducers';\nimport { UserService } from '@app/core/services/user.service';\nimport { LoginFormComponent } from '@app/shared/components/login/login-form.component';\nimport { SplitLayoutComponent } from '@app/shared/components/layouts/split-layout/split-layout.component';\nimport { DEFAULT_BACK_ROUTE, NAV_PAGE_ON_LOGIN } from '@app/app.routes';\nimport { TOKEN_QUERY_PARAM, TOKEN_QUERY_PARAM_OLD } from '@app/tokens/shared/tokens.model';\nimport { TokensService } from '@app/tokens/shared/services/tokens.service';\n\nconst DEFAULT_RETURN_URL = `/${NAV_PAGE_ON_LOGIN}`;\nconst DEBUG_LOGS = false;\n\n@Component({\n  selector: 'app-login',\n  templateUrl: './login.page.html',\n  styleUrls: ['./login.page.scss'],\n  standalone: true,\n  imports: [TranslatePipe, SplitLayoutComponent, LoginFormComponent, IonContent],\n})\nexport class LoginPage implements OnInit, OnDestroy {\n  // backgroundUrl = '/assets/images/split-pane/fs-layout-8@2.jpg'; // vw van\n  backgroundUrl = '/assets/images/split-pane/fs-layout-2@2.jpg'; // sunrise\n  sideBlocks = []; // blank\n  returnUrl: string = DEFAULT_RETURN_URL;\n  get successUrl(): string {\n    return this.returnUrl && this.returnUrl !== `/${DEFAULT_BACK_ROUTE}` ? this.returnUrl : DEFAULT_RETURN_URL;\n  }\n\n  private onDestroy$ = new Subject<void>();\n\n  constructor(\n    private translate: TranslateService,\n    private store: Store,\n    private userService: UserService,\n    private tokensService: TokensService,\n    private route: ActivatedRoute,\n    private router: Router\n  ) {}\n\n  ngOnInit() {\n    this.route.queryParams.pipe(takeUntil(this.onDestroy$)).subscribe((params) => {\n      if (params?.returnUrl) {\n        this.returnUrl = params.returnUrl;\n        DEBUG_LOGS && console.log(`[Login] queryParams returnUrl:`, this.returnUrl);\n      } else if (this.router.getCurrentNavigation()?.extras?.state) {\n        this.returnUrl = this.router.getCurrentNavigation().extras.state.returnUrl || DEFAULT_RETURN_URL;\n        DEBUG_LOGS && console.log(`[Login] navState returnUrl:`, this.returnUrl);\n      }\n    });\n\n    /**\n     * if there's a tokenId & loggedIn - send to accept token page\n     * Wait for Auth to be set,\n     * then nav away if already loggedIn\n     * but save the Token & apply if found.\n     */\n    setTimeout(() => {\n      combineLatest([this.userService.isLoggedIn$, this.tokensService.tokenId$])\n        .pipe(take(1))\n        .subscribe(([isLoggedIn, tokenId]) => {\n          if (isLoggedIn) {\n            if (tokenId) {\n              console.log('[Login] handle token...');\n              // apply the token & toast success\n              this.tokensService.applyTokenToCurrentUser({ tokenId });\n            }\n            // make sure it's not /home route, as we'd prefer to go to our studio\n            this.router.navigate([this.successUrl], {\n              queryParams: {\n                [TOKEN_QUERY_PARAM]: null,\n                // MVP-1242 TOKEN_QUERY_PARAM_OLD can be removed eventually..\n                [TOKEN_QUERY_PARAM_OLD]: null,\n                returnUrl: null,\n              },\n              queryParamsHandling: 'merge',\n            });\n          }\n        });\n    }, 1200);\n  }\n\n  ngOnDestroy() {\n    this.onDestroy$.next();\n    this.onDestroy$.complete();\n  }\n}\n","<ion-content>\n  <app-split-layout\n    [backgroundUrl]=\"backgroundUrl\"\n    [showLoginBtn]=\"false\"\n    [sideBlocks]=\"sideBlocks\"\n  >\n    <div class=\"container\">\n      <h1>{{ 'COMMON.LOGIN' | translate }}</h1>\n      <div class=\"ion-padding-start\">\n        <fs-login-form\n          [routeOnSuccess]=\"successUrl\"\n        ></fs-login-form>\n      </div>\n    </div>\n  </app-split-layout>\n</ion-content>\n"],"x_google_ignoreList":[]}