1import{a as K,b as G,c as F,d as Ne,e as Le}from"./chunk-OTZT7MM3.js";import{$ as u,B as ae,Ba as Re,D as s,Db as L,E as H,Ea as De,F as p,Fb as k,G as C,Ga as Oe,Gb as Ve,H as ue,Hb as Ee,L as g,M as h,N as fe,O as ge,P as B,Pa as _e,Q as $,R as c,Ra as A,S as o,Sa as te,T as a,U as f,Va as S,Xa as ce,Ya as I,Z as R,Za as x,ba as m,ca as Me,da as Ae,ea as J,fa as X,fb as Ie,ga as ee,gb as Pe,ia as Te,ib as D,ja as he,jb as w,ka as le,kb as be,la as l,ma as W,na as M,nb as E,ob as z,q as Fe,r as pe,rb as b,tb as O,v,va as ve,w as _,wb as V,x as ye,y as Se,z as se,zb as N}from"./chunk-Q3NVEXWK.js";import{l as T}from"./chunk-E77BULOG.js";var je=["*"];function Ue(r,i){if(r&1&&(o(0,"p",9),l(1),a()),r&2){let e=m();s(),W(e.subtitle)}}function qe(r,i){if(r&1&&(f(0,"div",11),o(1,"div",12)(2,"span",13),l(3),a(),o(4,"a",14),l(5),a()()),r&2){let e=m();s(3),M("",e.footerText," "),s(),c("routerLink",e.footerLinkRoute),s(),W(e.footerLinkText)}}function He(r,i){if(r&1&&(o(0,"p",10),l(1," By signing up you agree to our "),o(2,"a",15),l(3,"Terms of Service"),a(),l(4," and "),o(5,"a",15),l(6,"Privacy Policy"),a()()),r&2){let e=m();s(2),c("href",e.termsOfServiceUrl,ae),s(3),c("href",e.privacyPolicyUrl,ae)}}var y=class r{borderRadius=22;background="#101010";blur=65.38;gradient="conic-gradient(from 180deg at 50% 50%, #F9AA4B 0deg, rgba(153,153,153,0.10) 144deg, #F9AA4B 216deg, rgba(153,153,153,0.10) 306deg, #F9AA4B 360deg)";outerClass="";innerClass="";title="";subtitle="";footerText="";footerLinkText="";footerLinkRoute="";showTerms=!1;termsOfServiceUrl=Ie.TERMS_OF_SERVICE;privacyPolicyUrl=Ie.PRIVACY_POLICY;static \u0275fac=function(e){return new(e||r)};static \u0275cmp=C({type:r,selectors:[["app-gradient-card"]],inputs:{borderRadius:"borderRadius",background:"background",blur:"blur",gradient:"gradient",outerClass:"outerClass",innerClass:"innerClass",title:"title",subtitle:"subtitle",footerText:"footerText",footerLinkText:"footerLinkText",footerLinkRoute:"footerLinkRoute",showTerms:"showTerms"},ngContentSelectors:je,decls:16,vars:16,consts:[[1,"card-outer","p-[1px]","w-full",3,"ngClass"],[3,"ngClass"],[1,"flex","items-center","justify-center","gap-1.5","mb-3"],["src","icons/logo_sm.svg","alt","HashNet",1,"w-7.5"],[1,"text-center","justify-start"],[1,"text-white","text-lg","sm:text-xl","font-semibold"],[1,"text-zinc-300","text-xl","font-normal"],[1,"text-center","mb-4"],[1,"self-stretch","text-center","justify-start","text-white","text-xl","sm:text-3xl","font-semibold","leading-10"],[1,"self-stretch","text-center","justify-start","text-white/50","text-[11px]","font-normal","leading-4"],[1,"text-white/20","text-[9px]","sm:text-[11px]","text-center","pt-4"],[1,"h-px","bg-white/10","my-4",2,"margin-left","-2rem","margin-right","-2rem"],[1,"text-center","mb-0"],[1,"text-xs"],[1,"text-orange-400","text-xs","font-semibold","hover:underline",3,"routerLink"],["target","_blank",1,"text-orange-400","hover:underline",3,"href"]],template:function(e,t){e&1&&(Me(),o(0,"div",0)(1,"div",1)(2,"div",2),f(3,"img",3),o(4,"h3",4)(5,"span",5),l(6,"Hash"),a(),o(7,"span",6),l(8,"Net"),a()()(),o(9,"div",7)(10,"h2",8),l(11),a(),g(12,Ue,2,1,"p",9),a(),Ae(13),g(14,qe,6,3),g(15,He,7,2,"p",10),a()()),e&2&&(Te("border-radius",t.borderRadius,"px")("background",t.gradient),c("ngClass",t.outerClass),s(),Te("border-radius",t.borderRadius-1,"px")("background",t.background)("backdrop-filter","blur("+t.blur+"px)"),c("ngClass",t.innerClass),s(10),W(t.title),s(),h(t.subtitle?12:-1),s(2),h(t.footerText&&t.footerLinkText&&t.footerLinkRoute?14:-1),s(),h(t.showTerms?15:-1))},dependencies:[Oe,De,S,te],styles:["[_nghost-%COMP%]{display:flex;justify-content:center;width:100%}.card-outer[_ngcontent-%COMP%]{max-width:430px}@media (max-width: 639px){.card-outer[_ngcontent-%COMP%]{max-width:400px}}"],changeDetection:0})};function Be(r,i){if(r&1){let e=R();o(0,"div",14)(1,"input",15),u("input",function(n){let d=v(e).$index,P=m(2);return _(P.onInput(n,d))})("keydown",function(n){let d=v(e).$index,P=m(2);return _(P.onKeyDown(n,d))}),a()()}if(r&2){let e=i.$implicit,t=m(2);he("error-border",t.errorMessage())("success-border",t.isComplete()&&!t.errorMessage()),s(),c("value",e)("disabled",t.isLoading())}}function $e(r,i){if(r&1&&(o(0,"p",8),l(1),a()),r&2){let e=m(2);s(),W(e.errorMessage())}}function We(r,i){if(r&1&&(o(0,"span",10),l(1),a()),r&2){let e=m(2);s(),M("Resend in ",e.resendTimer(),"s")}}function ze(r,i){if(r&1){let e=R();o(0,"button",16),u("click",function(){v(e);let n=m(2);return _(n.onResend())}),l(1," Resend "),a()}}function Ke(r,i){r&1&&(o(0,"span"),l(1,"Verifying..."),a())}function Qe(r,i){r&1&&(o(0,"span"),l(1,"Continue"),a())}function Ye(r,i){if(r&1){let e=R();o(0,"div",0),f(1,"div",1),o(2,"div",2)(3,"app-gradient-card",3)(4,"div",4)(5,"p",5),l(6,"Enter code"),a()(),o(7,"div",6),u("paste",function(n){v(e);let d=m();return _(d.onPaste(n))}),B(8,Be,2,6,"div",7,fe),a(),g(10,$e,2,1,"p",8),o(11,"p",9),l(12," If you don't receive a code "),g(13,We,2,1,"span",10)(14,ze,2,0,"button",11),a(),o(15,"app-button",12),u("click",function(){v(e);let n=m();return _(n.onSubmit())}),g(16,Ke,2,0,"span")(17,Qe,2,0,"span"),a(),o(18,"button",13),u("click",function(){v(e);let n=m();return _(n.close())}),l(19," Close "),a()()()()}if(r&2){let e=m();s(8),$(e.code()),s(2),h(e.errorMessage()?10:-1),s(3),h(e.resendTimer()>0?13:14),s(2),c("disabled",!e.isComplete()||e.isLoading())("isLoading",e.isLoading()),s(),h(e.isLoading()?16:17)}}var Q=class r{isOpen=!1;verified=new H;resend=new H;closed=new H;code=se(["","","","","",""]);isLoading=se(!1);errorMessage=se("");resendTimer=se(0);fullCode=Re(()=>this.code().join(""));isComplete=Re(()=>this.code().every(i=>i!==""));onPaste(i){i.preventDefault();let e=i.clipboardData?.getData("text").trim().slice(0,6)??"";/^\d{6}$/.test(e)&&(this.code.set(e.split("")),setTimeout(()=>{document.querySelectorAll(".code-input")[5]?.focus()}))}onKeyDown(i,e){let t=document.querySelectorAll(".code-input");if(i.key==="Backspace"){i.preventDefault();
1let n=[...this.code()];n[e]?(n[e]="",this.code.set(n)):e>0&&(n[e-1]="",this.code.set(n),t[e-1]?.focus()),this.errorMessage.set("")}i.key==="ArrowLeft"&&e>0&&t[e-1]?.focus(),i.key==="ArrowRight"&&e<5&&t[e+1]?.focus()}onInput(i,e){let n=i.target.value.replace(/\D/g,"").slice(-1),d=[...this.code()];d[e]=n,this.code.set(d),this.errorMessage.set(""),n&&e<5&&document.querySelectorAll(".code-input")[e+1]?.focus()}onSubmit(){this.isComplete()&&this.verified.emit(this.fullCode())}onResend(){this.code.set(["","","","","",""]),this.errorMessage.set(""),this.resend.emit(),this.startResendTimer()}startResendTimer(i=60){this.resendTimer.set(i);let e=setInterval(()=>{this.resendTimer.update(t=>t<=1?(clearInterval(e),0):t-1)},1e3)}setError(i){this.errorMessage.set(i),this.isLoading.set(!1),this.code.set(["","","","","",""]),setTimeout(()=>{document.querySelector(".code-input")?.focus()})}setLoading(i){this.isLoading.set(i)}close(){this.closed.emit()}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=C({type:r,selectors:[["app-otp-dialog"]],inputs:{isOpen:"isOpen"},outputs:{verified:"verified",resend:"resend",closed:"closed"},decls:1,vars:1,consts:[[1,"fixed","inset-0","z-50","flex","items-center","justify-center","px-4"],[1,"absolute","inset-0","bg-black/50","backdrop-blur-sm"],[1,"relative","z-10","w-full","max-w-md","animate-in","fade-in","zoom-in-95","duration-200"],["outerClass","max-w-md w-full","innerClass","w-full space-y-6 p-8","title","Verification","subtitle","Enter your verification code sent to your Email","footerText","","footerLinkText","","footerLinkRoute",""],[1,"text-center"],[1,"text-sm","text-white","font-medium"],[1,"flex","gap-3","justify-center",3,"paste"],[1,"otp-box-outer","p-[1px]","rounded-xl",3,"error-border","success-border"],[1,"text-center","text-sm","text-red-500"],[1,"text-center","text-xs","text-white/50","mb-0"],[1,"text-orange-400","ml-0.5"],[1,"text-orange-400","font-semibold","ml-0.5","hover:underline",2,"color","#ff8904"],["trailingIcon","icons/right_arrow.svg",3,"click","disabled","isLoading"],[1,"w-full","text-center","text-sm","text-white/50","hover:text-white","transition-colors","pt-3","mb-0",3,"click"],[1,"otp-box-outer","p-[1px]","rounded-xl"],["type","number","maxlength","1","inputmode","numeric",1,"code-input","w-12","h-12","text-center","text-xl","font-bold","bg-[#101010]","rounded-[11px]","text-white","outline-none","transition-all","duration-200","disabled:opacity-50","disabled:cursor-not-allowed","[appearance:textfield]","[&::-webkit-outer-spin-button]:appearance-none","[&::-webkit-inner-spin-button]:appearance-none",3,"input","keydown","value","disabled"],[1,"text-orange-400","font-semibold","ml-0.5","hover:underline",2,"color","#ff8904",3,"click"]],template:function(e,t){e&1&&g(0,Ye,20,5,"div",0),e&2&&h(t.isOpen?0:-1)},dependencies:[k,G,y],styles:[".otp-box-outer[_ngcontent-%COMP%]{background:conic-gradient(from 180deg at 50% 50%,#fff,#9999991a 144deg,#fff 216deg,#9999991a 306deg,#fff 360deg)}.otp-box-outer.error-border[_ngcontent-%COMP%]{background:#f87171}.otp-box-outer.success-border[_ngcontent-%COMP%]{background:#d18a34}"],changeDetection:0})};var U=class r{scriptLoaded=!1;constructor(){this.loadScript()}loadScript(){if(document.getElementById("recaptcha-script")){this.scriptLoaded=!0;return}let i=document.createElement("script");i.id="recaptcha-script",i.src=`https://www.google.com/recaptcha/api.js?render=${Ee.recaptchaSiteKey}`,i.onload=()=>{this.scriptLoaded=!0},document.head.appendChild(i)}getToken(i){return new Promise((e,t)=>{let n=(d=10)=>{typeof grecaptcha<"u"&&typeof grecaptcha.ready=="function"?grecaptcha.ready(()=>{grecaptcha.execute(Ee.recaptchaSiteKey,{action:i}).then(e).catch(t)}):d>0?setTimeout(()=>n(d-1),300):t(new Error("reCAPTCHA failed to load"))};n()})}static \u0275fac=function(e){return new(e||r)};static \u0275prov=Fe({token:r,factory:r.\u0275fac,providedIn:"root"})};function Je(r,i){if(r&1){let e=R();o(0,"app-button",14),u("clicked",function(){v(e);let n=m();return _(n.onResend())}),l(1," Resend Verification Email "),a()}if(r&2){let e=m();c("isLoading",e.submitting)}}
1var ie=class r{constructor(i,e,t,n,d,P){this.fb=i;this.authService=e;this.router=t;this.storageService=n;this.toast=d;this.recaptcha=P}appRoutes=w;signinForm;requiresTwoFactor=!1;memberId="";sponsorId="";errorMessages={username:{required:"Username is required"},password:{required:"Password is required"},isRememberMe:{}};ngOnInit(){this.initForm(),this.sponsorId=this.storageService.getItem(ce.SPONSOR_ID)??""}initForm(){this.signinForm=this.fb.group({username:["",[b.required]],password:["",[b.required]],isRememberMe:[!1,[]]})}submitting=!1;onSubmit(){return T(this,null,function*(){if(!this.signinForm.valid){this.markFormGroupTouched(this.signinForm);return}this.submitting=!0;let i=yield this.recaptcha.getToken(I.LOGIN);if(!i){this.toast.error(x.RECAPTCHA_ERROR),this.submitting=!1;return}let e={username:this.signinForm.value.username?.trim(),password:this.signinForm.value.password,isRememberMe:this.signinForm.value.isRememberMe,captchaToken:i};this.authService.signin(e).subscribe({next:t=>{this.submitting=!1,t.isTwoFactorEnabled?this.requiresTwoFactor=!0:t.isSuccess?this.router.navigate([w.DASHBOARD_BASE]):(t.memberId&&(this.memberId=t.memberId),this.toast.error(t.message))},error:t=>{this.submitting=!1,this.toast.error(t.message||"Signin failed")}})})}showVerifyDialog=!1;onClose(){this.showVerifyDialog=!1,this.memberId=""}verifyDialog;onVerify(i){return T(this,null,function*(){this.verifyDialog.setLoading(!0);let e=yield this.recaptcha.getToken(I.VERIFY_SIGNUP);if(!e){this.toast.error(x.RECAPTCHA_ERROR);return}this.authService.verifyAccount(this.memberId,e,i).subscribe({next:t=>{if(t.isSuccess)this.toast.success(t.message),this.showVerifyDialog=!1,this.memberId="",setTimeout(()=>{this.router.navigate([w.AUTH_SIGNIN])},2e3);else{this.verifyDialog.setError(t.message);return}},error:t=>{this.verifyDialog.setError(t.message)}})})}email="";onResend(){return T(this,null,function*(){let i=yield this.recaptcha.getToken(I.RESEND_SIGN_UP_EMAIL);if(!i){this.toast.error(x.RECAPTCHA_ERROR);return}this.authService.resendSignupEmail(this.memberId,i).subscribe({next:e=>{if(e.isSuccess)this.toast.success(e.message),this.memberId=e.data,this.showVerifyDialog=!0,this.verifyDialog.startResendTimer();else{this.verifyDialog.setError(e.message);return}},error:e=>{this.verifyDialog.setError(e.message)}})})}markFormGroupTouched(i){Object.keys(i.controls).forEach(e=>{i.get(e)?.markAsTouched()})}static \u0275fac=function(e){return new(e||r)(p(L),p(E),p(A),p(be),p(z),p(U))};static \u0275cmp=C({type:r,selectors:[["app-signin"]],viewQuery:function(e,t){if(e&1&&J(Q,5),e&2){let n;X(n=ee())&&(t.verifyDialog=n.first)}},decls:17,vars:10,consts:[[1,"min-h-screen","flex","items-center","justify-center","py-12","px-4","sm:px-6","lg:px-8"],["outerClass","max-w-md w-full","innerClass","w-full space-y-6 p-8","title","Welcome Back","subtitle","Sign in to your account"],[1,"mt-8","space-y-6",3,"ngSubmit","formGroup"],["label","","type","text","placeholder","Username*","startIcon","icons/person.svg",3,"control","errorMessages"],["label","","type","password","placeholder","Password*","startIcon","icons/lock.svg",3,"errorMessages","control"],[1,"flex","items-center","justify-between","mb-0"],[1,"flex","items-center"],["id","isRememberMe","type","checkbox",1,"h-3","w-3","border-gray-300","rounded","accent-orange-400",3,"change","checked"],["for","isRememberMe",1,"ml-2","cursor-pointer","block","text-white/50","text-xs"],[1,"text-sm"],[1,"text-primary","hover:text-secondary","text-white/50","text-xs",3,"routerLink"],["type","submit","trailingIcon","icons/right_arrow.svg",1,"text-black","font-medium",3,"isLoading"],["type","button",3,"isLoading"],[3,"verified","resend","closed","isOpen"],["type","button",3,"clicked","isLoading"]],template:function(e,t){if(e&1&&(o(0,"div",0)(1,"app-gradient-card",1)(2,"form",2),u("ngSubmit",function(){return t.onSubmit()}),f(3,"app-input-field",3)(4,"app-input-field",4),o(5,"div",5)(6,"div",6)(7,"input",7),u("change",function(d){let P;return(P=t.signinForm.get("isRememberMe"))==null?null:P.setValue(d.target.checked)}),a(),o(8,"label",8),l(9," Remember me "),a()(),o(10,"div",9)(11,"a",10),l(12," Forgot Password? "),a()()(),o(13,"a
1pp-button",11),l(14," Continue "),a(),g(15,Je,2,1,"app-button",12),a()()(),o(16,"app-otp-dialog",13),u("verified",function(d){return t.onVerify(d)})("resend",function(){return t.onResend()})("closed",function(){return t.onClose()}),a()),e&2){let n;s(2),c("formGroup",t.signinForm),s(),c("control",t.signinForm.get("username"))("errorMessages",t.errorMessages.username),s(),c("errorMessages",t.errorMessages.password)("control",t.signinForm.get("password")),s(3),c("checked",(n=t.signinForm.get("isRememberMe"))==null?null:n.value),s(4),c("routerLink",t.appRoutes.AUTH_FORGOT_PASSWORD),s(2),c("isLoading",t.submitting),s(2),h(t.memberId!==""?15:-1),s(),c("isOpen",t.showVerifyDialog)}},dependencies:[k,V,O,N,S,te,K,G,y,Q],styles:[".auth-container[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2)}.auth-form[_ngcontent-%COMP%]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}"]})};var Xe=()=>[1,2,3,4],et=(r,i)=>i.id;function tt(r,i){if(r&1){let e=R();o(0,"button",28),u("click",function(){let n=v(e).$implicit,d=m();return _(d.selectAvatar(n.src))}),f(1,"img",29),a()}if(r&2){let e=i.$implicit,t=m();le(t.selectedAvatar===e.src?"border-orange-400 shadow-[0_0_12px_rgba(249,170,75,0.4)] scale-105":"border-transparent hover:border-white/20"),s(),c("src",e.src,ae)("alt","Avatar "+e.id)}}function it(r,i){if(r&1&&f(0,"div",30),r&2){let e=i.$implicit,t=m();le(e<=t.passwordStrength?t.passwordStrength<=1?"bg-red-500":t.passwordStrength<=2?"bg-orange-400":t.passwordStrength<=3?"bg-yellow-400":"bg-[#189508]":"bg-white/10")}}var Z=class r{constructor(i,e,t,n,d,P,gt,ht){this.fb=i;this.authService=e;this.lookupService=t;this.router=n;this.route=d;this.toast=P;this.recaptcha=gt;this.storageService=ht}appRoutes=w;avatarWindowStart=0;avatarWindowSize=5;get visibleAvatars(){return this.avatars.slice(this.avatarWindowStart,this.avatarWindowStart+this.avatarWindowSize)}signupForm;countries=[];errorMessages={username:{required:"Username is required",invalidUsername:x.INVALID_USERNAME,usernameTaken:"This username is already taken"},profileImgUrl:{required:"Avatar is required"},name:{required:"Name is required",invalidName:"Please enter Name (5-30 letters only)"},email:{required:"Email is required",invalidEmail:"Please enter a valid email address",emailTaken:"This email is already registered"},password:{required:"Password is required",passwordStrength:"Min. 8 characters - One upper case (A-Z), One lower case (a-z), One number(0-9), One Special character(!@#$%^&*)."},confirmPassword:{required:"Please confirm your password",passwordMismatch:"Passwords do not match"},countryName:{required:"Please chose your country"}};sponsorUsername=null;sponsorReferralId=null;memberId="";avatars=Pe;showPassword=!1;showConfirmPassword=!1;selectedAvatar=this.avatars[0]?.src||"";passwordStrength=0;selectAvatar(i){this.selectedAvatar=i,this.signupForm.patchValue({profileImgUrl:i})}scrollAvatars(i){let e=Math.max(0,this.avatars.length-this.avatarWindowSize);this.avatarWindowStart=Math.min(e,Math.max(0,this.avatarWindowStart+i))}calculateStrength(i){return/(?=^.{6,64}$)(?=.*\d)(?=.*[!@#$%^&*]+)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/.test(i)?i.length>=12?4:i.length>=10?3:i.length>=9?2:i.length>=8?1:0:0}ngOnInit(){this.initForm();let i=this.route.snapshot.paramMap.get("id")??this.storageService.getItem(ce.SPONSOR_ID);i?this.getSponsor(i):this.router.navigate([w.AUTH_SIGNIN]),this.signupForm.get("password")?.valueChanges.subscribe(e=>{this.passwordStrength=this.calculateStrength(e||"")})}initForm(){this.signupForm=this.fb.group({username:["",[b.required,F.usernameValidator()]],profileImgUrl:[Pe[0].src,[b.required]],name:["",[b.required,F.nameValidator()]],email:["",[b.required,F.emailValidator()]],password:["",[b.required,F.passwordStrength()]],confirmPassword:["",[b.required,F.matchPassword("password")]],countryName:["",[b.required]]})}getSponsor(i){return T(this,null,function*(){let e=yield this.recaptcha.getToken(I.VALIDATE_SPONSOR);if(!e){this.toast.error(x.RECAPTCHA_ERROR);return}this.authService.getSponsor(i,e).subscribe({next:t=>{this.sponsorUsername=i,this.sponsorReferralId=t.referralId,this.storageService.setItem(ce.SPONSOR_ID,i),this.getCountries()},error:t=>{this.toast.error(t.message||"Incorrect referral link"),this.router.navigate([w.AUTH_SIGNIN])}})})}getCountries(){this.lookupService.getCountries().subscribe({next:i=>{this.countries=i}})}submitting=!1;onSubmit(){return T(this,null,function*(){if(!this.signupForm.valid){this.markFormGroupTouched(this.signupForm);return}if(!this.sponsorUsername){this.toast.error("Incorrect referral link");return}let i=this.signupForm.value.countryName?.trim()||"",e=this.countries.find(d=>d.title.toLowerCase()===i.toLowerCase());if(!e){this.toast.error("Please select your country.");return}this.submitting=!0;let t=yield this.recaptcha.getToken(I.SIGNUP);if(!t){this.toast.error(x.RECAPTCHA_ERROR),this.submitting=!1;return}let n={username:this.signupForm.value.username?.trim(),profileImgUrl:this.signupForm.value.profileImgUrl,name:this.signupForm.value.name?.trim(),email:this.signupForm.value.email?.trim(),password:this.signupForm.value.password,confirmPassword:this.signupForm.value.confirmPassword,contactNumber:"",isAgree:this.signupForm.value.isAgree,countryId:e.value,sponsorUsername:this.sponsorUsername,captchaToken:t};this.authService.signup(n).subscribe({next:d=>{d&&(this.submitting=!1,this.toast.success(d.message),this.memberId=d.memberId,this.signupEmail=this.signupForm.value.email,this.showVerifyDialog=!0,this.verifyDialog.startResendTimer())},error:d=>{this.submitting=!1,this.toast.error(d.message||"Signup failed. Please try again.")}})})}signupEmail="";showVerifyDialog=!1;verifyDialog;onClose(){this.showVerifyDialog=!1,this.router.navigate([w.AUTH_SIGNIN])}onVerify(i){return T(this,null,function*(){this.verifyDialog.setLoading(!0);let e=yield this.recaptcha.getToken(I.VERIFY_SIGNUP);if(!e){this.toast.error(x.RECAPTCHA_ERROR);return}this.authService.verifyAccount(this.memberId,e,i).subscribe({next:t=>{if(t.isSuccess)this.toast.success(t.message),this.showVerifyDialog=!1,setTimeout(()=>{this.router.navigate([w.AUTH_SIGNIN])},2e3);else{this.verifyDialog.setError(t.message);return}},error:t=>{this.verifyDialog.setError(t.message)}})})}onResend(){return T(this,null,function*(){let i=yield this.recaptcha.getToken(I.RESEND_SIGN_UP_EMAIL);if(!i){this.toast.error(x.RECAPTCHA_ERROR);return}this.authService.resendSignupEmail(this.memberId,i).subscribe({next:e=>{if(e.isSuccess)this.toast.success(e.message||"Email resend successfully!");else{this.verifyDialog.setError(e.message);return}},error:e=>{this.verifyDialog.setError(e.message)}})})}
1markFormGroupTouched(i){Object.keys(i.controls).forEach(e=>{i.get(e)?.markAsTouched()})}static \u0275fac=function(e){return new(e||r)(p(L),p(E),p(Le),p(A),p(_e),p(z),p(U),p(be))};static \u0275cmp=C({type:r,selectors:[["app-signup"]],viewQuery:function(e,t){if(e&1&&J(Q,5),e&2){let n;X(n=ee())&&(t.verifyDialog=n.first)}},decls:36,vars:22,consts:[[1,"min-h-screen","flex","items-center","justify-center","py-12","px-4","sm:px-6","lg:px-8"],["outerClass","max-w-md w-full","innerClass","w-full space-y-6 p-8","title","Create Account","subtitle","Join the world's first liquid hashrate network","footerText","Already have an account?","footerLinkText","Sign in",3,"footerLinkRoute","showTerms"],[1,"flex","items-center","mb-2","justify-center","gap-2","rounded-lg","border","border-orange-400/30","py-2.5","px-5","w-full",2,"background","radial-gradient(111.14% 170.12% at 83.26% 142.62%, rgba(255, 255, 255, 0.00) 80.8%, rgba(0, 0, 0, 0.20) 100%), linear-gradient(168deg, rgba(249, 170, 75, 0.40) -18.95%, rgba(0, 0, 0, 0.10) 100%)"],["src","icons/share.svg",1,"w-4","h-4"],[1,"text-xs"],[1,"text-orange-400","text-xs","font-semibold"],[1,"space-y-5",3,"ngSubmit","formGroup"],["label","","placeholder","Username*","startIcon","icons/person.svg",3,"control","errorMessages"],[1,"mb-1"],["for","avator",1,"block","text-xs","font-normal","text-white/50","mb-1"],["id","avator",1,"flex","items-center","justify-center","gap-4"],["type","button","aria-label","Scroll left",1,"w-8","h-8","flex","items-center","justify-center","rounded-full","bg-black/20","hover:bg-black/40","text-white/60","disabled:opacity-30",3,"click","disabled"],["width","18","height","18","fill","none","viewBox","0 0 24 24"],["stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","d","M15 19l-7-7 7-7"],[1,"flex","gap-3"],["type","button",1,"w-12","h-12","sm:w-12","sm:h-12","rounded-full","overflow-hidden","border-2","transition-all","duration-200","hover:scale-105",3,"class"],["type","button","aria-label","Scroll right",1,"w-8","h-8","flex","items-center","justify-center","rounded-full","bg-black/20","hover:bg-black/40","text-white/60","disabled:opacity-30",3,"click","disabled"],["stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","d","M9 5l7 7-7 7"],["label","","type","text","placeholder","Name*","startIcon","icons/person.svg",3,"control","errorMessages"],["label","","placeholder","[email protected]*","startIcon","icons/email.svg",3,"control","errorMessages"],["label","","type","password","placeholder","Password*","startIcon","icons/lock.svg",3,"control","errorMessages"],[1,"flex","items-center","gap-1.5","mt-2"],[1,"flex-1","h-1","rounded-full","transition-all",3,"class"],[1,"text-white/30","text-[10px]","ml-1"],["label","","type","password","placeholder","Confirm password*","startIcon","icons/check_lock.svg",3,"control","errorMessages"],["label","","type","text","placeholder","Select your country","startIcon","icons/country.svg",3,"control","options","errorMessages"],["type","submit","trailingIcon","icons/right_arrow.svg",1,"text-black","font-medium",3,"isLoading"],[3,"verified","resend","closed","isOpen"],["type","button",1,"w-12","h-12","sm:w-12","sm:h-12","rounded-full","overflow-hidden","border-2","transition-all","duration-200","hover:scale-105",3,"click"],[1,"w-full","h-full","object-cover","rounded-full",3,"src","alt"],[1,"flex-1","h-1","rounded-full","transition-all"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"app-gradient-card",1)(2,"div",2),f(3,"img",3),o(4,"span",4),l(5,"Referred by"),a(),o(6,"span",5),l(7),a()(),o(8,"form",6),u("ngSubmit",function(){return t.onSubmit()}),f(9,"app-input-field",7),o(10,"div",8)(11,"label",9),l(12,"Choose Avatar"),a(),o(13,"div",10)(14,"button",11),u("click",function(){return t.scrollAvatars(-1)}),ye(),o(15,"svg",12),f(16,"path",13),a()(),Se(),o(17,"div",14),B(18,tt,2,4,"button",15,et),a(),o(20,"button",16),u("click",function(){return t.scrollAvatars(1)}),ye(),o(21,"svg",12),f(22,"path",17),a()()()(),Se(),f(23,"app-input-field",18)(24,"app-input-field",19)(25,"app-input-field",20),o(26,"div",21),B(27,it,1,2,"div",22,ge),o(29,"span",23),l(30,"Strength indicator"),a()(),f(31,"app-input-field",24)(32,"app-autocomplete-field",25),o(33,"app-button",26),l(34," Create Account "),a()()()(),o(35,"app-otp-dialog",27),u("verified",function(d){return t.onVerify(d)})("resend",function(){return t.onResend()})("closed",function(){return t.onClose()}),a()),e&2&&(s(),c("footerLinkRoute",t.appRoutes.AUTH_SIGNIN)("showTerms",!0),s(6),M(" ",t.sponsorUsername," "),s(),c("formGroup",t.signupForm),s(),c("control",t.signupForm.get("username"))("errorMessages",t.errorMessages.username),s(5),c("disabled",t.avatarWindowStart===0),s(4),$(t.visibleAvatars),s(2),c("disabled",t.avatarWindowStart+t.avatarWindowSize>=t.avatars.length),s(3),c("control",t.signupForm.get("name"))("errorMessages",t.errorMessages.name),s(),c("control",t.signupForm.get("email"))("errorMessages",t.errorMessages.email),s(),c("control",t.signupForm.get("password"))("errorMessages",t.errorMessages.password),s(2),$(ve(21,Xe)),s(4),c("control",t.signupForm.get("confirmPassword"))("errorMessages",t.errorMessages.confirmPassword),s(),c("control",t.signupForm.get("countryName"))("options",t.countries)("errorMessages",t.errorMessages.countryName),s(),c("isLoading",t.submitting),s(2),c("isOpen",t.showVerifyDialog))}
1,dependencies:[k,V,O,N,S,K,Ne,Q,G,y],styles:[".password-strength-indicator[_ngcontent-%COMP%]{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-top:8px}.password-strength-bar[_ngcontent-%COMP%]{height:100%;transition:width .3s ease-in-out,background-color .3s ease-in-out}.strength-weak[_ngcontent-%COMP%]{background:#ef4444;width:33%}.strength-medium[_ngcontent-%COMP%]{background:#f59e0b;width:66%}.strength-strong[_ngcontent-%COMP%]{background:#10b981;width:100%}"]})};function rt(r,i){if(r&1&&(o(0,"div",8),l(1),a()),r&2){let e=m();s(),M(" ",e.errorMessage," ")}}var re=class r{constructor(i,e,t){this.fb=i;this.authService=e;this.router=t}appRoutes=w;twoFactorForm;errorMessage="";code=["","","","","",""];ngOnInit(){this.initForm()}initForm(){this.twoFactorForm=this.fb.group({code:["",[b.required,b.minLength(6),b.maxLength(6)]]})}onDigitInput(i,e){let t=i.target.value;if(t.length===1&&e<5){let n=document.getElementById(`digit-${e+1} `);n&&n.focus()}this.code[e]=t,this.twoFactorForm.patchValue({code:this.code.join("")})}onDigitKeyDown(i,e){if(i.key==="Backspace"&&!this.code[e]&&e>0){let t=document.getElementById(`digit - ${e-1} `);t&&t.focus()}}onPaste(i){i.preventDefault();let e=i.clipboardData?.getData("text");e&&/^\d{6}$/.test(e)&&(this.code=e.split(""),this.code.forEach((t,n)=>{let d=document.getElementById(`digit - ${n} `);d&&(d.value=t)}),this.twoFactorForm.patchValue({code:e}))}onSubmit(){if(this.twoFactorForm.valid){this.errorMessage="";let i=this.twoFactorForm.value.code;this.authService.verifyTwoFactor(i).subscribe({next:e=>{e.isSuccess&&this.router.navigate([w.DASHBOARD_BASE])},error:e=>{this.errorMessage=e.message||"Invalid verification code",this.code=["","","","","",""],this.twoFactorForm.reset()}})}}resendCode(){console.log("Resending verification code...")}static \u0275fac=function(e){return new(e||r)(p(L),p(E),p(A))};static \u0275cmp=C({type:r,selectors:[["app-two-factor"]],decls:20,vars:4,consts:[[1,"min-h-screen","flex","items-center","justify-center","py-12","px-4","sm:px-6","lg:px-8"],["outerClass","max-w-md w-full","innerClass","w-full space-y-8 p-8"],[1,"text-center"],[1,"mx-auto","h-20","w-20","bg-primary","bg-opacity-10","rounded-full","flex","items-center","justify-center","mb-4"],[1,"text-4xl"],[1,"text-3xl","font-extrabold","text-white-900"],[1,"mt-2","text-sm","text-white-600"],[1,"mt-8","space-y-6",3,"ngSubmit","formGroup"],[1,"bg-danger","bg-opacity-10","border","border-red-500","text-red-400","px-4","py-3","rounded-lg","text-center"],["type","submit",1,"w-full","flex","justify-center","py-3","px-4","border","border-transparent","rounded-lg","shadow-sm","text-base","font-medium","text-white","bg-primary","hover:bg-secondary","focus:outline-none","focus:ring-2","focus:ring-offset-2","focus:ring-primary","disabled:opacity-50","disabled:cursor-not-allowed","transition-all","duration-200",3,"disabled"],["type","button",1,"text-sm","font-medium","text-primary","hover:text-secondary",3,"click"],[1,"text-sm","text-white-600","hover:text-white-900",3,"routerLink"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"app-gradient-card",1)(2,"div",2)(3,"div",3)(4,"span",4),l(5,"\u{1F510}"),a()(),o(6,"h2",5),l(7," Two-Factor Authentication "),a(),o(8,"p",6),l(9," Enter the 6-digit code from your authenticator app "),a()(),o(10,"form",7),u("ngSubmit",function(){return t.onSubmit()}),g(11,rt,2,1,"div",8),o(12,"button",9),l(13," Verify Code "),a(),o(14,"div",2)(15,"button",10),u("click",function(){return t.resendCode()}),l(16," Didn't receive the code? Resend "),a()(),o(17,"div",2)(18,"a",11),l(19," \u2190 Back to sign in "),a()()()()()),e&2&&(s(10),c("formGroup",t.twoFactorForm),s(),h(t.errorMessage?11:-1),s(),c("disabled",t.twoFactorForm.invalid),s(6),c("routerLink",t.appRoutes.AUTH_SIGNIN))},dependencies:[k,V,O,N,S,te,y],styles:[".code-input[_ngcontent-%COMP%]{transition:all .2s ease-in-out}.code-input[_ngcontent-%COMP%]:focus{transform:scale(1.05);box-shadow:0 0 0 3px #3b82f61a}"]})};var ot=()=>[1,2,3,4];function nt(r,i){if(r&1){let e=R();o(0,"div",19)(1,"input",20),u("input",function(n){let d=v(e).$index,P=m(2);return _(P.onCodeInput(n,d))})("keydown",function(n){let d=v(e).$index,P=m(2);return _(P.onCodeKeyDown(n,d))}),a()()}if(r&2){let e=i.$implicit,t=m(2);he("error-border",t.codeError),s(),c("value",e)("disabled",t.submitting)}}function st(r,i){r&1&&(o(0,"p",8),l(1,"Please enter the 6-digit verification code"),a())}function at(r,i){if(r&1&&(o(0,"span",10),l(1),a()),r&2){let e=m(2);s(),M("Resend in ",e.resendTimer,"s")}}function lt(r,i){if(r&1){let e=R();o(0,"button",21),u("click",function(){v(e);let n=m(2);return _(n.onResend())}),l(1," Resend "),a()}}function ct(r,i){if(r&1&&f(0,"div",22),r&2){let e=i.$implicit,t=m(2);le(e<=t.passwordStrength?t.passwordStrength<=1?"bg-red-500":t.passwordStrength<=2?"bg-orange-400":t.passwordStrength<=3?"bg-yellow-400":"bg-[#189508]":"bg-white/10")}}function dt(r,i){if(r&1){let e=R();o(0,"div",0),f(1,"div",1),o(2,"div",2)(3,"app-gradient-card",3)(4,"form",4),u("ngSubmit",function(){v(e);let n=m();return _(n.onSubmit())}),o(5,"div")(6,"label",5),l(7,"Verification Code"),a(),o(8,"div",6),u("paste",function(n){v(e);let d=m();return _(d.onPaste(n))}),B(9,nt,2,4,"div",7,fe),a(),g(11,st,2,0,"p",8),o(12,"p",9),l(13," If you don't receive a code "),g(14,at,2,1,"span",10)(15,lt,2,0,"button",11),a()(),f(16,"app-input-field",12),o(17,"div",13),B(18,ct,1,2,"div",14,ge),o(20,"span",15),l(2
11,"Strength indicator"),a()(),f(22,"app-input-field",16),o(23,"app-button",17),l(24," Reset Password "),a()(),o(25,"button",18),u("click",function(){v(e);let n=m();return _(n.close())}),l(26," Close "),a()()()()}if(r&2){let e=m();s(3),c("subtitle",e.msg),s(),c("formGroup",e.resetPasswordForm),s(5),$(e.code),s(2),h(e.codeError?11:-1),s(3),h(e.resendTimer>0?14:15),s(2),c("control",e.resetPasswordForm.get("password"))("errorMessages",e.errorMessages.password),s(2),$(ve(9,ot)),s(4),c("control",e.resetPasswordForm.get("confirmPassword"))("errorMessages",e.errorMessages.confirmPassword),s(),c("isLoading",e.submitting)}}var q=class r{constructor(i,e,t,n){this.fb=i;this.authService=e;this.toast=t;this.recaptcha=n}isOpen=!1;memberId="";msg="";passwordReset=new H;resend=new H;closed=new H;resetPasswordForm;errorMessage="";code=["","","","","",""];codeError=!1;resendTimer=0;resendInterval=null;errorMessages={password:{required:"Password is required",passwordStrength:"Min. 8 characters - One upper case (A-Z), One lower case (a-z), One number(0-9), One Special character(!@#$%^&*)."},confirmPassword:{required:"Please confirm your password",passwordMismatch:"Passwords do not match"}};ngOnInit(){this.initForm()}initForm(){this.resetPasswordForm=this.fb.group({password:["",[b.required,F.passwordStrength()]],confirmPassword:["",[b.required,F.matchPassword("password")]]}),this.resetPasswordForm.get("password")?.valueChanges.subscribe(i=>{this.passwordStrength=this.calculateStrength(i||"")})}passwordStrength=0;calculateStrength(i){return/(?=^.{6,64}$)(?=.*\d)(?=.*[!@#$%^&*]+)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/.test(i)?i.length>=12?4:i.length>=10?3:i.length>=9?2:i.length>=8?1:0:0}get fullCode(){return this.code.join("")}get isCodeComplete(){return this.code.every(i=>i!=="")}onPaste(i){i.preventDefault();let e=i.clipboardData?.getData("text").trim().slice(0,6)??"";/^\d{6}$/.test(e)&&(this.code=e.split(""),this.codeError=!1,setTimeout(()=>{document.querySelectorAll(".code-input")[5]?.focus()}))}onCodeKeyDown(i,e){let t=document.querySelectorAll(".code-input");i.key==="Backspace"&&(i.preventDefault(),this.code[e]?this.code[e]="":e>0&&(this.code[e-1]="",t[e-1]?.focus()),this.codeError=!1),i.key==="ArrowLeft"&&e>0&&t[e-1]?.focus(),i.key==="ArrowRight"&&e<5&&t[e+1]?.focus()}onCodeInput(i,e){let n=i.target.value.replace(/\D/g,"").slice(-1);this.code[e]=n,this.codeError=!1,n&&e<5&&document.querySelectorAll(".code-input")[e+1]?.focus()}startResendTimer(i=120){this.resendTimer=i,this.resendInterval&&clearInterval(this.resendInterval),this.resendInterval=setInterval(()=>{this.resendTimer--,this.resendTimer<=0&&(this.resendInterval&&clearInterval(this.resendInterval),this.resendTimer=0)},1e3)}onResend(){this.code=["","","","","",""],this.codeError=!1,this.submitting=!1,this.resend.emit(),this.startResendTimer()}submitting=!1;onSubmit(){return T(this,null,function*(){if(this.resetPasswordForm.markAllAsTouched(),this.isCodeComplete||(this.codeError=!0),!this.resetPasswordForm.valid||!this.memberId||!this.isCodeComplete)return;this.codeError=!1,this.submitting=!0;let i=yield this.recaptcha.getToken(I.RESET_PASSWORD);if(!i){this.toast.error(x.RECAPTCHA_ERROR),this.submitting=!1;return}let e={code:this.fullCode,captchaToken:i,password:this.resetPasswordForm.value.password,confirmPassword:this.resetPasswordForm.value.confirmPassword,id:this.memberId};this.authService.resetPassword(e).subscribe({next:t=>{t.isSuccess?(this.submitting=!1,this.passwordReset.emit()):(this.submitting=!1,this.toast.error(t.message||"Failed to reset password."))},error:t=>{this.submitting=!1,this.errorMessage=t.message,this.toast.error(t.message||"Failed to reset password.")}})})}close(){this.code=["","","","","",""],this.closed.emit()}static \u0275fac=function(e){return new(e||r)(p(L),p(E),p(z),p(U))};static \u0275cmp=C({type:r,selectors:[["app-reset-password-dialog"]],inputs:{isOpen:"isOpen",memberId:"memberId",msg:"msg"},outputs:{passwordReset:"passwordReset",resend:"resend",closed:"closed"},decls:1,vars:1,consts:[[1,"fixed","inset-0","z-50","flex","items-center","justify-center","px-4"],[1,"absolute","
1inset-0","bg-black/50","backdrop-blur-sm"],[1,"relative","z-10","w-full","max-w-md","animate-in","fade-in","zoom-in-95","duration-200"],["outerClass","max-w-md w-full","innerClass","w-full space-y-6 p-8","title","Reset Password",3,"subtitle"],[1,"space-y-5",3,"ngSubmit","formGroup"],[1,"block","text-xs","font-normal","text-white/50","mb-2"],[1,"flex","gap-3","justify-center",3,"paste"],[1,"otp-box-outer","p-[1px]","rounded-xl",3,"error-border"],[1,"text-center","text-xs","text-red-500","mt-1"],[1,"text-center","text-xs","text-white/50","mt-4"],[1,"text-orange-400","ml-0.5"],["type","button",1,"text-orange-400","font-semibold","ml-0.5","hover:underline",2,"color","#ff8904"],["label","","type","password","placeholder","Password*","startIcon","icons/lock.svg",3,"control","errorMessages"],[1,"flex","items-center","gap-1.5","mt-2"],[1,"flex-1","h-1","rounded-full","transition-all",3,"class"],[1,"text-white/30","text-[10px]","ml-1"],["label","","type","password","placeholder","Confirm password*","startIcon","icons/check_lock.svg",3,"control","errorMessages"],["type","submit","trailingIcon","icons/right_arrow.svg",3,"isLoading"],[1,"w-full","text-center","text-sm","text-white/50","hover:text-white","transition-colors","pt-3","mb-0",3,"click"],[1,"otp-box-outer","p-[1px]","rounded-xl"],["type","number","maxlength","1","inputmode","numeric",1,"code-input","w-12","h-12","text-center","text-xl","font-bold","bg-[#101010]","rounded-[11px]","text-white","outline-none","transition-all","duration-200","disabled:opacity-50","disabled:cursor-not-allowed","[appearance:textfield]","[&::-webkit-outer-spin-button]:appearance-none","[&::-webkit-inner-spin-button]:appearance-none",3,"input","keydown","value","disabled"],["type","button",1,"text-orange-400","font-semibold","ml-0.5","hover:underline",2,"color","#ff8904",3,"click"],[1,"flex-1","h-1","rounded-full","transition-all"]],template:function(e,t){e&1&&g(0,dt,27,10,"div",0),e&2&&h(t.isOpen?0:-1)},dependencies:[k,V,O,N,S,K,G,y],styles:['@charset "UTF-8";.password-requirements[_ngcontent-%COMP%]{list-style:none;padding-left:0}.password-requirements[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;padding-left:24px;margin-bottom:4px}.password-requirements[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{content:"\\2022";position:absolute;left:8px;color:#9ca3af}.password-requirements[_ngcontent-%COMP%] li.met[_ngcontent-%COMP%]:before{content:"\\2713";color:#10b981}',".otp-box-outer[_ngcontent-%COMP%]{background:conic-gradient(from 180deg at 50% 50%,#fff,#9999991a 144deg,#fff 216deg,#9999991a 306deg,#fff 360deg)}.otp-box-outer.error-border[_ngcontent-%COMP%]{background:#f87171}"]})};var oe=class r{constructor(i,e,t,n,d){this.fb=i;this.authService=e;this.recaptcha=t;this.toast=n;this.router=d}appRoutes=w;forgotPasswordForm;errorMessage="";successMessage="";isSubmitted=!1;showResetDialog=!1;memberId="";errorMessages={username:{required:"Username is required",invalidUsername:x.INVALID_USERNAME}};ngOnInit(){this.initForm()}initForm(){this.forgotPasswordForm=this.fb.group({username:["",[b.required,F.usernameValidator()]]})}resetDialog;submitting=!1;username="";msg="";onSubmit(){return T(this,null,function*(){if(!this.forgotPasswordForm.valid){this.forgotPasswordForm.markAllAsTouched();return}let i=this.forgotPasswordForm.value.username?.trim();this.submitting=!0;let e=yield this.recaptcha.getToken(I.FORGOT_PASSWORD);if(!e){this.toast.error(x.RECAPTCHA_ERROR),this.submitting=!1;return}this.authService.forgotPassword(i,e).subscribe({next:t=>{t.isSuccess?(this.memberId=t.data,this.msg=t.message,this.showResetDialog=!0,this.resetDialog?.startResendTimer(),this.toast.success(t.message)):this.toast.error(t.message),this.submitting=!1},error:t=>{this.submitting=!1,this.errorMessage=t.message||"Failed to send send email. Please try again.",this.toast.error(this.errorMessage)}})})}onResendOtp(){return T(this,null,function*(){let i=this.forgotPasswordForm.value.username,e=yield this.recaptcha.getToken(I.FORGOT_PASSWORD);if(!e){this.toast.error(x.RECAPTCHA_ERROR);return}this.authService.forgotPassword(i,e).subscribe({next:t=>{t.isSuccess?(this.memberId=t.data,this.toast.success("Verification code resent successfully.")):this.toast.error(t.message),this.submitting=!1},error:t=>{this.toast.error(t.message||"Failed to resend code."),this.submitting=!1}})})}onPasswordReset(){this.showResetDialog=!1,this.toast.success("Password reset successful! Redirecting to sign in..."),setTimeout(()=>{this.router.navigate([w.AUTH_SIGNIN])},2e3)}onResetClosed(){this.showResetDialog=!1}static \u0275fac=function(e){return new(e||r)(p(L),p(E),p(U),p(z),p(A))};static \u0275cmp=C({type:r,selectors:[["app-forgot-password"]],viewQuery:function(e,t){if(e&1&&J(q,5),e&2){let n;X(n=ee())&&(t.resetDialog=n.first)}},decls:8,vars:8,consts:[[1,"min-h-screen","flex","items-center","justify-center","py-12","px-4","sm:px-6","lg:px-8"],["outerClass","max-w-md w-full","innerClass","w-full space-y-8 p-8","title","Forgot Password","subtitle","Enter your Email to recover your password","footerText","Already have an account?","footerLinkText","Sign In",3,"footerLinkRoute"],[1,"mt-8","space-y-6",3,"ngSubmit","formGroup"],["label","","type","text","placeholder","Enter your username","startIcon","icons/person.svg",3,"control","errorMessages"],["type","submit","trailingIcon","icons/right_arrow.svg",1,"text-black","font-medium",3,"isLoading"],[3,"passwordReset","resend","closed","isOpen","memberId","msg"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"app-gradient-card",1)(2,"div")(3,"form",2),u("ngSubmit",function(){return t.onSubmit()}),f(4,"app-input-field",3),o(5,"app-button",4),l(6," Continue "),a()()()()(),o(7,"app-reset-password-dialog",5),u("passwordReset",function(){return t.onPasswordReset()})("resend",function(){return t.onResendOtp()})("closed",function(){return t.onResetClosed()}),a()),e&2&&(s(),c("footerLinkRoute",t.appRoutes.AUTH_SIGNIN),s(2),c("formGroup",t.forgotPasswordForm),s(),c("control",t.forgotPasswordForm.get("username"))("errorMessages",t.errorMessages.username),s(),c("isLoading",t.submitting),s(2),c("isOpen",t.showResetDialog)("memberId",t.memberId)("msg",t.msg))}
1,dependencies:[k,V,O,N,S,K,G,y,q],styles:[".success-animation[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_successPulse .6s ease-out}@keyframes _ngcontent-%COMP%_successPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}"]})};function mt(r,i){r&1&&(o(0,"div",2)(1,"div",3),f(2,"div",4),a(),o(3,"p",5),l(4," Please wait while we verify your email address "),a()())}function pt(r,i){r&1&&(o(0,"div",2)(1,"div",6)(2,"span",7),l(3,"\u2713"),a()(),o(4,"div",8)(5,"p",9),l(6,"Your email has been successfully verified."),a()(),o(7,"p",5),l(8," Redirecting you to dashboard... "),a(),o(9,"div",10)(10,"div",11),f(11,"div",12)(12,"div",12)(13,"div",12),a()()())}function ut(r,i){if(r&1){let e=R();o(0,"div",2)(1,"div",13)(2,"span",7),l(3,"\u2717"),a()(),o(4,"div",14)(5,"p",9),l(6),a()(),o(7,"div",15)(8,"button",16),u("click",function(){v(e);let n=m();return _(n.resendVerification())}),l(9," Resend Verification Email "),a()()()}if(r&2){let e=m();s(6),W(e.errorMessage)}}var ne=class r{constructor(i,e,t){this.route=i;this.router=e;this.authService=t}appRoutes=w;verificationStatus="loading";errorMessage="";token="";ngOnInit(){if(this.token=this.route.snapshot.queryParams.token||"",!this.token){this.verificationStatus="error",this.errorMessage="Invalid or missing verification token";return}this.verifyEmail()}verifyEmail(){}resendVerification(){console.log("Resending verification email...")}static \u0275fac=function(e){return new(e||r)(p(_e),p(A),p(E))};static \u0275cmp=C({type:r,selectors:[["app-verify-email"]],decls:6,vars:4,consts:[[1,"min-h-screen","flex","items-center","justify-center","bg-gray-50","py-12","px-4","sm:px-6","lg:px-8"],["outerClass","max-w-md w-full","innerClass","w-full space-y-8 text-center p-8","title","Verification","subtitle","Verifying your email address","footerText","Don't have an account?","footerLinkText","Create one",3,"footerLinkRoute"],[1,"space-y-6"],[1,"mx-auto","h-16","w-16","bg-primary","bg-opacity-10","rounded-full","flex","items-center","justify-center"],[1,"animate-spin","rounded-full","h-10","w-10","border-t-4","border-b-4","border-primary"],[1,"text-sm","text-white/50"],[1,"mx-auto","h-16","w-16","bg-success","bg-opacity-10","rounded-full","flex","items-center","justify-center"],[1,"text-4xl"],[1,"bg-success","bg-opacity-10","border","border-success","text-success","px-4","py-3","rounded-lg"],[1,"font-medium"],[1,"flex","justify-center"],[1,"animate-pulse","flex","space-x-2"],[1,"h-2","w-2","bg-primary","rounded-full"],[1,"mx-auto","h-16","w-16","bg-danger","bg-opacity-10","rounded-full","flex","items-center","justify-center"],[1,"bg-danger","bg-opacity-10","border","border-red-500","text-red-400","px-4","py-3","rounded-lg"],[1,"space-y-4"],[1,"w-full","py-3","px-4","border","border-transparent","rounded-lg","shadow-sm","text-base","font-medium","text-white","bg-primary","hover:bg-secondary","focus:outline-none","focus:ring-2","focus:ring-offset-2","focus:ring-primary","transition-all","duration-200",3,"click"]],template:function(e,t){e&1&&(l(0,`// verify-email.component.html 2`),o(1,"div",0)(2,"app-gradient-card",1),g(3,mt,5,0,"div",2),g(4,pt,14,0,"div",2),g(5,ut,10,1,"div",2),a()()),e&2&&(s(2),c("footerLinkRoute",t.appRoutes.AUTH_SIGNUP),s(),h(t.verificationStatus==="loading"?3:-1),s(),h(t.verificationStatus==="success"?4:-1),s(),h(t.verificationStatus==="error"?5:-1))},dependencies:[y],styles:[".spinner[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 1s linear infinite}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pulse-dots[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse 1.4s ease-in-out infinite}.pulse-dots[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.pulse-dots[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:.4}50%{opacity:1}}"]})};var ft=[{path:D.AUTH_SIGNIN,component:ie},{path:D.AUTH_SIGNUP,component:Z},{path:D.AUTH_SIGNUP_WITH_ID,component:Z},{path:D.AUTH_TWO_FACTOR,component:re},{path:D.AUTH_FORGOT_PASSWORD,component:oe},{path:D.AUTH_RESET_PASSWORD,component:q},{path:D.AUTH_VERIFY_EMAIL,component:ne},{path:D.ROOT,redirectTo:D.AUTH_SIGNIN,pathMatch:"full"}],xe=class r{static \u0275fac=function(e){return new(e||r)};static \u0275mod=ue({type:r});static \u0275inj=pe({imports:[S.forChild(ft),S]})};var Ge=class r{static \u0275fac=function(e){return new(e||r)};static \u0275mod=ue({type:r});static \u0275inj=pe({imports:[Ve,xe,ie,Z,re,oe,q,ne]})};export{Ge as AuthModule};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.