{"version":3,"file":"3730.b4848fdab21b4554.js","mappings":"mUA8BuCA,MAAjC,WAAiCA,CAAA,YAAQA,MAAA,wBAAiCA,QAAUA,MAAA,GAAWA,8BAAtDA,MAAA,GAAAA,MAAA,GAAAA,MAAA,yBAA2CA,MAAA,GAAAA,MAAA,IAAAC,EAAAC,MAAA,KCInF,IAAMC,EAAe,UAAAC,EAAtB,MAAOD,EAYXE,YACUC,EACAC,EACAC,EACAC,EACAC,GAJAC,KAAAL,cACAK,KAAAJ,OACAI,KAAAH,UACAG,KAAAF,QACAE,KAAAD,SAhBVC,KAAAC,YAAcD,KAAKF,MAAMI,SAASD,YAClCD,KAAAG,aAAeH,KAAKF,MAAMI,SAASE,OACnCJ,KAAAK,gBAAkBL,KAAKL,YAAYW,MAAM,CACvCC,MAAO,CAACP,KAAKG,aAAaI,MAAO,CAACC,KAAWC,SAAUD,KAAWD,QAClEG,KAAM,CAACV,KAAKC,YAAYS,KAAM,CAACF,KAAWC,WAC1CE,SAAU,CAAC,GAAI,CAACH,KAAWC,SAAUG,IAAkBC,YAEzDb,KAAAc,SAAU,EAEVd,KAAAe,qBAA+BH,IAAkBI,WAQ9C,CAEH,UAAIC,GACF,OAAOjB,KAAKc,SAAWd,KAAKK,gBAAgBa,OAC9C,CAEMC,cAAW,IAAAC,EAAApB,KAAA,SAAAqB,KAAA,YACf,MAAQd,QAAOG,OAAMC,YAAaS,EAAKf,gBAAgBiB,MACvDF,EAAKN,SAAU,EACfM,EAAK7B,MAAQ,KACb,UACQ6B,EAAKxB,KAAK2B,mBAAmBhB,EAAOG,EAAMC,GAChDS,EAAKvB,QAAQ2B,QAAQ,6CACrBJ,EAAKrB,OAAO0B,cAAc,IAAIC,OAChC,OAASC,GAEPP,EAAK7B,MAAQoC,EAAIC,OACnB,SACER,EAAKN,SAAU,CACjB,CAAC,EAbc,EAcjB,CAEMe,aAAU,IAAAC,EAAA9B,KAAA,SAAAqB,KAAA,YACd,MAAQd,SAAUuB,EAAKzB,gBAAgBiB,MACvCQ,EAAKhB,SAAU,EACfgB,EAAKvC,MAAQ,KACb,UACQuC,EAAKlC,KAAKmC,uBAAuBxB,GACvCuB,EAAKjC,QAAQ2B,QAAQ,4EACvB,OAASG,GACPG,EAAKvC,MAAQoC,EAAIC,OACnB,SACEE,EAAKhB,SAAU,CACjB,CAAC,EAXa,EAYhB,WApDWtB,0CAAeH,MAAA2C,MAAA3C,MAAA4C,KAAA5C,MAAA6C,MAAA7C,MAAA8C,MAAA9C,MAAA8C,MAAA,0BAAf3C,EAAe4C,UAAA,uBAAAC,YAAA,EAAAC,SAAA,CAAAjD,OAAAkD,MAAA,GAAAC,KAAA,GAAAC,OAAA,+cAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,IDhCxBtD,MAFJ,gBAEIA,CAFS,qBAETA,CADgB,QACZA,MAAA,wBAAyCA,QAE3CA,MADF,UACEA,CADmB,OAEjBA,MAAA,wBAEJA,UACAA,MAAA,YAAoCA,MAAA,6BAAYuD,EAAAzB,aAAa,GAC3D9B,MAAA,wEAMAA,MAAA,wEAMAA,MAAA,wEAOEA,MADF,SACEA,CADG,UACeA,MAAA,IACpBA,UACAA,MAAA,GAAAwD,EAAA,aAEExD,MADF,WACEA,CADkB,kBAC2BA,MAAA,0BAAqCA,QAElFA,MAAA,UACEA,MAAA,0BACAA,MAAA,mBAOEA,MAAA,0BAASuD,EAAAf,YAAY,GACpBxC,MAAA,0BAELA,UACAA,MAAA,WACEA,MAAA,0BAKVA,uBAnDQA,MAAA,GAAAA,YAAA,+BAGAA,MAAA,GAAAA,MAAA,IAAAA,MAAA,gDAGEA,MAAA,GAAAA,MAAA,YAAAuD,EAAAvC,iBAEFhB,QAGAA,MAHA,QAAAA,MAAA,oBAGAA,CAHkC,UAAAA,MAAA,MAAAuD,EAAAvC,gBAAAyC,IAAA,UAGlCzD,CAD0D,WAAAuD,EAAA9B,SAI1DzB,MAAA,GAGAA,MAHA,QAAAA,MAAA,mBAGAA,CAHiC,UAAAA,MAAA,MAAAuD,EAAAvC,gBAAAyC,IAAA,SAGjCzD,CADyD,WAAAuD,EAAA9B,SAIzDzB,MAAA,GAGAA,MAHA,QAAAA,MAAA,2BAGAA,CAHyC,UAAAA,MAAA,MAAAuD,EAAAvC,gBAAAyC,IAAA,aAGzCzD,CAD6D,WAAAuD,EAAA9B,SAI3CzB,MAAA,GAAAA,MAAAuD,EAAA7B,sBAEA1B,cAAA,OAAAuD,EAAArD,OAEOF,MAAA,GAAAA,MAAA,WAAAuD,EAAA3B,QAAoB5B,oBAAA,4BAG3CA,MAAA,GAAAA,MAAA,IAAAA,MAAA,+BAOEA,MAAA,GAAAA,MAAA,WAAAuD,EAAA9B,SAECzB,oBAAA,sBAIHA,MAAA,GAAAA,MAAA,IAAAA,MAAA,uDCzBN0D,KACAC,KAAWhB,UACXiB,KAAmBjB,KACnBkB,IACAC,IACAC,IACAC,KACAC,KACAC,KAAmBC,OAAA,wUAGVhE,CAAe","names":["i0","ctx_r0","error","SetPasswordPage","_SetPasswordPage","constructor","formBuilder","user","toaster","route","router","this","queryParams","snapshot","routePparams","params","setPasswordForm","group","email","Validators","required","code","password","PasswordValidator","isValid","loading","passwordRequirements","patternDesc","isBusy","invalid","setPassword","_this","_asyncToGenerator","value","confirmNewPassword","present","navigateByUrl","LOGIN_PAGE","err","message","resendCode","_this2","resendRegistrationCode","i1","i2","i3","i4","selectors","standalone","features","decls","vars","consts","template","rf","ctx","SetPasswordPage_div_22_Template","get","NgIf","FormsModule","ReactiveFormsModule","FormInputComponent","SplitLayoutComponent","ButtonComponent","IonContent","TranslatePipe","FormControlCastPipe","styles"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/pages/auth/reset-password/set-password/set-password.page.html","./src/app/pages/auth/reset-password/set-password/set-password.page.ts"],"sourcesContent":["<ion-content>\n <app-split-layout>\n <h1>{{ 'AUTH.SET_NEW_PASSWORD' | translate }}</h1>\n <div class=\"content\">\n <p>\n {{ 'AUTH.SET_NEW_PASSWORD_INSTRUCTIONS' | translate }}\n </p>\n </div>\n <form [formGroup]=\"setPasswordForm\" (ngSubmit)=\"setPassword()\" class=\"content\">\n <fs-form-input\n [label]=\"'AUTH.EMAIL' | translate\"\n type=\"email\"\n [control]=\"setPasswordForm.get('email') | formControlCast\"\n [disabled]=\"loading\"\n ></fs-form-input>\n <fs-form-input\n [label]=\"'AUTH.CODE' | translate\"\n type=\"text\"\n [control]=\"setPasswordForm.get('code') | formControlCast\"\n [disabled]=\"loading\"\n ></fs-form-input>\n <fs-form-input\n [label]=\"'AUTH.NEW_PASSWORD' | translate\"\n type=\"password\"\n [control]=\"setPasswordForm.get('password') | formControlCast\"\n [disabled]=\"loading\"\n ></fs-form-input>\n <div>\n <p class=\"italic\">{{ passwordRequirements }}</p>\n </div>\n <div class=\"error\" *ngIf=\"error\"><strong>{{ 'ERRORS.ERROR' | translate }}:</strong> {{ error }}</div>\n <div class=\"submit\">\n <fs-button type=\"submit\" [disabled]=\"isBusy\">{{ 'AUTH.SET_PASSWORD' | translate }}</fs-button>\n\n <p style=\"display: flex; align-items: center\">\n {{ 'AUTH.NO_CODE_YET' | translate }}\n <fs-button\n style=\"flex: 1\"\n slot=\"end\"\n type=\"button\"\n size=\"large\"\n buttonStyle=\"clear\"\n [disabled]=\"loading\"\n (click)=\"resendCode()\"\n >{{ 'AUTH.RESEND' | translate }}</fs-button\n >\n </p>\n <p style=\"opacity: 0.5\">\n {{ 'AUTH.RESET_PASSWORD_NOTE' | translate }}\n </p>\n </div>\n </form>\n </app-split-layout>\n</ion-content>\n","/** @format */\n\nimport { Component } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { UntypedFormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { IonContent } from '@ionic/angular/standalone';\nimport { LOGIN_PAGE } from '@app/app.routes';\nimport { ToasterService } from '@app/core/services/toaster.service';\nimport { UserService } from '@app/core/services/user.service';\nimport { ButtonComponent } from '@app/shared/components/ui/buttons/button/button.component';\nimport { PasswordValidator } from '@app/shared/validators/password';\nimport { SplitLayoutComponent } from '@app/shared/components/layouts/split-layout/split-layout.component';\nimport { FormInputComponent } from '@app/shared/components/ui/form/form-input/form-input.component';\nimport { FormControlCastPipe } from '@app/shared/pipes/form-control-cast.pipe';\n\n@Component({\n selector: 'app-set-password',\n templateUrl: './set-password.page.html',\n styleUrls: ['./set-password.page.scss'],\n standalone: true,\n imports: [\n NgIf,\n FormsModule,\n ReactiveFormsModule,\n FormInputComponent,\n SplitLayoutComponent,\n ButtonComponent,\n IonContent,\n TranslatePipe,\n FormControlCastPipe,\n ],\n})\nexport class SetPasswordPage {\n queryParams = this.route.snapshot.queryParams;\n routePparams = this.route.snapshot.params;\n setPasswordForm = this.formBuilder.group({\n email: [this.routePparams.email, [Validators.required, Validators.email]],\n code: [this.queryParams.code, [Validators.required]],\n password: ['', [Validators.required, PasswordValidator.isValid]],\n });\n loading = false;\n error: string;\n passwordRequirements: string = PasswordValidator.patternDesc;\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n private user: UserService,\n private toaster: ToasterService,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n get isBusy() {\n return this.loading || this.setPasswordForm.invalid;\n }\n\n async setPassword() {\n const { email, code, password } = this.setPasswordForm.value;\n this.loading = true;\n this.error = null;\n try {\n await this.user.confirmNewPassword(email, code, password);\n this.toaster.present('Password Change Successful. Please Login.');\n this.router.navigateByUrl(`/${LOGIN_PAGE}`);\n } catch (err) {\n // console.log(err.message);\n this.error = err.message;\n } finally {\n this.loading = false;\n }\n }\n\n async resendCode() {\n const { email } = this.setPasswordForm.value;\n this.loading = true;\n this.error = null;\n try {\n await this.user.resendRegistrationCode(email);\n this.toaster.present('Registration Code Resent. Please be sure to check your email spam folder.');\n } catch (err) {\n this.error = err.message;\n } finally {\n this.loading = false;\n }\n }\n}\n"],"x_google_ignoreList":[]}