1"use strict";(self.webpackChunkLettsArtFirebase=self.webpackChunkLettsArtFirebase||[]).push([[5432],{5432:($e,N,u)=>{u.r(N),u.d(N,{NgxAuthModule:()=>Ke});var m=u(9808),a=u(3075),d=u(9378),c=u(564),C=u(9671),w=u(5698),_=u(5274),e=u(5e3),M=u(2313),L=u(3229),T=u(8441),x=u(5185),y=u(948),U=u(3749);function S(n,r){if(1&n&&(e.TgZ(0,"p",2),e._uU(1),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Oqu(t.helperText)}}function R(n,r){1&n&&(e.TgZ(0,"p",2),e._uU(1," LettsGroup sign-in needs HTTPS on this hostname. Use `https://...`, or test from `localhost`. "),e.qZA())}function J(n,r){if(1&n){const t=e.EpF();e.TgZ(0,"button",3),e.NdJ("click",function(){return e.CHM(t),e.oxw().triggerAuth()}),e._UZ(1,"img",4),e.TgZ(2,"span"),e._uU(3),e.qZA()()}if(2&n){const t=e.oxw();e.xp6(3),e.Oqu(t.title)}}let k=(()=>{class n{constructor(t){this.lettsGroupAuth=t,this.flow="login",this.currentUser=null,this.showRegister=!1,this.showReset=!1,this.title="Continue with LettsGroup",this.helperText="",this.errorChange=new e.vpe,this.completed=new e.vpe,this.insecureContext=!1,this.insecureContext=this.isInsecureContext(),this.insecureContext&&this.errorChange.emit("LettsGroup sign-in requires HTTPS or localhost because the browser PKCE flow depends on Web Crypto.")}triggerAuth(){var t=this;return(0,C.Z)(function*(){if(!t.insecureContext)try{yield t.lettsGroupAuth.startPopupLogin(t.flow),t.completed.emit()}catch(o){t.errorChange.emit(o instanceof Error?o.message:"LettsGroup sign-in failed.")}})()}isInsecureContext(){if("undefined"==typeof window)return!1;const t=window.location.hostname;return!window.isSecureContext&&!("localhost"===t||"127.0.0.1"===t||"[::1]"===t)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.C))},n.\u0275cmp=e.Xpm({type:n,selectors:[["app-lettsgroup-widget"]],inputs:{flow:"flow",currentUser:"currentUser",showRegister:"showRegister",showReset:"showReset",title:"title",helperText:"helperText"},outputs:{errorChange:"errorChange",completed:"completed"},decls:4,vars:3,consts:[["class","sub-title",4,"ngIf"],["type","button","class","lettsgroup-widget__button",3,"click",4,"ngIf"],[1,"sub-title"],["type","button",1,"lettsgroup-widget__button",3,"click"],["src","/assets/images/social/lettsgroup-favicon-32.png","alt","LettsGroup",1,"lettsgroup-widget__icon"]],template:function(t,o){1&t&&(e.TgZ(0,"div"),e.YNc(1,S,2,1,"p",0),e.YNc(2,R,2,0,"p",0),e.YNc(3,J,4,1,"button",1),e.qZA()),2&t&&(e.xp6(1),e.Q6J("ngIf",o.helperText),e.xp6(1),e.Q6J("ngIf",o.insecureContext),e.xp6(1),e.Q6J("ngIf",!o.insecureContext))},directives:[m.O5],styles:["[_nghost-%COMP%]{display:block}.lettsgroup-widget[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.lettsgroup-widget__button[_ngcontent-%COMP%]{display:inline-flex;width:100%;min-height:3.25rem;align-items:center;justify-content:center;gap:.75rem;border:1px solid rgba(130,147,170,.35);border-radius:14px;background:linear-gradient(180deg,rgba(24,32,48,.96),rgba(17,24,39,.96));color:#f4f7fb;font-size:1rem;font-weight:600;padding:.9rem 1.1rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;box-shadow:0 10px 28px #050a142e}.lettsgroup-widget__button[_ngcontent-%COMP%]:hover:not(:disabled), .lettsgroup-widget__button[_ngcontent-%COMP%]:focus-visible{transform:translateY(-1px);border-color:#78c646b3;box-shadow:0 16px 34px #050a143d}.lettsgroup-widget__button[_ngcontent-%COMP%]:disabled{opacity:.7;cursor:wait}.lettsgroup-widget__icon[_ngcontent-%COMP%]{width:20px;height:20px;border-radius:6px;flex:0 0 auto}"],changeDetection:0}),n})();var p=u(8653);function G(n,r){if(1&n&&(e.TgZ(0,"li",34),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function Q(n,r){if(1&n&&(e.TgZ(0,"nb-alert",30)(1,"p",31)(2,"b"),e._uU(3,"Oh snap!"),e.qZA()(),e.TgZ(4,"ul",32),e.YNc(5,G,2,1,"li",33),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.errors)}}function F(n,r){if(1&n&&(e.TgZ(0,"li",34),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function E(n,r){if(1&n&&(e.TgZ(0,"nb-alert",35)(1,"p",31)(2,"b"),e._uU(3,"Hooray!"),e.qZA()(),e.TgZ(4,"ul",32),e.YNc(5,F,2,1,"li",33),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.messages)}}function z(n,r){1&n&&(e.TgZ(0,"p",37),e._uU(1," Email is required! "),e.qZA())}function B(n,r){1&n&&(e.TgZ(0,"p",37),e._uU(1," Email should be the real one! "),e.qZA())}function V(n,r){if(1&n&&(e.ynx(0),e.YNc(1,z,2,0,"p",36),e.YNc(2,B,2,0,"p",36),e.BQk()),2&n){e.oxw();const t=e.MAs(24);e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.required),e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.pattern)}}function j(n,r){1&n&&(e.TgZ(0,"p",37),e._uU(1," Password is required! "),e.qZA())}function W(n,r){if(1&n&&(e.TgZ(0,"p",37),e._uU(1),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.AsE(" Password should contain from ",t.getConfigValue("forms.validation.password.minLength")," to ",t.getConfigValue("forms.validation.password.maxLength")," characters ")}}function H(n,r){if(1&n&&(e.ynx(0),e.YNc(1,j,2,0,"p",36),e.YNc(2,W,2,2,"p",36),e.BQk()),2&n){e.oxw();const t=e.MAs(33);e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.required),e.xp6(1),e.Q6J("ngIf",(null==t.errors?null:t.errors.minlength)||(null==t.errors?null:t.errors.maxlength))}}function K(n,r){if(1&n){const t=e.EpF();e.TgZ(0,"nb-checkbox",38),e.NdJ("ngModelChange",function(i){return e.CHM(t),e.oxw().user.rememberMe=i}),e._uU(1,"Remember me"),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("ngModel",t.user.rememberMe)}}function $(n,r){if(1&n&&(e.TgZ(0,"nb-alert",30)(1,"p",31)(2,"b"),e._uU(3,"LettsGroup sign-in failed"),e.qZA()(),e.TgZ(4,"p",34),e._uU(5),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Oqu(t.lettsGroupError)}}let I=(()=>{class n extends c.Yx{constructor(t,o,i,s,l,g,h,f,A,P,q,Z){super(o,s,l,A),this.fb=t,this.titleService=i,this.analyticsService=g,this.ngxLoader=h,this.lettsGroupAuth=f,this.route=P,this.afAuth=q,this.userService=Z,this.nextPage=null,this.hasHandledRedirect=!1,this.lettsGroupError=null,this.isCreator=!1,this.authRedirectTypeKey="authRedirectRegisterType",this.lettsGroupOnlyAccountMessage="This email is registered with LettsGroup. Please use Continue with LettsGroup to sign in.",this.titleService.setTitle("Login - LettsArt")}loginWithSocial(t){this.service.authenticate(t).pipe((0,w.q)(1)).subscribe(o=>{o.isSuccess()&&((0,_.iR)("undefined"!=typeof localStorage?localStorage:void 0),this.navigateToNextPageIfNeeded(!0))})}login(){var t=this;this.errors=[],this.messages=[],this.submitted=!0,this.service.authenticate(this.strategy,this.user).pipe((0,w.q)(1)).subscribe(function(){var o=(0,C.Z)(function*(i){t.submitted=!1,i.isSuccess()?(t.messages=i.getMessages(),(0,_.iR)("undefined"!=typeof localStorage?localStorage:void 0),t.navigateToNextPageIfNeeded(!0)):(t.errors=i.getErrors(),yield t.showLettsGroupAccountPromptIfNeeded())});return function(i){return o.apply(this,arguments)}}())}showLettsGroupAccountPromptIfNeeded(){var t=this;return(0,C.Z)(function*(){var o;(yield t.userService.getLettsGroupOnlyAccountByEmail(null===(o=t.user)||void 0===o?void 0:o.email))&&(t.errors=[t.lettsGroupOnlyAccountMessage])})()}ngOnInit(){this.releaseBodyScrollLock(),this.route.queryParams.subscribe(t=>{const o=t["register-type"];o&&"undefined"!=typeof sessionStorage?(sessionStorage.setItem(this.authRedirectTypeKey,o),this.isCreator="creator"===o):"undefined"!=typeof sessionStorage&&(sessionStorage.removeItem(this.authRedirectTypeKey),this.isCreator=!1),this.nextPage=t.nextpage||("undefined"!=typeof sessionStorage?sessionStorage.getItem("nextPage"):null),this.nextPage&&"undefined"!=typeof sessionStorage&&sessionStorage.setItem("nextPage",this.nextPage)}),this.afAuth.authState.subscribe(t=>{t&&this.navigateToNextPageIfNeeded(!1)}),this.analyticsService.pageView("Login")}onLettsGroupError(t){this.lettsGroupError=t}onLettsGroupCompleted(){(0,_.iR)("undefined"!=typeof localStorage?localStorage:void 0),this.navigateToNextPageIfNeeded(!0)}loginWithGoogle(){this.loginWithSocial("google")}getPendingNextPage(){return this.nextPage?this.nextPage:"undefined"!=typeof sessionStorage?sessionStorage.getItem("nextPage"):null}navigateToNextPageIfNeeded(t){if(this.hasHandledRedirect)return;const o=this.getPendingNextPage(),i=o||(t?this.isCreator?"/home/artist-signup":"/home":null);!i||i===this.router.url||(this.hasHandledRedirect=!0,this.ngxLoader.stopAll(),this.router.navigateByUrl(i),o&&"undefined"!=typeof sessionStorage&&sessionStorage.removeItem("nextPage"),"undefined"!=typeof sessionStorage&&sessionStorage.removeItem(this.authRedirectTypeKey),this.nextPage=null)}releaseBodyScrollLock(){"undefined"!=typeof document&&(this.ngxLoader.stopAll(),document.body.style.overflow="",document.body.style.position="",document.body.style.width="",document.body.style.top="",document.body.style.left="",document.body.style.right="",document.documentElement.style.overflow="",document.documentElement.style.position="",document.body.classList.remove("cdk-global-scrollblock"),document.documentElement.classList.remove("cdk-global-scrollblock"),document.querySelectorAll(".cdk-overlay-backdrop, .cdk-overlay-dark-backdrop, .overlay-backdrop, .ngx-overlay").forEach(t=>{const o=t;o.style.display="none",o.remove()}))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(a.qu),e.Y36(c._o),e.Y36(M.Dx),e.Y36(c.h),e.Y36(e.sBO),e.Y36(L.B),e.Y36(T.LA),e.Y36(x.C),e.Y36(d.F0),e.Y36(d.gz),e.Y36(y.zQ),e.Y36(U.K))},n.\u0275cmp=e.Xpm({type:n,selectors:[["ngx-login"]],features:[e.qOj],decls:45,vars:19,consts:[[1,"auth-page"],[1,"auth-brand"],["src","/assets/images/lettsart.jpg","alt","LettsArt"],["id","title",1,"title","auth-title"],[1,"sub-title","auth-subtitle"],["aria-label","Provider sign in",1,"auth-providers"],["flow","login","title","Continue with LettsGroup",3,"errorChange","completed"],["type","button",1,"auth-provider-button","auth-
1provider-button--google",3,"click"],["src","/assets/images/social/google-favicon.ico","alt","",1,"auth-provider-button__icon"],[1,"auth-divider"],["outline","danger","role","alert",4,"ngIf"],["outline","success","role","alert",4,"ngIf"],["aria-labelledby","title",1,"auth-form",3,"ngSubmit"],["form","ngForm"],[1,"form-control-group"],["for","input-email",1,"label"],["nbInput","","fullWidth","","name","email","id","input-email","pattern",".+@.+\\..+","placeholder","Email address","fieldSize","large","autofocus","",3,"ngModel","status","required","ngModelChange"],["email","ngModel"],[4,"ngIf"],[1,"label-with-link"],["for","input-password",1,"label"],["routerLink","../request-password",1,"forgot-password","caption-2"],["nbInput","","fullWidth","","name","password","type","password","id","input-password","placeholder","Password","fieldSize","large",3,"ngModel","status","required","minlength","maxlength","ngModelChange"],["password","ngModel"],[1,"form-control-group","accept-group"],["name","rememberMe",3,"ngModel","ngModelChange",4,"ngIf"],[2,"display","flex","justify-content","center","flex-direction","row","margin-bottom","30px"],["type","submit","fullWidth","","status","primary","size","large",1,"btn","btn-primary",3,"disabled"],["aria-label","Register",1,"another-action"],["routerLink","../register",1,"text-link"],["outline","danger","role","alert"],[1,"alert-title"],[1,"alert-message-list"],["class","alert-message",4,"ngFor","ngForOf"],[1,"alert-message"],["outline","success","role","alert"],["class","caption status-danger",4,"ngIf"],[1,"caption","status-danger"],["name","rememberMe",3,"ngModel","ngModelChange"]],template:function(t,o){if(1&t&&(e.TgZ(0,"div",0)(1,"div",1),e._UZ(2,"img",2),e.qZA(),e.TgZ(3,"h2",3),e._uU(4,"Welcome back"),e.qZA(),e.TgZ(5,"p",4),e._uU(6,"Choose a sign-in method for LettsArt, or use your email and password below."),e.qZA(),e.TgZ(7,"section",5)(8,"app-lettsgroup-widget",6),e.NdJ("errorChange",function(s){return o.onLettsGroupError(s)})("completed",function(){return o.onLettsGroupCompleted()}),e.qZA(),e.TgZ(9,"button",7),e.NdJ("click",function(){return o.loginWithGoogle()}),e._UZ(10,"img",8),e.TgZ(11,"span"),e._uU(12,"Continue with Google"),e.qZA()()(),e.TgZ(13,"div",9)(14,"span"),e._uU(15,"or continue with email"),e.qZA()(),e.YNc(16,Q,6,1,"nb-alert",10),e.YNc(17,E,6,1,"nb-alert",11),e.TgZ(18,"form",12,13),e.NdJ("ngSubmit",function(){return o.login()}),e.TgZ(20,"div",14)(21,"label",15),e._uU(22,"Email address:"),e.qZA(),e.TgZ(23,"input",16,17),e.NdJ("ngModelChange",function(s){return o.user.email=s}),e.qZA(),e.YNc(25,V,3,2,"ng-container",18),e.qZA(),e.TgZ(26,"div",14)(27,"span",19)(28,"label",20),e._uU(29,"Password:"),e.qZA(),e.TgZ(30,"a",21),e._uU(31,"Forgot Password?"),e.qZA()(),e.TgZ(32,"input",22,23),e.NdJ("ngModelChange",function(s){return o.user.password=s}),e.qZA(),e.YNc(34,H,3,2,"ng-container",18),e.qZA(),e.TgZ(35,"div",24),e.YNc(36,K,2,1,"nb-checkbox",25),e.qZA(),e.TgZ(37,"div",26)(38,"button",27),e._uU(39," Log In "),e.qZA()()(),e.YNc(40,$,6,1,"nb-alert",10),e.TgZ(41,"section",28),e._uU(42," Don't have an account? "),e.TgZ(43,"a",29),e._uU(44,"Register"),e.qZA()()()),2&t){const i=e.MAs(19),s=e.MAs(24),l=e.MAs(33);e.xp6(16),e.Q6J("ngIf",o.showMessages.error&&(null==o.errors?null:o.errors.length)&&!o.submitted),e.xp6(1),e.Q6J("ngIf",o.showMessages.success&&(null==o.messages?null:o.messages.length)&&!o.submitted),e.xp6(6),e.Q6J("ngModel",o.user.email)("status",s.dirty?s.invalid?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.email.required")),e.uIk("aria-invalid",!(!s.invalid||!s.touched)||null),e.xp6(2),e.Q6J("ngIf",s.invalid&&s.touched),e.xp6(7),e.Q6J("ngModel",o.user.password)("status",l.dirty?l.invalid?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.password.required"))("minlength",o.getConfigValue("forms.validation.password.minLength"))("maxlength",o.getConfigValue("forms.validation.password.maxLength")),e.uIk("aria-invalid",!(!l.invalid||!l.touched)||null),e.xp6(2),e.Q6J("ngIf",l.invalid&&l.touched),e.xp6(2),e.Q6J("ngIf",o.rememberMe),e.xp6(2),e.ekj("btn-pulse",o.submitted),e.Q6J("disabled",o.submitted||!i.valid),e.xp6(2),e.Q6J("ngIf",o.lettsGroupError)}},directives:[k,m.O5,p.$9b,m.sg,a._Y,a.JL,a.F,p.h8i,a.Fj,a.c5,a.JJ,a.On,a.Q7,d.yS,a.wO,a.nD,p.NTf],styles:['.auth-page[_ngcontent-%COMP%]{max-width:30rem;margin:0 auto}.auth-brand[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-brand[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:138px;height:auto}.auth-title[_ngcontent-%COMP%]{color:#364152;text-align:center;margin-bottom:.5rem}.auth-subtitle[_ngcontent-%COMP%]{text-align:center;color:#526275;margin-bottom:1.5rem;line-height:1.6}.auth-providers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.25rem}.auth-provider-button[_ngcontent-%COMP%]{display:inline-flex;width:100%;min-height:3.25rem;align-items:center;justify-content:center;gap:.75rem;border-radius:14px;border:1px solid rgba(130,147,170,.35);background:#ffffff;color:#101828;font-size:1rem;font-weight:600;padding:.9rem 1.1rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 12px 28px #0f172a14}.auth-provider-button[_ngcontent-%COMP%]:hover:not(:disabled), .auth-provider-button[_ngcontent-%COMP%]:focus-visible{transform:translateY(-1px);box-shadow:0 16px 34px #0f172a1f;border-color:#8293aa8c}.auth-provider-button__icon[_ngcontent-%COMP%]{width:20px;height:20px;object-fit:contain;flex:0 0 auto}.auth-provider-button--google[_ngcontent-%COMP%]{background:linear-gradient(180deg,#ffffff,#f8fafc)}.auth-divider[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;color:#667085;font-size:.93rem}.auth-divider[_ngcontent-%COMP%]:before, .auth-divider[_ngcontent-%COMP%]:after{content:"";flex:1 1 auto;height:1px;background:rgba(130,147,170,.3)}.auth-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.auth-footnote[_ngcontent-%COMP%]{margin-top:1rem;text-align:center;color:#667085;font-size:.92rem;line-height:1.5}@media (max-width: 640px){.auth-page[_ngcontent-%COMP%]{max-width:none}.auth-provider-button[_ngcontent-%COMP%]{min-height:3.5rem;font-size:.98rem}}']}),n})();function D(n,r){1&n&&(e.TgZ(0,"h2",31),e._uU(1,"Create your creator account"),e.qZA())}function X(n,r){1&n&&(e.TgZ(0,"h2",32),e._uU(1,"Create your account"),e.qZA())}function ee(n,r){if(1&n&&(e.TgZ(0,"li",37),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function te(n,r){if(1&n&&(e.TgZ(0,"nb-alert",33)(1,"p",34)(2,"b"),e._uU(3,"Oh snap!"),e.qZA()(),e.TgZ(4,"ul",35),e.YNc(5,ee,2,1,"li",36),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.errors)}}function ne(n,r){if(1&n&&(e.TgZ(0,"li",37),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function oe(n,r){if(1&n&&(e.TgZ(0,"nb-alert",38)(1,"p",34)(2,"b"),e._uU(3,"Hooray!"),e.qZA()(),e.TgZ(4,"ul",35),e.YNc(5,ne,2,1,"li",36),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.messages)}}function re(n,r){1&n&&(e.TgZ(0,"p",40),e._uU(1," Email is required! "),e.qZA())}function se(n,r){1&n&&(e.TgZ(0,"p",40),e._uU(1," Email should be the real one! "),e.qZA())}function ie(n,r){if(1&n&&(e.ynx(0),e.YNc(1,re,2,0,"p",39),e.YNc(2,se,2,0,"p",39),e.BQk()),2&n){e.oxw();const t=e.MAs(24);e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.required),e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.pattern)}}function ae(n,r){1&n&&(e.TgZ(0,"p",40),e._uU(1," Password is required! "),e.qZA())}function le(n,r){if(1&n&&(e.TgZ(0,"p",40),e._uU(1),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.AsE(" Password should contain from ",t.getConfigValue("forms.validation.password.minLength")," to ",t.getConfigValue("forms.validation.password.maxLength")," characters ")}}function ue(n,r){if(1&n&&(e.ynx(0),e.YNc(1,ae,2,0,"p",39),e.YNc(2,le,2,2,"p",39),e.BQk()),2&n){e.oxw();const t=e.MAs(30);e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.required),e.xp6(1),e.Q6J("ngIf",(null==t.errors?null:t.errors.minlength)||(null==t.errors?null:t.errors.maxlength))}}function ge(n,r){1&n&&(e.TgZ(0,"p",40),e._uU(1," Password confirmation is required! "),e.qZA())}function de(n,r){1&n&&(e.TgZ(0,"p",40),e._uU(1," Password does not match the confirm password. "),e.qZA())}function ce(n,r){if(1&n&&(e.ynx(0),e.YNc(1,ge,2,0,"p",39),e.YNc(2,de,2,0,"p",39),e.BQk()),2&n){e.oxw();const t=e.MAs(36),o=e.MAs(30);e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.required),e.xp6(1),e.Q6J("ngIf",o.value!=t.value&&!(null!=t.errors&&t.errors.required))}}function pe(n,r){if(1&n){const t=e.EpF();e.TgZ(0,"div",41)(1,"nb-checkbox",42),e.NdJ("ngModelChange",function(i){return e.CHM(t),e.oxw().user.terms=i}),e._uU(2," Agree to "),e.TgZ(3,"a",43)(4,"strong"),e._uU(5,"Terms & Conditions"),e.qZA()()()()}if(2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngModel",t.user.terms)("required",t.getConfigValue("forms.register.terms"))}}function me(n,r){if(1&n&&(e.TgZ(0,"nb-alert",33)(1,"p",34)(2,"b"),e._uU(3,"LettsGroup registration failed"),e.qZA()(),e.TgZ(4,"p",37),e._uU(5),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Oqu(t.lettsGroupError)}}let he=(()=>{class n extends c.eV{constructor(t,o,i,s,l,g,h,f,A,P,q){super(o,s,l,A),this.fb=t,this.titleService=i,this.analyticsService=g,this.ngxLoader=h,this.lettsGroupAuth=f,this.afAuth=P,this.route=q,this.nextPage=null,this.hasHandledRedirect=!1,this.lettsGroupError=null,this.authRedirectTypeKey="authRedirectRegisterType",this.duplicateEmailMessage="This email already has an account. Log in with your password, or continue with LettsGroup if your account is linked there.",this.isCreator=!1,this.titleService.setTitle("Register - LettsArt"),this.afAuth.authState.subscribe(Z=>{Z&&(this.fbUser=Z,this.navigateToNextPageIfNeeded(!1))})}loginWithSocial(t){this.service.authenticate(t).pipe((0,w.q)(1)).subscribe(o=>{o.isSuccess()&&((0,_.iR)("undefined"!=typeof localStorage?localStorage:void 0),this.navigateToNextPageIfNeeded(!0))})}ngOnInit(){this.releaseBodyScrollLock(),this.analyticsService.pageView("register"),this.route.queryParams.subscribe(t=>{const o=t["register-type"];o?(sessionStorage.setItem("registerType",o),sessionStorage.setItem(this.authRedirectTypeKey,o),"creator"==o&&(this.isCreator=!0)):"undefined"!=typeof sessionStorage&&(sessionStorage.removeItem(this.authRedirectTypeKey),this.isCreator=!1);const i=t.email;i&&(this.user.email=i),this.nextPage=t.nextpage||("undefined"!=typeof sessionStorage?sessionStorage.getItem("nextPage"):null),this.nextPage&&"undefined"!=typeof sessionStorage&&sessionStorage.setItem("nextPage",this.nextPage),this.navigateToNextPageIfNeeded(!1)})}register(){var t=this;return(0,C.Z)(function*(){t.user.password==t.user.confirmPassword?(t.errors=[],t.messages=[],t.submitted=!0,t.service.register(t.strategy,t.user).pipe((0,w.q)(1)).subscribe(o=>{t.submitted=!1,o.isSuccess()?(t.messages=o.getMessages(),(0,_.iR)("undefined"!=typeof localStorage?localStorage:void 0),t.navigateToNextPageIfNeeded(!0)):t.errors=t.getSafeRegistrationErrors(o.getErrors())})):t.errors.push("Passwords do not match")})()}onLettsGroupError(t){this.lettsGroupError=t}onLettsGroupCompleted(){(0,_.iR)("undefined"!=typeof localStorage?localStorage:void 0),this.navigateToNextPageIfNeeded(!0)}registerWithGoogle(){this.loginWithSocial("google")}getPendingNextPage(){return this.nextPage?this.nextPage:"undefined"!=typeof sessionStorage?sessionStorage.getItem("nextPage"):null}navigateToNextPageIfNeeded(t){if(this.hasHandledRedirect||!this.fbUser)return;const o=this.getPendingNextPage(),i=o||(t?this.isCreator?"/home/artist-signup":"/home":null);!i||i===this.router.url||(this.hasHandledRedirect=!0,this.ngxLoader.stopAll(),this.router.navigateByUrl(i),o&&"undefined"!=typeof sessionStorage&&sessionStorage.removeItem("nextPage"),"undefined"!=typeof sessionStorage&&sessionStorage.removeItem(this.authRedirectTypeKey),this.nextPage=null)}releaseBodyScrollLock(){"undefined"!=typeof document&&(this.ngxLoader.stopAll(),document.body.style.overflow="",document.body.style.position="",document.body.style.width="",document.body.style.top="",document.body.style.left="",document.body.style.right="",document.documentElement.style.overflow="",document.documentElement.style.position="",document.body.classList.remove("cdk-global-scrollblock"),document.documentElement.classList.remove("cdk-global-scrollblock"),document.querySelectorAll(".cdk-overlay-backdrop, .cdk-overlay-dark-backdrop, .overlay-backdrop, .ngx-overlay").forEach(t=>{const o=t;o.style.display="none",o.remove()}))}getSafeRegistrationErrors(t){return t.some(o=>/email.*already|already.*email|email-already-in-use|already.*account/i.test(o))?[this.duplicateEmailMessage]:t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(a.qu),e.Y36(c._o),e.Y36(M.Dx),e.Y36(c.h),e.Y36(e.sBO),e.Y36(L.B),e.Y36(T.LA),e.Y36(x.C),e.Y36(d.F0),e.Y36(y.zQ),e.Y36(d.gz))},n.\u0275cmp=e.Xpm({type:n,selectors:[["ngx-register"]],features:[e.qOj],decls:47,vars:26,consts:[[1,"auth-page"],[1,"auth-brand"],["src","/assets/images/lettsart.jpg","alt","LettsArt"],["id","titleCreator","class","title auth-title",4,"ngIf"],["id","title","class","title auth-title",4,"ngIf"],[1,"sub-title","auth-subtitle"],["aria-label","Provider registration",1,"auth-providers"],["flow","register","title","Continue with LettsGroup",3,"errorChange","completed"],["type","button",1,"auth-provider-button","auth-
1provider-button--google",3,"click"],["src","/assets/images/social/google-favicon.ico","alt","",1,"auth-provider-button__icon"],[1,"auth-divider"],["outline","danger","role","alert",4,"ngIf"],["outline","success","role","alert",4,"ngIf"],["aria-labelledby","title",1,"auth-form",3,"ngSubmit"],["form","ngForm"],[1,"form-control-group"],["for","input-email",1,"label"],["nbInput","","id","input-email","name","email","pattern",".+@.+..+","placeholder","Email address","fullWidth","","fieldSize","large",3,"ngModel","status","required","ngModelChange"],["email","ngModel"],[4,"ngIf"],["for","input-password",1,"label"],["nbInput","","type","password","id","input-password","name","password","placeholder","Password","fullWidth","","fieldSize","large",3,"ngModel","status","required","minlength","maxlength","ngModelChange"],["password","ngModel"],["for","input-re-password",1,"label"],["nbInput","","type","password","id","input-re-password","name","rePass","placeholder","Confirm Password","fullWidth","","fieldSize","large",3,"ngModel","status","required","ngModelChange"],["rePass","ngModel"],["class","form-control-group accept-group",4,"ngIf"],[2,"display","flex","justify-content","center","flex-direction","row","margin-bottom","30px"],["type","submit","fullWidth","","status","primary","size","large",1,"btn","btn-primary",3,"disabled"],["aria-label","Sign in",1,"another-action"],["routerLink","../login",1,"text-link"],["id","titleCreator",1,"title","auth-title"],["id","title",1,"title","auth-title"],["outline","danger","role","alert"],[1,"alert-title"],[1,"alert-message-list"],["class","alert-message",4,"ngFor","ngForOf"],[1,"alert-message"],["outline","success","role","alert"],["class","caption status-danger",4,"ngIf"],[1,"caption","status-danger"],[1,"form-control-group","accept-group"],["name","terms",3,"ngModel","required","ngModelChange"],["routerLink","/home/tos","target","_blank"]],template:function(t,o){if(1&t&&(e.TgZ(0,"div",0)(1,"div",1),e._UZ(2,"img",2),e.qZA(),e.YNc(3,D,2,0,"h2",3),e.YNc(4,X,2,0,"h2",4),e.TgZ(5,"p",5),e._uU(6,"Start with Google or LettsGroup, or create a LettsArt password below."),e.qZA(),e.TgZ(7,"section",6)(8,"app-lettsgroup-widget",7),e.NdJ("errorChange",function(s){return o.onLettsGroupError(s)})("completed",function(){return o.onLettsGroupCompleted()}),e.qZA(),e.TgZ(9,"button",8),e.NdJ("click",function(){return o.registerWithGoogle()}),e._UZ(10,"img",9),e.TgZ(11,"span"),e._uU(12,"Continue with Google"),e.qZA()()(),e.TgZ(13,"div",10)(14,"span"),e._uU(15,"or register with email"),e.qZA()(),e.YNc(16,te,6,1,"nb-alert",11),e.YNc(17,oe,6,1,"nb-alert",12),e.TgZ(18,"form",13,14),e.NdJ("ngSubmit",function(){return o.register()}),e.TgZ(20,"div",15)(21,"label",16),e._uU(22,"Email address:"),e.qZA(),e.TgZ(23,"input",17,18),e.NdJ("ngModelChange",function(s){return o.user.email=s}),e.qZA(),e.YNc(25,ie,3,2,"ng-container",19),e.qZA(),e.TgZ(26,"div",15)(27,"label",20),e._uU(28,"Password:"),e.qZA(),e.TgZ(29,"input",21,22),e.NdJ("ngModelChange",function(s){return o.user.password=s}),e.qZA(),e.YNc(31,ue,3,2,"ng-container",19),e.qZA(),e.TgZ(32,"div",15)(33,"label",23),e._uU(34,"Repeat password:"),e.qZA(),e.TgZ(35,"input",24,25),e.NdJ("ngModelChange",function(s){return o.user.confirmPassword=s}),e.qZA(),e.YNc(37,ce,3,2,"ng-container",19),e.qZA(),e.YNc(38,pe,6,2,"div",26),e.TgZ(39,"div",27)(40,"button",28),e._uU(41," Register "),e.qZA()()(),e.YNc(42,me,6,1,"nb-alert",11),e.TgZ(43,"section",29),e._uU(44," Already have an account? "),e.TgZ(45,"a",30),e._uU(46,"Log in"),e.qZA()()()),2&t){const i=e.MAs(19),s=e.MAs(24),l=e.MAs(30),g=e.MAs(36);e.xp6(3),e.Q6J("ngIf",o.isCreator),e.xp6(1),e.Q6J("ngIf",!o.isCreator),e.xp6(12),e.Q6J("ngIf",o.showMessages.error&&(null==o.errors?null:o.errors.length)&&!o.submitted),e.xp6(1),e.Q6J("ngIf",o.showMessages.success&&(null==o.messages?null:o.messages.length)&&!o.submitted),e.xp6(6),e.Q6J("ngModel",o.user.email)("status",s.dirty?s.invalid?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.email.required")),e.uIk("aria-invalid",!(!s.invalid||!s.touched)||null),e.xp6(2),e.Q6J("ngIf",s.invalid&&s.touched),e.xp6(4),e.Q6J("ngModel",o.user.password)("status",l.dirty?l.invali
1d?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.password.required"))("minlength",o.getConfigValue("forms.validation.password.minLength"))("maxlength",o.getConfigValue("forms.validation.password.maxLength")),e.uIk("aria-invalid",!(!l.invalid||!l.touched)||null),e.xp6(2),e.Q6J("ngIf",l.invalid&&l.touched),e.xp6(4),e.Q6J("ngModel",o.user.confirmPassword)("status",g.dirty?g.invalid||l.value!=g.value?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.password.required")),e.uIk("aria-invalid",!(!g.invalid||!g.touched)||null),e.xp6(2),e.Q6J("ngIf",g.invalid&&g.touched),e.xp6(1),e.Q6J("ngIf",o.getConfigValue("forms.register.terms")),e.xp6(2),e.ekj("btn-pulse",o.submitted),e.Q6J("disabled",o.submitted||!i.valid||g.invalid),e.xp6(2),e.Q6J("ngIf",o.lettsGroupError)}},directives:[m.O5,k,p.$9b,m.sg,a._Y,a.JL,a.F,p.h8i,a.Fj,a.c5,a.JJ,a.On,a.Q7,a.wO,a.nD,p.NTf,d.yS],styles:['.auth-page[_ngcontent-%COMP%]{max-width:30rem;margin:0 auto}.auth-brand[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-brand[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:138px;height:auto}.auth-title[_ngcontent-%COMP%]{color:#364152;text-align:center;margin-bottom:.5rem}.auth-subtitle[_ngcontent-%COMP%]{text-align:center;color:#526275;margin-bottom:1.5rem;line-height:1.6}.auth-providers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.25rem}.auth-provider-button[_ngcontent-%COMP%]{display:inline-flex;width:100%;min-height:3.25rem;align-items:center;justify-content:center;gap:.75rem;border-radius:14px;border:1px solid rgba(130,147,170,.35);background:#ffffff;color:#101828;font-size:1rem;font-weight:600;padding:.9rem 1.1rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 12px 28px #0f172a14}.auth-provider-button[_ngcontent-%COMP%]:hover:not(:disabled), .auth-provider-button[_ngcontent-%COMP%]:focus-visible{transform:translateY(-1px);box-shadow:0 16px 34px #0f172a1f;border-color:#8293aa8c}.auth-provider-button__icon[_ngcontent-%COMP%]{width:20px;height:20px;object-fit:contain;flex:0 0 auto}.auth-provider-button--google[_ngcontent-%COMP%]{background:linear-gradient(180deg,#ffffff,#f8fafc)}.auth-divider[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;color:#667085;font-size:.93rem}.auth-divider[_ngcontent-%COMP%]:before, .auth-divider[_ngcontent-%COMP%]:after{content:"";flex:1 1 auto;height:1px;background:rgba(130,147,170,.3)}.auth-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.auth-footnote[_ngcontent-%COMP%]{margin-top:1rem;text-align:center;color:#667085;font-size:.92rem;line-height:1.5}@media (max-width: 640px){.auth-page[_ngcontent-%COMP%]{max-width:none}.auth-provider-button[_ngcontent-%COMP%]{min-height:3.5rem;font-size:.98rem}}']}),n})();function fe(n,r){if(1&n&&(e.TgZ(0,"li",23),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function _e(n,r){if(1&n&&(e.TgZ(0,"nb-alert",19)(1,"p",20)(2,"b"),e._uU(3,"Oh snap!"),e.qZA()(),e.TgZ(4,"ul",21),e.YNc(5,fe,2,1,"li",22),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.errors)}}function xe(n,r){if(1&n&&(e.TgZ(0,"li",23),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function be(n,r){if(1&n&&(e.TgZ(0,"nb-alert",24)(1,"p",20)(2,"b"),e._uU(3,"Hooray!"),e.qZA()(),e.TgZ(4,"ul",21),e.YNc(5,xe,2,1,"li",22),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.messages)}}function Ce(n,r){1&n&&(e.TgZ(0,"p",26),e._uU(1," Password is required! "),e.qZA())}function we(n,r){if(1&n&&(e.TgZ(0,"p",26),e._uU(1),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.AsE(" Password should contains from ",t.getConfigValue("forms.validation.password.minLength")," to ",t.getConfigValue("forms.validation.password.maxLength")," characters ")}}function ve(n,r){if(1&n&&(e.ynx(0),e.YNc(1,Ce,2,0,"p",25),e.YNc(2,we,2,2,"p",25),e.BQk()),2&n){e.oxw();const t=e.MAs(12);e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.required),e.xp6(1),e.Q6J("ngIf",(null==t.errors?null:t.errors.minlength)||(null==t.errors?null:t.errors.maxlength))}}function ye(n,r){1&n&&(e.TgZ(0,"p",26),e._uU(1," Password confirmation is required! "),e.qZA())}function Ze(n,r){1&n&&(e.TgZ(0,"p",26),e._uU(1," Password does not match the confirm password. "),e.qZA())}function Te(n,r){if(1&n&&(e.ynx(0),e.YNc(1,ye,2,0,"p",25),e.YNc(2,Ze,2,0,"p",25),e.BQk()),2&n){e.oxw();const t=e.MAs(18),o=e.MAs(12);e.xp6(1),e.Q6J("ngIf",t.invalid&&(null==t.errors?null:t.errors.required)),e.xp6(1),e.Q6J("ngIf",o.value!=t.value&&!(null!=t.errors&&t.errors.required))}}let Ae=(()=>{class n{constructor(t,o,i={},s,l,g,h){this.afAuth=t,this.service=o,this.options=i,this.cd=s,this.fb=l,this.router=g,this.activatedRoute=h,this.minLength=this.getConfigValue("forms.validation.password.minLength"),this.maxLength=this.getConfigValue("forms.validation.password.maxLength"),this.redirectDelay=this.getConfigValue("forms.resetPassword.redirectDelay"),this.showMessages=this.getConfigValue("forms.resetPassword.showMessages"),this.strategy=this.getConfigValue("forms.resetPassword.strategy"),this.isPasswordRequired=this.getConfigValue("forms.validation.password.required"),this.oobCode="",this.submitted=!1,this.errors=[],this.messages=[],this.user={},this.resetPasswordForm=this.fb.group({password:null,confirmPassword:null})}ngOnInit(){const t=[a.kI.minLength(this.minLength),a.kI.maxLength(this.maxLength)];this.isPasswordRequired&&t.push(a.kI.required),this.resetPasswordForm=this.fb.group({password:this.fb.control("",[...t]),confirmPassword:this.fb.control("",[...t])}),this.activatedRoute.queryParams.subscribe(o=>{this.oobCode=o.oobCode})}get password(){return this.resetPasswordForm.get("password")}get confirmPassword(){return this.resetPasswordForm.get("confirmPassword")}getConfigValue(t){return(0,c.hB)(this.options,t,null)}resetPass(){this.errors=this.messages=[],this.submitted=!0,this.afAuth.confirmPasswordReset(this.oobCode,this.user.password).then(t=>{this.submitted=!1,setTimeout(()=>this.router.navigateByUrl("/auth/login"),this.redirectDelay)})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(y.zQ),e.Y36(c._o),e.Y36(c.h),e.Y36(e.sBO),e.Y36(a.qu),e.Y36(d.F0),e.Y36(d.gz))},n.\u0275cmp=e.Xpm({type:n,selectors:[["ngx-reset-password"]],decls:29,vars:17,consts:[["id","title",1,"title"],[1,"sub-title"],["outline","danger","role","alert",4,"ngIf"],["outline","success","role","alert",4,"ngIf"],["aria-labelledby","title",3,"ngSubmit"],["resetPassForm","ngForm"],[1,"form-control-group"],["for","input-password",1,"label"],["nbInput","","type","password","id","input-password","name","password","placeholder","New Password","autofocus","","fullWidth","","fieldSize","large",1,"first",3,"ngModel","status","required","minlength","maxlength","ngModelChange"],["password","ngModel"],[4,"ngIf"],[1,"form-group"],["for","input-re-password",1,"label"],["nbInput","","id","input-re-password","name","rePass","type","password","placeholder","Confirm Password","fullWidth","","fieldSize","large",1,"last",3,"ngModel","status","required","ngModelChange"],["rePass","ngModel"],["type","submit","status","primary","fullWidth","","size","large",1,"btn","btn-primary",2,"margin-top","20px",3,"disabled"],["aria-label","Sign in or sign up",1,"sign-in-or-up"],["routerLink","../login",1,"text-link"],["routerLink","../register",1,"text-link"],["outline","danger","role","alert"],[1,"alert-title"],[1,"alert-message-list"],["class","alert-message",4,"ngFor","ngForOf"],[1,"alert-message"],["outline","success","role","alert"],["class","caption status-danger",4,"ngIf"],[1,"caption","status-danger"]],template:function(t,o){if(1&t&&(e.TgZ(0,"h1",0),e._uU(1,"Change password"),e.qZA(),e.TgZ(2,"p",1),e._uU(3,"Please set a new password"),e.qZA(),e.YNc(4,_e,6,1,"nb-alert",2),e.YNc(5,be,6,1,"nb-alert",3),e.TgZ(6,"form",4,5),e.NdJ("ngSubmit",function(){return o.resetPass()}),e.TgZ(8,"div",6)(9,"label",7),e._uU(10,"New Password:"),e.qZA(),e.TgZ(11,"input",8,9),e.NdJ("ngModelChange",function(s){return o.user.password=s}),e.qZA(),e.YNc(13,ve,3,2,"ng-container",10),e.qZA(),e.TgZ(14,"div",11)(15,"label",12),e._uU(16,"Confirm Password:"),e.qZA(),e.TgZ(17,"input",13,14),e.NdJ("ngModelChange",function(s){return o.user.confirmPassword=s}),e.qZA(),e.YNc(19,Te,3,2,"ng-container",10),e.qZA(),e.TgZ(20,"button",15),e._uU(21," Change password "),e.qZA()(),e.TgZ(22,"section",16)(23,"p")(24,"a",17),e._uU(25,"Back to Log In"),e.qZA()(),e.TgZ(26,"p")(27,"a",18),e._uU(28,"Register"),e.qZA()()()),2&t){const i=e.MAs(7),s=e.MAs(12),l=e.MAs(18);e.xp6(4),e.Q6J("ngIf",o.showMessages.error&&(null==o.errors?null:o.errors.length)&&!o.submitted),e.xp6(1),e.Q6J("ngIf",o.showMessages.success&&(null==o.messages?null:o.messages.length)&&!o.submitted),e.xp6(6),e.Q6J("ngModel",o.user.password)("status",s.dirty?s.invalid?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.password.required"))("minlength",o.getConfigValue("forms.validation.password.minLength"))("maxlength",o.getConfigValue("forms.validation.password.maxLength")),e.uIk("aria-invalid",!(!s.invalid||!s.touched)||null),e.xp6(2),e.Q6J("ngIf",s.invalid&&s.touched),e.xp6(4),e.Q6J("ngModel",o.user.confirmPassword)("status",l.touched?l.invali
1d||s.value!=l.value?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.password.required")),e.uIk("aria-invalid",!(!l.invalid||!l.touched)||null),e.xp6(2),e.Q6J("ngIf",l.touched),e.xp6(1),e.ekj("btn-pulse",o.submitted),e.Q6J("disabled",o.submitted||!i.valid)}},directives:[m.O5,p.$9b,m.sg,a._Y,a.JL,a.F,p.h8i,a.Fj,a.JJ,a.On,a.Q7,a.wO,a.nD,d.yS],encapsulation:2}),n})();var Pe=u(655),qe=u(2340),v=u(5620),Ne=u(1492),O=u(4987),Me=u(3078),Le=u(670);let b=class extends c.fG{constructor(r,t,o,i,s,l,g,h){super(t,o,h),this.store=r,this.afAuth=i,this.ngxLoader=s,this.lettsGroupAuth=l,this.authSessionService=g,this.platform=null,this.store.pipe((0,v.Ys)(Ne.ek),(0,O.t)(this)).subscribe(f=>{this.platform=f})}ngOnInit(){var r;!(null===(r=this.platform)||void 0===r?void 0:r.isBrowser)||(this.store.dispatch(new Me.GF(!0)),this.beginCrossGalleryLogout(),this.ngxLoader.stopAll(),this.service.logout("password").pipe((0,w.q)(1)).subscribe({next:()=>{this.finishLogout()},error:()=>{this.finishLogout()}}))}finishLogout(){this.authSessionService.logoutSession().finally(()=>{this.lettsGroupAuth.logout().finally(()=>{this.afAuth.signOut().finally(()=>{this.beginCrossGalleryLogout(),window.location.href="/home"})})})}beginCrossGalleryLogout(){(0,_.LK)(document,window.location.hostname,qe.N.cookieDomain,"undefined"!=typeof localStorage?localStorage:void 0,"undefined"!=typeof sessionStorage?sessionStorage:void 0)}};function ke(n,r){if(1&n&&(e.TgZ(0,"li",20),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function Ie(n,r){if(1&n&&(e.TgZ(0,"nb-alert",16)(1,"p",17)(2,"b"),e._uU(3,"Oh snap!"),e.qZA()(),e.TgZ(4,"ul",18),e.YNc(5,ke,2,1,"li",19),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.errors)}}function Oe(n,r){if(1&n&&(e.TgZ(0,"li",20),e._uU(1),e.qZA()),2&n){const t=r.$implicit;e.xp6(1),e.Oqu(t)}}function Ye(n,r){if(1&n&&(e.TgZ(0,"nb-alert",21)(1,"p",17)(2,"b"),e._uU(3,"Hooray!"),e.qZA()(),e.TgZ(4,"ul",18),e.YNc(5,Oe,2,1,"li",19),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.messages)}}function Ue(n,r){1&n&&(e.TgZ(0,"p",23),e._uU(1," Email is required! "),e.qZA())}function Se(n,r){1&n&&(e.TgZ(0,"p",23),e._uU(1," Email should be the real one! "),e.qZA())}function Re(n,r){if(1&n&&(e.ynx(0),e.YNc(1,Ue,2,0,"p",22),e.YNc(2,Se,2,0,"p",22),e.BQk()),2&n){e.oxw();const t=e.MAs(12);e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.required),e.xp6(1),e.Q6J("ngIf",null==t.errors?null:t.errors.pattern)}}b.\u0275fac=function(r){return new(r||b)(e.Y36(v.yh),e.Y36(c._o),e.Y36(c.h),e.Y36(y.zQ),e.Y36(T.LA),e.Y36(x.C),e.Y36(Le.C),e.Y36(d.F0))},b.\u0275cmp=e.Xpm({type:b,selectors:[["ngx-logout"]],features:[e.qOj],decls:2,vars:0,template:function(r,t){1&r&&(e.TgZ(0,"div"),e._uU(1,"Logging out, please wait..."),e.qZA())},encapsulation:2}),b=(0,Pe.gn)([(0,O.c)()],b);let Je=(()=>{class n extends c.CE{constructor(t,o,i={},s,l,g,h){super(o,i,s,h),this.afAuth=t,this.service=o,this.options=i,this.cd=s,this.fb=l,this.lettsGroupAuth=g,this.router=h}requestPass(){this.errors=this.messages=[],this.submitted=!0,this.afAuth.sendPasswordResetEmail(this.user.email).then(t=>(this.submitted=!1,this.router.navigateByUrl("/auth/login")))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(y.zQ),e.Y36(c._o),e.Y36(c.h),e.Y36(e.sBO),e.Y36(a.qu),e.Y36(x.C),e.Y36(d.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["ngx-request-password"]],features:[e.qOj],decls:26,vars:11,consts:[["id","title",1,"title"],[1,"sub-title"],["outline","danger","role","alert",4,"ngIf"],["outline","success","role","alert",4,"ngIf"],["aria-labelledby","title",3,"ngSubmit"],["requestPassForm","ngForm"],[1,"form-control-group"],["for","input-email",1,"label"],["nbInput","","id","input-email","name","email","pattern",".+@.+\\..+","placeholder","Email address","autofocus","","fullWidth","","fieldSize","large",3,"ngModel","status","required","ngModelChange"],["email","ngModel"],[4,"ngIf"],["type","button","fullWidth","","status","primary","size","large",1,"btn","btn-primary",3,"disabled","click"],["aria-label","Sign in or sign up",1,"sign-in-or-up"],["target","_blank","rel","noopener",1,"text-link",3,"href"],["routerLink","../login",1,"text-link"],["routerLink","../register",1,"text-link"],["outline","danger","role","alert"],[1,"alert-title"],[1,"alert-message-list"],["class","alert-message",4,"ngFor","ngForOf"],[1,"alert-message"],["outline","success","role","alert"],["class","caption status-danger",4,"ngIf"],[1,"caption","status-danger"]],template:function(t,o){if(1&t&&(e.TgZ(0,"h1",0),e._uU(1,"Forgot Password"),e.qZA(),e.TgZ(2,"p",1),e._uU(3,"Enter your email address and we\u2019ll send a link to reset your password"),e.qZA(),e.YNc(4,Ie,6,1,"nb-alert",2),e.YNc(5,Ye,6,1,"nb-alert",3),e.TgZ(6,"form",4,5),e.NdJ("ngSubmit",function(){return o.requestPass()}),e.TgZ(8,"div",6)(9,"label",7),e._uU(10,"Enter your email address:"),e.qZA(),e.TgZ(11,"input",8,9),e.NdJ("ngModelChange",function(s){return o.user.email=s}),e.qZA(),e.YNc(13,Re,3,2,"ng-container",10),e.qZA(),e.TgZ(14,"button",11),e.NdJ("click",function(){return o.requestPass()}),e._uU(15," Request password "),e.qZA()(),e.TgZ(16,"section",12)(17,"p")(18,"a",13),e._uU(19,"Reset a LettsGroup password"),e.qZA()(),e.TgZ(20,"p")(21,"a",14),e._uU(22,"Back to Log In"),e.qZA()(),e.TgZ(23,"p")(24,"a",15),e._uU(25,"Register"),e.qZA()()()),2&t){const i=e.MAs(7),s=e.MAs(12);e.xp6(4),e.Q6J("ngIf",o.showMessages.error&&(null==o.errors?null:o.errors.length)&&!o.submitted),e.xp6(1),e.Q6J("ngIf",o.showMessages.success&&(null==o.messages?null:o.messages.length)&&!o.submitted),e.xp6(6),e.Q6J("ngModel",o.user.email)("status",s.dirty?s.invalid?"danger":"success":"basic")("required",o.getConfigValue("forms.validation.email.required")),e.uIk("aria-invalid",!(!s.invalid||!s.touched)||null),e.xp6(2),e.Q6J("ngIf",s.invalid&&s.touched),e.xp6(1),e.ekj("btn-pulse",o.submitted),e.Q6J("disabled",o.submitted||!i.valid),e.xp6(4),e.Q6J("href",o.lettsGroupAuth.getForgotPasswordUrl(),e.LSH)}},directives:[m.O5,p.$9b,m.sg,a._Y,a.JL,a.F,p.h8i,a.Fj,a.c5,a.JJ,a.On,a.Q7,d.yS],encapsulation:2}),n})();var Y=u(7774);function Ge(n,r){if(1&n&&(e.TgZ(0,"nb-alert",9)(1,"p",10)(2,"b"),e._uU(3,"Unable to link"),e.qZA()(),e.TgZ(4,"p",11),e._uU(5),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Oqu(t.errorMessage)}}function Qe(n,r){if(1&n&&(e.TgZ(0,"nb-alert",12)(1,"p",10)(2,"b"),e._uU(3,"Linked"),e.qZA()(),e.TgZ(4,"p",11),e._uU(5),e.qZA()()),2&n){const t=e.oxw();e.xp6(5),e.Oqu(t.successMessage)}}function Fe(n,r){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"p",3),e._uU(2,"We\u2019ll verify your LettsGroup identity and return you to LettsArt to finish linking."),e.qZA(),e.TgZ(3,"button",13),e.NdJ("click",function(){return e.CHM(t),e.oxw().startLinking()}),e._uU(4,"Link LettsGroup account"),e.qZA()()}}let Ee=(()=>{class n{constructor(t,o,i){this.store=t,this.router=o,this.lettsGroupAuth=i,this.currentUser=null,this.errorMessage=null,this.successMessage=null,this.store.pipe((0,v.Ys)(Y.d)).subscribe(s=>{this.currentUser=s,(null==s?void 0:s.uid)||this.router.navigate(["/auth/login"]),this.isLettsGroupLinked(s)&&(this.successMessage="This LettsArt account is already linked to LettsGroup.")})}isLettsGroupLinked(t=this.currentUser){return!0===(null==t?void 0:t.lettsGroupAuthLinked)}onError(t){this.errorMessage=t,this.successMessage=null}onLinked(){this.errorMessage=null,this.successMessage="Your LettsGroup account is now linked. You can use either sign-in method."}startLinking(){var t=this;return(0,C.Z)(function*(){t.errorMessage=null;try{yield t.lettsGroupAuth.startPopupLogin("link"),t.onLinked()}catch(o){t.onError(o instanceof Error?o.message:"LettsGroup sign-in failed.")}})()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(v.yh),e.Y36(d.F0),e.Y36(x.C))},n.\u0275cmp=e.Xpm({type:n,selectors:[["app-link-lettsgroup"]],decls:12,vars:3,consts:[[2,"display","flex","justify-content","center","flex-direction","row","margin-bottom","30px"],["src","/assets/images/lettsart.jpg","width","150px"],["id","title",1,"title",2,"color","darkgray"],[1,"sub-title"],["outline","danger","role","alert",4,"ngIf"],["outline","success","role","alert",4,"ngIf"],[4,"ngIf"],["aria-label","Back",1,"another-action"],["routerLink","/home",1,"text-link"],["outline","danger","role","alert"],[1,"alert-title"],[1,"alert-message"],["outline","success","role","alert"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(t,o){1&t&&(e.TgZ(0,"div",0),e._UZ(1,"img",1),e.qZA(),e.TgZ(2,"h2",2),e._uU(3,"Link LettsGroup"),e.qZA(),e.TgZ(4,"p",3),e._uU(5,"Link your existing LettsArt account to LettsGroup so you can sign in with either provider."),e.qZA(),e.YNc(6,Ge,6,1,"nb-alert",4),e.YNc(7,Qe,6,1,"nb-alert",5),e.YNc(8,Fe,5,0,"div",6),e.TgZ(9,"section",7)(10,"a",8),e._uU(11,"Back to home"),e.qZA()()),2&t&&(e.xp6(6),e.Q6J("ngIf",o.errorMessage),e.xp6(1),e.Q6J("ngIf",o.successMessage),e.xp6(1),e.Q6J("ngIf",(null==o.currentUser?null:o.currentUser.uid)&&!o.isLettsGroupLinked()))},directives:[m.O5,p.$9b,d.yS],encapsulation:2}),n})();var ze=u(3905);function Be(n,r){1&n&&(e.TgZ(0,"div")(1,"h2",4),e._uU(2,"Completing LettsGroup sign-in"),e.qZA(),e.TgZ(3,"p",5),e._uU(4,"Please wait while we finish your secure sign-in and return you to LettsArt."),e.qZA()())}function Ve(n,r){if(1&n&&(e.TgZ(0,"div")(1,"h2",4),e._uU(2,"LettsGroup sign-in failed"),e.qZA(),e.TgZ(3,"p",5),e._uU(4),e.qZA(),e.TgZ(5,"section",6)(6,"a",7),e._uU(7,"Back to login"),e.qZA()()()),2&n){const t=e.oxw();e.xp6(4),e.Oqu(t.errorMessage)}}const We=[{path:"",component:c.AC,children:[{path:"",component:I},{path:"login",component:I},{path:"register",component:he},{path:"logout",component:b},{path:"request-password",component:Je},{path:"reset-password",component:Ae},{path:"link-lettsgroup",component:Ee},{path:"lettsgroup-callback",component:(()=>{class n{constructor(t,o,i,s){this.route=t,this.router=o,this.lettsGroupAuth=i,this.store=s,this.status="processing",this.errorMessage=null}ngOnInit(){var t=this;return(0,C.Z)(function*(){const o=t.route.snapshot.queryParamMap.get("error"),i=t.route.snapshot.queryParamMap.get("code"),s=t.route.snapshot.queryParamMap.get("state");if(o)return t.status="error",void(t.errorMessage=`Authorization failed: ${o}`);if(!i||!t.lettsGroupAuth.validateState(s))return t.status="error",void(t.errorMessage="The LettsGroup sign-in callback is invali
1d or expired. Please try again.");try{const l=t.lettsGroupAuth.getStoredFlow(),g=yield t.lettsGroupAuth.exchangeCode(i),h="link"===l?yield(0,ze.z)(t.store.pipe((0,v.Ys)(Y.d),(0,w.q)(1))):null,f=yield t.lettsGroupAuth.completeFlow(g.access_token,g.id_token,l,h);if("conflict"===f.status)return t.status="error",void(t.errorMessage=f.message||"This LettsGroup account must be linked from an existing LettsArt session.");yield t.router.navigateByUrl(t.lettsGroupAuth.getPostAuthRedirect(l))}catch(l){t.status="error",t.errorMessage=l instanceof Error?l.message:"LettsGroup sign-in failed."}})()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(d.gz),e.Y36(d.F0),e.Y36(x.C),e.Y36(v.yh))},n.\u0275cmp=e.Xpm({type:n,selectors:[["app-lettsgroup-callback"]],decls:5,vars:2,consts:[[1,"auth-page"],[1,"auth-brand"],["src","/assets/images/lettsart.jpg","alt","LettsArt"],[4,"ngIf"],[1,"title","auth-title"],[1,"sub-title","auth-subtitle"],["aria-label","Return to login",1,"another-action"],["routerLink","/auth/login",1,"text-link"]],template:function(t,o){1&t&&(e.TgZ(0,"div",0)(1,"div",1),e._UZ(2,"img",2),e.qZA(),e.YNc(3,Be,5,0,"div",3),e.YNc(4,Ve,8,1,"div",3),e.qZA()),2&t&&(e.xp6(3),e.Q6J("ngIf","processing"===o.status),e.xp6(1),e.Q6J("ngIf","error"===o.status))},directives:[m.O5,d.yS],styles:['.auth-page[_ngcontent-%COMP%]{max-width:30rem;margin:0 auto}.auth-brand[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-brand[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:138px;height:auto}.auth-title[_ngcontent-%COMP%]{color:#364152;text-align:center;margin-bottom:.5rem}.auth-subtitle[_ngcontent-%COMP%]{text-align:center;color:#526275;margin-bottom:1.5rem;line-height:1.6}.auth-providers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.25rem}.auth-provider-button[_ngcontent-%COMP%]{display:inline-flex;width:100%;min-height:3.25rem;align-items:center;justify-content:center;gap:.75rem;border-radius:14px;border:1px solid rgba(130,147,170,.35);background:#ffffff;color:#101828;font-size:1rem;font-weight:600;padding:.9rem 1.1rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 12px 28px #0f172a14}.auth-provider-button[_ngcontent-%COMP%]:hover:not(:disabled), .auth-provider-button[_ngcontent-%COMP%]:focus-visible{transform:translateY(-1px);box-shadow:0 16px 34px #0f172a1f;border-color:#8293aa8c}.auth-provider-button__icon[_ngcontent-%COMP%]{width:20px;height:20px;object-fit:contain;flex:0 0 auto}.auth-provider-button--google[_ngcontent-%COMP%]{background:linear-gradient(180deg,#ffffff,#f8fafc)}.auth-divider[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;color:#667085;font-size:.93rem}.auth-divider[_ngcontent-%COMP%]:before, .auth-divider[_ngcontent-%COMP%]:after{content:"";flex:1 1 auto;height:1px;background:rgba(130,147,170,.3)}.auth-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.auth-footnote[_ngcontent-%COMP%]{margin-top:1rem;text-align:center;color:#667085;font-size:.92rem;line-height:1.5}@media (max-width: 640px){.auth-page[_ngcontent-%COMP%]{max-width:none}.auth-provider-button[_ngcontent-%COMP%]{min-height:3.5rem;font-size:.98rem}}']}),n})()}]}];let He=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[d.Bz.forChild(We)],d.Bz]}),n})(),Ke=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[[m.ez,a.u5,d.Bz,p.PYG,p.nKr,p.KdK,p.T2N,p.MfT,He,c.S]]}),n})()}}]);
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.