2 lines
6.0 KiB
JavaScript
2 lines
6.0 KiB
JavaScript
import{a as z}from"./chunk-HIORMTDZ.js";import{a as j,b as F,c as u,e as N,f as U,i as T,j as V,k as D,l as P,n as B}from"./chunk-JELJKPCD.js";import{c as G,d as q}from"./chunk-I2265UUZ.js";import"./chunk-C4H2R2IP.js";import{c as A,e as L,f as I,j as _}from"./chunk-CVEVOJ42.js";import"./chunk-7HJ6OBS4.js";import"./chunk-4YKLO6PP.js";import{$b as k,B as h,G as v,Hb as S,Ib as w,Nb as c,Ob as t,Pb as r,Q as y,Qb as l,Sc as M,Zb as f,cb as o,fa as g,kc as p,m as b,mb as s,mc as C,nc as a,oc as E,sb as x,wc as R}from"./chunk-COCHPIBX.js";import"./chunk-Q7L6LLAK.js";function H(m,e){if(m&1&&(t(0,"div",13),a(1),r()),m&2){let n=k();o(),E(n.loginError)}}var W=class m{constructor(e,n,i,d,J){this.authservice=e;this.appContextService=n;this.route=i;this.router=d;this.toastr=J}formBuilder=g(P);cdr=g(M);fallbackRoute="/dashboards/crm";adminLoginForm=this.formBuilder.nonNullable.group({username:["",[u.required,u.email]],password:["",u.required],rememberMe:[!1]});isSubmitting=!1;loginError="";visibilityMap={Angular:!1};iconMap={Angular:"fe fe-eye-off"};login(){if(this.loginError="",this.adminLoginForm.invalid){this.adminLoginForm.markAllAsTouched();return}if(this.isSubmitting)return;this.isSubmitting=!0;let{username:e,password:n,rememberMe:i}=this.adminLoginForm.getRawValue();this.authservice.login({email:e,password:n},!!i).pipe(y(()=>this.appContextService.ensureMenuInitialized(!0).pipe(h(()=>(this.authservice.logout(),this.loginError="Unable to load application context.",b(null))))),v(()=>{this.isSubmitting=!1,this.cdr.detectChanges()})).subscribe({next:()=>{if(this.loginError){this.toastr.error(this.loginError);return}this.router.navigateByUrl(this.getSafeReturnUrl()),this.toastr.success("Login successful",e)},error:d=>{this.loginError=d?.error?.detail||d?.error?.message||"Invalid email or password",this.toastr.error(this.loginError)}})}toggleVisibility(e){this.visibilityMap[e]=!this.visibilityMap[e],this.iconMap[e]=this.visibilityMap[e]?"fe fe-eye":"fe fe-eye-off"}getSafeReturnUrl(){let e=this.route.snapshot.queryParamMap.get("returnUrl")?.trim()??"";if(!e)return this.fallbackRoute;let n=e.toLowerCase();return e.startsWith("/")&&!e.startsWith("//")&&!e.includes("\\")&&!n.includes("http://")&&!n.includes("https://")?e:this.fallbackRoute}static \u0275fac=function(n){return new(n||m)(s(q),s(G),s(A),s(L),s(z))};static \u0275cmp=x({type:m,selectors:[["app-login"]],decls:42,vars:13,consts:[[1,"grid","grid-cols-12","h-screen","min-h-screen","overflow-hidden","bg-bodybg","dark:bg-bodybg","text-defaulttextcolor","text-defaultsize"],[1,"hidden","xl:block","xl:col-span-6","h-screen"],["src","./assets/images/authentication/auth-cover.png","alt","login cover",1,"w-full","h-full","object-cover","object-left"],[1,"xl:col-span-6","col-span-12","min-h-[100dvh]","flex","items-center","justify-center","px-6","bg-bodybg","dark:bg-bodybg"],[1,"authentication","authentication-basic","w-full","max-w-[420px]"],[1,"my-[2.5rem]","flex","justify-center"],["src","./assets/images/brand-logos/erp-logo-icon.png","alt","logo",1,"desktop-logo"],["src","./assets/images/brand-logos/erp-logo-icon.png","alt","logo",1,"desktop-dark"],[1,"box","!mb-0"],[1,"box-body","!p-[3rem]"],[1,"h5","font-semibold","mb-2","text-center"],[1,"mb-4","text-[#8c9097]","dark:text-white/50","opacity-[0.7]","font-normal","text-center"],[3,"ngSubmit","formGroup"],[1,"text-danger","mb-3"],[1,"grid","grid-cols-12","gap-y-4"],[1,"xl:col-span-12","col-span-12"],["for","signin-username",1,"form-label","text-default"],["type","text","id","signin-username","placeholder","user name","formControlName","username","autocomplete","username",1,"form-control","form-control-lg","w-full","!rounded-md"],[1,"xl:col-span-12","col-span-12","mb-2"],["for","signin-password",1,"form-label","text-default","block"],["routerLink","/authentication/reset-password/basic",1,"ltr:float-right","rtl:float-left","text-danger"],[1,"input-group"],["id","signin-password","placeholder","password","formControlName","password","autocomplete","current-password",1,"form-control","form-control-lg","!rounded-s-md",3,"type"],["aria-label","button","type","button","id","button-addon2",1,"ti-btn","ti-btn-light","!rounded-s-none","!mb-0",3,"click"],[1,"mt-5"],[1,"form-check","!ps-0"],["type","checkbox","id","defaultCheck1","formControlName","rememberMe",1,"form-check-input"],["for","defaultCheck1",1,"form-check-label","text-[#8c9097]","dark:text-white/50","font-normal"],[1,"xl:col-span-12","col-span-12","grid","mt-2"],["type","submit",1,"ti-btn","ti-btn-primary","!bg-primary","!text-white","!font-medium","inline-flex","items-center","justify-center","gap-2",3,"disabled"],["role","status","aria-label","loading",1,"ti-spinner","text-white"]],template:function(n,i){n&1&&(t(0,"div",0)(1,"div",1),l(2,"img",2),r(),t(3,"div",3)(4,"div",4)(5,"div",5),l(6,"img",6)(7,"img",7),r(),t(8,"div",8)(9,"div",9)(10,"p",10),a(11,"Sign In"),r(),t(12,"p",11),a(13," Welcome back ! "),r(),t(14,"form",12),f("ngSubmit",function(){return i.login()}),S(15,H,2,1,"div",13),t(16,"div",14)(17,"div",15)(18,"label",16),a(19,"User Name"),r(),l(20,"input",17),r(),t(21,"div",18)(22,"label",19),a(23,"Password"),r(),t(24,"a",20),a(25," Forgot password ? "),r(),t(26,"div",21),l(27,"input",22),t(28,"button",23),f("click",function(){return i.toggleVisibility("Angular")}),l(29,"i"),r()(),t(30,"div",24)(31,"div",25),l(32,"input",26),t(33,"label",27),a(34," Remember password ? "),r()()()(),t(35,"div",28)(36,"button",29),l(37,"span",30),t(38,"span"),a(39,"Signing In..."),r(),t(40,"span"),a(41,"Sign In"),r()()()()()()()()()()),n&2&&(o(14),c("formGroup",i.adminLoginForm),o(),w(i.loginError?15:-1),o(12),c("type",i.visibilityMap.Angular?"text":"password"),o(2),C(R("",i.iconMap.Angular," align-middle")),o(7),c("disabled",i.adminLoginForm.invalid||i.isSubmitting),o(),p("display",i.isSubmitting?"":"none"),o(),p("display",i.isSubmitting?"":"none"),o(2),p("display",i.isSubmitting?"none":""))},dependencies:[_,I,B,T,F,j,N,U,D,V],styles:[".firebase{width:30px;height:30px} .rounded-lg{width:120px;justify-content:center;margin:auto;border-radius:.75rem}"]})};export{W as Login};
|