{"version":3,"file":"3730.b4848fdab21b4554.js","mappings":"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","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":[]}