1import{gg as F,ig as R,kh as L}from"./chunk-X5J6QTCG.js";import{$ as y,$a as T,Ad as V,Fa as c,H as v,Ib as e,Jb as g,Ka as h,Ma as k,Na as P,Sf as A,U as _,Zf as z,bb as O,cc as w,d as E,di as I,fa as d,ga as u,gb as x,hb as t,ib as i,j as C,jb as s,pj as j,qb as b,sb as S,tb as m,u as M,vd as q,yd as D}from"./chunk-SMW7PHYX.js";import"./chunk-BMIYOSOG.js";var B=()=>["/authentication/logout"],W=()=>({local:!0});function G(r,l){r&1&&(e(0,` 2 `),t(1,"div",2),e(2,` 3 `),s(3,"i",3),e(4,` 4 `),i(),e(5,` 5 `))}function N(r,l){if(r&1){let a=b();e(0,` 6 `),t(1,"div",2),e(2,` 7 `),t(3,"div",4),e(4,` 8 `),t(5,"span",5),e(6,` 9 `),s(7,"i",6),e(8,` 10 `),i(),e(9,` 11 `),t(10,"span",7),e(11,` 12 `),s(12,"i",8),e(13,` 13 `),i(),e(14,` 14 `),i(),e(15,` 15 `),t(16,"h3",9),e(17,"2FA Setup Required"),i(),e(18,` 16 `),t(19,"p",10),e(20,` 17 `),t(21,"strong"),e(22),i(),e(23,` requires all administrators to enable two-factor 18 authentication before accessing admin features 19 `),i(),e(24,` 20 `),t(25,"div",11),e(26,` 21 `),s(27,"i",12),e(28,` 22 `),t(29,"div"),e(30,` 23 `),t(31,"h4",13),e(32,"Why is this required?"),i(),e(33,` 24 `),t(34,"p",14),e(35,` 25 Two-factor authentication (2FA) adds an extra layer of security to protect 26 sensitive club data, member information, and administrative actions. 27 `),i(),e(36,` 28 `),i(),e(37,` 29 `),i(),e(38,` 30 `),t(39,"app-mfa-enrollment",15),S("enrolled",function(){d(a);let n=m();return u(n.onMfaEnrolled())}),e(40,` 31 `),i(),e(41,` 32 `),t(42,"a",16),e(43,` 33 `),s(44,"i",17),e(45,` Sign out instead 34 `),i(),e(46,` 35 `),i(),e(47,` 36 `)}if(r&2){let a=m();c(22),g(a.club==null?null:a.club.name),c(17),x("mfaStatus",a.mfaStatus),c(3),x("routerLink",w(4,B))("state",w(5,W))}}function Y(r,l){if(r&1){let a=b();e(0,` 37 `),t(1,"div",2),e(2,` 38 `),t(3,"div",4),e(4,` 39 `),t(5,"span",5),e(6,` 40 `),s(7,"i",18),e(8,` 41 `),i(),e(9,` 42 `),t(10,"span",19),e(11,` 43 `),s(12,"i",20),e(13,` 44 `),i(),e(14,` 45 `),i(),e(15,` 46 `),t(16,"h3",9),e(17,"Two-Factor Authentication Enabled"),i(),e(18,` 47 `),t(19,"p",10),e(20,` 48 Great job! Your account is protected with two-factor authentication as required by 49 `),t(21,"strong"),e(22),i(),e(23,` 50 `),i(),e(24,` 51 `),t(25,"app-mfa-enrollment",21),S("enrolled",function(){d(a);let n=m();return u(n.onMfaStatusChanged())})("disabled",function(){d(a);let n=m();return u(n.onMfaDisabled())}),e(26,` 52 `),i(),e(27,` 53 `),t(28,"a",22),e(29,` 54 `),s(30,"i",23),e(31,` Back to dashboard 55 `),i(),e(32,` 56 `),i(),e(33,` 57 `)}if(r&2){let a=m();c(22),g(a.club==null?null:a.club.name),c(3),x("mfaStatus",a.mfaStatus)}}function J(r,l){if(r&1){let a=b();e(0,` 58 `),t(1,"div",2),e(2,` 59 `),t(3,"div",4),e(4,` 60 `),t(5,"span",5),e(6,` 61 `),s(7,"i",18),e(8,` 62 `),i(),e(9,` 63 `),t(10,"span",19),e(11,` 64 `),s(12,"i",20),e(13,` 65 `),i(),e(14,` 66 `),i(),e(15,` 67 `),t(16,"h3",9),e(17,"Two-Factor Authentication Enabled"),i(),e(18,` 68 `),t(19,"p",10),e(20,` 69 Great job! Your account is protected with two-factor authentication. It is not currently required by 70 `),t(21,"strong"),e(22),i(),e(23,` but is always a good idea. 71 `),i(),e(24,` 72 `),t(25,"app-mfa-enrollment",21),S("enrolled",function(){d(a);let n=m();return u(n.onMfaStatusChanged())})("disabled",function(){d(a);let n=m();return u(n.onMfaDisabled())}),e(26,` 73 `),i(),e(27,` 74 `),t(28,"a",22),e(29,` 75 `),s(30,"i",23),e(31,` Back to dashboard 76 `),i(),e(32,` 77 `),i(),e(33,` 78 `)}if(r&2){let a=m();c(22),g(a.club==null?null:a.club.name),c(3),x("mfaStatus",a.mfaStatus)}}function H(r,l){if(r&1){let a=b();e(0,` 79 `),t(1,"div",2),e(2,` 80 `),t(3,"div",4),e(4,` 81 `),t(5,"span",5),e(6,` 82 `),s(7,"i",6),e(8,` 83 `),i(),e(9,` 84 `),t(10,"span",7),e(11,` 85 `),s(12,"i",24),e(13,` 86 `),i(),e(14,` 87 `),i(),e(15,` 88 `),t(16,"h3",9),e(17,"Two-Factor Authentication"),i(),e(18,` 89 `),t(19,"p",10),e(20,` 90 Two-factor authentication is not currently required for your account but is strongly 91 recommended to keep your admin access secure 92 `),i(),e(21,` 93 `),t(22,"div",11),e(23,` 94 `),s(24,"i",25),e(25,` 95 `),t(26,"div"),e(27,` 96 `),t(28,"h4",13),e(29,"Why enable it anyway?"),i(),e(30,` 97 `),t(31,"p",14),e(32,` 98 Even without a policy requirement, two-factor authentication protects your 99 account from unauthorised access if your password is ever compromised. 100 `),i(),e(33,` 101 `),i(),e(34,` 102 `),i(),e(35,` 103 `),t(36,"app-mfa-enrollment",21),S("enrolled",function(){d(a);let n=m();return u(n.onMfaStatusChanged())})("disabled",function(){d(a);let n=m();return u(n.onMfaDisabled())}),e(37,` 104 `),i(),e(38,` 105 `),t(39,"a",22),e(40,` 106 `),s(41,"i",23),e(42,` Back to dashboard 107 `),i(),e(43,` 108 `),i(),e(44,` 109 `)}if(r&2){let a=m();c(36),x("mfaStatus",a.mfaStatus)}}var U=(()=>{let l=class l{constructor(o,n,p,f){this.authorizeService=o,this.siteDataService=n,this.mfaService=p,this.route=f,this.unsubscribe$=new E,this.loading=!0}ngOnInit(){this.authorizeService.getUser().pipe(v(1)).subscribe(o=>{this.setupRequired=this.authorizeService.isMfaSetupRequired(o),M({club:this.siteDataService.getClub(),status:this.mfaService.getStatus()}).subscribe({next:({club:n,status:p})=>{this.club=n,this.mfaStatus=p,this.loading=!1,this.siteDataService.hide
109SiteLoader()},error:()=>{this.loading=!1,this.siteDataService.hideSiteLoader()}})})}get view(){return this.loading?"loading":this.setupRequired?"setup-required":this.mfaStatus?.enabled&&this.mfaStatus?.requiredByPolicy?"enabled-required":this.mfaStatus?.enabled?"enabled-optional":"not-enabled"}get providerLabel(){return this.mfaStatus?.activeProvider?this.mfaStatus.activeProvider==="Authenticator"?"Authenticator app":"Email":""}onMfaEnrolled(){let o=this.route.snapshot.queryParams.ReturnUrl;if(!o&&this.club?.subdomain&&A()==="login"){z(this.club.subdomain);return}let n=o||"/admin/dashboard";if(n.includes("/connect/authorize")){window.location.href=n;return}C(this.authorizeService.signIn({returnUrl:n})).pipe(_(this.unsubscribe$)).subscribe({next:()=>window.location.href=n,error:()=>this.siteDataService.showSiteErrorAlert("MFA enabled but there was a problem refreshing your session. Please sign in again.")})}onMfaStatusChanged(){this.mfaService.getStatus().pipe(_(this.unsubscribe$)).subscribe({next:o=>this.mfaStatus=o,error:()=>this.siteDataService.showSiteErrorAlert("There was a problem loading MFA status")})}onMfaDisabled(){this.mfaStatus?.requiredByPolicy?this.refreshToken():this.onMfaStatusChanged()}refreshToken(){C(this.authorizeService.signIn({returnUrl:window.location.pathname})).pipe(_(this.unsubscribe$)).subscribe({next:()=>{this.authorizeService.getUser().pipe(v(1)).subscribe(o=>{this.setupRequired=this.authorizeService.isMfaSetupRequired(o),this.onMfaStatusChanged()})},error:()=>this.siteDataService.showSiteErrorAlert("There was a problem refreshing your session. Please sign in again.")})}ngOnDestroy(){this.unsubscribe$.next(),this.unsubscribe$.complete()}};l.\u0275fac=function(n){return new(n||l)(h(I),h(j),h(F),h(q))},l.\u0275cmp=k({type:l,selectors:[["ng-component"]],standalone:!1,decls:12,vars:1,consts:[["role","dialog","aria-modal","true","aria-labelledby","mfaDialogTitle","data-testid","mfa-setup",1,"sprocket-dialog"],[1,"sprocket-dialog-inner","standardWidthDialog"],[1,"sprocket-dialog-content","text-center"],[1,"fa-regular","fa-spinner","fa-spin"],[1,"mfa-icon-wrapper","mb-3"],[1,"mfa-icon-circle"],[1,"fa-regular","fa-shield"],[1,"mfa-badge"],[1,"fa-regular","fa-lock","fa-xs"],["id","mfaDialogTitle",1,"fw-bold","mb-2"],[1,"mfa-subtitle","mb-4"],[1,"mfa-info-callout","d-flex","align-items-start","gap-3","text-start","mb-4"],[1,"fa-regular","fa-triangle-exclamation","flex-shrink-0","mt-1"],[1,"fw-bold","text-dark","mb-1"],[1,"mb-0","small","text-secondary","opacity-75"],[3,"enrolled","mfaStatus"],[1,"btn-link","text-secondary","text-decoration-none","small",3,"routerLink","state"],[1,"fa-solid","fa-arrow-right-from-bracket","me-1"],[1,"fa-regular","fa-shield-check"],[1,"mfa-badge","mfa-badge--success"],[1,"fa-regular","fa-check","fa-xs"],[3,"enrolled","disabled","mfaStatus"],["routerLink","/admin/dashboard",1,"btn-link","text-secondary","text-decoration-none","small"],[1,"fa-solid","fa-arrow-left","me-1"],[1,"fa-regular","fa-info","fa-xs"],[1,"fa-regular","fa-lightbulb","flex-shrink-0","mt-1"]],template:function(n,p){if(n&1&&(t(0,"div",0),e(1,` 110 `),t(2,"div",1),e(3,` 111 `),T(4,G,6,0)(5,N,48,6)(6,Y,34,2)(7,J,34,2)(8,H,45,1),e(9,` 112 `),i(),e(10,` 113`),i(),e(11,` 114`)),n&2){let f;c(4),O((f=p.view)==="loading"?4:f==="setup-required"?5:f==="enabled-required"?6:f==="enabled-optional"?7:f==="not-enabled"?8:-1)}},dependencies:[D,R],styles:[".mfa-icon-wrapper[_ngcontent-%COMP%]{position:relative;display:inline-block}.mfa-icon-wrapper[_ngcontent-%COMP%] .mfa-icon-circle[_ngcontent-%COMP%]{background-color:#fff3e0;border-radius:50%;width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#f59e0b}.mfa-icon-wrapper[_ngcontent-%COMP%] .mfa-badge[_ngcontent-%COMP%]{position:absolute;top:0;right:0;background-color:#f59e0b;color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.65rem;border:2px solid white}.mfa-icon-wrapper[_ngcontent-%COMP%] .mfa-badge--success[_ngcontent-%COMP%]{background-color:#16a34a}.mfa-cta-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:block;width:100%}.mfa-subtitle[_ngcontent-%COMP%]{font-size:.85rem;color:#6c757d}.mfa-subtitle[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#212529}.mfa-footer-note[_ngcontent-%COMP%]{font-size:.75rem;color:#6c757d;opacity:.75}.mfa-info-callout[_ngcontent-%COMP%]{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;padding:.875rem 1rem;text-align:left}.mfa-info-callout[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{color:#1e40af}.mfa-info-callout[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.85rem}"]});let r=l;return r})();var pe=(()=>{let l=class l{};l.\u0275fac=function(n){return new(n||l)},l.\u0275mod=P({type:l}),l.\u0275inj=y({imports:[L,V.forChild([{path:"",component:U}])]});let r=l;return r})();export{pe as MfaSetupModule};
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.