{"version":3,"file":"src_app_pages_login_login_module_ts.9c713858e7dfe65c.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;;;;;;;;;;;;;;;;;ICe4BC,4DAAAA;IAAgEA,oDAAAA;IAAoBA,0DAAAA;;;;;;IACpFA,4DAAAA;IAAqEA,oDAAAA;IAAmDA,0DAAAA;;;;;;IAMxHA,4DAAAA;IAAgEA,oDAAAA;IAAoBA,0DAAAA;;;;;;IACpFA,4DAAAA;IAAqEA,oDAAAA;IAAmDA,0DAAAA;;;;ADT7I,IAAMC,cAAb;EAAM,MAAOA,cAAP,CAAqB;IAOzBC,YAAmBC,EAAnB,EACSC,MADT,EAEUC,KAFV,EAGUC,SAHV,EAISC,WAJT,EAKUC,WALV,EAMUC,OANV,EAOSC,UAPT,EAQSC,QART,EAQ8B;MARX;MACV;MACC;MACA;MACD;MACC;MACA;MACD;MACA;MAbF,YAAO,IAAP;MAIA,eAAU,KAAV;MAUL,KAAKC,QAAL,GAAgB,KAAKL,WAAL,CAAiBK,QAAjC;MACA,KAAKJ,WAAL,CAAiBK,MAAjB;MACA,KAAKH,UAAL,CAAgBI,QAAhB,GAA2B,KAA3B,CAH4B,CAK5B;;MACA,KAAKC,SAAL,GAAiB,KAAKV,KAAL,CAAWW,QAAX,CAAoBC,WAApB,CAAgCF,SAAhC,IAA6C,GAA9D;IACD;;IAEDG,QAAQ;MACN,KAAKC,OAAL,GAAe,KAAKb,SAAL,CAAec,wBAAf,CAAwC,qCAAxC,CAAf;MACA,KAAKC,SAAL,GAAiB,KAAKlB,EAAL,CAAQmB,KAAR,CAAc;QAC7BC,QAAQ,EAAE,CAAC,IAAD,EAAOxB,8DAAA,CAAmB,CAACA,+DAAD,EAAsBA,gEAAA,CAAqB,CAArB,CAAtB,CAAnB,CAAP,CADmB;QAE7B4B,QAAQ,EAAE,CAAC,IAAD,EAAO5B,8DAAA,CAAmB,CAACA,+DAAD,EAAsBA,gEAAA,CAAqB,CAArB,CAAtB,CAAnB,CAAP,CAFmB;QAG7B6B,UAAU,EAAE;MAHiB,CAAd,CAAjB;IAKD;;IAEMC,iBAAiB;MACtB,IAAI,KAAKR,SAAL,CAAeS,KAAnB,EAA0B;QACxB,KAAKC,OAAL,GAAe,IAAf;QAEA,KAAKvB,WAAL,CAAiBwB,KAAjB,CAAuB,KAAKX,SAAL,CAAeY,KAAf,CAAqBV,QAA5C,EAAsD,KAAKF,SAAL,CAAeY,KAAf,CAAqBN,QAA3E,EACGO,SADH,CACa;UACTC,IAAI,EAAGC,IAAD,IAAS;YAEb,IAAIA,IAAI,CAACC,KAAL,IAAc,IAAlB,EAAwB;cAEtB,KAAK1B,QAAL,CAAc2B,IAAd,CAAmB,8BAAnB,EAAmD,GAAnD,EAAwD;gBAAEC,UAAU,EAAE,OAAd;gBAAuBC,gBAAgB,EAAE,KAAzC;gBAAgDC,QAAQ,EAAE;cAA1D,CAAxD;YACD,CAHD,MAGO;cAEL,KAAK/B,UAAL,CAAgBI,QAAhB,GAA2B,IAA3B;cACA,KAAKJ,UAAL,CAAgBgC,aAAhB,GAAgCN,IAAI,CAACO,QAArC;cACA,KAAKjC,UAAL,CAAgBkC,SAAhB,GAA4BR,IAAI,CAACS,SAAjC;cACA,KAAKnC,UAAL,CAAgBa,QAAhB,GAA2Ba,IAAI,CAACU,QAAhC;;cACA,IAAIV,IAAI,CAACW,eAAL,KAAyB,KAA7B,EAAoC;gBAElC,KAAK3C,MAAL,CAAY4C,QAAZ,CAAqB,CAAC,MAAD,CAArB;cAED,CAJD,MAKK;gBAEH,IAAIZ,IAAI,CAACS,SAAL,IAAkB,GAAtB,EAA2B;kBACzB,KAAK9B,SAAL,GAAiB,KAAKA,SAAL,IAAkB,GAAlB,GAAwB,OAAxB,GAAkC,KAAKA,SAAxD;kBACA,KAAKX,MAAL,CAAY4C,QAAZ,CAAqB,CAAC,KAAKjC,SAAN,CAArB;gBACD,CAHD,MAIK,IAAIqB,IAAI,CAACS,SAAL,IAAkB,GAAtB,EAA2B;kBAC9B,KAAK9B,SAAL,GAAiB,KAAKA,SAAL,IAAkB,GAAlB,GAAwB,SAAxB,GAAoC,KAAKA,SAA1D;kBACA,KAAKX,MAAL,CAAY4C,QAAZ,CAAqB,CAAC,KAAKjC,SAAN,CAArB;gBACD,CAHI,MAIA,IAAIqB,IAAI,CAACS,SAAL,IAAkB,GAAtB,EAA2B;kBAC9B,KAAK9B,SAAL,GAAiB,KAAKA,SAAL,IAAkB,GAAlB,GAAwB,SAAxB,GAAoC,KAAKA,SAA1D;kBACA,KAAKX,MAAL,CAAY4C,QAAZ,CAAqB,CAAC,KAAKjC,SAAN,CAArB;gBACD;cAEF;;cACD,KAAKgB,OAAL,GAAe,KAAf;YACD;UAEF,CApCQ;UAqCTkB,KAAK,EAAGC,CAAD,IAAM;YACXC,OAAO,CAACC,GAAR,CAAYF,CAAZ;YAGA,KAAKvC,QAAL,CAAc2B,IAAd,CAAmBY,CAAnB,EAAsB,GAAtB,EAA2B;cAAEX,UAAU,EAAE,OAAd;cAAuBC,gBAAgB,EAAE,KAAzC;cAAgDC,QAAQ,EAAE;YAA1D,CAA3B;YAEA,KAAKV,OAAL,GAAe,KAAf;UAED,CA7CQ;UA8CTsB,QAAQ,EAAE,MAAK;YACb,KAAKtB,OAAL,GAAe,KAAf;UACD;QAhDQ,CADb;MAmDD;IACF;;IACMuB,aAAa;MAClB,KAAKlD,MAAL,CAAY4C,QAAZ,CAAqB,CAAC,OAAD,CAArB;IACD;;EA5FwB;;;qBAAd/C,gBAAcD,+DAAAA,CAAAA,8DAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,mEAAAA,GAAAA,+DAAAA,CAAAA,6DAAAA,GAAAA,+DAAAA,CAAAA,sDAAAA,GAAAA,+DAAAA,CAAAA,6EAAAA,GAAAA,+DAAAA,CAAAA,2DAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA;EAAA;;;UAAdC;IAAcsD;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QCf3B3D,4DAAAA,cAAuB,CAAvB,EAAuB,KAAvB,EAAuB,CAAvB,EAAuB,CAAvB,EAAuB,UAAvB,EAAuB,CAAvB,EAAuB,CAAvB,EAAuB,KAAvB,EAAuB,CAAvB;QAIgBA,uDAAAA;QAEAA,4DAAAA,cAA0G,CAA1G,EAA0G,KAA1G,EAA0G,CAA1G,EAA0G,CAA1G,EAA0G,IAA1G,EAA0G,CAA1G;QAEmCA,oDAAAA;QAAOA,0DAAAA;QAGtCA,4DAAAA;QAA8BA,wDAAAA;UAAA,OAAY4D,uBAAZ;QAA+B,CAA/B;QAC1B5D,4DAAAA,0BAAwD,EAAxD,EAAwD,UAAxD,EAAwD,EAAxD;QACgDA,oDAAAA;QAAMA,0DAAAA;QAClDA,4DAAAA;QAAWA,oDAAAA;QAAQA,0DAAAA;QACnBA,uDAAAA;QACAA,wDAAAA;QACAA,wDAAAA;QACJA,0DAAAA;QACAA,4DAAAA,2BAAwD,EAAxD,EAAwD,UAAxD,EAAwD,EAAxD;QACgDA,oDAAAA;QAAIA,0DAAAA;QAChDA,4DAAAA;QAAWA,oDAAAA;QAAQA,0DAAAA;QACnBA,uDAAAA;QACAA,wDAAAA;QACAA,wDAAAA;QACAA,4DAAAA;QAAkCA,wDAAAA;UAAA;QAAA;QAC9BA,4DAAAA;QAAUA,oDAAAA;QAA0CA,0DAAAA;QAG5DA,4DAAAA;QAA4DA,oDAAAA;QAAiBA,0DAAAA;QAC7EA,4DAAAA,gBAA8B,EAA9B,EAA8B,QAA9B,EAA8B,EAA9B;QAEQA,oDAAAA;QACJA,0DAAAA;QAIRA,4DAAAA,gBAA+C,EAA/C,EAA+C,QAA/C,EAA+C,EAA/C;QAEuBA,wDAAAA;UAAA,OAAS4D,mBAAT;QAAwB,CAAxB;QACf5D,4DAAAA;QAA6BA,oDAAAA;QAAOA,0DAAAA;QACpCA,4DAAAA;QAAmBA,oDAAAA;QAAcA,0DAAAA;;;;QArCGA,uDAAAA;QAAAA,yDAAAA;QAOtCA,uDAAAA;QAAAA,wDAAAA;QAKcA,uDAAAA;QAAAA,wDAAAA;QACAA,uDAAAA;QAAAA,wDAAAA;QAK+DA,uDAAAA;QAAAA,wDAAAA;QAC/DA,uDAAAA;QAAAA,wDAAAA;QACAA,uDAAAA;QAAAA,wDAAAA;QAEEA,uDAAAA;QAAAA,+DAAAA;QAK2DA,uDAAAA;QAAAA,wDAAAA;;;;;;EDhBrG,OAAaC,cAAb;AAAA;;;;;;;;;;;;;;;;;;;;AEdA;AACA;AACA;AACA;;;AAEO,MAAM+D,MAAM,GAAW,CAC5B;EAAEC,IAAI,EAAE,EAAR;EAAYC,SAAS,EAAEjE,4DAAvB;EAAuCkE,SAAS,EAAE;AAAlD,CAD4B,CAAvB;AAYA,IAAMC,WAAb;EAAM,MAAOA,WAAP,CAAkB;;;qBAAXA;EAAW;;;UAAXA;;;cALTP,yDAAYA,EACZC,kEAAA,CAAsBE,MAAtB,GACAD,+DAAYA;;EAGhB,OAAaK,WAAb;AAAA;;;sHAAaA,aAAW;IAAAE,eAPPrE,4DAOO;IAPOsE,UAE3BV,yDAF2B,EAEfW,yDAFe,EAI3BT,+DAJ2B;EAOP;AAHR","sources":["./src/app/pages/login/login.component.ts","./src/app/pages/login/login.component.html","./src/app/pages/login/login.module.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AppSettings, Settings } from 'src/app/app.settings';\r\nimport { EncryptDecrypt } from '../../theme//directives/encrypt_decrypt';\r\nimport { AuthService } from '../../auth.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { AppService } from 'src/app/app.service';\r\n\r\n@Component({\r\n  selector: 'app-login',\r\n  templateUrl: './login.component.html',\r\n  styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n  public loginForm!: UntypedFormGroup;\r\n  public hide = true;\r\n  public bgImage: any;\r\n  public settings: Settings;\r\n  public returnUrl: string;\r\n  public loading = false;\r\n  constructor(public fb: UntypedFormBuilder,\r\n    public router: Router,\r\n    private route: ActivatedRoute,\r\n    private sanitizer: DomSanitizer,\r\n    public appSettings: AppSettings,\r\n    private authService: AuthService,\r\n    private encrypt: EncryptDecrypt,\r\n    public appService: AppService,\r\n    public snackBar: MatSnackBar) {\r\n    this.settings = this.appSettings.settings;\r\n    this.authService.logout();\r\n    this.appService.loggedin = false;\r\n\r\n    // get return url from route parameters or default to '/'\r\n    this.returnUrl = this.route.snapshot.queryParams.returnUrl || '/';\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.bgImage = this.sanitizer.bypassSecurityTrustStyle('url(assets/images/others/login.jpg)');\r\n    this.loginForm = this.fb.group({\r\n      username: [null, Validators.compose([Validators.required, Validators.minLength(4)])],\r\n      password: [null, Validators.compose([Validators.required, Validators.minLength(0)])],\r\n      rememberMe: false\r\n    });\r\n  }\r\n\r\n  public onLoginFormSubmit(): void {\r\n    if (this.loginForm.valid) {\r\n      this.loading = true;\r\n\r\n      this.authService.login(this.loginForm.value.username, this.loginForm.value.password)\r\n        .subscribe({\r\n          next: (data) => {\r\n\r\n            if (data.Token == null) {\r\n\r\n              this.snackBar.open('Invalid username or password', '×', { panelClass: 'error', verticalPosition: 'top', duration: 3000 });\r\n            } else {\r\n\r\n              this.appService.loggedin = true;\r\n              this.appService.userfullnames = data.FullName;\r\n              this.appService.usergroup = data.Usergroup;\r\n              this.appService.username = data.Username;\r\n              if (data.PasswordChanged === false) {\r\n\r\n                this.router.navigate(['pass']);\r\n\r\n              }\r\n              else {\r\n\r\n                if (data.Usergroup == '1') {\r\n                  this.returnUrl = this.returnUrl == '/' ? 'admin' : this.returnUrl;\r\n                  this.router.navigate([this.returnUrl]);\r\n                }\r\n                else if (data.Usergroup == '2') {\r\n                  this.returnUrl = this.returnUrl == '/' ? 'account' : this.returnUrl;\r\n                  this.router.navigate([this.returnUrl]);\r\n                }\r\n                else if (data.Usergroup == '3') {\r\n                  this.returnUrl = this.returnUrl == '/' ? 'account' : this.returnUrl;\r\n                  this.router.navigate([this.returnUrl]);\r\n                }\r\n\r\n              }\r\n              this.loading = false;\r\n            }\r\n\r\n          },\r\n          error: (e) => {\r\n            console.log(e);\r\n            \r\n\r\n            this.snackBar.open(e, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 3000 });\r\n\r\n            this.loading = false;\r\n\r\n          },\r\n          complete: () => {\r\n            this.loading = false;\r\n          }\r\n        })\r\n    }\r\n  }\r\n  public resetpassword(): void {\r\n    this.router.navigate(['reset']);\r\n  }\r\n}\r\n","<div class=\"px-3 py-5\">\r\n    <div class=\"theme-container\"> \r\n        <mat-card class=\"p-0 o-hidden\">\r\n            <div fxLayout=\"row wrap\"> \r\n                <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"p-0\" [style.background-image]=\"bgImage\" class=\"bg-cover\"> \r\n                </div> \r\n                <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"py-3\" ngClass.gt-sm=\"px-5\" ngClass.sm=\"px-3\" ngClass.xs=\"px-3\">  \r\n                    <div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"text-center\">  \r\n                        <h1 class=\"secondary-font\">Sign In</h1>  \r\n                        <!-- <a mat-button routerLink=\"/register\" color=\"accent\" class=\"w-100\">Don't have an account? Sign up now!</a>     -->\r\n                    </div>\r\n                    <form [formGroup]=\"loginForm\" (ngSubmit)=\"onLoginFormSubmit()\">\r\n                        <mat-form-field appearance=\"outline\" class=\"w-100 mt-2\">\r\n                            <mat-icon matPrefix class=\"mr-1 text-muted\">person</mat-icon>\r\n                            <mat-label>Username</mat-label>\r\n                            <input matInput placeholder=\"Username\" formControlName=\"username\" required>\r\n                            <mat-error *ngIf=\"loginForm.controls.username.errors?.required\">Username is required</mat-error>\r\n                            <mat-error *ngIf=\"loginForm.controls.username.hasError('minlength')\">Username isn't long enough, minimum of 6 characters</mat-error>\r\n                        </mat-form-field>\r\n                        <mat-form-field appearance=\"outline\" class=\"w-100 mt-1\">\r\n                            <mat-icon matPrefix class=\"mr-1 text-muted\">lock</mat-icon>\r\n                            <mat-label>Password</mat-label>\r\n                            <input matInput placeholder=\"Password\" formControlName=\"password\" required [type]=\"hide ? 'password' : 'text'\">\r\n                            <mat-error *ngIf=\"loginForm.controls.password.errors?.required\">Password is required</mat-error>\r\n                            <mat-error *ngIf=\"loginForm.controls.password.hasError('minlength')\">Password isn't long enough, minimum of 6 characters</mat-error>\r\n                            <button mat-icon-button matSuffix (click)=\"hide = !hide\" type=\"button\" class=\"text-muted\">\r\n                                <mat-icon>{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n                            </button>\r\n                        </mat-form-field> \r\n                        <mat-slide-toggle formControlName=\"rememberMe\" class=\"my-2\">Keep me signed in</mat-slide-toggle>\r\n                        <div class=\"text-center mt-2\"> \r\n                            <button mat-raised-button color=\"accent\" class=\"uppercase\" type=\"submit\" [disabled]=\"loading\" >\r\n                                Sign to My Account\r\n                            </button>\r\n                        </div>     \r\n                        \r\n                    </form>\r\n                    <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\r\n                          \r\n                        <button mat-button (click)=\"resetpassword()\">\r\n                            <mat-icon class=\"text-muted\">vpn_key</mat-icon>\r\n                            <span class=\"mx-1\">Reset Password</span>\r\n\r\n                           \r\n                        </button> \r\n                    </div>  \r\n                </div> \r\n            </div> \r\n        </mat-card>  \r\n    </div>\r\n</div>   ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { LoginComponent } from './login.component';\r\n\r\nexport const routes: Routes = [\r\n  { path: '', component: LoginComponent, pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n  declarations: [LoginComponent],\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule.forChild(routes),\r\n    SharedModule\r\n  ]\r\n})\r\nexport class LoginModule { }\r\n"],"names":["Validators","i0","LoginComponent","constructor","fb","router","route","sanitizer","appSettings","authService","encrypt","appService","snackBar","settings","logout","loggedin","returnUrl","snapshot","queryParams","ngOnInit","bgImage","bypassSecurityTrustStyle","loginForm","group","username","compose","required","minLength","password","rememberMe","onLoginFormSubmit","valid","loading","login","value","subscribe","next","data","Token","open","panelClass","verticalPosition","duration","userfullnames","FullName","usergroup","Usergroup","Username","PasswordChanged","navigate","error","e","console","log","complete","resetpassword","selectors","decls","vars","consts","template","ctx","CommonModule","RouterModule","SharedModule","routes","path","component","pathMatch","LoginModule","forChild","declarations","imports","i1"],"sourceRoot":"webpack:///"}