{"version":3,"file":"3854.63f3db24a6b28978.js","mappings":"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","names":["i0","ctx_r0","queryParams","username","error","toasterOptions","ToasterPosition","Top","ToasterColor","Dark","ConfirmAccountPage","_ConfirmAccountPage","isBusy","this","loading","confirmAccountForm","invalid","constructor","formBuilder","toaster","user","translate","route","router","snapshot","group","Validators","required","code","pattern","confirm","_this","_asyncToGenerator","value","confirmRegistration","present","instant","navigate","LOGIN_PAGE","returnUrl","err","message","resendCode","_this2","resendRegistrationCode","i1","i2","i3","i4","i5","selectors","standalone","features","decls","vars","consts","template","rf","ctx","ConfirmAccountPage_p_6_Template","ConfirmAccountPage_div_16_Template","get","IonContent","SplitLayoutComponent","NgIf","FormsModule","ReactiveFormsModule","FormInputComponent","ButtonComponent","TranslatePipe","FormControlCastPipe","styles"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/pages/auth/confirm-account/confirm-account.page.html","./src/app/pages/auth/confirm-account/confirm-account.page.ts"],"sourcesContent":["<ion-content>\n  <app-split-layout>\n    <h1>{{ 'AUTH.CONFIRM_ACCOUNT' | translate}}</h1>\n    <div class=\"content\">\n      <p *ngIf=\"queryParams.username\">{{ 'COMMON.HI' | translate }}, {{ queryParams.username }}.</p>\n      <p [innerHTML]=\"'AUTH.CONFIRM_INSTRUCTIONS_HTML' | translate\"></p>\n    </div>\n    <form [formGroup]=\"confirmAccountForm\" (ngSubmit)=\"confirm()\" class=\"content\">\n      <fs-form-input\n        [label]=\"'AUTH.USERNAME' | translate\"\n        type=\"text\"\n        [control]=\"confirmAccountForm.get('username') | formControlCast\"\n        [disabled]=\"loading\"\n      ></fs-form-input>\n      <fs-form-input\n        [label]=\"'AUTH.CONFIRMATION_CODE' | translate\"\n        type=\"text\"\n        [control]=\"confirmAccountForm.get('code') | formControlCast\"\n        [disabled]=\"loading\"\n        [debounce]=\"300\"\n      ></fs-form-input>\n      <div class=\"error\" *ngIf=\"error\">\n        <div><strong>{{ 'ERRORS.ERROR' | translate }}:</strong> {{ error }}</div>\n      </div>\n      <div class=\"submit\">\n        <fs-button type=\"submit\" size=\"large\" [disabled]=\"isBusy\">{{ 'AUTH.CONFIRM_ACCOUNT' | translate}}</fs-button>\n      </div>\n      <div class=\"submit-actions\">\n        <p style=\"display: flex; align-items: center\">\n          {{ 'AUTH.CONFIRM_CODE_NOT_RECEIVED' | translate }}\n          <fs-button\n            style=\"flex: 1\"\n            slot=\"end\"\n            type=\"button\"\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.CONFIRM_CODE_NOTE_SPAM' | 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 { UntypedFormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService, TranslatePipe } from '@ngx-translate/core';\nimport { IonContent } from '@ionic/angular/standalone';\nimport { LOGIN_PAGE } from '@app/app.routes';\nimport { ToasterColor, ToasterPosition, 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 { FormInputComponent } from '@app/shared/components/ui/form/form-input/form-input.component';\nimport { SplitLayoutComponent } from '@app/shared/components/layouts/split-layout/split-layout.component';\nimport { FormControlCastPipe } from '@app/shared/pipes/form-control-cast.pipe';\n\nconst toasterOptions: [ToasterPosition, number, ToasterColor] = [ToasterPosition.Top, 3000, ToasterColor.Dark];\n\n@Component({\n  selector: 'app-confirm-account',\n  templateUrl: './confirm-account.page.html',\n  styleUrls: ['./confirm-account.page.scss'],\n  standalone: true,\n  imports: [\n    IonContent,\n    SplitLayoutComponent,\n    NgIf,\n    FormsModule,\n    ReactiveFormsModule,\n    FormInputComponent,\n    ButtonComponent,\n    TranslatePipe,\n    FormControlCastPipe,\n  ],\n})\nexport class ConfirmAccountPage {\n  queryParams = this.route.snapshot.queryParams;\n  confirmAccountForm = this.formBuilder.group({\n    username: [this.queryParams.username, [Validators.required]],\n    /**\n     * Validation code failed on signup MVP-1319\n     * Cognito confirmationCode should match pattern [\\S]+\n     */\n    code: [this.queryParams.code, [Validators.required, Validators.pattern(/[\\S]+/)]],\n  });\n  loading = false;\n  error: string;\n\n  get isBusy() {\n    return this.loading || this.confirmAccountForm.invalid;\n  }\n\n  constructor(\n    private formBuilder: UntypedFormBuilder,\n    private toaster: ToasterService,\n    private user: UserService,\n    private translate: TranslateService,\n    private route: ActivatedRoute,\n    private router: Router\n  ) {}\n\n  async confirm() {\n    const { username, code } = this.confirmAccountForm.value;\n    this.loading = true;\n    this.error = null;\n    try {\n      await this.user.confirmRegistration(username, code);\n      this.toaster.present(this.translate.instant('AUTH.ACCOUNT_CONFIRMED'), ...toasterOptions);\n      // console.log('Account confirmed query params:', this.queryParams);\n      const queryParams = this.queryParams.returnUrl ? { returnUrl: this.queryParams.returnUrl } : {};\n      this.router.navigate([`/${LOGIN_PAGE}`], { queryParams });\n    } catch (err) {\n      this.error = err.message;\n    } finally {\n      this.loading = false;\n    }\n  }\n\n  async resendCode() {\n    const { username } = this.confirmAccountForm.value;\n    if (!username) {\n      this.toaster.present(this.translate.instant('AUTH.NEED_USERNAME'), ...toasterOptions);\n    } else {\n      this.loading = true;\n      this.error = null;\n      try {\n        await this.user.resendRegistrationCode(username);\n        this.toaster.present(this.translate.instant('AUTH.CODE_SENT'), ...toasterOptions);\n      } catch (err) {\n        this.error = err.message;\n      } finally {\n        this.loading = false;\n      }\n    }\n  }\n}\n"],"x_google_ignoreList":[]}