PageSourceSearch

https://register.charityfootprints.com/chunk-QAT54YIV.js

js charityfootprints.com collected 2026-10-02 10:27:42 UTC 239,023 bytes, 85 lines download raw bytes

1import{a as Le,b as tn,c as en,d as nn,e as on,f as an,g as rn,h as sn,i as ln,j as mn,k as cn,l as pn,m as dn,n as un,o as gn,p as fn}from"./chunk-3MWBDDJS.js";import{a as Zi}from"./chunk-CEOLBACS.js";import{b as ai,d as De}from"./chunk-IFBMVV6F.js";import{b as Hi,c as qi,d as Ji,e as vt,f as Yi,g as xt,i as X}from"./chunk-GRDV4XBA.js";import{e as ji,f as Pe,g as Ue,h as Ee,i as Kt,j as bt}from"./chunk-ZS2K3OPL.js";import{e as Qt}from"./chunk-KRR7T3EF.js";import{A as ke,B as $i,D as Wi,F as dt,Q as Qi,W as Ki,X as ee,Y as Xi,d as Ni,e as Oi,f as Ai,g as Ri,ka as Z,l as Gi,m as pt,s as Bi,t as zi,y as Yt}from"./chunk-XWCKH5FU.js";import{a as Zt}from"./chunk-42KYY33I.js";import{a as Ot}from"./chunk-UMGCSHXS.js";import{A as Me}from"./chunk-VW2ZW4ML.js";import{b as It,c as Di,e as Li,h as kt,i as it,j as Ie,l as Nt,m as nt,n as ot,o as Vi,q as Mt,r as j,s as ht,t as ct,u as te,w as Fe}from"./chunk-O65JT54R.js";import{A as Ui,F as mt,G as Wt,b as Si,c as zt,e as lt,h as $t,i as xe,l as Ce,m as ye,n as wi,r as Se,u as we,v as Ti,w as Ii,x as ki,y as Mi,z as Pi}from"./chunk-Q4W25HWS.js";import{e as Xt}from"./chunk-UWXBCXJ2.js";import{aa as Ei,ha as Te,ka as Fi}from"./chunk-JSURRDXJ.js";import{q as Bt,u as st}from"./chunk-RZMQERQF.js";import{$b as l,Ab as fe,Bc as yi,C as O,Dc as St,E as pe,Ec as wt,Ed as Dt,Fc as Tt,Fd as Q,G as de,Ga as qt,Ha as h,I as at,Ia as b,Ic as R,Jc as c,K as fi,Kc as T,Kd as he,La as z,Lc as I,Ld as et,Mc as le,Ob as A,Pc as gt,Pd as be,Qa as bi,Qc as ft,R as V,Rb as $,Rc as _t,S as _i,Sc as Y,Sd as K,Ta as re,Tc as Ht,Td as Lt,U as ei,Ub as f,Uc as Gt,Ud as W,Xc as L,Yc as G,_b as Jt,_c as yt,_d as ve,a as D,ad as U,b as tt,bc as N,ec as ii,gc as xi,hc as Ci,ia as ue,j as Ze,jc as ni,kc as oi,la as B,lc as a,mc as r,nc as _,oa as ge,oc as E,p as ti,pc as F,q as di,qc as se,ra as Ft,rc as S,sb as Et,t as ui,tb as P,u as gi,uc as x,v as w,vd as _e,wa as J,wc as m,xa as hi,xb as vi,zb as s,zc as jt}from"./chunk-VBJRBJNY.js";var Ne=class{donationAmount=0;currencyCode="";txnUuid="";constructor(e={}){Object.assign(this,e)}};function Hn(i,e){if(i&1){let t=S();E(0),a(1,"img",18),x("error",function(){h(t);let o=m();return b(o.profilePic="")}),r(),F()}if(i&2){let t=m();s(),l("ngSrc",t.profilePic)}}function qn(i,e){if(i&1&&(a(0,"div",19),c(1),L(2,"slice"),r()),i&2){let t=m();s(),I(" ",t.firstName?yt(2,1,t.firstName,0,1):""," ")}}
1function Jn(i,e){if(i&1&&(a(0,"h3",20),c(1),r()),i&2){let t=m();s(),T(t.heroSectionTitle)}}function Yn(i,e){if(i&1){let t=S();a(0,"button",21),x("click",function(){h(t);let o=m();return b(o.openTeamDialog())}),a(1,"mat-icon"),c(2,"groups"),r()()}}function Qn(i,e){i&1&&(a(0,"span",22),c(1,"(Team Options)"),r())}function Kn(i,e){if(i&1&&(a(0,"a",23),c(1),r()),i&2){let t=m();yi("href","/",t.campaignSlug,"/team/",t.teamSlug,"",P),s(),I("View ",t.firstName,"'s Team \u2794")}}function Xn(i,e){if(i&1&&(a(0,"div")(1,"span"),c(2,"Campaign organized by:"),r(),a(3,"a",24)(4,"button",25),c(5),r()()()),i&2){let t=m();s(3),l("href",t.getOrganizerOrgLink(),P),s(2),T(t.orgName)}}function Zn(i,e){if(i&1&&(a(0,"div")(1,"span"),c(2,"Beneficiary:"),r(),a(3,"a",24)(4,"button",25),c(5),r()()()),i&2){let t=m();s(3),l("href",t.getFundraisingOrgLink(),P),s(2),T(t.fundraisingOrgName)}}function to(i,e){if(i&1){let t=S();a(0,"div",26),_(1,"i",27),a(2,"button",28),x("click",function(){h(t);let o=m();return b(o.showTaxDeductibility())}),c(3,"Tax deductibility"),r()()}}function eo(i,e){i&1&&_(0,"span")}function io(i,e){}function no(i,e){i&1&&_(0,"i",36)}function oo(i,e){i&1&&_(0,"i",37)}function ao(i,e){if(i&1){let t=S();a(0,"button",33),x("click",function(){h(t);let o=m(2);return b(o.toggleVisibility())}),f(1,no,1,0,"i",34)(2,oo,1,0,"i",35),r()}if(i&2){let t=m(2);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function ro(i,e){i&1&&_(0,"i",41)}function so(i,e){i&1&&_(0,"i",42)}function lo(i,e){if(i&1){let t=S();a(0,"button",38),x("click",function(){h(t);let o=m(2);return b(o.toggleComponentWidth())}),f(1,ro,1,0,"i",39)(2,so,1,0,"i",40),r()}if(i&2){let t=m(2);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function mo(i,e){i&1&&(a(0,"button",43),_(1,"i",44),r())}function co(i,e){if(i&1&&(a(0,"div",29),f(1,ao,3,2,"button",30)(2,lo,3,2,"button",31)(3,mo,2,0,"button",32),r()),i&2){let t=m();s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}var Oe=class i extends X{showCampaignOrganizerLine=!1;static editableProperties=[{key:"showCampaignOrganizerLine",label:"Show campaign organizer",type:"boolean",defaultValue:!1,helpText:"Show the campaign organizer above the beneficiary."}];firstName="";lastName="";profilePic="";teamUuid="";teamSlug="";teamName="";teamPicUrl="";canManageTeam=!1;allowTeamCreation=!1;participantData={};goalUserUuid="";regGoalUuid="";participationGoal={};participantData$=null;goalUserInfo$=null;dialog;static initialize(e){e.registerComponent("indHeroSectionLayoutStyle",i)}ngOnInit(){super.ngOnInit(),this.loadCampaignGoalInfo=!0,this.dialog=this.injector.get(Me),this.route.paramMap.subscribe(e=>{this.regGoalUuid=e.get("id")??"",console.log("ind goal id: "+this.regGoalUuid),this.regGoalUuid&&(this.participantData$=this.getParticipantDataByRegGoalId(this.campaignSlug,this.regGoalUuid),this.participantData$.subscribe(t=>{if(t){if(this.participantData=t,this.regGoalUuid=this.participantData.regGoalUuid,this.participantData.userUuid!=null){let g=this.authService.getUserUuid();this.goalUserUuid=this.participantData.userUuid,g===this.goalUserUuid&&this.hasTeam&&(this.canManageTeam=!0),this.goalUserInfo$=this.getGoalUserInfo(this.goalUserUuid),this.goalUserInfo$.subscribe(d=>{d.firstName&&(this.firstName=d.firstName),d.lastName&&(this.lastName=d.lastName),d.profilePicUrl&&(this.profilePic=d.profilePicUrl)})}let{fitness$:n,fundraising$:o,wellness$:p,goalProgress$:u}=this.loadGoalInfo(this.hasFitness,this.hasFundraising,this.hasWellness,this.regGoalUuid,!0,!1);this.participantGoalObs.fitness$=n,this.participantGoalObs.fundraising$=o,this.participantGoalObs.wellness$=p,this.participantGoalObs.goalProgress$=u,this.combineGoalObservables(this.hasFitness,this.hasFundraising,this.hasWellness,n,o,p,u).subscribe(g=>{this.participantGoalModel=g,this.onGoalLoad()})}}))})}onCampaignLoad(){this.registrationService.getCampaignRegistrationConfig(this.campaignSlug).subscribe({next:e=>{this.allowTeamCreation=e?.allowTeamCreation===!0},error:e=>{console.error("Unable to load team creation setting.",e),this.allowTeamCreation=!1}})}applyBuilderPreview(e){e.mode!=="layout-builder"||e.pageContext!=="participant"||!e.participant||(this.firstName||=e.participant.firstName,this.lastName||=e.participant.lastName||"",this.profilePic||=e.participant.imageUrl||"")}onGoalLoad(){this.getParticipantProgress(this.regGoalUuid).subscribe(),this.getParticipantTeam(this.regGoalUuid).subscribe(e=>{if(e&&e.goalUuidMap){let t=e.goalUuidMap,n=Object.keys(t);if(n.length>0){let o=n[0],p=t[o];this.teamUuid=o,this.teamSlug=p,this.getTeamInfo(this.campaignSlug,this.teamUuid).subscribe(u=>{this.teamName=u.teamName,this.teamPicUrl=u.teamPicUrl})}}else e&&e.goalUuidList&&(this.teamUuid=e.goalUuidList[0],this.getTeamInfo(this.campaignSlug,this.teamUuid).subscribe(t=>{this.teamName=t.teamName,this.teamPicUrl=t.teamPicUrl}))})}openTeamDialog(){this.dialog.open(De,{width:"400px",data:{campaignSlug:this.campaignSlug,campaignGoalModel:this.participantGoalModel,dialogMode:"select",currentTeamUuid:this.teamUuid,allowLeaveTeam:!!this.teamUuid,hasFitness:this.hasFitness,hasFundraising:this.hasFundraising,hasWellness:this.hasWellness,allowTeamCreation:this.allowTeamCreation}}).afterClosed().subscribe(t=>{let n=t?.action==="leave";if(n?!this.teamUuid:!t?.teamUuid||t.teamUuid===this.teamUuid)return;(n?this.participationService.removeParticipationGoalFromTeam(this.teamUuid,this.regGoalUuid):this.participationService.addParticipationGoalToTeam(this.campaignSlug,t.teamUuid,this.regGoalUuid)).subscribe({next:()=>window.location.reload(),error:()=>this.showSnackBarMsg("Unable to change team membership. Please try again.",5e3)})})}get heroSectionTitle(){return this.hasFundraising?`${this.firstName}'s Fundraiser`:`${this.firstName}`}getGoalUserInfo(e){return this.userService.getUserBasicInfo(e)}getFundraisingProgressTitle(){return"<span class='fst-italic text-uppercase mat-text-light-gray'>Fundraising Goal<span>"}getFundraisingProgressSubTitle(){return"<p class='mat-text-light-gray'>154 Backers</p>"}getFundraisingProgressLine(){return`
2      <p class='mat-text-light-gray mb-0 mat-body-small'>
3        <span class='mat-title-medium fw-bold text-white'>
4        ${this.formatAmount(this.participantGoalModel.goalProgress.fundraiseTotal,this.currencyUnitName(this.participantGoalModel.currencyCode))}
5        </span>
6        raised of our
7        <span class='mat-body-medium fw-bold text-white'>
8        ${this.formatAmount(this.participantGoalModel.fundraiseTarget,this.currencyUnitName(this.participantGoalModel.currencyCode))}
9        </span> goal
10      </p>
11    `}getFundraisingProgressPercent(){return this.participantGoalModel?.fundraiseProgressPercent??0}getFitnessProgressTitle(){return"<span class='fst-italic text-uppercase mat-text-light-gray'>Fitness Goal<span>"}getFitnessProgressSubTitle(){return"<p class='mat-text-light-gray'>154 Backers</p>"}getFitnessProgressLine(){let e=this.formatNumber(this.participantGoalModel.goalProgress.fitnessTotal),t=this.formatNumber(this.participantGoalModel.fitnessTarget),n=this.fitnessUnitName(this.participantGoalModel.fitnessUnitUuid);return`
12      <p class='mat-text-light-gray mb-0 mat-body-small'>
13        <span class='mat-title-medium fw-bold text-white'>${e}</span> ${n} of our
14        <span class='mat-body-medium fw-bold text-white'>${t}</span> ${n} goal
15      </p>`}getFitnessProgressPercent(){return this.participantGoalModel?.fitnessProgressPercent??0}getWellnessProgressTitle(){return"<span class='fst-italic text-uppercase mat-text-light-gray'>Activity Goal<span>"}getWellnessProgressSubTitle(){return"<p class='mat-text-light-gray'>154 Backers</p>"}getWellnessProgressLine(){let e=this.formatNumber(this.participantGoalModel.goalProgress.wellnessTotal),t=this.formatNumber(this.participantGoalModel.wellnessTarget);return`
16      <p class='mat-text-light-gray mb-0 mat-body-small'>
17        <span class='mat-title-medium fw-bold text-white'>${e}</span> pts of our
18        <span class='mat-body-medium fw-bold text-white'>${t}</span> goal
19      </p>`}getWellnessProgressPercent(){return this.participantGoalModel?.wellnessProgressPercent??0}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-ind-hero-section"]],inputs:{showCampaignOrganizerLine:"showCampaignOrganizerLine"},features:[Y([K]),$],decls:26,vars:25,consts:[["nameInitial",""],["childDynamicBaseTemplate",""],[1,"row","justify-content-around","hero-section"],[1,"col-12","order-md-0","p-1","px-3"],[1,"row","h-100","mat-bg-white"],[1,"d-flex","mt-3","flex-row","justify-content-center","profile-pic-section","text-center"],[4,"ngIf","ngIfElse"],[1,"text-left","ms-2","d-flex","flex-column","align-items-baseline"],[1,"d-flex","align-items-center"],["class","mat-body-large fw-bold mb-0",4,"ngIf"],["mat-icon-button","","class","ms-2 mb-2 mat-text-primary","matTooltip","Team options","aria-label","Team options",3,"click",4,"ngIf"],["class","mat-body-small fw-lighter",4,"ngIf"],["class","mat-text-primary text-decoration-none mat-body-large fw-bold mb-2",3,"href",4,"ngIf"],[1,"d-flex","flex-column","ms-2","pb-2"],[4,"ngIf"],["class","mat-body-small",4,"ngIf"],[1,"border-1","border-secondary","mb-0"],["class","position-absolute section-edit-toolbar",4,"ngIf"],["alt","Pic","width","200","height","200","priority","",1,"user-avatar-image","profile-pic-img","me-2","w-100",3,"error","ngSrc"],[1,"user-avatar-initials","profile-pic-img","fs-1","border","mat-bg-gray","me-2"],[1,"mat-body-large","fw-bold","mb-0"],["mat-icon-button","","matTooltip","Team options","aria-label","Team options",1,"ms-2","mb-2","mat-text-primary",3,"click"],[1,"mat-body-small","fw-lighter"],[1,"mat-text-primary","text-decoration-none","mat-body-large","fw-bold","mb-2",3,"href"],["target","_blank",3,"href"],[1,"btn","text-left","text-decoration-underline","p-0","ps-1"],[1,"mat-body-small"],[1,"fa","fa-info-circle"],[1,"btn","text-decoration-underline","p-0","ps-1",3,"click"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){if(t&1&&(a(0,"div",2)(1,"div",3)(2,"div",4)(3,"div",5)(4,"div"),f(5,Hn,2,1,"ng-container",6)(6,qn,3,5,"ng-template",null,0,U),r(),a(8,"div",7)(9,"div",8),f(10,Jn,2,1,"h3",9)(11,Yn,3,0,"button",10)(12,Qn,2,0,"span",11),r(),f(13,Kn,2,4,"a",12),a(14,"div",13),f(15,Xn,6,2,"div",14)(16,Zn,
196,2,"div",14)(17,to,4,0,"div",15),r(),f(18,eo,1,0,"span",14),L(19,"async"),L(20,"async"),L(21,"async"),r()()()(),_(22,"hr",16),f(23,io,0,0,"ng-template",null,1,U)(25,co,4,3,"div",17),r()),t&2){let o=R(7);N("px-5",n.editable)("opacity-25",n.editable&&!n.isVisible)("opacity-100",n.isVisible)("draggable",n.draggable),s(5),l("ngIf",n.profilePic)("ngIfElse",o),s(5),l("ngIf",n.firstName),s(),l("ngIf",n.canManageTeam),s(),l("ngIf",n.canManageTeam),s(),l("ngIf",n.firstName&&n.teamUuid),s(2),l("ngIf",n.showCampaignOrganizerLine),s(),l("ngIf",n.hasFundraising),s(),l("ngIf",n.hasFundraising),s(),l("ngIf",G(19,19,n.goalUserInfo$)&&G(20,21,n.participantGoalObs==null?null:n.participantGoalObs.goalProgress$)&&G(21,23,n.orgData$)),s(7),l("ngIf",n.editable||n.flexibleWidth||n.draggable)}},dependencies:[W,Q,et,Lt,Z,st,j,Mt,ve,mt,nt,it,ct,ht,zi,Bi],styles:[".profile-pic-img[_ngcontent-%COMP%]{max-width:100px;max-height:100px;width:100px;height:100px;object-fit:cover}"]})};var uo=10,Ae=class i{constructor(e,t,n,o,p){this.campaignService=e;this.participationService=t;this.registrationService=n;this.authService=o;this.userService=p}getTeamProgress(e,t,n){return at({progress:this.participationService.getParticipationProgress(e,t),leaderboard:this.participationService.getTeamsParticipationProgress(e,0).pipe(V(()=>w(null))),team:n?this.participationService.getTeamBasicInfo(e,t):w(null),goal:n?this.participationService.getFundraiseGoalInfo(t,!1).pipe(V(()=>w(null))):w(null)}).pipe(B(({progress:o,leaderboard:p,team:u,goal:g})=>{let d=Array.isArray(p)?p.find(C=>C.goalUuid===t):void 0;return o=tt(D({},o),{footprintPoints:d?.footprintPoints,teamMemberCount:d?.teamMemberCount}),(n?this.getFundraisingProgress(e,t,u?.hasDynamicTarget===!0,g,o):w(void 0)).pipe(O(C=>({progress:o,fundraising:C})))}))}getFundraisingProgress(e,t,n,o,p,u){let g=this.fundraisingNumber(p?.fundraiseTotal),d=p?.currencyCode||o?.currencyCode,v={current:g,currencyCode:d};return!d||o?.currencyCode&&o.currencyCode!==d?w(v):(n?(u?w(u):this.participationService.getMembersParticipationProgress(e,t,0)).pipe(B(y=>{if(!Array.isArray(y))throw new Error("Team members unavailable");let M=[...new Set(y.map(k=>k.goalUuid).filter(k=>typeof k=="string"&&!!k))];return M.length?this.participationService.getBulkFundraiseGoalsInfo(M,d).pipe(O(k=>this.fundraisingNumber(k?.totalAmount))):w(0)})):w(this.fundraisingNumber(o?.fundraiseTarget))).pipe(O(y=>tt(D({},v),{target:y,percentage:y!==void 0&&y>0&&g!==void 0?Math.max(0,g/y*100):void 0})),V(()=>w(v)))}fundraisingNumber(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}getTeamPage(e,t){return at({campaignResponse:this.campaignService.getCampaignData(e),teamResponse:this.participationService.getTeamBasicInfo(e,t)}).pipe(B(({campaignResponse:n,teamResponse:o})=>{let p=this.asRecord(n),u=this.asRecord(p.configData),g=this.asRecord(o),d=this.toString(g.teamUuid)||t,v=this.authService.getUserUuid(),C=v?this.safe(this.registrationService.getRegistrationData(e,v)).pipe(ue({bufferSize:1,refCount:!0})):w(null);return at({fitnessGoal:u.hasFitness?this.safe(this.participationService.getFitnessGoalInfo(d)):w(null),fundraisingGoal:u.hasFundraising?this.safe(this.participationService.getFundraiseGoalInfo(d)):w(null),progress:this.safe(this.participationService.getParticipationProgress(e,d)),members:this.safe(this.participationService.getMembersParticipationProgress(e,d,0)),currentRegistration:C,currentTeam:C.pipe(B(y=>{let M=this.asRecord(y),k=this.toOptionalString(M.regGoalUuid);return k?this.participationService.getParticipationTeam(e,k).pipe(V(()=>w({teamLookupFailed:!0}))):w(null)}))}).pipe(B(y=>{let M=this.asRecord(y.progress),k=this.asRecord(y.currentRegistration),H=this.asRecord(y.currentTeam),Ut=!!H.teamLookupFailed,Vt=this.asRecord(H.goalUuidMap),q=Object.keys(Vt).length?Object.keys(Vt):this.toArray(H.goalUuidList,"goalUuidList").map(ut=>this.toString(ut)).filter(Boolean),Ct=this.toOptionalString(k.regGoalUuid),Je=q.includes(d),Ye=this.toOptionalString(g.adminRegGoalUuid),ae=this.toMembers(y.members),ci=ae.map(ut=>ut.goalUuid),Wn=ae.reduce((ut,Xe)=>ut+Xe.fitnessTotal,0),jn=this.asRecord(y.fundraisingGoal),pi=this.asRecord(this.asRecord(y.fitnessGoal).fitnessGoal),Qe=this.toNumber(pi.fitnessTarget),Ke=this.toOptionalString(pi.fitnessUnitUuid??M.fitnessUnitUuid??ae.find(ut=>ut.fitnessUnitUuid)?.fitnessUnitUuid);return at({fundraising:u.hasFundraising?this.getFundraisingProgress(e,d,g.hasDynamicTarget===!0,jn,M,Array.isArray(y.members)?y.members:void 0):w(void 0),fitnessAggregate:Qe<=0&&ci.length&&Ke?this.safe(this.participationService.getBulkFitnessGoalsInfo(ci,Ke)):w(null),donations:u.hasFundraising?this.loadRecentDonations(ae):w([])}).pipe(O(ut=>{let Xe=Qe>
190?Qe:this.toNumber(this.asRecord(ut.fitnessAggregate).totalUnits);return{campaignSlug:e,team:{uuid:d,name:this.toString(g.teamName)||"Team",slug:this.toOptionalString(g.teamSlug),imageUrl:this.toOptionalString(g.teamPicUrl),adminRegGoalUuid:Ye,hasDynamicTarget:!!g.hasDynamicTarget},permissions:{canEdit:!!(Ye&&k.regGoalUuid===Ye),canJoin:!Ut&&q.length===0,isMember:Je,registrationGoalUuid:Ct},goals:{fundraising:ut.fundraising?.current!==void 0?{current:ut.fundraising.current,target:ut.fundraising.target??0,percentage:ut.fundraising.percentage??0,unitCode:ut.fundraising.currencyCode}:void 0,fitness:u.hasFitness?this.toMetric(Xe,Wn,Ke):void 0},members:ae,donations:ut.donations}}))}))}))}toMetric(e,t,n){let o=this.toOptionalNumber(e);if(o===void 0)return;let p=this.toNumber(t);return{current:p,target:o,percentage:o>0?Math.round(Math.min(100,Math.max(0,p/o*100))):0,unitCode:this.toOptionalString(n)}}toMembers(e){return this.toArray(e,"members").map(t=>{let n=this.asRecord(t);return{goalUuid:this.toString(n.goalUuid),userUuid:this.toOptionalString(n.goalOwnerUuid??n.userUuid),name:this.toString(n.goalOwnerName),imageUrl:this.toOptionalString(n.goalOwnerPic),participantSlug:this.toOptionalString(n.participantSlug),fundraiseTotal:this.toNumber(n.fundraiseTotal),currencyCode:this.toOptionalString(n.currencyCode),fitnessTotal:this.toNumber(n.fitnessTotal),fitnessUnitUuid:this.toOptionalString(n.fitnessUnitUuid)}}).filter(t=>!!(t.goalUuid&&t.name))}loadRecentDonations(e){let t=Array.from(new Set(e.map(n=>this.stripGoalExtension(n.goalUuid)).filter(Boolean)));return t.length?this.participationService.getBulkPublicFundraiserDonations(t).pipe(O(n=>this.toDonationList(n)),B(n=>this.enrichRegistrationDonationNames(n,e)),O(n=>n.slice(0,uo)),V(()=>w([]))):w([])}toDonationList(e){return this.toArray(e,"donations").flatMap(t=>this.toArray(t,"donations")).map(t=>{let n=this.asRecord(t);return{donorName:this.toOptionalString(n.donorName)||"Anonymous",amount:this.toNumber(n.donationAmount),currencyCode:this.toOptionalString(n.currencyCode),donatedAt:this.toOptionalString(n.donationTime),goalUuid:this.toOptionalString(n.goalUuid),mode:this.toOptionalString(n.mode)}}).sort((t,n)=>Date.parse(n.donatedAt||"")-Date.parse(t.donatedAt||""))}enrichRegistrationDonationNames(e,t){let n=new Map(t.filter(u=>!!(u.goalUuid&&u.name)).map(u=>[this.stripGoalExtension(u.goalUuid),u.name])),o=new Map(t.filter(u=>!!(u.goalUuid&&u.userUuid)).map(u=>[this.stripGoalExtension(u.goalUuid),u.userUuid])),p=Array.from(new Set(e.filter(u=>u.mode?.toLowerCase()==="registration"&&u.goalUuid).map(u=>o.get(this.stripGoalExtension(u.goalUuid))).filter(u=>!!u)));return p.length?at(p.map(u=>this.userService.getUserBasicInfo(u).pipe(O(g=>[u,this.asRecord(g)]),V(()=>w([u,{}]))))).pipe(O(u=>{let g=new Map(u);return e.map(d=>{if(d.mode?.toLowerCase()!=="registration"||!d.goalUuid)return d;let v=o.get(this.stripGoalExtension(d.goalUuid)),C=v?g.get(v):void 0,y=this.toPersonName(C)||n.get(this.stripGoalExtension(d.goalUuid));return y?tt(D({},d),{donorName:y}):d})})):w(this.applyRegistrationDonationMemberNames(e,n))}applyRegistrationDonationMemberNames(e,t){return e.map(n=>{if(n.mode?.toLowerCase()!=="registration"||!n.goalUuid)return n;let o=t.get(this.stripGoalExtension(n.goalUuid));return o?tt(D({},n),{donorName:o}):n})}toPersonName(e){return e&&([this.toOptionalString(e.firstName),this.toOptionalString(e.lastName)].filter(Boolean).join(" ").trim()||this.toOptionalString(e.fullName))||""}safe(e){return e.pipe(V(()=>w(null)))}asRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}toArray(e,t){if(Array.isArray(e))return e;let n=this.asRecord(e);return Array.isArray(n[t])?n[t]:[]}toString(e){return typeof e=="string"?e:""}stripGoalExtension(e){return e.replace(/[._][^/?#]+(?=[?#]|$)/,"")}toOptionalString(e){return typeof e=="string"&&e?e:void 0}toNumber(e){return this.toOptionalNumber(e)??0}toOptionalNumber(e){let t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?t:void 0}static \u0275fac=function(t){return new(t||i)(J(Xt),J(Ot),J(Zt),J(Fe),J(te))};
19static \u0275prov=Ft({token:i,factory:i.\u0275fac,providedIn:"root"})};function ri(i){return i?{region:"Regions",state:"States",city:"Cities",department:"Departments",chapter:"Chapters",country:"Countries",division:"Divisions",district:"Districts",zone:"Zones",branch:"Branches"}[i.trim().toLowerCase()]??`${i} groups`:"Team groups"}function ne(i){let e=i?.enabled?i.dimensions.filter(t=>!t.parentId):[];return e.length===1?ri(e[0].label):"Team groups"}function si(i){if(i==null||i==="")return[];if(typeof i!="string")throw new Error("Invalid group link. Open the group directory to start again.");let e;try{e=JSON.parse(i)}catch{throw new Error("Invalid group link. Open the group directory to start again.")}if(!Array.isArray(e)||e.some(t=>!Array.isArray(t)||t.length!==2||typeof t[0]!="string"||!t[0]||t[1]!==null&&typeof t[1]!="string")||new Set(e.map(t=>t[0])).size!==e.length)throw new Error("Invalid group path. Open the group directory to start again.");return e}function nc(i){return i.map(e=>[e.dimensionId,e.value])}function go(i,e){if(!i?.enabled||e.some(([,n])=>n===null))return null;let t=e.at(-1)?.[0]??null;return i.dimensions.find(n=>(n.parentId??null)===t)?.id??null}function oc(i,e,t){let n=si(i.scope),o=i.groupBy;if(o!==void 0&&typeof o!="string")throw new Error("Invalid grouping selection.");let p=o===""?null:o??(t?null:go(e,n)),u=vn(i.page,0,0,2147483647),g=vn(i.pageSize,50,1,500),d={filters:Object.fromEntries(n),groupBy:p,page:u,pageSize:g};
19if(i.search!==void 0){if(typeof i.search!="string")throw new Error("Invalid leaderboard search.");let v=i.search.trim();v&&(d.search=v)}if(i.metric!==void 0){let v=i.metric,C=i.basis??"total",y=i.direction??"desc";if(!["fitness","fundraising","wellness","engagement","footprints"].includes(v)||!["total","average"].includes(C)||!["asc","desc"].includes(y))throw new Error("Invalid leaderboard sort. Reset the view to continue.");d.sort={metric:v,basis:C,direction:y}}return d}function vn(i,e,t,n){if(i===void 0)return e;if(typeof i!="string"||!/^\d+$/.test(i))throw new Error("Invalid pagination in this link.");let o=Number(i);if(!Number.isSafeInteger(o)||o<t||o>n)throw new Error("Invalid pagination in this link.");return o}function xn(i,e){return i.kind==="member"?"Average per member":i.kind==="team"?"Average per team":`Average per ${e?.dimensions.find(t=>t.id===i.dimensionId)?.label??i.dimensionId}`}function ac(i,e){let t=[],n=e.availability,o=e.units;n.hasFitness&&t.push({id:"fitness",field:"fitnessTotal",label:"Fitness",unit:i.fitnessUnits[o.fitnessUnitUuid??""]||"campaign fitness units"}),n.hasFundraising&&t.push({id:"fundraising",field:"fundraiseTotal",label:"Fundraising",unit:o.currencyCode||""}),n.hasWellness&&t.push({id:"wellness",field:"wellnessTotal",label:"Wellness",unit:i.wellnessUnits[o.wellnessUnitUuid??""]||"campaign wellness units"}),n.hasEngagement&&t.push({id:"engagement",field:"engagementPoints",label:"Engagement",unit:"points"}),n.hasFootprints&&t.push({id:"footprints",field:"footprintPoints",label:"Footprints",unit:"points"});let p=e.scope.path,u=p.at(-1)?.dimensionId??null,g=i.config?.enabled&&!p.some(C=>C.value===null)?i.config.dimensions.filter(C=>(C.parentId??null)===u).map(C=>({id:C.id,label:C.label})):[];e.groupBy&&!g.some(C=>C.id===e.groupBy)&&g.unshift({id:e.groupBy,label:i.config?.dimensions.find(C=>C.id===e.groupBy)?.label??e.groupBy});let d=i.config?.dimensions.find(C=>C.parentId===e.groupBy),v=e.entries[0]?.averageBasis??(e.groupBy===null?{kind:"member"}:d?{kind:"dimension",dimensionId:d.id}:{kind:"team"});return{context:i,response:e,metrics:t,groupingOptions:g,title:p.at(-1)?.label??(e.groupBy?ri(i.config?.dimensions.find(C=>C.id===e.groupBy)?.label):"Teams"),directoryLabel:ne(i.config),summaryAverageLabel:xn(e.leaderboardSummary.averageBasis,i.config),rowAverageLabel:xn(v,i.config),pageCount:Math.ceil(e.totalElements/e.pageSize)}}function li(i){return i.flatMap(([e,t])=>[e,t===null?"~unassigned":t===""?"~empty":t.startsWith("~")?`~${t}`:t])}function mc(i){if(i.length%2)throw new Error("Invalid group path. Each dimension needs a value.");let e=[];for(let t=0;t<i.length;t+=2){let n=i[t+1],o=n;if(n==="~unassigned")o=null;else if(n==="~empty")o="";else if(n.startsWith("~~"))o=n.slice(1);else if(n.startsWith("~"))throw new Error("Invalid group value in this link.");e.push([i[t],o])}return si(JSON.stringify(e))}function cc(i,e=[]){return["/",i,"groups",...li(e)]}function Cn(i,e){if(!i?.enabled)return[];let t=i.dimensions;return t.filter(n=>!t.some(o=>o.parentId===n.id)).map(n=>{let o=[n],p=new Set([n.id]);for(;o[0].parentId;){let d=t.find(v=>v.id===o[0].parentId);if(!d||p.has(d.id))return[];p.add(d.id),o.unshift(d)}let u=[],g=[];for(let d of o){let v=e[d.id],C=d.valueMode==="freeText"&&typeof v=="string"?v.normalize("NFC").replace(/[\u0009-\u000D\u0020\u0085\u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]+/gu," ").replace(/^ | $/g,""):v,y=C?d.valueMode==="fixed"?v:C.toLowerCase().normalize("NFC"):null,M=y===null?"Unassigned":d.valueMode==="fixed"?d.values?.find(k=>k.id===y)?.label??C:C;if(u.push([d.id,y]),g.push({id:d.id,label:M,segments:li(u),params:D({},y===null?{groupBy:""}:{})}),y===null)break}return g}).filter(n=>n.length)}var fo=(i,e)=>e.id,_o=i=>["/",i,"groups"];function ho(i,e){if(i&1&&(a(0,"span",2),c(1,"/"),r(),a(2,"a",4),c(3),r()),i&2){let t=e.$implicit,n=m(2);s(2),l("routerLink",n.nodeRoute(t.segments))("queryParams",t.params),s(),T(t.label)}}function bo(i,e){if(i&1&&(a(0,"nav",0)(1,"a",1),c(2),r(),ni(3,ho,4,3,null,null,fo),a(5,"span",2),c(6,"/"),r(),a(7,"span",3),c(8),r()()),i&2){let t=e.$implicit,n=m();s(),l("routerLink",Gt(3,_o,n.campaignSlug)),s(),T(n.directoryLabel),s(),oi(t),s(5),T(n.teamName)}}var Ve=class i{constructor(e){this.participation=e}campaignSlug="";teamName="";assignments={};loadedSlug;subscription;config=null;nodeRoute(e){return["/",this.campaignSlug,"groups",...e]}get directoryLabel(){return ne(this.config)}get trails(){return Cn(this.config,this.assignments)}ngOnChanges(){this.campaignSlug!==this.loadedSlug&&(this.loadedSlug=this.campaignSlug,this.subscription?.unsubscribe(),this.config=null,this.campaignSlug&&(this.subscription=this.participation.getTeamDimensionConfig(this.campaignSlug).subscribe({next:e=>this.config=e?.teamDimensionConfig??null,error:()=>this.config=null})))}ngOnDestroy(){this.subscription?.unsubscribe()}static \u0275fac=function(t){return new(t||i)(fe(Ot))};static \u0275cmp=A({type:i,selectors:[["app-team-group-breadcrumbs"]],inputs:{campaignSlug:"campaignSlug",teamName:"teamName",assignments:"assignments"},features:[qt],decls:2,vars:0,consts:[["aria-label","Team group navigation",1,"group-trail","mat-body-small"],[3,"routerLink"],["aria-hidden","true"],["aria-current","page"],[3,"routerLink","queryParams"]],template:function(t,n){t&1&&ni(0,bo,9,5,"nav",0,Ci),t&2&&oi(n.trails)},dependencies:[W,Bt],styles:["[_nghost-%COMP%]{display:contents}.group-trail[_ngcontent-%COMP%]{width:100%;display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0;margin:0;overflow-wrap:anywhere}a[_ngcontent-%COMP%]{color:inherit;text-decoration:underline}"]})};function vo(i,e){if(i&1){let t=S();E(0),a(1,"img",18),x("error",function(){h(t);let o=m(2);return b(o.teamPic="")}),r(),F()}if(i&2){let t=m(2);s(),l("src",t.teamPic,P)}}
19function xo(i,e){if(i&1&&(a(0,"div",19),c(1),L(2,"slice"),r()),i&2){let t=m(2);s(),I(" ",t.teamName?yt(2,1,t.teamName,0,1):""," ")}}function Co(i,e){if(i&1&&(a(0,"h3",20),c(1),r()),i&2){let t=m(2);s(),I("",t.teamName," Fundraiser")}}function yo(i,e){if(i&1&&(a(0,"div")(1,"span"),c(2,"Campaign organized by:"),r(),a(3,"a",21)(4,"button",22),c(5),r()()()),i&2){let t=m(2);s(3),l("href",t.getOrganizerOrgLink(),P),s(2),T(t.orgName)}}function So(i,e){if(i&1&&(a(0,"div")(1,"span"),c(2,"Beneficiary:"),r(),a(3,"a",21)(4,"button",22),c(5),r()()()),i&2){let t=m(2);s(3),l("href",t.getFundraisingOrgLink(),P),s(2),T(t.fundraisingOrgName)}}function wo(i,e){if(i&1){let t=S();a(0,"div",23),_(1,"i",24),a(2,"button",25),x("click",function(){h(t);let o=m(2);return b(o.showTaxDeductibility())}),c(3,"Tax deductibility"),r()()}}function To(i,e){if(i&1){let t=S();a(0,"button",26),x("click",function(){h(t);let o=m(2);return b(o.joinTeam())}),c(1),r()}if(i&2){let t=m(2);l("disabled",t.isJoiningTeam),s(),I(" ",t.isJoiningTeam?"Joining\u2026":"Join Team"," ")}}function Io(i,e){i&1&&(a(0,"button",27),c(1," Member "),r())}function ko(i,e){if(i&1){let t=S();a(0,"button",28),x("click",function(){h(t);let o=m(2);return b(o.editTeam())}),c(1,"Edit Team"),r()}}function Mo(i,e){}function Po(i,e){i&1&&_(0,"i",36)}function Uo(i,e){i&1&&_(0,"i",37)}function Eo(i,e){if(i&1){let t=S();a(0,"button",33),x("click",function(){h(t);let o=m(3);return b(o.toggleVisibility())}),f(1,Po,1,0,"i",34)(2,Uo,1,0,"i",35),r()}if(i&2){let t=m(3);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function Fo(i,e){i&1&&_(0,"i",41)}function Do(i,e){i&1&&_(0,"i",42)}function Lo(i,e){if(i&1){let t=S();a(0,"button",38),x("click",function(){h(t);let o=m(3);return b(o.toggleComponentWidth())}),f(1,Fo,1,0,"i",39)(2,Do,1,0,"i",40),r()}if(i&2){let t=m(3);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function No(i,e){i&1&&(a(0,"button",43),_(1,"i",44),r())}function Oo(i,e){if(i&1&&(a(0,"div",29),f(1,Eo,3,2,"button",30)(2,Lo,3,2,"button",31)(3,No,2,0,"button",32),r()),i&2){let t=m(2);s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}function Ao(i,e){if(i&1&&(a(0,"div",4),_(1,"app-team-group-breadcrumbs",5,0),a(3,"div",6)(4,"div",7),f(5,vo,2,1,"ng-container",8)(6,xo,3,5,"ng-template",null,1,U),a(8,"div",9),f(9,Co,2,1,"h3",10),a(10,"div",11),f(11,yo,6,2,"div",12)(12,So,6,2,"div",12)(13,wo,4,0,"div",13),r(),f(14,To,2,2,"button",14)(15,Io,2,0,"button",15)(16,ko,2,0,"button",16),r()()(),f(17,Mo,0,0,"ng-template",null,2,U)(19,Oo,4,3,"div",17),r()),i&2){let t=R(2),n=R(7),o=m();N("has-team-groups",t.trails.length>0)("px-5",o.editable)("opacity-25",o.editable&&!o.isVisible)("opacity-100",o.isVisible)("draggable",o.draggable),s(),l("campaignSlug",o.campaignSlug)("teamName",o.teamName)("assignments",o.teamDimensions),s(4),l("ngIf",o.teamPic)("ngIfElse",n),s(4),l("ngIf",o.teamName),s(2),l("ngIf",o.showCampaignOrganizerLine),s(),l("ngIf",o.hasFundraising),s(),l("ngIf",o.hasFundraising),s(),l("ngIf",!o.teamMembershipLoading&&!o.hasCurrentTeam),s(),l("ngIf",!o.teamMembershipLoading&&o.isCurrentTeamMember),s(),l("ngIf",o.isAdmin),s(3),l("ngIf",o.editable||o.flexibleWidth||o.draggable)}}var Ge=class i extends X{showCampaignOrganizerLine=!1;static editableProperties=[{key:"showCampaignOrganizerLine",label:"Show campaign organizer",type:"boolean",defaultValue:!1,helpText:"Show the campaign organizer above the beneficiary."}];teamDimensions={};teamName="";teamPic="";teamSlug="";teamData={};teamUuid="";teamGoal={};teamData$=null;hasDynamicTarget=!1;isAdmin=!1;isRegistered=!1;isCurrentTeamMember=!1;hasCurrentTeam=!1;teamMembershipLoading=!0;isJoiningTeam=!1;registrationGoalUuid="";memberGoals=[];dialog;static initialize(e){e.registerComponent("teamHeroSectionLayoutStyle",i)}ngOnInit(){super.ngOnInit(),this.dialog=this.injector.get(Me),this.route.paramMap.subscribe(e=>{this.teamUuid=e.get("teamId")??"",console.log("ind goal id: "+this.teamUuid),this.teamUuid&&(this.teamData$=this.getTeamInfo(this.campaignSlug,this.teamUuid),this.teamData$.subscribe(t=>{let n=t;this.teamDimensions=t?.teamDimensions??{},t&&(this.teamUuid=t.teamUuid),this.hasDynamicTarget=t.hasDynamicTarget===!0,t.teamName&&(this.teamName=t.teamName),t.teamSlug&&(this.teamSlug=t.teamSlug),t.teamPicUrl&&(this.teamPic=t.teamPicUrl),this.loadTeamMembership(n);let{fitness$:o,fundraising$:p,wellness$:u,goalProgress$:g}=this.loadGoalInfo(this.hasFitness,this.hasFundraising,this.hasWellness,this.teamUuid,!0,!1);this.teamGoalObs.fitness$=o,this.teamGoalObs.fundraising$=p,this.teamGoalObs.wellness$=u,this.teamGoalObs.goalProgress$=g,this.combineGoalObservables(this.hasFitness,this.hasFundraising,this.hasWellness,o,p,u,g).subscribe(d=>{this.teamGoalModel=d,this.onGoalLoad()})}))})}editTeam(){this.dialog.open(De,{width:"400px",data:{campaignSlug:this.campaignSlug,campaignGoalModel:this.campaignGoalModel,dialogMode:"edit",existingTeam:{teamName:this.teamName,teamPicUrl:this.teamPic,teamUuid:this.teamUuid,teamSlug:this.teamSlug,hasDynamicTarget:this.hasDynamicTarget}}}).afterClosed().subscribe(t=>{t&&t.teamUuid&&(this.teamName=t.teamName,t.teamDimensions!==void 0&&(this.teamDimensions=t.teamDimensions),this.teamPic=t.teamPicUrl??"",t.teamSlug&&this.router.navigate(["/",this.campaignSlug,"team",t.teamSlug]))})}onCampaignLoad(){}applyBuilderPreview(e){e.mode!=="layout-builder"||e.pageContext!=="team"||!e.team||(this.teamName||=e.team.name,this.teamPic||=e.team.imageUrl||"")}onGoalLoad(){this.teamGoalObs.goalProgress$.subscribe(e=>{this.hasDynamicTarget?this.fetchTeamMembersGoalProgress(this.teamUuid,0):this.loadFundraisingProgress()})}getGoalUserInfo(e){return this.userService.getUserBasicInfo(e)}getFundraisingProgressTitle(){return"<span class='fst-italic text-uppercase mat-text-light-gray'>Fundraising Goal<span>"}getFundraisingProgressSubTitle(){return"<p class='mat-text-light-gray'>154 Backers</p>"}getFundraisingProgressLine(){return`
20      <p class='mat-text-light-gray mb-0 mat-body-small'>
21        <span class='mat-title-medium fw-bold text-white'>
22        ${this.formatAmount(this.teamGoalModel.goalProgress.fundraiseTotal,this.currencyUnitName(this.teamGoalModel.currencyCode))}
23        </span>
24        raised of our
25        <span class='mat-body-medium fw-bold text-white'>
26        ${this.formatAmount(this.teamGoalModel.fundraiseTarget,this.currencyUnitName(this.teamGoalModel.currencyCode))}
27        </span> goal
28      </p>
29    `}getFundraisingProgressPercent(){return this.teamGoalModel?.fundraiseProgressPercent??0}getFitnessProgressTitle(){return"<span class='fst-italic text-uppercase mat-text-light-gray'>Fitness Goal<span>"}getFitnessProgressSubTitle(){return"<p class='mat-text-light-gray'>154 Backers</p>"}getFitnessProgressLine(){let e=this.formatNumber(this.teamGoalModel.goalProgress.fitnessTotal),t=this.formatNumber(this.teamGoalModel.fitnessTarget),n=this.fitnessUnitName(this.teamGoalModel.fitnessUnitUuid);return`
30      <p class='mat-text-light-gray mb-0 mat-body-small'>
31        <span class='mat-title-medium fw-bold text-white'>${e}</span> ${n} of our
32        <span class='mat-body-medium fw-bold text-white'>${t}</span> ${n} goal
33      </p>`}getFitnessProgressPercent(){return this.teamGoalModel?.fitnessProgressPercent??0}getWellnessProgressTitle(){return"<span class='fst-italic text-uppercase mat-text-light-gray'>Activity Goal<span>"}getWellnessProgressSubTitle(){return"<p class='mat-text-light-gray'>154 Backers</p>"}getWellnessProgressLine(){let e=this.formatNumber(this.teamGoalModel.goalProgress.wellnessTotal),t=this.formatNumber(this.teamGoalModel.wellnessTarget);return`
34      <p class='mat-text-light-gray mb-0 mat-body-small'>
35        <span class='mat-title-medium fw-bold text-white'>${e}</span> pts of our
36        <span class='mat-body-medium fw-bold text-white'>${t}</span> goal
37      </p>`}getWellnessProgressPercent(){return this.teamGoalModel?.wellnessProgressPercent??0}fetchTeamMembersGoalProgress(e,t){this.participationService.getMembersParticipationProgress(this.campaignSlug,e,t).subscribe(n=>{this.memberGoals=n;let o=this.memberGoals.map(p=>p.goalUuid);this.hasFitness&&this.hasDynamicTarget&&(this.teamGoalModel.fitnessTarget=0,this.getBulkFitnessGoalsInfo(o,this.teamGoalModel.fitnessUnitUuid).subscribe(p=>{p.goalList&&(this.teamGoalModel.fitnessTarget=p.totalUnits,this.calculateFitnessPercent())})),this.loadFundraisingProgress(this.memberGoals),this.hasWellness&&(this.teamGoalModel.goalProgress.wellnessTotal=0)},n=>{console.log(n)})}calculateFitnessPercent(){let e=1;(this.teamGoalModel.fitnessTarget??!1)&&(e=this.teamGoalModel.fitnessTarget??0),this.teamGoalModel.goalProgress.fitnessTotal&&this.teamGoalModel.goalProgress.fitnessTotal>0&&(this.teamGoalModel.fitnessProgressPercent=this.teamGoalModel.goalProgress.fitnessTotal/e*100)}loadFundraisingProgress(e){!this.hasFundraising||!this.teamGoalModel||this.injector.get(Ae).getFundraisingProgress(this.campaignSlug,this.teamUuid,this.hasDynamicTarget,this.teamGoalModel,this.teamGoalModel.goalProgress,e).subscribe(t=>{this.teamGoalModel.fundraiseTarget=t.target??0,this.teamGoalModel.fundraiseProgressPercent=t.percentage??0})}loadTeamMembership(e){let t=this.authService.getUserUuid();if(!t){this.teamMembershipLoading=!1;return}this.registrationService.getRegistrationData(this.campaignSlug,t).subscribe({next:n=>{if(this.isRegistered=n!==null,this.registrationGoalUuid=n?.regGoalUuid??"",this.isAdmin=!!(this.registrationGoalUuid&&this.registrationGoalUuid===e.adminRegGoalUuid),!this.registrationGoalUuid){this.teamMembershipLoading=!1;return}this.participationService.getParticipationTeam(this.campaignSlug,this.registrationGoalUuid).subscribe({next:o=>{let p=o?.goalUuidMap??{},u=Object.keys(p),g=Array.isArray(o?.goalUuidList)?o.goalUuidList:[],d=u.length?u:g;this.hasCurrentTeam=d.length>0,this.isCurrentTeamMember=d.includes(this.teamUuid),this.teamMembershipLoading=!1},error:o=>{console.error("Error fetching participant team:",o),this.hasCurrentTeam=!0,this.teamMembershipLoading=!1}})},error:n=>{console.error("Error fetching registration data:",n),this.hasCurrentTeam=!0,this.teamMembershipLoading=!1}})}joinTeam(){if(!(this.isJoiningTeam||this.isCurrentTeamMember||this.hasCurrentTeam)){if(this.isRegistered&&this.registrationGoalUuid){this.isJoiningTeam=!0,this.participationService.addParticipationGoalToTeam(this.campaignSlug,this.teamUuid,this.registrationGoalUuid).subscribe({next:()=>{this.hasCurrentTeam=!0,this.isCurrentTeamMember=!0,this.isJoiningTeam=!1,this.sectionEventService.publishEvent("teamMembershipChanged",{campaignSlug:this.campaignSlug,teamUuid:this.teamUuid}),this.snackBar?.open(`You joined ${this.teamName}.`,"Close",{duration:4e3})},error:e=>{console.error("Error joining team:",e),this.isJoiningTeam=!1,this.snackBar?.open("We could not join this team. Please try again.","Close",{duration:5e3})}});return}this.router.navigate(["/",this.campaignSlug,"register"],{queryParams:{team:this.teamUuid}})}}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-team-hero-section"]],inputs:{showCampaignOrganizerLine:"showCampaignOrganizerLine"},features:[Y([K]),$],decls:2,vars:3,consts:[["groupNavigation",""],["nameInitial",""],["childDynamicBaseTemplate",""],["class","row justify-content-around hero-section",3,"has-team-groups","px-5","opacity-25","opacity-100","draggable",4,"ngIf"],[1,"row","justify-content-around","hero-section"],[1,"col-12","px-3",3,"campaignSlug","teamName","assignments"],[1,"col-12","col-md-auto","order-md-0","p-1","px-3"],[1,"d-flex","align-items-center","h-100","mat-bg-white"],[4,"ngIf","ngIfElse"],[1,"text-left","ms-3"],["class","col mt-3 mat-body-large fw-bold",4,"ngIf"],[1,"d-flex","flex-column","ms-2","pb-2"],[4,"ngIf"],["class","mat-body-small",4,"ngIf"],["class","me-2","mat-flat-button","","color","primary",3,"disabled","click",4,"ngIf"],["class","me-2","mat-stroked-button","","disabled","",4,"ngIf"],["mat-stroked-button","","color","primary",3,"click",4,"ngIf"],["class","position-absolute section-edit-toolbar",4,"ngIf"],["alt","Pic",1,"user-avatar-image","profile-pic-img","me-2",3,"error","src"],[1,"user-avatar-initials","profile-pic-img","fs-1","border","mat-bg-gray","me-2"],[1,"col","mt-3","mat-body-large","fw-bold"],["target","_blank",3,"href"],[1,"btn","text-left","text-decoration-underline","p-0","ps-1"],[1,"mat-body-small"],[1,"fa","fa-info-circle"],[1,"btn","text-decoration-underline","p-0","ps-1",3,"click"],["mat-flat-button","","color","primary",1,"me-2",3,"click","disabled"],["mat-stroked-button","","disabled","",1,"me-2"],["mat-stroked-button","","color","primary",3,"click"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){t&1&&(f(0,Ao,20,23,"div",3),L(1,"async")),t&2&&l("ngIf",G(1,1,n.orgData$))},dependencies:[Ve,W,Q,et,Lt,Z,st,j,ot,mt,nt,it],styles:[".profile-pic-img[_ngcontent-%COMP%]{max-width:100px;max-height:100px;width:100px;height:100px;object-fit:cover}.hero-section.has-team-groups[_ngcontent-%COMP%]{width:100%;margin-inline:0;padding-block:.5rem;align-content:start}[_nghost-%COMP%]:has(.has-team-groups){padding-inline:2rem!important}"]})};var wn=()=>({imgStyleClasses:"p-md-0"}),Tn=i=>({id:"donation-form-img-section",type:"imgElement",editable:!1,properties:i});function Bo(i,e){i&1&&(a(0,"div",29)(1,"h2"),c(2,"\u{1F680} You're Ready to Start Raising Money!"),r(),a(3,"p",30),c(4," Your donation page is live. Connect Stripe to begin securely collecting funds immediately. "),r()())}function zo(i,e){i&1&&(a(0,"div",29)(1,"h2"),c(2,"\u{1F680} Hurray! You are all set to raise money through this form now!"),r(),a(3,"p",30),c(4," Just one last step, go to Admin Dashboard and click continue to Publish the form and start raising money right away. "),r()())}function $o(i,e){if(i&1){let t=S();a(0,"button",31),x("click",function(){h(t);let o=m(3);return b(o.goToStripeConnect())}),c(1," Connect Stripe & Start Collecting "),r()}}function Wo(i,e){if(i&1){let t=S();a(0,"div",23)(1,"div",24),f(2,Bo,5,0,"div",25)(3,zo,5,0,"div",25),a(4,"div",26),f(5,$o,2,0,"button",27),a(6,"button",28),x("click",function(){h(t);let o=m(2);return b(o.goToAdminDashboard())}),c(7," Go to Admin Dashboard "),r()()()()}if(i&2){let t=m(2);s(2),l("ngIf",!t.hasDonationAccounts),s(),l("ngIf",t.hasDonationAccounts),s(2),l("ngIf",!t.hasDonationAccounts)}}function jo(i,e){if(i&1&&se(0,32),i&2){m(2);let t=R(4);l("ngTemplateOutlet",t)}}
37function Ho(i,e){if(i&1&&(a(0,"mat-option",38),c(1),r()),i&2){let t=e.$implicit;l("value",t.goalUuid),s(),I(" ",t.goalName," ")}}function qo(i,e){if(i&1){let t=S();a(0,"div",33)(1,"mat-form-field",34)(2,"mat-label"),c(3,"Select Fundraiser"),r(),a(4,"mat-select",35,2),_t("ngModelChange",function(o){h(t);let p=m(2);return ft(p.donationGoalUuid,o)||(p.donationGoalUuid=o),b(o)}),x("selectionChange",function(o){h(t);let p=m(2);return b(p.onGoalChange(o.value))}),a(6,"mat-option")(7,"input",36),_t("ngModelChange",function(o){h(t);let p=m(2);return ft(p.searchText,o)||(p.searchText=o),b(o)}),x("ngModelChange",function(){h(t);let o=m(2);return b(o.filterGoals())}),r()(),f(8,Ho,2,2,"mat-option",37),r()()()}if(i&2){let t=m(2);s(4),gt("ngModel",t.donationGoalUuid),s(3),gt("ngModel",t.searchText),s(),l("ngForOf",t.filteredGoals)}}function Jo(i,e){if(i&1){let t=S();E(0),a(1,"input",55),_t("ngModelChange",function(o){h(t);let p=m(4);return ft(p.selectedCurrency,o)||(p.selectedCurrency=o),b(o)}),r(),F()}if(i&2){let t=m(4);s(),gt("ngModel",t.selectedCurrency)}}function Yo(i,e){if(i&1&&(a(0,"option",38),c(1),r()),i&2){let t=e.$implicit;l("value",t),s(),T(t)}}function Qo(i,e){if(i&1){let t=S();a(0,"select",56),_t("ngModelChange",function(o){h(t);let p=m(4);return ft(p.selectedCurrency,o)||(p.selectedCurrency=o),b(o)}),x("ngModelChange",function(){h(t);let o=m(4);return b(o.updateDonationData("currency"))}),f(1,Yo,2,2,"option",37),r()}if(i&2){let t=m(4);gt("ngModel",t.selectedCurrency),s(),l("ngForOf",t.participationGoalData.donationCurrencyList)}}function Ko(i,e){if(i&1&&(E(0),f(1,Jo,2,1,"ng-container",54)(2,Qo,2,2,"ng-template",null,5,U),F()),i&2){let t=R(3),n=m(3);s(),l("ngIf",n.participationGoalData.donationCurrencyList.length===1)("ngIfElse",t)}}function Xo(i,e){if(i&1){let t=S();a(0,"button",57),x("click",function(){let o=h(t).$implicit,p=m(3);return p.donationRequest.donationAmount=o,b(p.updateDonationData("donationAmount"))}),c(1),r()}if(i&2){let t=e.$implicit,n=m(3);N("mat-bg-primary",n.parseMoney((n.donationRequest==null?null:n.donationRequest.donationAmount)||0)===t)("text-white",n.parseMoney((n.donationRequest==null?null:n.donationRequest.donationAmount)||0)===t),s(),I(" ",n.formatAmount(t,n.currencyUnitName(n.selectedCurrency))," ")}}function Zo(i,e){if(i&1&&(a(0,"mat-label"),c(1),r()),i&2){let t=m(4);s(),I("Would You Like To Leave a Note For ",t.fundraiserGoalName,"? (Optional)")}}function ta(i,e){i&1&&(a(0,"mat-label"),c(1,"Would You Like To Leave a Note? (Optional)"),r())}function ea(i,e){if(i&1){let t=S();a(0,"div",58)(1,"mat-form-field",48),f(2,Zo,2,1,"mat-label",42)(3,ta,2,0,"mat-label",42),a(4,"textarea",59,6),_t("ngModelChange",function(o){h(t);let p=m(3);return ft(p.donationRequest.donorComment,o)||(p.donationRequest.donorComment=o),b(o)}),x("ngModelChange",function(){h(t);let o=m(3);return b(o.updateDonationData("donorComment"))}),r()()()}if(i&2){let t=m(3);s(2),l("ngIf",t.fundraiserGoalName),s(),l("ngIf",!t.fundraiserGoalName),s(),gt("ngModel",t.donationRequest.donorComment)}}function ia(i,e){if(i&1){let t=S();a(0,"div",39)(1,"div",40)(2,"p",41),c(3,"Choose a Donation Amount:"),r(),f(4,Ko,4,2,"ng-container",42),a(5,"div",43),f(6,Xo,2,5,"button",44),r(),a(7,"div",45)(8,"mat-form-field",34)(9,"mat-label"),c(10),r(),a(11,"input",46),_t("ngModelChange",function(o){h(t);let p=m(2);return ft(p.donationRequest.donationAmount,o)||(p.donationRequest.donationAmount=o),b(o)}),x("ngModelChange",function(){h(t);let o=m(2);return b(o.updateDonationData("donationAmount"))}),r()()()(),a(12,"div",47)(13,"mat-form-field",48)(14,"mat-label"),c(15,"Donor Name"),r(),a(16,"input",49,3),_t("ngModelChange",function(o){h(t);let p=m(2);return ft(p.donationRequest.donorName,o)||(p.donationRequest.donorName=o),b(o)}),x("ngModelChange",function(){h(t);let o=m(2);return b(o.updateDonationData("donorName"))}),r()(),a(18,"label",50)(19,"input",51,4),x("click",function(){h(t);let o=m(2);return b(o.toggleAnonymous())})("ngModel",function(){h(t);let o=m(2);return b(o.donationRequest.donorName==="anonymous")})("ngModelChange",function(){h(t);let o=m(2);return b(o.updateDonationData("donorName"))}),r(),a(21,"span",52),c(22,"Do not display my name publicly on the fundraiser"),r()()(),f(23,ea,7,3,"div",53),r()}if(i&2){let t=m(2);s(4),l("ngIf",t.participationGoalData&&t.participationGoalData.donationCurrencyList&&t.participationGoalData.donationCurrencyList.length>0),s(2),l("ngForOf",t.donationAmountOptions),s(4),I("Enter an amount you'd like to donate (",t.selectedCurrency,")"),s(),gt("ngModel",t.donationRequest.donationAmount),s(5),gt("ngModel",t.donationRequest.donorName),l("disabled",t.donationRequest.donorName==="anonymous"),s(7),l("ngIf",!t.isDonationForm)}}function na(i,e){if(i&1&&(E(0),c(1),F()),i&2){let t=m().$implicit,n=m(4);s(),le(" ",t," ",n.donationTxn.currencyCode," ")}}function oa(i,e){i&1&&c(0,"Custom")}function aa(i,e){if(i&1&&(a(0,"option",70),f(1,na,2,2,"ng-container",54)(2,oa,1,0,"ng-template",null,8,U),r()),i&2){let t=e.$implicit,n=R(3);l("ngValue",t),s(),l("ngIf",t!=="custom")("ngIfElse",n)}}function ra(i,e){if(i&1){let t=S();a(0,"div",71)(1,"mat-form-field",48)(2,"mat-label"),c(3),r(),a(4,"input",72),x("ngModelChange",function(o){h(t);let p=m(4);return b(p.onCustomTipAmountChange(o))}),r()()()}if(i&2){let t=m(4);s(3),le(" Enter custom tip amount (0 to ",t.maxTipAmount," ",t.donationTxn.currencyCode,") "),s(),l("max",t.maxTipAmount)("ngModel",t.customTipAmount)}}function sa(i,e){if(i&1&&(a(0,"div",73)(1,"p",74),c(2," Fee To Cover "),r(),a(3,"p",74),c(4),r()()),i&2){let t=m(4);s(4),le(" ",t.formatNumber(t.donationTxn.feeCovered)," ",t.donationTxn.currencyCode," ")}}function la(i,e){if(i&1){let t=S();a(0,"div",64)(1,"p",65),c(2,"Tip Amount"),r(),a(3,"select",66),x("ngModelChange",function(o){h(t);let p=m(3);return b(p.onTipOptionChange(o))}),f(4,aa,4,3,"option",67),r(),f(5,ra,5,4,"div",68)(6,sa,5,2,"div",69),r()}if(i&2){let t,n=m(3);
37s(3),l("ngModel",n.selectedTipMode==="custom"?"custom":n.donationTxn.tipAmount),s(),l("ngForOf",n.tipAmountRange),s(),l("ngIf",n.selectedTipMode==="custom"),s(),l("ngIf",(n.donationTxn==null?null:n.donationTxn.feeCovered)>0&&((t=n.donationRequest==null?null:n.donationRequest.donationAmount)!==null&&t!==void 0?t:0)>0)}}function ma(i,e){if(i&1){let t=S();a(0,"div",47)(1,"label",60)(2,"input",61,7),_t("ngModelChange",function(o){h(t);let p=m(2);return ft(p.donationTxn.optedDonorTip,o)||(p.donationTxn.optedDonorTip=o),b(o)}),x("ngModelChange",function(){h(t);let o=m(2);return b(o.updateTxnData("tipAmountCheckbox"))}),r(),c(4," I\u2019d like to cover "),a(5,"a",62),x("click",function(){h(t);let o=m(2);return b(o.toggleTipSelectVisibility())}),c(6,"platform tip and merchant fees"),r(),c(7),r(),f(8,la,7,4,"div",63),r()}if(i&2){let t=m(2);s(2),l("disabled",t.donationTxn.chargeAmount==0),gt("ngModel",t.donationTxn.optedDonorTip),s(5),I(" so 100% of my donation goes to ",t.campaignName,". "),s(),l("ngIf",t.donorTipToggleValue)}}function ca(i,e){if(i&1&&(a(0,"div",78)(1,"p",74),c(2," Fee To Cover "),r(),a(3,"p",74),c(4),r()()),i&2){let t=m(3);s(4),le(" ",t.formatNumber(t.donationTxn.feeCovered)," ",t.donationTxn.currencyCode," ")}}function pa(i,e){if(i&1){let t=S();a(0,"div",47)(1,"label",75)(2,"input",76,9),_t("ngModelChange",function(o){h(t);let p=m(2);return ft(p.donationTxn.optedCoverFee,o)||(p.donationTxn.optedCoverFee=o),b(o)}),x("ngModelChange",function(){h(t);let o=m(2);return b(o.updateTxnData("coverFeeCheck"))}),r(),c(4),r(),f(5,ca,5,2,"div",77),r()}if(i&2){let t,n=m(2);s(2),l("disabled",n.donationTxn.chargeAmount==0),gt("ngModel",n.donationTxn.optedCoverFee),s(2),I(" I\u2019d like to cover platform charges and merchant fees so 100% of my donation goes to ",n.campaignName," "),s(),l("ngIf",(n.donationTxn==null?null:n.donationTxn.feeCovered)>0&&((t=n.donationRequest==null?null:n.donationRequest.donationAmount)!==null&&t!==void 0?t:!1))}}function da(i,e){if(i&1&&(a(0,"span",79),c(1),r()),i&2){let t=m(2);s(),I(" ",t.formatAmountWithPrecision((t.donationTxn.chargeAmount||0)>=.32&&t.donationTxn.chargeAmount||0,t.currencyUnitName(t.donationTxn.currencyCode),2)," ")}}function ua(i,e){}function ga(i,e){i&1&&_(0,"i",87)}function fa(i,e){i&1&&_(0,"i",88)}function _a(i,e){if(i&1){let t=S();a(0,"button",84),x("click",function(){h(t);let o=m(3);return b(o.toggleVisibility())}),f(1,ga,1,0,"i",85)(2,fa,1,0,"i",86),r()}if(i&2){let t=m(3);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function ha(i,e){i&1&&_(0,"i",92)}function ba(i,e){i&1&&_(0,"i",93)}function va(i,e){if(i&1){let t=S();a(0,"button",89),x("click",function(){h(t);let o=m(3);return b(o.toggleComponentWidth())}),f(1,ha,1,0,"i",90)(2,ba,1,0,"i",91),r()}if(i&2){let t=m(3);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function xa(i,e){i&1&&(a(0,"button",94),_(1,"i",95),r())}function Ca(i,e){if(i&1&&(a(0,"div",80),f(1,_a,3,2,"button",81)(2,va,3,2,"button",82)(3,xa,2,0,"button",83),r()),i&2){let t=m(2);s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}function ya(i,e){if(i&1){let t=S();a(0,"div",11),f(1,Wo,8,3,"div",12)(2,jo,1,1,"ng-container",13),a(3,"div",14),f(4,qo,9,3,"div",15)(5,ia,24,7,"div",16),a(6,"div",17),f(7,ma,9,4,"div",18)(8,pa,6,4,"div",18),r(),a(9,"div",19)(10,"button",20),x("click",function(){h(t);let o=m();return b(o.onDonate())}),c(11," Donate "),f(12,da,2,1,"span",21),r()()(),f(13,ua,0,0,"ng-template",null,1,U)(15,Ca,4,3,"div",22),r()}if(i&2){let t=m();N("px-5",t.editable)("opacity-25",t.editable&&!t.isVisible)("opacity-100",t.isVisible)("draggable",t.draggable),s(),l("ngIf",t.donationCampaignType&&!t.campaignLaunched),s(),l("ngIf",!t.dialogMode),s(2),l("ngIf",t.pageType==="generic"&&!t.isDonationForm),s(),l("ngIf",t.donationRequest),s(2),l("ngIf",t.donationTxn&&t.participationGoalData&&t.participationGoalData.hasDonorTip),s(),l("ngIf",t.participationGoalData&&t.participationGoalData.hasCoverTheFee&&!t.participationGoalData.hasDonorTip&&t.donationTxn),s(4),l("ngIf",t.donationTxn&&(t.donationTxn.chargeAmount||0)>=.32),s(3),l("ngIf",t.editable||t.flexibleWidth||t.draggable)}}function Sa(i,e){if(i&1&&_(0,"app-img-element-layout",109),i&2){let t=m(3);l("editable",!1)("layoutUnit",Gt(5,Tn,Ht(4,wn)))("src",t.campaignImage)("portrait_src",t.campaignImage)}}function wa(i,e){i&1&&(a(0,"p",110),c(1,"Your donation is in support of"),r())}
37function Ta(i,e){if(i&1&&(a(0,"p",111),c(1),r()),i&2){let t=m(3);N("text-md-end",!t.hideCampaignImage),s(),T(t.fundraiserGoalName)}}function Ia(i,e){if(i&1){let t=S();a(0,"div",99),f(1,Sa,1,7,"app-img-element-layout",100),a(2,"div",101),f(3,wa,2,0,"p",102)(4,Ta,2,3,"p",103),a(5,"p",104),c(6,"Your donation will benefit"),r(),a(7,"p",105),c(8),r(),a(9,"div",106),_(10,"i",107),a(11,"button",108),x("click",function(){h(t);let o=m(2);return b(o.showTaxDeductibility())}),c(12,"Tax deductibility"),r()()()()}if(i&2){let t=m(2);s(),l("ngIf",!t.hideCampaignImage),s(),N("col-md-5",!t.hideCampaignImage)("align-items-md-end",!t.hideCampaignImage)("align-items-center",t.hideCampaignImage),s(),l("ngIf",t.fundraiserGoalName),s(),l("ngIf",t.fundraiserGoalName),s(3),N("text-md-end",!t.hideCampaignImage),s(),T(t.fundraisingOrgName)}}function ka(i,e){if(i&1&&(a(0,"div",121),_(1,"app-img-element-layout",109),r()),i&2){let t=m(3);s(),l("editable",!1)("layoutUnit",Gt(5,Tn,Ht(4,wn)))("src",t.campaignImage)("portrait_src",t.campaignImage)}}function Ma(i,e){if(i&1&&_(0,"app-rich-text-element-layout",122),i&2){let t=m(3);l("editorContent",t.campaignDescription)("isCollapsible",!0)}}function Pa(i,e){if(i&1&&_(0,"app-progress-component-layout",123),i&2){let t=m(3);l("title",t.getFundraisingProgressTitle())("progress_line",t.getFundraisingProgressLine())("subtitle",t.getFundraisingProgressSubTitle())("percent",t.getFundraisingProgressPercent())("progress_style","progress-bar")}}function Ua(i,e){if(i&1){let t=S();a(0,"div",112)(1,"div",113)(2,"div",114),_(3,"img",115),r(),_(4,"p",116),r(),f(5,ka,2,7,"div",117),a(6,"div",118),_(7,"i",107),a(8,"button",108),x("click",function(){h(t);let o=m(2);return b(o.showTaxDeductibility())}),c(9,"Tax deductibility"),r()(),f(10,Ma,1,2,"app-rich-text-element-layout",119),L(11,"async"),f(12,Pa,1,5,"app-progress-component-layout",120),r()}if(i&2){let t=m(2);s(3),l("src",t.fundraisingOrgLogoUrl,P),s(),l("innerHtml",t.donationFormTitle,Et),s(),l("ngIf",t.campaignImage&&!t.hideCampaignImage),s(5),l("ngIf",G(11,5,t.aboutCampaignData$)),s(2),l("ngIf",t.goalModel&&((t.goalModel==null?null:t.goalModel.fundraiseTarget)||0)>0)}}function Ea(i,e){i&1&&(a(0,"div",124),_(1,"app-ind-hero-section",125),r())}function Fa(i,e){i&1&&(a(0,"div",124),_(1,"app-team-hero-section",125),r())}function Da(i,e){if(i&1&&f(0,Ia,13,12,"div",96)(1,Ua,13,7,"div",97)(2,Ea,2,0,"div",98)(3,Fa,2,0,"div",98),i&2){let t=m();l("ngIf",t.pageType==="generic"&&!t.isDonationForm),s(),l("ngIf",t.isDonationForm),s(),l("ngIf",t.pageType==="individual"),s(),l("ngIf",t.pageType==="team")}}var yn=class i extends X{donationFormAmountsList;defaultDonationFormAmount;checkoutMode="HOSTED";hideCampaignImage=!1;dialogMode=!1;embeddedCheckoutReady=new re;checkoutError=new re;get dialogModeClass(){return this.dialogMode}donationGoalUuidSubject=new di("");goalModel=null;donationGoalUuid$=this.donationGoalUuidSubject.asObservable();fundraiserGoalOwnerData={};fundraiserGoalName="";app_fee_perc=5;teamData={};teamData$=null;campaignGoals=[];filteredGoals=[];searchText="";individualGoalsData$=null;individualGoals=[];donationCampaignType=!1;campaignLaunched=!0;hasDonationAccounts=!0;pageType="individual";donorTipToggleValue=!1;participationGoalData$=null;participationGoalData=null;donationTxn=null;donationRequest=null;selectedCurrency="";userDetail={};tipAmountRange=[];selectedTipMode="preset";customTipAmount=null;maxTipAmount=0;userSelectedTip=!1;donationRequestChangesSubject=new ti;donationTxnChangesSubject=new ti;set donationGoalUuid(e){this.donationGoalUuidSubject.next(e)}get donationGoalUuid(){return this.donationGoalUuidSubject.getValue()}static initialize(e){e.registerComponent("DonationFormLayoutSectionStyle",i)}static editableProperties=[{key:"donationFormAmountsList",label:"Donation amount buttons",type:"moneyList",defaultValue:[25,50,100,250,500],helpText:"Leave blank to use donation amounts from campaign fundraising settings.",linkedSource:{entity:"campaign",field:"donationFormAmountsList",modelPath:"campaign.fundraising.donationFormAmountsList"},linkedValueFormat:"amountObjectList",allowPageOverride:!0},{key:"defaultDonationFormAmount",label:"Default selected amount",type:"number",defaultValue:25,helpText:"Use one of the donation amount button values.",linkedSource:{entity:"campaign",field:"defaultDonationFormAmount",modelPath:"c
37ampaign.fundraising.defaultDonationFormAmount"},allowPageOverride:!0}];ngOnInit(){this.loadCampaignGoalInfo=!0,this.loadCampaignGoalProgress=!0,super.ngOnInit(),this.donationGoalUuid$.subscribe(e=>{e&&this.loadDonationGoalUuid()}),this.route.paramMap.subscribe(e=>{let t=e.get("teamId")??"";t?(this.pageType="team",this.donationGoalUuid=t):(this.donationGoalUuid=e.get("id")??"",this.pageType=this.donationGoalUuid!=""?"individual":"generic",this.pageType==="generic"&&this.loadGenericDonationPage()),console.log("donation goal id: "+this.donationGoalUuid)})}saveDonationRequest(){let e=this.donationRequest?.donorName?.trim();if(!e)throw new Error("Donor name is required");return this.donationRequest.donorName=e,this.participationService.updateDonationRequest(this.participationGoalData.goalUuid,this.donationRequest.donationUuid??"",this.donationRequest,this.donationTxn?.txnUuid??"")}loadGenericDonationPage(){this.pageType==="generic"&&(this.donationGoalUuid=this._campaignData.campaignData.campaignUuid,this.individualGoalsData$=this.fetchIndividualGoalsProgress(this.campaignSlug,1e5),this.individualGoalsData$.subscribe(e=>{this.campaignGoals=[];let t={type:"campaign",goalUuid:this._campaignData.campaignData.campaignUuid,goalName:this._campaignData.campaignData.campaignName};this.campaignGoals.push(t),this.hasFundraising&&(console.log("Individual Goals:",e),this.individualGoals=e,e.forEach(n=>{if(n.goalOwnerName&&n.goalOwnerName.trim().length>1){let o={type:"individual",goalUuid:n.goalUuid,goalName:n.goalOwnerName.trim()};this.campaignGoals.push(o)}}),this.campaignGoals.sort((n,o)=>n.goalName.localeCompare(o.goalName))),this.filteredGoals=[...this.campaignGoals]},e=>{console.error("Error fetching individual goals:",e)}))}generateTipAmountRange(){if(!this.donationTxn?.hasDonorTip)return;let e=Number(this.donationRequest?.donationAmount||0);this.maxTipAmount=this.roundTo2(e*.2);let t=[this.roundTo2(e*.12),this.roundTo2(e*.15),this.roundTo2(e*.2)],n=[...new Set(t)];if(this.tipAmountRange=[...n,"custom"],this.selectedTipMode==="custom"){this.customTipAmount==null&&(this.customTipAmount=this.roundTo2(e*.15)),this.customTipAmount=this.roundTo2(Math.min(Math.max(this.customTipAmount,0),this.maxTipAmount));let o=this.donationTxn.tipAmount||0;this.donationTxn.tipAmount=this.customTipAmount,(this.donationTxn.optedDonorTip||this.donationTxn.optedCoverFee)&&this.donationTxn.tipAmount!==o&&this.updateTxnData("tipAmountSelect");return}if(this.userSelectedTip){let o=this.roundTo2(Number(this.donationTxn.tipAmount||0));n.includes(o)?this.donationTxn.tipAmount=o:(this.customTipAmount=this.roundTo2(e*.15)??0,this.donationTxn.tipAmount=this.roundTo2(e*.15)??0,this.updateTxnData("tipAmountSelect"))}else{let o=this.roundTo2(e*.15),p=this.donationTxn.tipAmount||0;this.donationTxn.tipAmount=o,(this.donationTxn.optedDonorTip||this.donationTxn.optedCoverFee)&&this.donationTxn.tipAmount!==p&&this.updateTxnData("tipAmountCheckbox")}}roundTo2(e){return Math.round((e+Number.EPSILON)*100)/100}onTipOptionChange(e){this.userSelectedTip=!0;let t=Number(this.donationRequest?.donationAmount||0);if(e==="custom"){this.selectedTipMode="custom";let n=this.roundTo2(t*.15);this.customTipAmount=n,this.donationTxn.tipAmount=n,this.updateTxnData("tipAmountSelect");return}this.selectedTipMode="preset",this.donationTxn.tipAmount=this.roundTo2(Number(e)),this.updateTxnData("tipAmountSelect")}onCustomTipAmountChange(e){this.userSelectedTip=!0,this.selectedTipMode="custom";let t=Number(e);(!isFinite(t)||t<0)&&(t=0),t=this.roundTo2(t),t>this.maxTipAmount&&(t=this.maxTipAmount),this.customTipAmount=t,this.donationTxn.tipAmount=t,this.updateTxnData("tipAmountSelect")}setupDonationForm(){this.participationGoalData&&this.participationGoalData.appFeePerc!=null&&this.participationGoalData.appFeePerc>=0&&(this.app_fee_perc=this.participationGoalData.appFeePerc),at([this.createDonationTxn(this.campaignSlug)]).subscribe(([e])=>{this.donationTxn=e,setTimeout(()=>{let t=this._campaignData.configData.appFeeDefaultOpted,n=t!==!1&&t!==0;this._campaignData&&this._campaignData.configData&&n&&(this.donationTxn.optedDonorTip=!0,this.updateTxnData("tipAmountCheckbox"))},2e3),this.generateTipAmountRange(),this.donationTxn&&this.initDefaultDonationRequest().pipe(pe(t=>(this.donationRequest=t.data,this.donationRequest.donorName="",this.fetchDonationTxnData(this.donationTxn?.txnUuid??"")))).subscribe(t=>{this.donationTxn=t,this.generateTipAmountRange()},t=>{console.error("Error creating initial donation request:",t)})},e=>{console.error("Error fetching data:",e)})}updateTxnData(e){e==="tipAmountSelect"&&(this.userSelectedTip=!0),this.donationTxnCh
37angesSubject.next(e)}updateDonationData(e){this.donationRequestChangesSubject.next(e)}fetchDonationTxnData(e){return this.participationService.getTxnData(e)}createDonationTxn(e){return this.participationService.createDonationTxn(e)}initDefaultDonationRequest(){this.donationRequest=new Ne,this.donationRequest.txnUuid=this.donationTxn?.txnUuid??"",this.donationRequest.donationAmount=this.getDefaultAmount(),this.donationRequest.donorName=" ",this.donationRequest.currencyCode=this.selectedCurrency;var e="";return this.userDetail&&this.userDetail.firstName&&(e=this.userDetail.firstName),this.userDetail&&this.userDetail.lastName&&(e+=" "+this.userDetail.lastName),e!=""&&(this.donationRequest.donorName=e),this.participationService.createDonationRequest(this.participationGoalData.goalUuid,this.donationRequest)}onDonate(){if(!this.donationRequest?.donorName?.trim()){alert("Please enter Donor name as it is required field");return}!this.donationTxn||!this.donationRequest||this.donationTxn.chargeAmount<=0||this.saveDonationRequest().pipe(B(()=>this.getPaymentLink(this.donationTxn.txnUuid))).subscribe({next:t=>{if(this.checkoutMode==="EMBEDDED"){if(!t?.clientSecret){this.checkoutError.emit("The secure payment form could not be initialized. Please try again.");return}this.embeddedCheckoutReady.emit(tt(D({},t),{txnUuid:t.txnUuid||this.donationTxn.txnUuid}));return}window.location.href=t.paymentLink},error:()=>{this.checkoutError.emit("We could not start the payment. Please try again.")}})}getPaymentLink(e){let t=this.getBaseUrl(),n=`${t}${this.campaignSlug}/donation/success`,o=`${t}${this.campaignSlug}/donation/cancel`;return this.participationService.getPaymentLink(this.campaignSlug,e,n,o,this.checkoutMode)}toggleAnonymous(){this.donationRequest&&(this.donationRequest.donorName==="anonymous"?this.donationRequest.donorName="":this.donationRequest.donorName="anonymous")}toggleTipSelectVisibility(){this.donorTipToggleValue=!this.donorTipToggleValue}onCampaignLoad(){this.goalModel=this.campaignGoalModel;let e=this._campaignData?.campaignData?.campaignType||null,t=(this._campaignData?.campaignData?.status||0)>0,n=this._campaignData?.campaignData?.campaignUuid||null,o=this._campaignData?.campaignData?.organizerUuid||null;this.campaignLaunched=t,e!=null&&(this.donationCampaignType=e==="DONATION"),!t&&this.donationCampaignType&&this.orgService.getDonationAccounts(o,n).subscribe(p=>{(p?.donationAccounts??p?.accounts??p?.items??(Array.isArray(p)?p:[])).length==0?this.hasDonationAccounts=!1:this.hasDonationAccounts=!0},p=>{console.log(p)}),this.pageType==="generic"&&this.loadGenericDonationPage()}goToStripeConnect(){this.router.navigate(["/org-admin/donation-accounts"])}goToAdminDashboard(){this.router.navigate(["/org-admin"],{queryParams:{returnTo:this.router.url}})}filterGoals(){let e=this.searchText.toLowerCase();this.filteredGoals=this.campaignGoals.filter(t=>t.goalName.toLowerCase().includes(e))}parseMoney(e){if(typeof e=="number"&&isFinite(e))return e;if(typeof e!="string")return null;let t=e.trim();if(!t)return null;let n=t.replace(/[^\d.,+\-]/g,"");if(!n)return null;let o=n.lastIndexOf(","),p=n.lastIndexOf(".");(o>p?",":p>o?".":null)===","?(n=n.replace(/\./g,""),n=n.replace(",",".")):n=n.replace(/,/g,""),n=n.replace(/^([+\-]?)(.*)$/,(d,v,C)=>v+C.replace(/[^\d.]/g,"")).replace(/(\..*)\./g,"$1");let g=Number(n);return!isFinite(g)||g<0||g>1e9?null:g}loadDonationGoalUuid(){console.log("Loading Donation Goal"),this.donationGoalUuid&&
37(this.participationGoalData$=this.getParticipationGoalData(this.donationGoalUuid),this.participationGoalData$.subscribe(e=>{this.participationGoalData=e,this.participationGoalData&&this.participationGoalData.donationCurrencyList&&this.participationGoalData.donationCurrencyList.length>0&&(this.selectedCurrency=this.participationGoalData.donationCurrencyList[0],this.setupDonationForm())},e=>{console.error(e)}),this.donationTxnChangesSubject.pipe(ei(300),B(e=>(this.participationGoalData&&this.participationGoalData.hasDonorTip&&(this.donationTxn.optedCoverFee=this.donationTxn.optedDonorTip),this.participationService.updateDonationTxn(this.campaignSlug,this.donationTxn.txnUuid,this.donationTxn.optedDonorTip,this.donationTxn.optedCoverFee,this.donationTxn.tipAmount?this.donationTxn.tipAmount:0)))).subscribe(e=>{this.donationTxn=e,this.generateTipAmountRange()},e=>{console.error("Error updating donation txn:",e)}),this.donationRequestChangesSubject.pipe(ei(1e3),O(()=>{this.donationRequest.donorName?.trim()||(this.donationRequest.donorName=" ");var e=this.parseMoney(this.donationRequest.donationAmount);return e===null&&(e=0),this.donationRequest.donationAmount=e,this.donationRequest}),B(e=>this.participationService.updateDonationRequest(this.participationGoalData.goalUuid,e.donationUuid??"",e,this.donationTxn?.txnUuid??""))).subscribe(e=>{this.donationRequest=e.data,this.fetchDonationTxnData(this.donationTxn?.txnUuid??"").subscribe(t=>{this.donationTxn=t,this.generateTipAmountRange()},t=>{console.log(t)})},e=>{console.log("Error updating registration txn:"+e)}
37)),this.donationGoalUuid&&(this.pageType==="individual"||this.pageType==="team")&&this.getParticipantDataByRegGoalId(this.campaignSlug,this.donationGoalUuid).subscribe(e=>{e&&(e.regGoalUuid&&this.donationGoalUuid!=e.regGoalUuid&&(this.donationGoalUuid=e.regGoalUuid),e.userUuid?this.userService.getUserBasicInfo(e.userUuid).subscribe(t=>{this.fundraiserGoalOwnerData=t,this.fundraiserGoalName=`${this.fundraiserGoalOwnerData.firstName} ${this.fundraiserGoalOwnerData.lastName}`}):e.teamUuid&&(this.teamData$=this.getTeamInfo(this.campaignSlug,e.teamUuid),this.teamData$.subscribe(t=>{t.teamName&&(this.fundraiserGoalName=t.teamName)})))})}onGoalChange(e){let t=this.campaignGoals.find(n=>n.goalUuid===e);t&&(this.fundraiserGoalName=t.goalName)}get isDonationForm(){return this._campaignData.campaignData.campaignType==="DONATION"}get donationAmountOptions(){return this.donationFormAmountsList?.length?this.donationFormAmountsList:this._campaignData?.configData?.donationFormAmountsList?.length?this._campaignData?.configData?.donationFormAmountsList:this.isDonationForm?[25,50,100,250,500]:[25,50,100,250,500,1e3]}getDefaultAmount(){let e=this.layoutUnit?.properties?.defaultDonationFormAmount;if(Number(e)>0)return Number(e);if(!(this.layoutUnit?.layoutTemplate?.properties?.defaultDonationFormAmount!==void 0)&&Number(this.defaultDonationFormAmount)>0)return Number(this.defaultDonationFormAmount);let n=Number(this._campaignData?.configData?.defaultDonationFormAmount);if(n>0)return n;let o=Number(this.donationAmountOptions?.[0]);return o>0?o:Number(this.defaultDonationFormAmount)||25}get donationFormTitle(){return this._campaignData?.campaignData?.campaignName||""}get donationFormDescription(){return this._campaignData?.campaignData?.description||""}getFundraisingProgressTitle(){return""}getFundraisingProgressLineStyleOld(){return`
38      <p class='mb-0 mat-body-small'>
39        <span class='mat-title-medium fw-bold text-white'>
40        ${this.formatAmount(this.goalModel.goalProgress.fundraiseTotal,this.currencyUnitName(this.goalModel.currencyCode))}
41        </span>
42        raised of our
43        <span class='mat-body-medium fw-bold text-white'>
44        ${this.formatAmount(this.goalModel.fundraiseTarget,this.currencyUnitName(this.goalModel.currencyCode))}
45        </span> goal
46      </p>
47    `}getFundraisingProgressLine(){return`
48      <p class='mb-0 mat-title-small fw-bold'>
49        ${this.formatAmount(this.goalModel.goalProgress.fundraiseTotal,this.currencyUnitName(this.goalModel.currencyCode))}
50        <span class='mat-title-small fw-bold'>raised</span>
51      </p>
52    `}getFundraisingProgressSubTitle(){return Number(this.goalModel.fundraiseTarget)>0?`
53          <p class='mat-body-small mat-text-medium-gray mb-0'>
54            ${this.formatAmount(this.goalModel.fundraiseTarget,this.currencyUnitName(this.goalModel.currencyCode))}
55             <span class='mat-body-small'>Goal</span>
56          </p>
57        `:""}getFundraisingProgressPercent(){return Number(this.goalModel.fundraiseTarget)>0?this.goalModel?.fundraiseProgressPercent??1:100}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-donation-form-section"]],hostVars:2,hostBindings:function(t,n){t&2&&N("cf-dialog-donation-form",n.dialogModeClass)},inputs:{donationFormAmountsList:"donationFormAmountsList",defaultDonationFormAmount:"defaultDonationFormAmount",checkoutMode:"checkoutMode",hideCampaignImage:"hideCampaignImage",dialogMode:"dialogMode"},outputs:{embeddedCheckoutReady:"embeddedCheckoutReady",checkoutError:"checkoutError"},features:[Y([K]),$],decls:5,vars:5,consts:[["donationHeroSection",""],["childDynamicBaseTemplate",""],["fundraiserSelect",""],["donorNameInput",""],["anonymousCheck",""],["dropdown",""],["autosize","cdkTextareaAutosize","donorCommentInput",""],["donorTipCheck",""],["customOption",""],["coverFeeCheck",""],["class","row justify-content-around hero-section pb-5",3,"px-5","opacity-25","opacity-100","draggable",4,"ngIf"],[1,"row","justify-content-around","hero-section","pb-5"],["class","stripe-launch-banner mt-3 mb-0",4,"ngIf"],[3,"ngTemplateOutlet",4,"ngIf"],[1,"donation-form","px-md-5"],["class","optional-contributions-section",4,"ngIf"],["class","text-left donor-section",4,"ngIf"],[1,"optional-contributions-section","mt-2"],["class","form-group",4,"ngIf"],[1,"text-center","mt-4"],["mat-button","",1,"mat-bg-primary","mat-body-large","py-4","fw-bold","w-100",3,"click"],["class","fw-bold mat-body-large",4,"ngIf"],["class","position-absolute section-edit-toolbar",4,"ngIf"],[1,"stripe-launch-banner","mt-3","mb-0"],[1,"banner-content"],["class","banner-text",4,"ngIf"],[1,"banner-action","mt-3","w-100","gap-3","d-flex"],["mat-raised-button","","class","stripe-btn",3,"click",4,"ngIf"],["mat-stroked-button","",1,"admin-btn",3,"click"],[1,"banner-text"],[1,"sub"],["mat-raised-button","",1,"stripe-btn",3,"click"],[3,"ngTemplateOutlet"],[1,"optional-contributions-section"],["appearance","outline",1,"w-100","mt-2"],["name","donationGoalUuid",3,"ngModelChange","selectionChange","ngModel"],["matInput","","placeholder","Search goals",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"text-left","donor-section"],[1,"form-group","mt-1"],[1,"mb-2","mat-body-medium"],[4,"ngIf"],[1,"d-flex","flex-wrap","gap-2","mat-button","justify-content-between","mb-2"],["mat-stroked-button","","class","btn-donation",3,"mat-bg-primary","text-white","click",4,"ngFor","ngForOf"],[1,"text-center"],["matInput","","type","number",3,"ngModelChange","ngModel"],[1,"form-group"],["appearance","outline",1,"w-100"],["matInput","","type","text","id","donorNameInput","placeholder","Enter Donor Name",1,"mat-body-medium",3,"ngModelChange","ngModel","disabled"],["for","anonymousCheck",1,"d-block",2,"margin-top","-10px"],["type","checkbox","id","anonymousCheck",3,"click","ngModel","ngModelChange"],[1,"ms-2","mat-body-medium","mat-text-dark-gray"],["class","form-group pt-3 mat-body-medium",4,"ngIf"],[4,"ngIf","ngIfElse"],["type","hidden",3,"ngModelChange","ngModel"],[3,"ngModelChange","ngModel"],["mat-stroked-button","",1,"btn-donation",3,"click"],[1,"form-group","pt-3","mat-body-medium"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","5","id","donorCommentInput","placeholder","Note\u2026",1,"mat-body-medium",3,"ngModelChange","ngModel"],["for","donorTipCheck",1,"d-block","mat-body-medium","mat-text-black"],["type","checkbox","id","donorTipCheck",3,"ngModelChange","disabled","ngModel"],["href","javascript:void(0)",3,"click"],["class","mt-3 d-flex flex-column gap-2 py-2",4,"ngIf"],[1,"mt-3","d-flex","flex-column","gap-2","py-2"],[1,"mat-body-medium","mb-1","mat-text-dark-gray"],[1,"form-control","mat-body-small",3,"ngModelChange","ngModel"],[3,"ngValue",4,"ngFor","ngForOf"],["class","mt-2",4,"ngIf"],["class","d-flex gap-3",4,"ngIf"],[3,"ngValue"],[1,"mt-2"],["matInput","","type","number","min","0","step","0.01",3,"ngModelChange","max","ngModel"],[1,"d-flex","gap-3"],[1,"mat-body-medium","mat-text-dark-gray","mb-0"],["for","coverFeeCheck",1,"d-block","mat-body-medium","mat-text-black"],["type","checkbox","id","coverFeeCheck",3,"ngModelChange","disabled","ngModel"],["class","mt-3  d-flex justify-content-between align-items-center",4,"ngIf"],[1,"mt-3","d-flex","justify-content-between","align-items-center"],[1,"fw-bold","mat-body-large"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"],["class","col-12 d-flex flex-wrap px-0 py-3",4,"ngIf"],["class","mt-4 px-md-5 mb-2",4,"ngIf"],["class","col-12 d-flex flex-wrap px-0 pt-3",4,"ngIf"],[1,"col-12","d-flex","flex-wrap","px-0","py-3"],["class","col-12 col-md-7 px-0",3,"editable","layoutUnit","src","portrait_src",4,"ngIf"],[1,"col-12","mt-1","px-3","d-flex","flex-column","justify-content-center"],["class","mat-title-medium mat-text-dark-gray mb-1",4,"ngIf"],["class","mat-body-large mat-text-primary fw-bold mb-0",3,"text-md-end",4,"ngIf"],[1,"mat-title-medium","mt-3","mat-text-dark-gray","mb-1"],[1,"mat-body-large","mb-0","fw-bold"],[1,"d-flex","mt-2"],[1,"fa","fa-info-circle"],[1,"btn","mat-body-small","text-decoration-underline","p-0","ps-1",3,"click"],[1,"col-12","col-md-7","px-0",3,"editable","layoutUnit","src","portrait_src"],[1,"mat-title-medium","mat-text-dark-gray","mb-1"],[1,"mat-body-large","mat-text-primary","fw-bold","mb-0"],[1,"mt-4","px-md-5","mb
57-2"],[1,"d-flex","gap-2","align-items-end","justify-content-center"],[1,"col-1"],[1,"mw-100",3,"src"],[1,"mat-title-large","mt-3","fw-bold","mb-1","col-auto",3,"innerHtml"],["class","col-12",4,"ngIf"],[1,"d-flex","justify-content-end","mb-2"],["class","small-text-content-container",3,"editorContent","isCollapsible",4,"ngIf"],["class","hero-section-progress-bar",3,"title","progress_line","subtitle","percent","progress_style",4,"ngIf"],[1,"col-12"],[1,"small-text-content-container",3,"editorContent","isCollapsible"],[1,"hero-section-progress-bar",3,"title","progress_line","subtitle","percent","progress_style"],[1,"col-12","d-flex","flex-wrap","px-0","pt-3"],[1,"w-100"]],template:function(t,n){t&1&&(f(0,ya,16,16,"div",10),L(1,"async"),L(2,"async"),f(3,Da,4,4,"ng-template",null,0,U)),t&2&&l("ngIf",G(1,1,n.aboutCampaignData$)&&G(2,3,n.orgData$))},dependencies:[W,Dt,Q,he,et,mt,Ii,ki,zt,wi,Si,Ti,$t,Pi,Mi,Ce,Z,Ki,ee,Xi,Ei,dt,vt,j,ot,pt,nt,Nt,kt,It,Ie,Pe,it,Ee,Ue,Te,Fi,Oe,Ge],styles:[".stripe-cta-banner[_ngcontent-%COMP%]{background:linear-gradient(90deg,#f4f8ff,#fff);border-left:6px solid #635bff;padding:20px;margin-bottom:20px;border-radius:8px}.stripe-launch-banner[_ngcontent-%COMP%]{background:linear-gradient(135deg,#635bff,#4f46e5);color:#fff;padding:28px;border-radius:14px;margin-bottom:25px;box-shadow:0 10px 30px #635bff40;position:relative;overflow:hidden}.banner-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.banner-text[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{font-weight:600;margin-bottom:8px}.banner-text[_ngcontent-%COMP%]   .sub[_ngcontent-%COMP%]{font-size:16px;opacity:.9;margin-bottom:0}.stripe-btn[_ngcontent-%COMP%]{background:#fff!important;color:#635bff!important;font-weight:600;padding:12px 24px;border-radius:30px;box-shadow:0 4px 15px #00000026;transition:transform .2s ease,box-shadow .2s ease}.stripe-btn[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.admin-btn[_ngcontent-%COMP%]{border-color:#fff!important;color:#fff!important;border-radius:30px;padding:12px 20px}.admin-btn[_ngcontent-%COMP%]:hover{background:#ffffff26}.btn-donation[_ngcontent-%COMP%]{transition:all .2s ease}.btn-donation--active[_ngcontent-%COMP%]{background-color:#eee;color:#fff;border-color:#1e88e5}.cf-dialog-donation-form[_nghost-%COMP%]{display:block}.cf-dialog-donation-form[_nghost-%COMP%]   .hero-section[_ngcontent-%COMP%]{padding-bottom:0!important}.cf-dialog-donation-form[_nghost-%COMP%]   .donation-form[_ngcontent-%COMP%]{padding:8px 4px 20px!important}.cf-dialog-donation-form[_nghost-%COMP%]   .optional-contributions-section[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]:first-child{margin-top:0!important}.cf-dialog-donation-form[_nghost-%COMP%]   .donor-section[_ngcontent-%COMP%]   .form-group[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);font-weight:600;margin-top:4px}.cf-dialog-donation-form[_nghost-%COMP%]   .donor-section[_ngcontent-%COMP%]   .mat-button[_ngcontent-%COMP%]{display:grid!important;gap:10px!important;grid-template-columns:repeat(3,minmax(0,1fr))}.cf-dialog-donation-form[_nghost-%COMP%]   .btn-donation[_ngcontent-%COMP%]{border-radius:10px;min-width:0;width:100%}.cf-dialog-donation-form[_nghost-%COMP%]   mat-form-field[_ngcontent-%COMP%]{--mat-form-field-container-height: 52px;--mat-form-field-container-vertical-padding: 14px}.cf-dialog-donation-form[_nghost-%COMP%]   .donor-section[_ngcontent-%COMP%] > .form-group[_ngcontent-%COMP%], .cf-dialog-donation-form[_nghost-%COMP%]   .optional-contributions-section[_ngcontent-%COMP%]{margin-top:6px}.cf-dialog-donation-form[_nghost-%COMP%]   .text-center.mt-4[_ngcontent-%COMP%]{margin-top:12px!important}.cf-dialog-donation-form[_nghost-%COMP%]   .text-center.mt-4[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{border-radius:10px;min-height:52px;padding-block:10px!important}@media (max-width: 599px){.cf-dialog-donation-form[_nghost-%COMP%]   .donor-section[_ngcontent-%COMP%]   .mat-button[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}"]})};function hp(i,e){return(i??[]).map(t=>{let n=(e??[]).filter(u=>u.sponsorPackageUuid===t.sponsorshipPkgUuid),o=n.length,p=Math.max((t.numOfOpenSpots??0)-o,0);return tt(D({},t),{sponsors:n,currentSponsorsCount:o,remainingSpots:p,soldOut:p<=0})})}var In={technology_solutions_products_group:"1-78eab5d8-66d7-4a2a-9c82-67f7989bf759-19ef565fba4",facilities_solutions_group:"1-8bd20587-b937-454c-b65c-395dbe156645-19ef56c38e2",emerging_markets_group:"1-327f2fc4-059a-44a2-bbba-2d985faea3a4-19ef56d57c0",mission_systems_engineering_technology_group:"1-0147a401-0319-4eb3-8daa-d19c161c385a-19ef56e2f37",construction_security_solutions_group:"1-1385b3c3-11f9-48d2-8533-a1bb386c8313-19ef56f0e68",shared_services:"1-cd590634-1bb3-4d3a-ac13-235fd42b46ef-19ef57045f6"},La=new Set(["not_sure"]);function kn(i){return La.has(Mn(i||""))}function Mn(i){return i.trim().toLowerCase().replace(/-/g,"_")}var ze=class i{constructor(e){this.userService=e}getCaptain(e){let t=this.getCaptainUserUuid(e);return t?this.userService.getUserBasicInfo(t).pipe(O(n=>{let o=this.asRecord(n),p=this.asRecord(o.contactDetail),u=[this.toString(o.firstName),this.toString(o.lastName)].filter(
57Boolean).join(" ").trim()||this.toString(o.fullName)||void 0;return{userUuid:t,name:u,imageUrl:this.toOptionalString(o.profilePicUrl??o.profilePic??p.profilePicUrl??p.profilePic)}}),V(()=>w({userUuid:t}))):w(void 0)}getCaptainUserUuid(e){if(e)return In[e]??In[Mn(e)]}asRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}toString(e){return typeof e=="string"?e:""}toOptionalString(e){return typeof e=="string"&&e.length>0?e:void 0}static \u0275fac=function(t){return new(t||i)(J(te))};static \u0275prov=Ft({token:i,factory:i.\u0275fac,providedIn:"root"})};var $e=class i{cache=new Map;get(e){let t=this.cache.get(e);if(!t||t.expiresAt<=Date.now()){this.cache.delete(e);return}return t.value}set(e,t,n){this.cache.set(e,{value:t,expiresAt:Date.now()+n})}getStaleWhileRefresh(e,t,n){let o=this.get(e),p=t.pipe(ge(u=>this.set(e,u,n)));return o===void 0?p:de(w(o),p)}invalidate(e){this.cache.delete(e)}invalidatePrefix(e){for(let t of this.cache.keys())t.startsWith(e)&&this.cache.delete(t)}invalidateCampaign(e){this.invalidatePrefix(`${e}:`)}static \u0275fac=function(t){return new(t||i)};static \u0275prov=Ft({token:i,factory:i.\u0275fac,providedIn:"root"})};function Pn(i){return i*25}var We=class{static toModel(e){let t=this.asRecord(e.campaignResponse),n=this.asRecord(t.campaignData),o=this.asRecord(t.configData),p=this.toUnits(e.fitnessGoalResponse,e.fundraisingGoalResponse,e.wellnessGoalResponse);return{campaignUuid:this.toString(n.campaignUuid),campaignSlug:e.campaignSlug,type:e.type,features:this.toFeatures(o),units:p,entries:e.type==="business-unit"?this.toBusinessUnitEntries(e.registrationLevelsResponse,p):this.toProgressEntries(e.leaderboardResponse,e.teamMembersResponse,p,e.type)}}static toFeatures(e){return{hasFitness:!!e.hasFitness,hasFundraising:!!e.hasFundraising,hasWellness:!!e.hasWellness,hasEngagement:!!e.hasEngagementPts}}static toUnits(e,t,n){let o=this.asRecord(e),p=this.asRecord(o.fitnessGoal),u=this.asRecord(t),g=this.asRecord(n),d=this.asRecord(g.wellnessGoal);return{currencyCode:this.toOptionalString(u.currencyCode),fitnessUnitUuid:this.toOptionalString(p.fitnessUnitUuid),wellnessUnitUuid:this.toOptionalString(d.wellnessUnitUuid)}}static toProgressEntries(e,t,n,o){let p=this.toArray(e,"entries"),u=this.toTeamMemberCounts(t);return p.map(g=>this.asRecord(g)).filter(g=>this.toString(g.goalOwnerName).trim().length>0).map(g=>{let d=this.toString(g.goalUuid),v=this.toOptionalString(g.teamUuid),C=this.toOptionalString(g.goalOwnerUuid),y=o==="team"?this.toOptionalNumber(g.teamMemberCount)??u.get(v||d)??0:1,M=this.toNumber(g.fundraiseTotal),k=this.toNumber(g.fitnessTotal),H=this.toNumber(g.wellnessTotal),Ut=this.toNumber(g.engagementPoints),Vt=this.toNumber(g.medalCount),q=this.toNumber(g.footprintPoints);return{id:d||v||C||this.toString(g.goalOwnerName),name:this.toString(g.goalOwnerName),imageUrl:this.toOptionalString(g.goalOwnerPic),slug:this.toOptionalString(g.teamSlug??g.participantSlug),ownerUuid:C,goalUuid:d||void 0,teamUuid:v,teamSlug:this.toOptionalString(g.teamSlug),participantSlug:this.toOptionalString(g.participantSlug),memberCount:y,fundraiseTotal:M,averageFundraiseTotal:this.toAverage(M,y),currencyCode:this.toOptionalString(g.currencyCode??n.currencyCode),fitnessTotal:k,averageFitnessTotal:this.toAverage(k,y),fitnessUnitUuid:this.toOptionalString(g.fitnessUnitUuid??n.fitnessUnitUuid),wellnessTotal:H,averageWellnessTotal:this.toAverage(H,y),wellnessUnitUuid:this.toOptionalString(g.wellnessUnitUuid??n.wellnessUnitUuid),engagementPoints:Ut,averageEngagementPoints:this.toAverage(Ut,y),medalCount:Vt,averageMedalCount:this.toAverage(Vt,y),footprintPoints:q,averageFootprintPoints:this.toAverage(q,y)}})}static toBusinessUnitEntries(e,t){let n=this.toArray(e,"registrationLevels"),o=new Map;for(let p of n){let u=this.asRecord(p),g=this.toArray(u.customRegFields,"customRegFields");for(let d of g){let v=this.asRecord(d);if(this.toString(v.fieldKey)!=="business_unit")continue;let C=this.toArray(v.options,"options");for(let y of C){let M=this.asRecord(y),k=this.toString(M.value).trim(),H=this.toString(M.label).trim();!k||!H||o.has(k)||kn(k)||o.set(k,{id:k,name:H,slug:k,customFieldValue:k,memberCount:0,fundraiseTotal:0,averageFundraiseTotal:0,currencyCode:t.currencyCode,fitnessTotal:0,averageFitnessTotal:0,fitnessUnitUuid:t.fitnessUnitUuid,wellnessTotal:0,averageWellnessTotal:0,wellnessUnitUuid:t.wellnessUnitUuid,engagementPoints:0,averageEngagementPoints:0,medalCount:0,averageMedalCount:0,footprintPoints:0,averageFootprintPoints:0})}}}return Array.from(o.values())}static toTeamMemberCounts(e){let t=this.toArray(e,"members"),n=new Map;for(let o of t){let p=this.asRecord(o),u=this.toString(p.teamUuid);u&&n.set(u,(n.get(u)??0)+1)}return n}static toAverage(e,t){return t>0?e/t:0}static asRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}static toArray(e,t){if(Array.isArray(e))return e;let n=this.asRecord(e);return Array.isArray(n[t])?n[t]:[]}static toString(e){return typeof e=="string"?e:""}static toOptionalString(e){return typeof e=="string"&&e.length>0?e:void 0}static toNumber(e){return this.toOptionalNumber(e)??0}static toOptionalNumber(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim().length>0){let t=Number(e);return Number.isFinite(t)?t:void 0}}};var Aa=!1,Ra=2*60*1e3,ce=class i{constructor(e,t,n,o,p){this.campaignService=e;this.participationService=t;this.registrationService=n;this.businessUnitCaptainService=o;this.derivedDataCache=p}getFootprintConversionText(e,t){let n={fitnessConversionText:"1 mile / 2000 steps = 50 Footprint Pts",fundraisingConversionText:"$1 = 25 Footprint Pts"},o=(e||[]).find(g=>this.hasFiniteRate(g?.fitnessFootprintPointsPerUnit)||this.hasFiniteRate(g?.fundraiseFootprintPointsPerUnit));if(!o)return n;let p=Number(o.fitnessFootprintPointsPerUnit);if(this.hasFiniteRate(o.fitnessFootprintPointsPerUnit)){let g=o.campaignFitnessUnitUuid||o.fitnessUnitUuid||"unit-mile",d=g.toLowerCase()==="unit-steps"?2e3:1,v=d===1?this.singularUnitName(t.fitnessUnitName(g)):t.fitnessUnitName(g).toLowerCase(),C=p*d;n.fitnessConversionText=`${t.formatNumber(d,0)} ${v} = ${t.formatNumber(C,4)} ${this.footprintPointsLabel(C)}`}let u=Number(o.fundraiseFootprintPointsPerUnit);if(this.hasFiniteRate(o.fundraiseFootprintPointsPerUnit)){let g=o.campaignCurrencyCode||o.currencyCode||"USD",d=t.formatAmou
57nt(1,g)||`1 ${g}`;n.fundraisingConversionText=`${d} = ${t.formatNumber(u,4)} ${this.footprintPointsLabel(u)}`}return n}hasFiniteRate(e){return e!=null&&Number.isFinite(Number(e))}footprintPointsLabel(e){return e===1?"Footprint Pt":"Footprint Pts"}getWellnessConversionText(e,t){return this.participationService.getWellnessActivityTypesWithPoints(e).pipe(O(n=>{let o="",p=Array.isArray(n)?n:n?.activities??n?.data??n?.content??[],u=Array.isArray(p)?p:[],g=(Array.isArray(u)?u:[]).map(y=>{let M=Number(y.activityPtsPerUnit??y.activityPts??y.activityPoints),k=Number(y.footprintPtsPerUnit??y.footprintPts??y.footprintPoints);return M>0&&Number.isFinite(k)?k/M:null}).filter(y=>y!==null&&Number.isFinite(y)),d=[...new Set(g.map(y=>Number(y.toFixed(6))))],v=[...new Set(u.flatMap(y=>y.wellnessUnitUuidList?.length?y.wellnessUnitUuidList:[y.activityUnit].filter(Boolean)))],C=v.length===1?this.singularUnitName(t.wellnessUnitName(v[0])):"Activity Pt";if(d.length===1){let y=d[0]===1?"Footprint Pt":"Footprint Pts";o=`1 ${C} = ${t.formatNumber(d[0],2)} ${y}`}else if(d.length>1){let y=d.map(M=>t.formatNumber(M,2)).join(" / ");o=`1 ${C} = ${y} Footprint Pts (varies by activity)`}return o}))}singularUnitName(e){let t=(e||"").trim().replace(/\s+units?$/i,"").trim();return t?/\bpts$/i.test(t)?t.replace(/\bpts$/i,"Pt"):/\bpoints$/i.test(t)?t.replace(/\bpoints$/i,"Point"):/ies$/i.test(t)?t.replace(/ies$/i,"y"):/s$/i.test(t)&&!/ss$/i.test(t)?t.replace(/s$/i,""):t:"Activity Pt"}getLeaderboard(e,t,n=1e4,o,p=!0){let u=this.getBaseLeaderboard(e,t,n,o);if(t==="individual"||t==="team")return u;let g=u.pipe(B(v=>this.enrichBusinessUnitEntries(v)));if(!p)return g;let d=[e,"leaderboard",t,o||"",n].join(":");return this.derivedDataCache.getStaleWhileRefresh(d,g,Ra)}getBaseLeaderboard(e,t,n,o){return this.campaignService.getCampaignData(e).pipe(B(p=>{let u=this.asRecord(p),g=this.asRecord(u.campaignData),d=this.asRecord(u.configData),v=this.toString(g.campaignUuid);if(!v)throw new Error(`Leaderboard data is missing campaignUuid for "${e}".`);let C=!!d.hasFitness,y=!!d.hasFundraising,M=!!d.hasWellness;return at({fitnessGoalResponse:C?this.withNullFallback(this.participationService.getFitnessGoalInfo(v)):w(null),fundraisingGoalResponse:y?this.withNullFallback(this.participationService.getFundraiseGoalInfo(v)):w(null),wellnessGoalResponse:M?this.withNullFallback(this.participationService.getWellnessGoalInfo(v)):w(null),leaderboardResponse:t==="business-unit"?w([]):this.withArrayFallback(t==="team"?this.participationService.getTeamsParticipationProgress(e,n):this.participationService.getMembersParticipationProgress(e,o||v,n)),teamMembersResponse:t==="team"?this.withNullFallback(this.participationService.getCampaignTeamMembers(e)):w([]),registrationLevelsResponse:t==="business-unit"?this.withNullFallback(this.registrationService.getCampaignRegistrationLevels(e)):w([])}).pipe(O(k=>{let H=D({campaignSlug:e,type:t,campaignResponse:p},k);return We.toModel(H)}))}))}enrichBusinessUnitEntries(e){return e.type!=="business-unit"||!e.entries.length?w(e):this.participationService.getIndividualParticipationProgress(e.campaignSlug,-1).pipe(B(t=>{let n=this.toArray(t,"participants").map(o=>this.asRecord(o));return this.loadParticipationGoalDataIndividually(e.campaignSlug,n).pipe(B(o=>this.loadBusinessUnitSponsorDonationTotals(e.campaignUuid).pipe(O(p=>this.aggregateBusinessUnitEntries(e.campaignSlug,e.entries,n,o,p)))))}),B(t=>at(t.map(n=>this.enrichBusinessUnitCaptainImage(n)))),O(t=>tt(D({},e),{entries:t})),V(()=>this.enrichBusinessUnitCaptainImagesOnly(e)))}aggregateBusinessUnitEntries(e,t,n,o,p=new Map){let u=new Map;for(let d of o){let v=this.stripGoalExtension(this.toString(d.regGoalUuid??d.goalUuid??d.participationGoalUuid));v&&u.set(v,d)}let g=new Map;for(let d of n){let v=this.stripGoalExtension(this.toString(d.goalUuid)),C=u.get(v),y=this.toBusinessUnitValue(this.asRecord(C?.customFieldValues));if(!y)continue;let M=this.toNumber(d.fundraiseTotal),k=this.toNumber(d.fitnessTotal),H=this.toNumber(d.wellnessTotal),Ut=this.toNumber(d.engagementPoints),Vt=this.toNumber(d.medalCount),q=g.get(y)??{memberCount:0,fundraiseTotal:0,fitnessTotal:0,wellnessTotal:0,engagementPoints:0,medalCount:0,footprintPoints:0,sponsorDonationTotal:0,sponsorFootprintPoints:0};q.memberCount+=1,q.fundraiseTotal+=M,q.fitnessTotal+=k,q.wellnessTotal+=H,q.engagementPoints+=Ut,q.medalCount+=Vt,q.footprintPoints+=this.toNumber(d.footprintPoints),q.currencyCode||=this.toOptionalString(d.currencyCode),q.fitnessUnitUuid||=this.toOptionalString(d.fitnessUnitUuid),q.wellnessUnitUuid||=this.toOptionalString(d.wellnessUnitUuid),g.set(y,q)}for(let[d,v]of p){if(!v)continue;let C=Pn(v),y=g.get(d)??{memberCount:0,fundraiseTotal:0,fitnessTotal:0,wellnessTotal:0,engagementPoints:0,medalCount:0,footprintPoints:0,sponsorDonationTotal:0,sponsorFootprintPoints:0};y.fundraiseTotal+=v,y.footprintPoints+=C,y.sponsorDonationTotal+=v,y.sponsorFootprintPoints+=C,g.set(d,y)}return this.debugAkimaBusinessUnitAggregation(e,n,u,g),t.map(d=>{let v=d.customFieldValue||d.slug||d.id,C=g.get(v);return C?tt(D({},d),{memberCount:C.memberCount,fundraiseTotal:C.fundraiseTotal,averageFundraiseTotal:this.toAverage(C.fundraiseTotal,C.memberCount),currencyCode:C.currencyCode||d.currencyCode,fitnessTotal:C.fitnessTotal,averageFitnessTotal:this.toAverage(C.fitnessTotal,C.memberCount),fitnessUnitUuid:C.fitnessUnitUuid||d.fitnessUnitUuid,wellnessTotal:C.wellnessTotal,averageWellnessTotal:this.toAverage(C.wellnessTotal,C.memberCount),wellnessUnitUuid:C.wellnessUnitUuid||d.wellnessUnitUuid,engagementPoints:C.engagementPoints,averageEngagementPoints:this.toAverage(C.engagementPoints,C.memberCount),medalCount:C.medalCount,averageMedalCount:this.toAverage(C.medalCount,C.memberCount),footprintPoints:C.footprintPoints,averageFootprintPoints:this.toAverage(C.footprintPoints,C.memberCount)}):d})}debugAkimaBusinessUnitAggregation(e,t,n,o){if(e!=="akima-2026-fitness"||!Aa)return;let p=t.map(d=>{let v=this.stripGoalExtension(this.toString(d.goalUuid)),C=n.get(v),y=this.asRecord(C?.customFieldValues);return{businessUnit:this.toBusinessUnitValue(y)||this.toOptionalString(C?.participantTag)||"",participantName:this.toString(d.goalOwnerName),goalUuid:v,userUuid:this.toOptionalString(d.goalOwnerUuid??C?.userUuid)||"",fundraiseTotal:this.toNumber(d.fundraiseTotal),fitnessTotal:this.toNumber(d.fitnessTotal),footprintPoints:this.toNumber(d.footprintPoints),medalCount:this.toNumber(d.medalCount),engagementPoints:this.toNumber(d.engagementPoints),customBusinessUnitValue:y.business_unit,participantTag:C?.participantTag??""}}),u=[...p].sort((d,v)=>v.footprintPoints-d.footprintPoints),g=Array.from(o.entries()).map(([d,v])=>({businessUnit:d,memberCount:v.memberCount,fundraiseTotal:v.fundraiseTotal,sponsorDonationTotal:v.sponsorDonationTotal,fitnessTotal:v.fitnessTotal,footprintPoints:v.footprintPoints,sponsorFootprintPoints:v.sponsorFootprintPoints,averageFootprintPoints:this.toAverage(v.footprintPoints,v.memberCount),medalCount:v.medalCount,participantNames:p.filter(C=>C.businessUnit===d).sort((C,y)=>y.footprintPoints-C.footprintPoints).map(C=>`${C.participantName||C.goalUuid}: ${C.footprintPoints}`).join(" | ")})).sort((d,v)=>v.footprintPoints-d.footprintPoints);console.groupCollapsed("[Akima Leaderboard Debug] business-unit footprint aggregation"),console.table(u),console.table(g),console.groupEnd()}loadBusinessUnitSponsorDonationTotals(e){return e?this.participationService.getBulkPublicFundraiserDonations([e]).pipe(O(t=>this.toBusinessUnitSponsorDonationTotals(t)),V(()=>w(new Map))):w(new Map)}toBusinessUnitSponsorDonationTotals(e){let t=new Map;return this.toArray(e,"donations").flatMap(n=>this.toArray(n,"donations")).map(n=>
57this.asRecord(n)).forEach(n=>{let o=this.toSponsorBusinessUnitId(this.toString(n.donationTag??n.donation_tag));o&&t.set(o,(t.get(o)||0)+this.toNumber(n.donationAmount))}),t}toSponsorBusinessUnitId(e){let t=e.trim().toLowerCase(),n=t.lastIndexOf("@");return!t.startsWith("spsr-")||n<=0?"":t.slice(n+1)}loadParticipationGoalDataIndividually(e,t){return gi(t).pipe(pe(n=>{let o=this.toString(n.goalUuid);return o?this.participationService.getParticipationDataByRegGoalId(e,o).pipe(O(p=>this.asRecord(p)),V(()=>w(null))):w(null)},10),_i(),O(n=>n.filter(o=>o!==null)))}enrichBusinessUnitCaptainImagesOnly(e){return at(e.entries.map(t=>this.enrichBusinessUnitCaptainImage(t))).pipe(O(t=>tt(D({},e),{entries:t})))}enrichBusinessUnitCaptainImage(e){let t=e.customFieldValue||e.slug||e.id;return this.businessUnitCaptainService.getCaptain(t).pipe(O(n=>tt(D({},e),{imageUrl:n?.imageUrl||e.imageUrl})),V(()=>w(e)))}withNullFallback(e){return e.pipe(V(()=>w(null)))}withArrayFallback(e){return e.pipe(O(t=>Array.isArray(t)?t:[]),V(()=>w([])))}asRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}toArray(e,t){if(Array.isArray(e))return e;let n=this.asRecord(e);return Array.isArray(n[t])?n[t]:[]}toString(e){return typeof e=="string"?e:""}toOptionalString(e){return typeof e=="string"&&e.length>0?e:void 0}toNumber(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim().length>0){let t=Number(e);return Number.isFinite(t)?t:0}return 0}toAverage(e,t){return t>0?e/t:0}stripGoalExtension(e){return e.replace(/\.[^/?#]+(?=[?#]|$)/,"")}toBusinessUnitValue(e){let t=e.business_unit;return Array.isArray(t)?this.toOptionalString(t[0]):this.toOptionalString(t)}static \u0275fac=function(t){return new(t||i)(J(Xt),J(Ot),J(Zt),J(ze),J($e))};static \u0275prov=Ft({token:i,factory:i.\u0275fac,providedIn:"root"})};var Va=["submit_msg"];function Ga(i,e){i&1&&(a(0,"mat-error"),c(1," Email is required "),r())}function Ba(i,e){i&1&&(a(0,"mat-error"),c(1," Please enter a valid email address "),r())}function za(i,e){i&1&&(a(0,"mat-error"),c(1," Password is required "),r())}function $a(i,e){i&1&&(a(0,"mat-error"),c(1," Please enter a valid email address "),r())}function Wa(i,e){if(i&1&&(a(0,"mat-form-field",23)(1,"mat-label"),c(2,"Login As User Email"),r(),_(3,"input",35),f(4,$a,2,0,"mat-error",18),r()),i&2){let t=m(3);s(4),l("ngIf",t.loginForm.get("loginAsUserName").hasError("email")&&(t.loginForm.get("loginAsUserName").touched||t.loginForm.get("loginAsUserName").dirty))}}function ja(i,e){if(i&1){let t=S();a(0,"form",22),x("ngSubmit",function(){h(t);let o=m(2);return b(o.login())}),a(1,"mat-form-field",23)(2,"mat-label"),c(3,"Email"),r(),_(4,"input",24),f(5,Ga,2,0,"mat-error",18)(6,Ba,2,0,"mat-error",18),r(),a(7,"mat-form-field",23)(8,"mat-label"),c(9,"Password"),r(),_(10,"input",25),a(11,"button",26),x("click",function(){h(t);let o=m(2);return b(o.hideLoginPassword=!o.hideLoginPassword)}),a(12,"mat-icon"),c(13),r()(),f(14,za,2,0,"mat-error",18),r(),f(15,Wa,5,1,"mat-form-field",27),_(16,"input",28),a(17,"div",29)(18,"a",30),c(19," Forgot password? "),r()(),a(20,"button",31),c(21),r(),_(22,"p",32,1),a(24,"p",33),c(25," New here? "),a(26,"button",34),x("click",function(){h(t);let o=m(2);return b(o.setActiveView("signup"))}),c(27," Create an account "),r()()()}if(i&2){let t=m(2);l("formGroup",t.loginForm),s(5),l("ngIf",t.loginForm.get("username").hasError("required")&&(t.loginForm.get("username").touched||t.loginForm.get("username").dirty)),s(),l("ngIf",t.loginForm.get("username").hasError("email")&&(t.loginForm.get("username").touched||t.loginForm.get("username").dirty)),s(4),l("type",t.hideLoginPassword?"password":"text"),s(),Jt("aria-label",t.hideLoginPassword?"Show password":"Hide password")("aria-pressed",!t.hideLoginPassword),s(2),T(t.hideLoginPassword?"visibility_off":"visibility"),s(),l("ngIf",t.loginForm.get("password").hasError("required")&&(t.loginForm.get("password").touched||t.loginForm.get("password").dirty)),s(),l("ngIf",t.showLoginAsUserName),s(3),l("href","https://www.charityfootprints.com/user/forgot-password?redirect="+t.redirectUrl,P),s(2),l("disabled",t.loginForm.invali
57d||t.isLoggingIn),s(),I(" ",t.isLoggingIn?"Logging in...":"Log in"," ")}}function Ha(i,e){if(i&1&&(a(0,"div")(1,"h3",20),c(2,"Welcome back \u{1F44B}"),r(),a(3,"p",9),c(4,"Log in to continue your journey."),r(),f(5,ja,28,12,"form",21),r()),i&2){let t=m();s(5),l("ngIf",t.loginForm)}}function qa(i,e){i&1&&(a(0,"mat-error"),c(1," Please enter a first name "),r())}function Ja(i,e){i&1&&(a(0,"mat-error"),c(1," Please enter a last name "),r())}function Ya(i,e){i&1&&(a(0,"mat-error"),c(1," Email is required "),r())}function Qa(i,e){i&1&&(a(0,"mat-error"),c(1," Please enter a valid email address "),r())}function Ka(i,e){i&1&&(a(0,"mat-error"),c(1," Password is required "),r())}function Xa(i,e){i&1&&(a(0,"mat-error"),c(1," Please confirm your password "),r())}function Za(i,e){i&1&&(a(0,"mat-error"),c(1," Passwords do not match. "),r())}function tr(i,e){if(i&1){let t=S();a(0,"form",22),x("ngSubmit",function(){h(t);let o=m(2);return b(o.signup())}),a(1,"div",36)(2,"div",37)(3,"mat-form-field",23)(4,"mat-label"),c(5,"First Name"),r(),_(6,"input",38),f(7,qa,2,0,"mat-error",18),r()(),a(8,"div",37)(9,"mat-form-field",23)(10,"mat-label"),c(11,"Last Name"),r(),_(12,"input",39),f(13,Ja,2,0,"mat-error",18),r()()(),a(14,"mat-form-field",23)(15,"mat-label"),c(16,"Email"),r(),_(17,"input",40),f(18,Ya,2,0,"mat-error",18)(19,Qa,2,0,"mat-error",18),r(),a(20,"mat-form-field",23)(21,"mat-label"),c(22,"Password"),r(),_(23,"input",41),a(24,"button",26),x("click",function(){h(t);let o=m(2);return b(o.hideSignupPassword=!o.hideSignupPassword)}),a(25,"mat-icon"),c(26),r()(),f(27,Ka,2,0,"mat-error",18),r(),a(28,"mat-form-field",23)(29,"mat-label"),c(30,"Confirm Password"),r(),_(31,"input",42),a(32,"button",26),x("click",function(){h(t);let o=m(2);return b(o.hideSignupConfirmPassword=!o.hideSignupConfirmPassword)}),a(33,"mat-icon"),c(34),r()(),f(35,Xa,2,0,"mat-error",18)(36,Za,2,0,"mat-error",18),r(),a(37,"p",43),c(38," By creating an account, you agree to our "),a(39,"a",44),c(40,"terms"),r(),c(41," & "),a(42,"a",45),c(43,"privacy policy"),r(),c(44,". "),r(),a(45,"button",46),c(46),r(),a(47,"p",47),c(48," Already have an account? "),a(49,"button",48),x("click",function(){h(t);let o=m(2);return b(o.setActiveView("login"))}),c(50," Log in "),r()()()}if(i&2){let t,n,o=m(2);l("formGroup",o.signupForm),s(7),l("ngIf",o.signupForm.get("firstname").hasError("required")&&(o.signupForm.get("firstname").touched||o.signupForm.get("firstname").dirty)),s(6),l("ngIf",o.signupForm.get("lastname").hasError("required")&&(o.signupForm.get("lastname").touched||o.signupForm.get("lastname").dirty)),s(5),l("ngIf",o.signupForm.get("email").hasError("required")&&(o.signupForm.get("email").touched||o.signupForm.get("email").dirty)),s(),l("ngIf",o.signupForm.get("email").hasError("email")&&(o.signupForm.get("email").touched||o.signupForm.get("email").dirty)),s(4),l("type",o.hideSignupPassword?"password":"text"),s(),Jt("aria-label",o.hideSignupPassword?"Show password":"Hide password")("aria-pressed",!o.hideSignupPassword),s(2),T(o.hideSignupPassword?"visibility_off":"visibility"),s(),l("ngIf",o.signupForm.get("password").hasError("required")&&(o.signupForm.get("password").touched||o.signupForm.get("password").dirty)),s(4),l("type",o.hideSignupConfirmPassword?"password":"text"),s(),Jt("aria-label",o.hideSignupConfirmPassword?"Show password":"Hide password")("aria-pressed",!o.hideSignupConfirmPassword),s(2),T(o.hideSignupConfirmPassword?"visibility_off":"visibility"),s(),l("ngIf",((t=o.signupForm.get("confirmPassword"))==null?null:t.hasError("required"))&&(o.signupForm.get("confirmPassword").dirty||o.signupForm.get("confirmPassword").touched)),s(),l("ngIf",((n=o.signupForm.get("confirmPassword"))==null?null:n.hasError("passwordMismatch"))&&(o.signupForm.get("confirmPassword").dirty||o.signupForm.get("confirmPassword").touched)),s(9),l("disabled",o.signupForm.invalid||o.isSigningUp),s(),I(" ",o.isSigningUp?"Creating account...":"Create account"," ")}}function er(i,e){if(i&1&&(a(0,"div")(1,"h3",20),c(2,"Create your account \u{1F680}"),r(),a(3,"p",9),c(4,"Join now and start your journey."),r(),f(5,tr,51,18,"form",21),r()),i&2){let t=m();s(5),l("ngIf",t.signupForm)}}function ir(i,e){}function nr(i,e){i&1&&_(0,"i",56)}function or(i,e){i&1&&_(0,"i",57)}function ar(i,e){if(i&1){let t=S();a(0,"button",53),x("click",function(){h(t);let o=m(2);return b(o.toggleVisibility())}),f(1,nr,1,0,"i",54)(2,or,1,0,"i",55),r()}if(i&2){let t=m(2);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function rr(i,e){i&1&&_(0,"i",61)}function sr(i,e){i&1&&_(0,"i",62)}function lr(i,e){if(i&1){let t=S();a(0,"button",58),x("click",function(){h(t);let o=m(2);return b(o.toggleComponentWidth())}),f(1,rr,1,0,"i",59)(2,sr,1,0,"i",60),r()}if(i&2){let t=m(2);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function mr(i,e){i&1&&(a(0,"button",63),_(1,"i",64),r())}function cr(i,e){if(i&1&&(a(0,"div",49),f(1,ar,3,2,"button",50)(2,lr,3,2,"button",51)(3,mr,2,0,"button",52),r()),i&2){let t=m();s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}var Un=class i extends X{submitMsgElement=null;loginForm;signupForm;showLoginAsUserName=!1;redirectUrl="";activeView="login";hideLoginPassword=!0;hideSignupPassword=!0;hideSignupConfirmPassword=!0;isLoggingIn=!1;isSigningUp=!1;initComponent(){super.initComponent(),this.showLoginAsUserName=this.route.
57snapshot.queryParamMap.has("switch_user"),this.loginForm=this.fb.group({username:["",[lt.required,lt.email]],password:["",[lt.required]],loginAsUserName:["",[lt.email]]}),this.signupForm=this.fb.group({firstname:["",[lt.required]],lastname:["",[lt.required]],email:["",[lt.required,lt.email]],password:["",[lt.required]],confirmPassword:["",[lt.required]]},{validators:[this.passwordMatchValidator]})}static initialize(e){e.registerComponent("LoginSectionLayoutStyle",i)}setActiveView(e){if(this.activeView=e,e==="login"&&this.submitMsgElement?.nativeElement){let t=this.submitMsgElement.nativeElement;t.style.display="none",t.innerHTML=""}}onCampaignLoad(){let t=`${this.getBaseUrl()}${this.campaignSlug}`;this.redirectUrl=t}signup(){if(!this.signupForm||this.signupForm.invalid||this.isSigningUp){this.signupForm?.markAllAsTouched();return}this.isSigningUp=!0;let e=this.signupForm.get("firstname").value,t=this.signupForm.get("lastname").value,n=this.signupForm.get("email").value,o=this.signupForm.get("password").value;this.loginService.signup(n,o,e,t).subscribe({next:p=>{console.log("Signup successful:",p),this.loginForm.patchValue({username:n,password:o}),this.activeView="login",this.isSigningUp=!1,this.login()},error:p=>{this.isSigningUp=!1,console.error("Signup failed:",p),this.showSnackBarMsg("Sign-up failed: This user may already exist. Please log in to access your account. If you forgot your password, use the Forgot Password option.",6e3)}})}login(){if(!this.loginForm||this.loginForm.invalid||this.isLoggingIn){this.loginForm?.markAllAsTouched();return}this.isLoggingIn=!0;let e=this.loginForm.get("username").value,t=this.loginForm.get("password").value,n=this.loginForm.get("loginAsUserName")?.value,o=this.submitMsgElement?.nativeElement??null;o&&(o.style.display="none",o.innerHTML=""),this.loginService.login(e,t,n).subscribe({next:p=>Ze(this,null,function*(){console.log("Login successful:",p);let u=p.jwt,g=p.user_uuid;try{yield this.completeLoginFlow(u,g),console.log("Login flow completed successfully.")}catch(d){console.error("Error during login flow:",d)}finally{this.isLoggingIn=!1}}),error:p=>{if(this.isLoggingIn=!1,o){o.style.display="block";let u="Unable to log in.";p.status>=400&&(u+=" Incorrect email or password."),o.innerHTML=u}console.error("Login failed:",p)}})}completeLoginFlow(e,t){return Ze(this,null,function*(){this.authService.storeToken(e,t);let n=this.route.snapshot.queryParamMap.get("returnUrl");if(n&&n.startsWith("/")&&!n.startsWith("//")&&this.authService.setRedirectUrl(n),!this.campaignSlug||this.campaignSlug==="org-login"){this.authService.storeUserParticipation("0"),this.authService.completeLogin();return}try{(yield this.participationService.getParticipationData(this.campaignSlug,t).toProm
57ise())?this.authService.storeUserParticipation("1"):this.authService.storeUserParticipation("0")}catch(o){throw console.error("Error fetching participation data:",o),o}this.authService.completeLogin()})}passwordMatchValidator(e){let t=e.get("password")?.value,n=e.get("confirmPassword");if(!n)return null;if(t!==n.value)n.setErrors(tt(D({},n.errors||{}),{passwordMismatch:!0}));else if(n.hasError("passwordMismatch")){let o=D({},n.errors||{});delete o.passwordMismatch;let p=Object.keys(o).length>0;n.setErrors(p?o:null)}return null}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-login-section"]],viewQuery:function(t,n){if(t&1&&St(Va,5),t&2){let o;wt(o=Tt())&&(n.submitMsgElement=o.first)}},features:[Y([K]),$],decls:26,vars:15,consts:[["childDynamicBaseTemplate",""],["submit_msg",""],[1,"row","justify-content-around"],[1,"login-container","w-100"],[1,"row","m-0","login-section-wrapper"],[1,"col-12","d-flex","justify-content-center"],[1,"login-card-container","w-100"],[1,"text-center","mb-4","pt-4"],[1,"fw-bold","mb-2"],[1,"text-muted","mb-3"],[1,"account-toggle","d-inline-flex","p-1","px-3","rounded-pill","border","bg-light"],["mat-button","","type","button",1,"rounded-pill","px-2",3,"click"],[1,"row","g-4"],[1,"col-12","col-lg-6","d-none","d-lg-block"],[1,"illustration-panel","p-3","text-center"],["src","cf-campaign-app-assets/images/login/login-illustration.png","alt","Account access illustration",1,"img-fluid","w-100","mat-bg-primary"],[1,"col-12","col-lg-6","d-flex","justify-content-center"],[1,"form-panel","w-100",2,"max-width","420px"],[4,"ngIf"],["class","position-absolute section-edit-toolbar",4,"ngIf"],[1,"pb-1","mat-body-large","fw-bold","mb-1"],["class","d-flex flex-column gap-2",3,"formGroup","ngSubmit",4,"ngIf"],[1,"d-flex","flex-column","gap-2",3,"ngSubmit","formGroup"],["appearance","outline",1,"full-width"],["matInput","","type","email","formControlName","username","name","username","id","login_email","autocomplete","email"],["matInput","","formControlName","password","name","password","id","login_password","autocomplete","current-password",3,"type"],["mat-icon-button","","matSuffix","","tabindex","-1","type","button",1,"me-2",3,"click"],["appearance","outline","class","full-width",4,"ngIf"],["type","hidden","name","timezone_offset","id","timezone_offset","value","0"],[1,"d-flex","justify-content-end","mb-2","mat-body-medium"],[3,"href"],["mat-flat-button","","color","primary","id","loginBtn","type","submit",2,"width","100%",3,"disabled"],["id","login_submit_msg",2,"color","#ff7979","font-size","12px","font-weight","400","padding-top","10px","text-align","center","display","none"],[1,"text-center","mt-2","mb-0","mat-body-medium"],["type","button",1,"mat-body-medium","btn","btn-link","p-0","align-baseline",3,"click"],["matInput","","type","email","formControlName","loginAsUserName","name","loginAsUserName","id","login_as_user_email","autocomplete","email"],[1,"row","g-2"],[1,"col-12","col-sm-6"],["matInput","","type","text","formControlName","firstname","name","firstname","id","signup_firstname","autocomplete","given-name"],["matInput","","type","text","formControlName","lastname","name","lastname","id","signup_lastname","autocomplete","family-name"],["matInput","","type","email","formControlName","email","name","email","id","signup_email","autocomplete","email"],["matInput","","formControlName","password","name","password","id","signup_password","autocomplete","new-password",3,"type"],["matInput","","formControlName","confirmPassword","id","signup_confirm_password","autocomplete","new-password",3,"type"],[1,"text-muted","mat-body-medium",2,"margin-top","10px","text-align","center"],["href","https://www.charityfootprints.com/terms-of-service","target","_blank","rel","noopener noreferrer"],["href","https://www.charityfootprints.com/privacy-policy","target","_blank","rel","noopener noreferrer"],["mat-flat-button","","color","primary","type","submit","id","signupBtn",2,"width","100%",3,"disabled"],[1,"text-center","mt-3","mb-0","mat-body-medium"],["type","button",1,"btn","btn-link","mat-body-medium","p-0","align-baseline",3,"click"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){if(t&1){let o=S();a(0,"div",2)(1,"div",3)(2,"section",4)(3,"div",5)(4,"div",6)(5,"div",7)(6,"h2",8),c(7,"Welcome"),r(),a(8,"p",9),c(9,"Log in if you already have an account, or create one to get started."),r(),a(10,"div",10)(11,"button",11),x("click",function(){return h(o),b(n.setActiveView("login"))}),c(12," I already have an account "),r(),a(13,"button",11),x("click",function(){return h(o),b(n.setActiveView("signup"))}),c(14," I'm new here "),r()()(),a(15,"div",12)(16,"div",13)(17,"div",14),_(18,"img",15),r()(),a(19,"div",16)(20,"div",17),f(21,Ha,6,1,"div",18)(22,er,6,1,"div",18),r()()()()()()(),f(23,ir,0,0,"ng-template",null,0,U)(25,cr,4,3,"div",19),r()}t&2&&(N("px-5",n.editable)("opacity-25",n.editable&&!n.isVisible)("opacity-100",n.isVisible)("draggable",n.draggable),s(11),N("active-toggle",n.activeView==="login"),s(2),N("active-toggle",n.activeView==="signup"),s(8),l("ngIf",n.activeView==="login"),s(),l("ngIf",n.activeView==="signup"),s(3),l("ngIf",n.editable||n.flexibleWidth||n.draggable))},dependencies:[W,Q,Z,st,mt,ye,zt,$t,xe,Wt,Se,we,it,kt,It,Di,Li,nt,Nt,dt,j,ot,Mt,pt,bt,Qt,ct,ht,xt],styles:[".login-container[_ngcontent-%COMP%]{width:100%}.login-section-wrapper[_ngcontent-%COMP%]{min-height:100vh;background:#fff}.login-card-container[_ngcontent-%COMP%]{max-width:1100px;padding:1.5rem 1rem 3rem}.form-panel[_ngcontent-%COMP%], .full-width[_ngcontent-%COMP%]{width:100%}.account-toggle[_ngcontent-%COMP%]{gap:.25rem;padding-left:5px!important;padding-right:5px!important;background-color:#0000001a!important}.account-toggle[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]{min-height:42px}.active-toggle[_ngcontent-%COMP%]{background-color:#fff;font-weight:600;border-radius:20px!important;padding-left:20px!important;padding-right:20px!important}.mat-mdc-button[_ngcontent-%COMP%]:hover   .mat-mdc-button-persistent-ripple[_ngcontent-%COMP%]:before{background-color:#00000014
57!important}.illustration-panel[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{max-height:520px;object-fit:contain}@media (max-width: 767px){.login-card-container[_ngcontent-%COMP%]{padding:1rem .75rem 2rem}}"]})};var pr=i=>["/",i,"groups"];function dr(i,e){if(i&1&&(a(0,"nav",0)(1,"div")(2,"h2"),c(3,"Explore team groups"),r(),a(4,"p"),c(5),r()(),a(6,"a",1),c(7),r()()),i&2){let t=m();s(5),I("Compare teams by ",t.dimensionLabels.join(", ")," and explore their group leaderboards."),s(),l("routerLink",Gt(3,pr,t.campaignSlug)),s(),I("View ",t.directoryLabel," \u2192")}}var je=class i{constructor(e){this.participation=e}campaignSlug="";dimensionLabels=[];directoryLabel="Team groups";subscription;ngOnChanges(){this.subscription?.unsubscribe(),this.dimensionLabels=[],this.campaignSlug&&(this.subscription=this.participation.getTeamDimensionConfig(this.campaignSlug).subscribe({next:e=>{let t=e?.teamDimensionConfig;this.directoryLabel=ne(t??null),this.dimensionLabels=t?.enabled&&Array.isArray(t.dimensions)?t.dimensions.map(n=>n.label).filter(Boolean):[]},error:()=>this.dimensionLabels=[]}))}ngOnDestroy(){this.subscription?.unsubscribe()}static \u0275fac=function(t){return new(t||i)(fe(Ot))};static \u0275cmp=A({type:i,selectors:[["app-team-group-navigation"]],inputs:{campaignSlug:"campaignSlug"},features:[qt],decls:1,vars:1,consts:[["aria-label","Explore team group leaderboards",1,"group-navigation"],["mat-stroked-button","",3,"routerLink"]],template:function(t,n){t&1&&f(0,dr,8,5,"nav",0),t&2&&xi(n.dimensionLabels.length?0:-1)},dependencies:[Bt,j,Vi],styles:["[_nghost-%COMP%]{display:block}.group-navigation[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 20px;margin:20px 0;border:1px solid #dde1e6;border-radius:6px}h2[_ngcontent-%COMP%]{font-size:16px;font-weight:600;margin:0 0 4px}p[_ngcontent-%COMP%]{font-size:14px;margin:0}a[_ngcontent-%COMP%]{flex-shrink:0}"]})};function En(i,e,t={}){let n=i.filteredData.slice();if(t.sort&&i.sortData&&(n=i.sortData(n,t.sort)),t.scope==="page"&&t.paginator){let u=t.paginator.pageIndex*t.paginator.pageSize;n=n.slice(u,u+t.paginator.pageSize)}let o=ur(n,e),p=fr(o);_r(p,t.filename??hr())}function ur(i,e){let t=e.map(o=>o.header??o.key);return i.map(o=>{let p={};return e.forEach((u,g)=>{let d=t[g];p[d]=u.value?u.value(o):gr(o,u.key)}),p})}function gr(i,e,t=""){try{return e.split(".").reduce((n,o)=>n?.[o],i)??t}catch{return t}}function fr(i){if(!i.length)return"";let e=Object.keys(i[0]),t=n=>{let o=(n??"").toString(),u=/^[=+\-@]/.test(o)||/[",\n]/.test(o),g=o.replace(/"/g,'""');return u?`"${g}"`:g};return[e.map(t).join(","),...i.map(n=>e.map(o=>t(n[o])).join(","))].join(`
58`)}function _r(i,e){let t=new Blob(["\uFEFF"+i],{type:"text/csv;charset=utf-8;"}),n=document.createElement("a");n.href=URL.createObjectURL(t),n.download=e,n.click(),URL.revokeObjectURL(n.href)}function hr(){return`export_${new Date().toISOString().slice(0,10)}.csv`}var vr=["rowStyleLeaderboard2"],xr=()=>[5,10,25];function Cr(i,e){if(i&1&&(a(0,"p",18),c(1),r()),i&2){let t=m(2).$implicit;s(),T(t.label)}}function yr(i,e){i&1&&se(0)}function Sr(i,e){if(i&1&&(a(0,"mat-tab"),f(1,Cr,2,1,"ng-template",15),a(2,"div",16),f(3,yr,1,0,"ng-container",17),r()()),i&2){m(4);let t=R(14);s(3),l("ngTemplateOutlet",t)}}function wr(i,e){if(i&1&&(E(0),f(1,Sr,4,1,"mat-tab",14),F()),i&2){let t=e.$implicit,n=m(3);
58s(),l("ngIf",t.showTab&&n.validateTab(t.type))}}function Tr(i,e){if(i&1){let t=S();a(0,"mat-tab-group",12),_t("selectedIndexChange",function(o){h(t);let p=m(2);return ft(p.selectedTabIndex,o)||(p.selectedTabIndex=o),b(o)}),x("selectedIndexChange",function(o){h(t);let p=m(2);return b(p.onTabChange(o))}),f(1,wr,2,1,"ng-container",13),r()}if(i&2){let t=m(2);gt("selectedIndex",t.selectedTabIndex),s(),l("ngForOf",t.tabItems)}}function Ir(i,e){if(i&1&&(a(0,"div"),f(1,Tr,2,2,"mat-tab-group",11),r()),i&2){let t=m();s(),l("ngIf",t.tabItems[1])}}function kr(i,e){i&1&&(a(0,"span"),c(1,"Individual Leaderboard"),r())}function Mr(i,e){if(i&1&&(a(0,"span"),c(1),r()),i&2){let t=m(4);s(),T(t.leaderboardTitle)}}function Pr(i,e){if(i&1&&(a(0,"p"),f(1,kr,2,0,"span",14)(2,Mr,2,1,"span",14),r()),i&2){let t=m(3);ii("",t.leaderboardTitleClass," fw-bold mb-0 text-center"),s(),l("ngIf",!t.leaderboardTitle),s(),l("ngIf",t.leaderboardTitle)}}function Ur(i,e){i&1&&(a(0,"span"),c(1,"Team Leaderboard"),r())}function Er(i,e){if(i&1&&(a(0,"span"),c(1),r()),i&2){let t=m(4);s(),T(t.leaderboardTitle)}}function Fr(i,e){if(i&1&&(a(0,"p"),f(1,Ur,2,0,"span",14)(2,Er,2,1,"span",14),r()),i&2){let t=m(3);ii("",t.leaderboardTitleClass," fw-bold mb-0 text-center"),s(),l("ngIf",!t.leaderboardTitle),s(),l("ngIf",t.leaderboardTitle)}}function Dr(i,e){i&1&&se(0)}function Lr(i,e){if(i&1&&(E(0),f(1,Pr,3,5,"p",20)(2,Fr,3,5,"p",20)(3,Dr,1,0,"ng-container",17),F()),i&2){let t=m(2),n=R(14);s(),l("ngIf",t.leaderboardType=="individual"),s(),l("ngIf",t.leaderboardType=="team"),s(),l("ngTemplateOutlet",n)}}function Nr(i,e){i&1&&(a(0,"div",19),f(1,Lr,4,3,"ng-container",14),r()),i&2&&(s(),l("ngIf",!0))}function Or(i,e){}function Ar(i,e){i&1&&_(0,"i",28)}function Rr(i,e){i&1&&_(0,"i",29)}function Vr(i,e){if(i&1){let t=S();a(0,"button",25),x("click",function(){h(t);let o=m(2);return b(o.toggleVisibility())}),f(1,Ar,1,0,"i",26)(2,Rr,1,0,"i",27),r()}if(i&2){let t=m(2);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function Gr(i,e){i&1&&_(0,"i",33)}function Br(i,e){i&1&&_(0,"i",34)}function zr(i,e){if(i&1){let t=S();a(0,"button",30),x("click",function(){h(t);let o=m(2);return b(o.toggleComponentWidth())}),f(1,Gr,1,0,"i",31)(2,Br,1,0,"i",32),r()}if(i&2){let t=m(2);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function $r(i,e){i&1&&(a(0,"button",35),_(1,"i",36),r())}function Wr(i,e){if(i&1&&(a(0,"div",21),f(1,Vr,3,2,"button",22)(2,zr,3,2,"button",23)(3,$r,2,0,"button",24),r()),i&2){let t=m();s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}function jr(i,e){if(i&1&&(a(0,"div",41)(1,"div",42),_(2,"img",43),a(3,"div",44)(4,"h3",45),c(5),r(),a(6,"div",46)(7,"span"),c(8),a(9,"small"),c(10,"Funds Raised"),r()(),_(11,"br"),a(12,"span"),c(13),a(14,"small"),c(15),r()(),_(16,"br"),a(17,"span"),c(18),a(19,"small"),c(20,"Footprint Points"),r()()()()(),a(21,"button",47),c(22,"View Profile \u2192"),r()()),i&2){let t=e.$implicit,n=m(2);s(2),l("src",t.goalOwnerPic,P),s(3),T(t.goalOwnerName),s(3),I("",n.formatAmount(t.fundraiseTotal,n.currencyUnitName(t.currencyCode))," "),s(5),I("",n.formatNumber(t.fitnessTotal,0)," "),s(2),I("",n.fitnessUnitName(t.fitnessUnitUuid)," Covered"),s(3),I("",n.formatNumber(t.footprintPoints,0)," ")}}function Hr(i,e){if(i&1&&(a(0,"h2",37),c(1," Top Individuals "),a(2,"button",38),c(3,"View All Individuals \u2192"),r()(),_(4,"div",39),f(5,jr,23,6,"div",40)),i&2){let t=m();s(5),l("ngForOf",t.topRows)}}function qr(i,e){if(i&1&&(a(0,"div")(1,"p",62),c(2),r(),a(3,"p",63),c(4,"Funds Raised"),r()()),i&2){let t=m().$implicit,n=m(2);
58s(2),T(n.formatAmount(t.fundraiseTotal,n.currencyUnitName(t.currencyCode)))}}function Jr(i,e){if(i&1&&(a(0,"div")(1,"p",62),c(2),r(),a(3,"p",63),c(4),r()()),i&2){let t=m().$implicit,n=m(2);s(2),T(n.formatNumber(t.fitnessTotal,0)),s(2),I("",n.fitnessUnitName(t.fitnessUnitUuid)," Covered")}}function Yr(i,e){if(i&1&&(a(0,"mat-card",50)(1,"div",51)(2,"div",52),_(3,"img",53),r(),a(4,"div",54)(5,"div",55)(6,"p",56),c(7),r(),a(8,"a",57)(9,"button",58),c(10,"View Profile \u2192"),r()()(),_(11,"mat-divider"),a(12,"div",59),f(13,qr,5,1,"div",14),_(14,"mat-divider",60),f(15,Jr,5,2,"div",14),_(16,"mat-divider",60),a(17,"div",61)(18,"p",62),c(19),r(),a(20,"p",63),c(21,"Footprint Points"),r()()()()()()),i&2){let t=e.$implicit,n=m(2);s(3),l("src",t.goalOwnerPic,P),s(4),T(t.goalOwnerName),s(),l("href",n.campaignSlug+"/participant/"+t.goalUuid,P),s(5),l("ngIf",n.hasFundraising),s(2),l("ngIf",n.hasFitness),s(4),T(n.formatNumber(t.footprintPoints,0))}}function Qr(i,e){if(i&1&&(a(0,"h2",48),c(1," Top Individuals "),a(2,"button",38),c(3,"View All Individuals \u2192"),r()(),f(4,Yr,22,6,"mat-card",49)),i&2){let t=m();s(4),l("ngForOf",t.topRows)}}function Kr(i,e){if(i&1&&(a(0,"div")(1,"p",62),c(2),r(),a(3,"p",63),c(4,"Raised"),r()()),i&2){let t=m().$implicit,n=m(2);
58s(2),T(n.formatAmount(t.fundraiseTotal,n.currencyUnitName(t.currencyCode)))}}function Xr(i,e){i&1&&_(0,"mat-divider",60)}function Zr(i,e){if(i&1&&(a(0,"div")(1,"p",62),c(2),r(),a(3,"p",63),c(4),r()()),i&2){let t=m().$implicit,n=m(2);s(2),I("",n.formatNumber(t.fitnessTotal,0)," "),s(2),T(n.fitnessUnitName(t.fitnessUnitUuid))}}function ts(i,e){i&1&&_(0,"mat-divider",60)}function es(i,e){if(i&1&&(a(0,"div")(1,"p",62),c(2),r(),a(3,"p",63),c(4),r()()),i&2){let t=m().$implicit,n=m(2);s(2),I("",n.formatNumber(t.wellnessTotal,0)," "),s(2),T(n.wellnessUnitName(t.wellnessUnitUuid))}}function is(i,e){if(i&1&&(a(0,"div",65)(1,"div",51)(2,"div",66),c(3),r(),a(4,"div",52),_(5,"img",53),r(),a(6,"div",54)(7,"div",55)(8,"p",56),c(9),r(),a(10,"a",57)(11,"button",58),c(12,"View Profile \u2192"),r()()(),_(13,"mat-divider"),a(14,"div",59),f(15,Kr,5,1,"div",14)(16,Xr,1,0,"mat-divider",67)(17,Zr,5,2,"div",14)(18,ts,1,0,"mat-divider",67)(19,es,5,2,"div",14),_(20,"mat-divider",60),a(21,"div",61)(22,"p",62),c(23),r(),a(24,"p",63),c(25,"Footprint Points"),r()()()()()()),i&2){let t=e.$implicit,n=e.index,o=m(2);s(3),I(" ",n+1," "),s(2),l("src",t.goalOwnerPic,P),s(4),T(t.goalOwnerName),s(),l("href",o.campaignSlug+"/participant/"+t.goalUuid,P),s(5),l("ngIf",o.hasFundraising),s(),l("ngIf",o.hasFitness),s(),l("ngIf",o.hasFitness),s(),l("ngIf",o.hasWellness),s(),l("ngIf",o.hasWellness),s(4),I("",o.formatNumber(t.footprintPoints,0)," ")}}function ns(i,e){if(i&1&&f(0,is,26,10,"div",64),i&2){let t=m();l("ngForOf",t.topRows)}}function os(i,e){if(i&1&&_(0,"app-team-group-navigation",110),i&2){let t=m(2);l("campaignSlug",t.campaignSlug)}}function as(i,e){if(i&1&&(a(0,"mat-option",111),c(1),r()),i&2){let t=m(2);s(),T(t.fundraisingColumnLabel)}}function rs(i,e){if(i&1&&(a(0,"mat-option",112),c(1),r()),i&2){let t=m(2);s(),T(t.averageColumnLabel(t.headerFitnessUnit))}}function ss(i,e){if(i&1&&(a(0,"mat-option",113),c(1),r()),i&2){let t=m(2);s(),T(t.averageColumnLabel(t.headerWellnessUnit))}}function ls(i,e){if(i&1&&(a(0,"mat-option",114),c(1),r()),i&2){let t=m(2);s(),T(t.averageColumnLabel("Engagement Pts"))}}function ms(i,e){if(i&1){let t=S();a(0,"button",115),x("click",function(){h(t);let o=m(2);return b(o.downloadExcel())}),a(1,"mat-label",116),c(2,"Download"),r(),a(3,"mat-icon",116),c(4,"download"),r()()}}function cs(i,e){if(i&1){let t=S();a(0,"button",117),x("click",function(){h(t);let o=m(2);return b(o.joinCampaign())}),c(1," Join The Leaderboard "),r()}}function ps(i,e){i&1&&(a(0,"th",118),c(1," # "),r())}function ds(i,e){if(i&1&&(a(0,"td",119)(1,"span",120),c(2,"Rank "),r(),c(3),r()),i&2){let t=e.index,n=m(2);s(3),I("",((n.paginator==null?null:n.paginator.pageIndex)||0)*((n.paginator==null?null:n.paginator.pageSize)||10)+t+1," ")}}function us(i,e){i&1&&(a(0,"span"),c(1,"User"),r())}function gs(i,e){i&1&&(a(0,"span"),c(1,"Team"),r())}function fs(i,e){if(i&1&&(a(0,"th",121),f(1,us,2,0,"span",14)(2,gs,2,0,"span",14),r()),i&2){let t=m(2);l("disableClear",!0),s(),l("ngIf",t.leaderboardType!="team"),s(),l("ngIf",t.leaderboardType=="team")}}function _s(i,e){if(i&1){let t=S();a(0,"img",127),x("error",function(){h(t);let o=m(2).$implicit;return b(o.goalOwnerPic="")}),r()}if(i&2){let t=m(2).$implicit;jt("alt",t.goalOwnerName),l("lazyLoad",t.goalOwnerPic)}}function hs(i,e){if(i&1){let t=S();a(0,"img",128),x("error",function(){h(t);let o=m(2).$implicit;return b(o.goalOwnerPic="")}),r()}if(i&2){let t=m(2).$implicit;jt("alt",t.goalOwnerName),l("src",t.goalOwnerPic,P)}}function bs(i,e){if(i&1&&(E(0),f(1,_s,1,2,"img",125)(2,hs,1,2,"img",126),F()),i&2){let t=m().index,n=m(2);s(),l("ngIf",t>=n.initialLoadCount),s(),l("ngIf",t<n.initialLoadCount)}}function vs(i,e){if(i&1&&(a(0,"div",129),c(1),L(2,"slice"),r()),i&2){let t=m().$implicit;s(),I(" ",t.goalOwnerName?yt(2,1,t.goalOwnerName,0,1):""," ")}}function xs(i,e){i&1&&(a(0,"span",130)(1,"mat-icon",131),c(2,"star"),r(),c(3," Captain "),r())}function Cs(i,e){if(i&1&&(a(0,"td",122),f(1,bs,3,2,"ng-container",9)(2,vs,3,5,"ng-template",null,7,U),a(4,"span",123),c(5),f(6,xs,4,0,"span",124),r()()),i&2){let t=e.$implicit,n=R(3),o=m(2);s(),l("ngIf",t.goalOwnerPic)("ngIfElse",n),s(4),I(" ",t.goalOwnerName," "),s(),l("ngIf",o.isTeamCaptain(t))}}
58function ys(i,e){if(i&1&&(a(0,"th",134),c(1),r()),i&2){let t=m(3);l("disableClear",!0),s(),I(" ",t.fundraisingColumnLabel," ")}}function Ss(i,e){if(i&1&&_(0,"img",140),i&2){let t=m().$implicit;l("src",t.fundraiseMedalPic,P)}}function ws(i,e){if(i&1&&(a(0,"td",135)(1,"span",136),f(2,Ss,1,1,"img",137),a(3,"span",138),c(4,"Raised"),r(),a(5,"span",139),c(6),r()()()),i&2){let t=e.$implicit,n=m(3);s(2),l("ngIf",t.fundraiseMedalPic),s(4),T(n.formatAmount(t.fundraiseTotal,n.currencyUnitName(t.currencyCode)))}}function Ts(i,e){i&1&&(E(0,132),f(1,ys,2,2,"th",95)(2,ws,7,2,"td",133),F())}function Is(i,e){if(i&1&&(a(0,"th",144),c(1),r()),i&2){let t=m(3);l("disableClear",!0),s(),I(" ",t.averageColumnLabel(t.headerFitnessUnit)," ")}}function ks(i,e){if(i&1&&_(0,"img",140),i&2){let t=m().$implicit;l("src",t.fitnessMedalPic,P)}}function Ms(i,e){if(i&1&&(a(0,"td",145)(1,"span",136),f(2,ks,1,1,"img",137),a(3,"span",138),c(4),r(),a(5,"span",139),c(6),r()()()),i&2){let t=e.$implicit,n=m(3);s(2),l("ngIf",t.fitnessMedalPic),s(2),T(n.averageColumnLabel(n.headerFitnessUnit)),s(2),T(n.formatNumber(t.fitnessTotal,0))}}function Ps(i,e){i&1&&(E(0,141),f(1,Is,2,2,"th",142)(2,Ms,7,3,"td",143),F())}function Us(i,e){if(i&1&&(a(0,"th",134),c(1),r()),i&2){let t=m(3);l("disableClear",!0),s(),I(" ",t.averageColumnLabel(t.headerWellnessUnit)," ")}}function Es(i,e){if(i&1&&_(0,"img",140),i&2){let t=m().$implicit;l("src",t.wellnessMedalPic,P)}}function Fs(i,e){if(i&1&&(a(0,"td",148)(1,"span",136),f(2,Es,1,1,"img",137),a(3,"span",138),c(4),r(),a(5,"span",139),c(6),r()()()),i&2){let t=e.$implicit,n=m(3);s(2),l("ngIf",t.wellnessMedalPic),s(2),T(n.averageColumnLabel(n.headerWellnessUnit)),s(2),T(n.formatNumber(t.wellnessTotal,0))}}function Ds(i,e){i&1&&(E(0,146),f(1,Us,2,2,"th",95)(2,Fs,7,3,"td",147),F())}function Ls(i,e){if(i&1&&(a(0,"th",134),c(1),r()),i&2){let t=m(3);l("disableClear",!0),s(),I(" ",t.averageColumnLabel("Engagement Pts")," ")}}function Ns(i,e){if(i&1&&_(0,"img",140),i&2){let t=m().$implicit;l("src",t.engagementMedalPic,P)}}function Os(i,e){if(i&1&&(a(0,"td",148)(1,"span",136),f(2,Ns,1,1,"img",137),a(3,"span",138),c(4),r(),a(5,"span",139),c(6),r()()()),i&2){let t=e.$implicit,n=m(3);s(2),l("ngIf",t.engagementMedalPic),s(2),T(n.averageColumnLabel("Engagement Pts")),s(2),T(n.formatNumber(t.engagementPoints,0))}}function As(i,e){i&1&&(E(0,149),f(1,Ls,2,2,"th",95)(2,Os,7,3,"td",147),F())}function Rs(i,e){if(i&1&&(a(0,"th",134),c(1),r()),i&2){let t=m(2);l("disableClear",!0),s(),I(" ",t.averageColumnLabel("Footprint Pts")," ")}}function Vs(i,e){if(i&1&&(a(0,"td",150)(1,"span",138),c(2),r(),c(3),r()),i&2){let t=e.$implicit,n=m(2);s(2),I("",n.averageColumnLabel("Footprint Pts")," "),s(),I("",n.formatNumber(t.footprintPoints,0)," ")}}function Gs(i,e){i&1&&(a(0,"th",134),c(1," Activity Type "),r()),i&2&&l("disableClear",!0)}function Bs(i,e){if(i&1&&(a(0,"td",150),c(1),r()),i&2){let t=e.$implicit,n=m(2);s(),I(" ",n.fitnessActivityName(t.fitnessActivityConfigUuid)," ")}}function zs(i,e){i&1&&(a(0,"th",134),c(1," Team Name "),r()),i&2&&l("disableClear",!0)}function $s(i,e){if(i&1&&(a(0,"td",150),c(1),r()),i&2){let t=e.$implicit;s(),I(" ",t.teamName," ")}}function Ws(i,e){i&1&&(a(0,"th",134),c(1," Team ID "),r()),i&2&&l("disableClear",!0)}function js(i,e){if(i&1&&(a(0,"td",150),c(1),r()),i&2){let t=e.$implicit,n=m(2);s(),I(" ",n.miniId(t.teamUuid)," ")}}function Hs(i,e){i&1&&(a(0,"th",134),c(1," Street "),r()),i&2&&l("disableClear",!0)}function qs(i,e){if(i&1&&(a(0,"td",150),c(1),r()),i&2){let t=e.$implicit;s(),I(" ",t.street||"\u2014"," ")}}function Js(i,e){i&1&&(a(0,"th",134),c(1," City "),r()),i&2&&l("disableClear",!0)}function Ys(i,e){if(i&1&&(a(0,"td",150),c(1),r()),i&2){let t=e.$implicit;s(),I(" ",t.city||"\u2014"," ")}}function Qs(i,e){i&1&&(a(0,"th",134),c(1," State "),r()),i&2&&l("disableClear",!0)}function Ks(i,e){if(i&1&&(a(0,"td",150),c(1),r()),i&2){let t=e.$implicit;s(),I(" ",t.state||"\u2014"," ")}}function Xs(i,e){i&1&&(a(0,"th",134),c(1," Country "),r()),i&2&&l("disableClear",!0)}function Zs(i,e){if(i&1&&(a(0,"td",150),c(1),r()),i&2){let t=e.$implicit;s(),I(" ",t.country||"\u2014"," ")}}function tl(i,e){i&1&&_(0,"tr",151)}function el(i,e){if(i&1){let t=S();a(0,"mat-row",152),x("click",function(){let o,p=h(t).$implicit,u=m(2);return b(u.onRowClick(p.goalUuid,(o=p.participantSlug)!==null&&o!==void 0?o:p.teamSlug))}),r()}if(i&2){let t=e.$implicit,n=m(2);N("team-captain-row",n.isTeamCaptain(t))}}function il(i,e){if(i&1&&(a(0,"mat-row",153)(1,"td",154),c(2),r()()),i&2){m();let t=R(17);s(2),I('No data matching the filter "',t.value,'"')}}function nl(i,e){i&1&&(a(0,"div",155),_(1,"img",156),r()),i&2&&(s(),l("src","cf-campaign-app-assets/images/leaderboard-icons/leaderboard_placeholder.png",P))}function ol(i,e){if(i&1){let t=S();a(0,"mat-paginator",157),x("page",function(o){h(t);let p=m(2);return b(p.pageChange(o))}),r()}if(i&2){let t=m(2);l("length",t.totalRecords)("pageSize",10)("pageSizeOptions",Ht(3,xr))}}
58function al(i,e){if(i&1&&(a(0,"span"),c(1),r()),i&2){let t=m(3);s(),T(t.fundraisingConversionText)}}function rl(i,e){i&1&&(a(0,"span"),c(1,";"),r())}function sl(i,e){if(i&1&&(a(0,"span"),c(1),r()),i&2){let t=m(3);s(),T(t.fitnessConversionText)}}function ll(i,e){i&1&&(a(0,"span"),c(1,";"),r())}function ml(i,e){if(i&1&&(a(0,"span"),c(1),r()),i&2){let t=m(3);s(),T(t.wellnessConversionText)}}function cl(i,e){if(i&1&&(a(0,"div",158)(1,"strong"),c(2,"Footprint Pts:"),r(),f(3,al,2,1,"span",14)(4,rl,2,0,"span",14)(5,sl,2,1,"span",14)(6,ll,2,0,"span",14)(7,ml,2,1,"span",14),r()),i&2){let t=m(2);s(3),l("ngIf",t.hasFundraising),s(),l("ngIf",t.hasFundraising&&(t.hasFitness||t.wellnessConversionText)),s(),l("ngIf",t.hasFitness),s(),l("ngIf",t.hasFitness&&t.wellnessConversionText),s(),l("ngIf",t.wellnessConversionText)}}function pl(i,e){if(i&1){let t=S();f(0,os,1,1,"app-team-group-navigation",68),a(1,"div",69)(2,"div",70)(3,"mat-form-field",71)(4,"mat-label"),c(5,"Sort By"),r(),a(6,"mat-select",72),_t("valueChange",function(o){h(t);let p=m();return ft(p.sortBy,o)||(p.sortBy=o),b(o)}),x("selectionChange",function(){h(t);let o=m();return b(o.sortData())}),a(7,"mat-option",73),c(8),r(),f(9,as,2,1,"mat-option",74)(10,rs,2,1,"mat-option",75)(11,ss,2,1,"mat-option",76)(12,ls,2,1,"mat-option",77),r()(),a(13,"mat-form-field",78)(14,"mat-label"),c(15,"Search"),r(),a(16,"input",79,6),x("keyup",function(o){h(t);let p=m();return b(p.applyFilter(o))}),r()(),f(18,ms,5,0,"button",80),L(19,"async"),f(20,cs,2,0,"button",81),r(),a(21,"div",82)(22,"mat-table",83),E(23,84),f(24,ps,2,0,"th",85)(25,ds,4,1,"td",86),F(),E(26,87),f(27,fs,3,3,"th",88)(28,Cs,7,4,"td",89),F(),f(29,Ts,3,0,"ng-container",90)(30,Ps,3,0,"ng-container",91)(31,Ds,3,0,"ng-container",92)(32,As,3,0,"ng-container",93),E(33,94),f(34,Rs,2,2,"th",95)(35,Vs,4,2,"td",96),F(),E(36,97),f(37,Gs,2,1,"th",95)(38,Bs,2,1,"td",96),F(),E(39,98),f(40,zs,2,1,"th",95)(41,$s,2,1,"td",96),F(),E(42,99),f(43,Ws,2,1,"th",95)(44,js,2,1,"td",96),F(),E(45,100),f(46,Hs,2,1,"th",95)(47,qs,2,1,"td",96),F(),E(48,101),f(49,Js,2,1,"th",95)(50,Ys,2,1,"td",96),F(),E(51,102),f(52,Qs,2,1,"th",95)(53,Ks,2,1,"td",96),F(),E(54,103),f(55,Xs,2,1,"th",95)(56,Zs,2,1,"td",96),F(),f(57,tl,1,0,"tr",104)(58,el,1,2,"mat-row",105)(59,il,3,1,"mat-row",106),r()(),f(60,nl,2,1,"div",107)(61,ol,1,4,"mat-paginator",108)(62,cl,8,5,"div",109),L(63,"async"),r()}if(i&2){let t=m();l("ngIf",t.leaderboardType==="team"&&t.campaignSlug),s(6),gt("value",t.sortBy),s(2),T(t.averageColumnLabel("Footprint Pts")),s(),l("ngIf",t.hasFundraising),s(),l("ngIf",t.hasFitness),s(),l("ngIf",t.hasWellness),s(),l("ngIf",t.hasEngagement),s(6),l("ngIf",t.downloadTable&&G(19,19,t.leaderboardData$)),s(2),l("ngIf",t.showJoinCTA),s(2),l("dataSource",t.dataSource),s(7),l("ngIf",t.hasFundraising),s(),l("ngIf",t.hasFitness),s(),l("ngIf",t.hasWellness),s(),l("ngIf",t.hasEngagement),s(25),l("matHeaderRowDef",t.displayedColumns),s(),l("matRowDefColumns",t.displayedColumns),s(2),l("ngIf",t.totalRecords==0),s(),l("ngIf",t.totalRecords!=0),s(),l("ngIf",G(63,21,t.leaderboardData$)&&(t.hasFundraising||t.hasFitness||t.wellnessConversionText))}}var Fn=class i extends X{destroyRef=hi(bi);rowStyleLeaderboard2;templateMap={rowStyleLeaderboard2:this.rowStyleLeaderboard2};leaderboardType;leaderboardTitle="";leaderboardTitleClass="mat-title-large";parentUuid;downloadTable=!0;showJoinCTA=!0;enrichRecords=!1;allowFiltering=!0;showWellnessConversion=!0;filterOutFitnessActivity="";filterInSpecificFitnessActivity="";tabItems=[{type:"individual",label:"Individual Leaderboard",templateOutlet:"rowStyleLeaderboard2",showTab:!0}];wellnessConversionText="";fitnessConversionText="1 mile / 2000 steps = 50 Footprint Pts";fundraisingConversionText="$1 = 25 Footprint Pts";teamCaptainRegGoalUuid="";static editableProperties=[{key:"showWellnessConversion",label:"Show wellness to Footprint conversion",type:"boolean",defaultValue:!0}];initialLoadCount=10;fullLoadCount=1e4;delayMs=1500;selectedTabIndex=0;leaderboardData$=null;topRows=[];displayedColumns=[];dataSource=new fn;totalRecords=0;headerFundraiseUnit="";headerFitnessUnit="Fitness";headerWellnessUnit="Points";sortBy="footprintPoints";sortDirection="desc";paginator;sort;static initialize(e){e.registerComponent("LeaderboardSectionLayoutStyle",i)}ngOnInit(){this.showHiddenFitnessTypes=!0,super.ngOnInit(),this.sectionEventService.listenEvent("teamMembershipChanged").pipe(Zi(this.destroyRef)).subscribe(e=>{e?.campaignSlug===this.campaignSlug&&e?.teamUuid===this.parentUuid&&this.loadLeaderboard()})}ngAfterViewInit(){super.ngAfterViewInit(),this.setSortDefaults(),this.route.params.subscribe(e=>{console.log(e),e.type&&(console.log("Found param type",e.type),e.type!="biker"?(this.leaderboardType=e.type,this.filterOutFitnessActivity="",this.filterInSpecificFitnessActivity="",this.setInitialTab(),this.loadLeaderboard()):(this.leaderboardTitle="Biker Leaderboard",this.leaderboardType="individual",this.filterOutFitnessActivity="",this.filterInSpecificFitnessActivity="fitness-type-bike",this.setInitialTab(),this.loadLeaderboard()))})}onCampaignLoad(){let e=!1,t=!0;this.route.params.subscribe(n=>{console.log(n),n.type?(console.log("Calling updateMenuForCampaign: ",this.hasBikerLeaderboard),setTimeout(()=>{let p=this._campaignData?.configData?.hasInvitationModule??!0;this.menuService.updateMenuForCampaign(this.hasFundraising,this.hasFitness,this.hasWellness,this.hasBikerLeaderboard,this.hasTeam,this.hasVirtualMap||this.hasCommunityMap,p,this.hasChat,this.hasScrapbook)},1e3),n.type!="biker"?(this.leaderboardType=n.type,this.leaderboardType==="team"&&(this.leaderboardTitle="Team Leaderboard"),this.setInitialTab(),this.loadLeaderboard()):(this.leaderboardTitle="Biker Leaderboard",this.leaderboardType="individual",this.filterOutFitnessActivity="",this.filterInSpecificFitnessActivity="fitness-type-bike",this.setInitialTab(),this.loadLeaderboard())):console.log("Not Found param type")}),!this.leaderboardType&&this.tabItems[0]&&this.tabItems[0].type&&(this.leaderboardType=this.tabItems[0].type,e=!0),this.leaderboardType==="individual"&&!this.parentUuid&&this.route.params.subscribe(n=>{console.log(n),n.teamId&&(t=!1,this.parentUuid=n.teamId,this.getTeamInfo(this.campaignSlug,this.parentUuid).subscribe(o=>{o&&(this.parentUuid=o.teamUuid,this.teamCaptainRegGoalUuid=o.adminRegGoalUuid||"",this.loadLeaderboard())}))}),this.parentUuid||(this.parentUuid=this.campaignUuid),this.allowFiltering&&this.filterOutFitnessActivity==""&&this.filterInSpecificFitnessActivity==""&&this.parentUuid===this.campaignUuid&&this.hasBikerLeaderboard&&(this.filterOutFitnessActivity="fitness-type-bike"),e&&this.setInitialTab(),this.generateDisplayedColumns(),this.loadWellnessConversion(),t&&this.loadLeaderboard()}loadWellnessConversion(){this.wellnessConversionText="",!(!this.hasWellness||!this.showWellnessConversion||!this.campaignSlug)&&this.injector.get(ce).getWellnessConversionText(this.campaignSlug,this.footprintTextFormat).pipe(V(()=>w(""))).subscribe(e=>this.wellnessConversionText=e)}get footprintTextFormat(){return{fitnessUnitName:e=>this.fitnessUnitName(e),wellnessUnitName:e=>this.wellnessUnitName(e),formatNumber:(e,t)=>
58this.formatNumber(e,t),formatAmount:(e,t)=>this.formatAmount(e,t)}}isTeamCaptain(e){return!!(this.teamCaptainRegGoalUuid&&e.goalUuid&&this.normalizeGoalUuid(e.goalUuid)===this.normalizeGoalUuid(this.teamCaptainRegGoalUuid))}normalizeGoalUuid(e){return e.trim().replace(/\.[^/?#]+(?=[?#]|$)/,"")}applyFilter(e){let t=e.target.value;this.dataSource.filter=t.trim().toLowerCase()}sortData(){this.setSortDefaults()}pageChange(e){console.log("Page changed",e)}downloadExcel(){console.log("Download button clicked"),this.downloadCsv()}generateDisplayedColumns(){this.displayedColumns=["position","goalOwnerName"],this.hasFundraising&&this.displayedColumns.push("fundraiseTotal"),this.hasFitness&&this.displayedColumns.push("fitnessTotal"),this.hasWellness&&this.displayedColumns.push("wellnessTotal"),this.hasEngagement&&this.displayedColumns.push("engagementPoints"),this.displayedColumns.push("footprintPoints"),(this.leaderboardType===""||this.leaderboardType==="individual")&&this.enrichRecords&&(this.displayedColumns.push("street"),this.displayedColumns.push("city"),this.displayedColumns.push("state"),this.displayedColumns.push("country"),this.displayedColumns.push("teamName"),this.displayedColumns.push("teamUuid"),this.displayedColumns.push("fitnessActivityConfigUuid"))}setSortDefaults(){this.sort&&(this.sort.active=this.sortBy,this.sort.direction=this.sortDirection,this.dataSource.sort=this.sort,this.sort.sortChange.subscribe(e=>{e.direction!=="desc"&&(this.sort.direction="desc",this.sort.active=e.active,this.dataSource.sort=this.sort)}))}onRowClick(e,t){if(this.leaderboardType===""||this.leaderboardType==="individual"){let n=t||e;this.router.navigate([this.campaignSlug,"participant",n])}else{let n=t||e;this.router.navigate([this.campaignSlug,this.leaderboardType,n])}}setInitialTab(){let e=this.tabItems.find(t=>t.type===this.leaderboardType);if(e)this.tabItems=[e],this.selectedTabIndex=0;else{let t=this.tabItems[0];this.tabItems=[t],this.selectedTabIndex=0}}onTabChange(e){this.tabItems&&this.tabItems[e]&&this.tabItems[e].type&&(console.log("Selected Tab Index:",e),this.leaderboardType=this.tabItems[e].type,this.loadLeaderboard())}loadLeaderboard(){let e=this.initialLoadCount,t=this.fullLoadCount,n=this.delayMs,o=this.leaderboardType==="team"?this.fetchTeamGoalsProgress(this.campaignSlug,e):this.fetchMemberGoalsProgress(this.campaignSlug,this.parentUuid,e),p=this.leaderboardType==="team"?this.fetchTeamGoalsProgress(this.campaignSlug,t):this.fetchMemberGoalsProgress(this.campaignSlug,this.parentUuid,t),u=g=>this.enrichRecords?this.enrichDataObservable(g):g;this.leaderboardData$=de(u(o),fi(n).pipe(B(()=>u(p)))).pipe(ge(g=>this.processLeaderboardData(g)),ue(1),V(g=>(console.error("leaderboard stream failed",g),ui)))}enrichDataObservable(e){return e.pipe(B(t=>{let n=Array.isArray(t)?t:[],o=Array.from(new Set(n.map(d=>d?.goalOwnerUuid).filter(Boolean))),p=Array.from(new Set(n.map(d=>d?.goalUuid).filter(Boolean))),u=o.length?this.participationService.getBulkUserDetailForAdmin(this.campaignSlug,o).pipe(V(d=>(console.error("getBulkUserDetailForAdmin failed",d),w([])))):w([]),g=this.participationService.getCampaignTeamMembers(this.campaignSlug).pipe(V(d=>(console.error("getCampaignTeamMembers failed",d),w([]))));return at({rows:w(n),users:u,members:g})}),O(({rows:t,users:n,members:o})=>{let p=new Map((n??[]).map(g=>[g.userUuid,g])),u=new Map((o??[]).filter(g=>!!g.regGoalUuid).map(g=>[g.regGoalUuid,g]));return t.map(g=>{let d=g.goalUuid?u.get(g.goalUuid):void 0,v=g.goalOwnerUuid?p.get(g.goalOwnerUuid):void 0;return D(D(D({},g),d&&{teamUuid:d.teamUuid,teamName:d.teamName,teamSlug:d.teamSlug,isTeamAdmin:d.isAdmin}),v&&{email:v.email??"",firstName:v.firstName??"",lastName:v.lastName??"",phone:v.contactDetail?.phoneNumber?.number??"",countryCode:v.contactDetail?.phoneNumber?.countryCode??"",street:v.contactDetail?.address?.street??"",city:v.contactDetail?.address?.city??g.city??"",state:v.contactDetail?.address?.state??g.state??"",zip:v.contactDetail?.address?.zip??"",country:v.contactDetail?.address?.country??g.country??""})})}))}processLeaderboardData(e){console.log("Leaderboard Data:",e),this.updateFootprintConversionFromRows(e),this.updateCampaignUnitHeaders(e),this.usesTeamAverages&&(e=e.map(t=>tt(D({},t),{fitnessTotal:t.averageFitnessTotal??0,wellnessTotal:t.averageWellnessTotal??0,engagementPoints:t.averageEngagementPoints??0,footprintPoints:t.averageFootprintPoints??0})).sort((t,n)=>(n.footprintPoints??0)-(t.footprintPoints??0))),this.filterOutFitnessActivity.length>0?e=e.filter(t=>t.fitnessActivityConfigUuid!==this.filterOutFitnessActivity):this.filterInSpecificFitnessActivity.length>0&&(e=e.filter(t=>t.fitnessActivityConfigUuid===this.filterInSpecificFitnessActivity)),this.topRows=e.filter(t=>t.goalOwnerName!=="null"&&t.goalOwnerName!==null&&t.goalOwnerName.trim()!=="").map((t,n)=>tt(D({},t),{position:n+1})),this.dataSource.data=this.topRows.length?this.topRows:[],this.cdr.detectChanges(),this.totalRecords=this.topRows.length,this.dataSource.paginator=this.paginator,this.setSortDefaults()}updateCampaignUnitHeaders(e){let t=(e||[]).find(u=>!!u?.campaignFitnessUnitUuid||!!u?.campaignCurrencyCode)||e?.[0],n=this.campaignGoalModel?.fitnessUnitUuid||t?.campaignFitnessUnitUuid||t?.fitnessUnitUuid,o=this.campaignGoalModel?.currencyCode||t?.campaignCurrencyCode||t?.currencyCode,p=this.campaignGoalModel?.wellnessUnitUuid||t?.wellnessUnitUuid;n&&(this.headerFitnessUnit=this.fitnessUnitName(n)),o&&(this.headerFundraiseUnit=this.currencyUnitName(o)),p&&(this.headerWellnessUnit=this.wellnessUnitName(p))}updateFootprintConversionFromRows(e){Object.assign(this,this.injector.get(ce).getFootprintConversionText(e,this.footprintTextFormat))}get fundraisingColumnLabel(){return this.headerFundraiseUnit?`Fundraise (${this.headerFundraiseUnit})`:"Fundraise"}get usesTeamAverages(){return this.leaderboardType==="team"&&this.hasTeamLeaderboardAvg}averageColumnLabel(e){return this.usesTeamAverages?`Avg ${e}`:e}
58validateTab(e){return!!(e!="team"||e==="team"&&this.hasTeam)}miniId(e){return e?e?.split("-")[0]+"-"+e?.split("-")[1]+"-"+e?.split("-").pop():""}buildLeaderboardColumns(){let e={position:{key:"position",header:"#",value:n=>n?.position??""},goalOwnerName:{key:"goalOwnerName",header:this.leaderboardType==="team"?"Team":"User",value:n=>n?.goalOwnerName??""},email:{key:"email",header:"Email",value:n=>n?.email??""},countryCode:{key:"countryCode",header:"Country Code",value:n=>n?.countryCode??""},phone:{key:"phone",header:"Phone",value:n=>n?.phone??""},street:{key:"street",header:"Street",value:n=>n?.street??""},city:{key:"city",header:"City",value:n=>n?.city??""},state:{key:"state",header:"State",value:n=>n?.state??""},zip:{key:"zip",header:"ZIP",value:n=>this.asCsvText(n?.zip)},country:{key:"country",header:"Country",value:n=>n?.country??""},fundraiseTotal:{key:"fundraiseTotal",header:this.fundraisingColumnLabel,value:n=>this.formatAmount?this.formatAmount(n?.fundraiseTotal??0,this.currencyUnitName?.(n?.currencyCode)):n?.fundraiseTotal??0},fitnessTotal:{key:"fitnessTotal",header:this.averageColumnLabel(this.headerFitnessUnit||"Fitness"),value:n=>this.formatNumber?this.formatNumber(n?.fitnessTotal??0):n?.fitnessTotal??0},wellnessTotal:{key:"wellnessTotal",header:this.averageColumnLabel(this.headerWellnessUnit||"Wellness"),value:n=>this.formatNumber?this.formatNumber(n?.wellnessTotal??0):n?.wellnessTotal??0},engagementPoints:{key:"engagementPoints",header:this.averageColumnLabel("Engagement Pts"),value:n=>this.formatNumber?this.formatNumber(n?.engagementPoints??n?.engagementTotal??0):n?.engagementPoints??n?.engagementTotal??0},footprintPoints:{key:"footprintPoints",header:this.averageColumnLabel("Footprint Pts"),value:n=>this.formatNumber?this.formatNumber(n?.footprintPoints??0):n?.footprintPoints??0},fitnessActivityConfigUuid:{key:"fitnessActivityConfigUuid",header:"Activity Type",value:n=>this.fitnessActivityName?.(n?.fitnessActivityConfigUuid??"")??""},teamUuid:{key:"teamUuid",header:"Team Id",value:n=>this.miniId?.(n?.teamUuid??"")??""},teamName:{key:"teamName",header:"Team Name",value:n=>n?.teamName??""}},t=[{key:"goalUuid",header:"ID",value:n=>this.miniId?.(n?.goalUuid)??""},e.position,e.goalOwnerName];return this.leaderboardType!=="team"&&this.enrichRecords&&t.push(e.email,e.countryCode,e.phone,e.street,e.city,e.state,e.zip,e.country),this.hasFundraising&&t.push(e.fundraiseTotal),this.hasFitness&&(t.push(e.fitnessTotal),t.push(e.fitnessActivityConfigUuid)),this.hasWellness&&t.push(e.wellnessTotal),this.hasEngagement&&t.push(e.engagementPoints),t.push(e.footprintPoints),this.leaderboardType!=="team"&&t.push(e.teamName,e.teamUuid),t.filter(Boolean)}downloadCsv(e="all"){let t=this.buildLeaderboardColumns();En(this.dataSource,t,{filename:`leaderboard_${this.campaignSlug??"campaign"}_${new Date().toISOString().slice(0,10)}.csv`,scope:e,paginator:this.paginator,sort:this.sort})}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-leaderboard-section"]],viewQuery:function(t,n){if(t&1&&(St(vr,5),St(Kt,5),St(Le,5)),t&2){let o;wt(o=Tt())&&(n.rowStyleLeaderboard2=o.first),wt(o=Tt())&&(n.paginator=o.first),wt(o=Tt())&&(n.sort=o.first)}},inputs:{leaderboardType:"leaderboardType",leaderboardTitle:"leaderboardTitle",leaderboardTitleClass:"leaderboardTitleClass",parentUuid:"parentUuid",downloadTable:"downloadTable",showJoinCTA:"showJoinCTA",enrichRecords:"enrichRecords",allowFiltering:"allowFiltering",showWellnessConversion:"showWellnessConversion",filterOutFitnessActivity:"filterOutFitnessActivity",filterInSpecificFitnessActivity:"filterInSpecificFitnessActivity",tabItems:"tabItems"},features:[Y([K]),$],decls:15,vars:11,consts:[["singleTab",""],["childDynamicBaseTemplate",""],["cardStyleLeaderboard",""],["rowStyleLeaderboard",""],["rowStyleLeaderboard1",""],["rowStyleLeaderboard2",""],["filterInput",""],["showInitials",""],[1,"row","justify-content-around","mat-body-medium"],[4,"ngIf","ngIfElse"],["class","position-absolute section-edit-toolbar",4,"ngIf"],["class","col-12","animationDuration","0ms","mat-stretch-tabs","false","mat-align-tabs","center",3,"selectedIndex","selectedIndexChange",4,"ngIf"],["animationDuration","0ms","mat-stretch-tabs","false","mat-align-tabs","center",1,"col-12",3,"selectedIndexChange","selectedIndex"],[4,"ngFor","ngForOf"],[4,"ngIf"],["mat-tab-label",""],[1,"tab-content","row","mt-3","mt-md-0","w-100"],[4,"ngTemplateOutlet"],[1,"mat-title-large","fw-bold"],[1,"tab-content","mt-3","mt-md-0","w-100"],[3,"class",4,"ngIf"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"],[1,"col-12","col-md-9","d-flex","mat-headline-small"],["mat-stroked-button","",1,"view-all-button","ms-auto"],[1,"clearfix"],["class","individual-card col-12 my-3 mx-2 col-md-3 text-center text-md-start",4,"ngFor","ngForOf"],[1,"individual-card","col-12","my-3","mx-2","col-md-3","text-center","text-md-start"],[1,"individual-info"],["alt","Individual Picture",1,"mw-100","individual-photo",3,"src"],[1,"individual-details"],[1,"mat-headline-small","mt-2"],[1,"stats"],["mat-stroked-button","",1,"view-indiv
58idual-button","mt-2"],[1,"col-12","d-flex","ps-1","pe-0","mat-headline-small"],["class","individual-card col-12 my-3 mx-2 py-3 py-md-0 text-center text-md-start rounded",4,"ngFor","ngForOf"],[1,"individual-card","col-12","my-3","mx-2","py-3","py-md-0","text-center","text-md-start","rounded"],[1,"d-flex","flex-column","flex-md-row","align-items-center"],[1,"col-12","col-md-1","rounded","me-2"],["alt","Individual Picture",1,"mw-100","individual-photo","rounded-circle",3,"src"],[1,"individual-details","ms-2","col","d-flex","flex-column"],[1,"d-flex","align-items-end"],[1,"mat-title-medium","my-0","mb-1","flex-fill"],[3,"href"],["mat-button","",1,"view-individual-button","mt-2","ms-auto"],[1,"stats","d-flex","flex-column","flex-md-row","justify-content-md-between"],["inset","true","vertical","true",1,"my-3","mx-3","d-none","d-md-block"],[1,"ms-2"],[1,"my-0","mt-2"],[1,"mat-body-large","mat-text-medium-gray"],["class","individual-card col-12 my-1 mx-2 py-3 py-md-0 text-center text-md-start",4,"ngFor","ngForOf"],[1,"individual-card","col-12","my-1","mx-2","py-3","py-md-0","text-center","text-md-start"],[1,"col-12","col-md-auto","rounded","me-2","rank-col","fw-bold","mat-title-large"],["class","my-3 mx-3 d-none d-md-block","inset","true","vertical","true",4,"ngIf"],[3,"campaignSlug",4,"ngIf"],[1,"leaderboard-container","mat-elevation-z8","p-0"],[1,"d-flex","gap-1","flex-wrap","justify-content-md-between","align-items-center","mb-3"],["appearance","outline",1,"col-auto","col-md-auto","sort-by-select","my-2"],[1,"",3,"valueChange","selectionChange","value"],["value","footprintPoints"],["value","fundraiseTotal",4,"ngIf"],["value","fitnessTotal",4,"ngIf"],["value","wellnessTotal",4,"ngIf"],["value","engagementPoints",4,"ngIf"],["appearance","outline",1,"col-4","search-box","flex-grow-1","my-2"],["matInput","","placeholder","Search",3,"keyup"],["mat-stroked-button","","color","accent black-outline","class","download-button my-2",3,"click",4,"ngIf"],["mat-flat-button","","class","join-leaderboard mat-text-primary my-2",3,"click",4,"ngIf"],[1,"table-responsive"],["matSort","",1,"mat-table","d-block",3,"dataSource"],["matColumnDef","position"],["class","d-none d-md-block col-2 col-md-1","mat-header-cell","",4,"matHeaderCellDef"],["class","col-2 col-md-1 py-3 fw-bold border-0 order-0 order-md-0","mat-cell","",4,"matCellDef"],["matColumnDef","goalOwnerName"],["class","d-none d-md-block col-6 col-md-3 fw-bold","mat-header-cell","","mat-sort-header","","start","desc",3,"disableClear",4,"matHeaderCellDef"],["mat-cell","","class","py-3 border-0 col-6 col-md-3 d-flex align-items-center order-1 order-md-1",4,"matCellDef"],["matColumnDef","fundraiseTotal",4,"ngIf"],["matColumnDef","fitnessTotal",4,"ngIf"],["matColumnDef","wellnessTotal",4,"ngIf"],["matColumnDef","engagementPoints",4,"ngIf"],["matColumnDef","footprintPoints"],["class","d-none d-md-flex align-items-md-baseline justify-content-md-around col-3 col-md fw-bold","mat-header-cell","","mat-sort-header","","start","desc",3,"disableClear",4,"matHeaderCellDef"],["mat-cell","","class","py-3 border-0 text-center text-md-start ms-md-4 col-4 col-md mat-word-wrap-break-word order-3 order-md-5",4,"matCellDef"],["matColumnDef","fitnessActivityConfigUuid"],["matColumnDef","teamName"],["matColumnDef","teamUuid"],["matColumnDef","street"],["matColumnDef","city"],["matColumnDef","state"],["matColumnDef","country"],["class","d-none d-md-flex flex-wrap flex-row justify-content-start justify-content-md-around","mat-header-row","",4,"matHeaderRowDef"],["class","d-flex flex-wrap align-items-end align-items-md-center justify-content-around border-bottom cursor-pointer",3,"team-captain-row","click",4,"matRowDef","matRowDefColumns"],["class","mat-row",4,"matNoDataRow"],["class","w-100 mt-2 px-4 cursor-pointer",4,"ngIf"],["class","mt-2",3,"length","pageSize","pageSizeOptions","page",4,"ngIf"],["class","d-flex flex-wrap justify-content-center gap-2 mt-4 mat-body-medium mat-text-dark-gray mat-bg-gray",4,"ngIf"],[3,"campaignSlug"],["value","fundraiseTotal"],["value","fitnessTotal"],["value","wellnessTotal"],["value","engagementPoints"],["mat-stroked-button","","color","accent black-outline",1,"download-button","my-2",3,"click"],[1,"mat-text-black"],["mat-flat-button","",1,"join-leaderboard","mat-text-primary","my-2",3,"click"],["mat-header-cell","",1,"d-none","d-md-block","col-2","col-md-1"],["mat-cell","",1,"col-2","col-md-1","py-3","fw-bold","border-0","order-0","order-md-0"],[1,"d-flex","d-md-none"],["mat-header-cell","","mat-sort-header","","start","desc",1,"d-none","d-md-block","col-6","col-md-3","fw-bold",3,"disableClear"],["mat-cell","",1,"py-3","border-0","col-6","col-md-3","d-flex","align-items-center","order-1","order-md-1"],[1,"leaderboard-member-name"],["class","team-captain-badge",4,"ngIf"],["class","user-avatar-image me-2",3,"lazyLoad","alt","error",4,"ngIf"],["class","user-avatar-image border me-2",3,"src","alt","error",4,"ngIf"],[1,"user-avatar-image","me-2",3,"error","lazyLoad","alt"],[1,"user-avatar-image","border","me-2",3,"error","src","alt"],[1,"user-avatar-initials","border","mat-bg-gray","me-2"],[1,"team-captain-badge"],["aria-hidden","true"],["matColumnDef","fundraiseTotal"],["mat-cell","","class","leaderboard-metric-cell py-3 border-0 col col-md order-4 order-md-3",4,"matCellDef"],["mat-header-cell","","mat-sort-header","","start","desc",1,"d-none","d-md-flex","align-items-md-baseline","justify-content-md-around","col-3","col-md","fw-bold",3,"disableClear"],["mat-cell","",1,"leaderboard-metric-cell","py-3","border-0","col","col-md","order-4","order-md-3"],[1,"leaderboard-metric-content"],["alt","Medal","class","user-image",3,"src",4,"ngIf"],[1,"d-block","d-md-none"],[1,"leaderboard-metric-value"],["alt","Medal",1,"user-image",3,"src"],["matColumnDef","fitnessTotal"],["class","d-none d-md-flex align-items-md-baseline justify-content-md-around col-md fw-bold","mat-header-cell","","mat-sort-header","","start","desc",3,"disableClear",4,"matHeaderCellDef"],["mat-cell","","class","leaderboard-metric-cell py-3 border-0 col col-md order-5 order-md-4",4,"matCellDef"],["mat-header-cell","","mat-sort-header","","start","desc",1,"d-none","d-md-flex","align-items-md-baseline","justify-content-md-around","col-md","fw-bold",3,"disableClear"],["mat-cell","",1,"leaderboard-metric-cell","py-3","border-0","col","col-md","order-5","order-md-4"],["matColumnDef","wellnessTotal"],["mat-cell","","class","leaderboard-metric-cell py-3 border-0 col col-md order-5 order-md-5",4,"matCellDef"],["mat-cell","",1,"leaderboard-metric-cell","py-3","border-0","col","col-md","order-5","order-md-5"],["matColumnDef","engagementPoints"],["mat-cell","",1,"py-3","border-0","text-center","text-md-start","ms-md-4","col-4","col-md","mat-word-wrap-break-word","order-3","order-md-5"],["mat-header-row","",1,"d-none","d-md-flex","flex-wrap","flex-row","justify-content-start","justify-content-md-around"],[1,"d-flex","flex-wrap","align-items-end","align-items-md-center","justify-content-around","border-bottom","cursor-pointer",3,"click"],[1,"mat-row"],["colspan","4",1,"mat-cell"],[1,"w-100","mt-2","px-4","cursor-pointer"],["alt","Show Up, Step Up, Rise to the Top",1,"mw-100",3,"src"],[1,"mt-2",3,"page","length","pageSize","pageSizeOptions"],[1,"d-flex","flex-wrap","justify-content-center","gap-2","mt-4","mat-body-medium","mat-text-dark-gray","mat-bg-gray"]],template:function(t,n){if(t&1&&(a(0,"div",8),f(1,Ir,2,1,"div",9)(2,Nr,2,1,"ng-template",null,0,U)(4,Or,0,0,"ng-template",null,1,U)(6,Wr,4,3,"div",10),r(),f(7,Hr,6,1,"ng-template",null,2,U)(9,Qr,5,1,"ng-template",null,3,U)(11,ns,1,1,"ng-template",null,4,U)(13,pl,64,23,"ng-template",null,5,U)),t&2){let o=R(3);N("px-5",n.editable)("opacity-25",n.editable&&!n.isVisible)("opacity-100",n.isVisible)("draggable",n.draggable),s(),l("ngIf",n.tabItems.length>1)("ngIfElse",o),s(5),l("ngIf",n.editable||n.flexibleWidth||n.draggable)}},dependencies:[W,Dt,Q,he,et,Lt,Z,je,dt,Yt,vt,Hi,qi,Ji,j,ot,pt,Gi,it,kt,It,ct,ht,Ee,Ue,Te,gn,nn,an,mn,rn,on,cn,sn,ln,pn,dn,un,bt,Kt,nt,Nt,en,Le,t
58n,xt,Yi],styles:[".rank-col[_ngcontent-%COMP%]{min-width:40px}.leaderboard-container[_ngcontent-%COMP%]{margin:20px;padding:20px;border-radius:8px}.sort-by-select[_ngcontent-%COMP%]{width:140px;height:50px}.search-box[_ngcontent-%COMP%]{height:50px}.join-leaderboard[_ngcontent-%COMP%], .download-button[_ngcontent-%COMP%]{height:48px;margin-top:4px!important}.mat-table[_ngcontent-%COMP%]   .mat-cell[_ngcontent-%COMP%], .mat-mdc-table[_ngcontent-%COMP%]   .mat-mdc-cell[_ngcontent-%COMP%]{min-width:70px;white-space:nowrap;box-sizing:border-box;padding-left:12px;padding-right:12px}.leaderboard-metric-cell[_ngcontent-%COMP%]{justify-content:center;text-align:center}.leaderboard-metric-content[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.leaderboard-metric-content[_ngcontent-%COMP%]   .user-image[_ngcontent-%COMP%]{flex:0 0 auto;margin:0}.leaderboard-metric-value[_ngcontent-%COMP%]{display:block;flex:0 0 auto;max-width:100%;overflow:visible;text-overflow:clip}.team-captain-row[_ngcontent-%COMP%]{border-left:3px solid var(--mat-sys-primary, #7b1fa2)}.leaderboard-member-name[_ngcontent-%COMP%]{align-items:center;display:inline-flex;flex-wrap:wrap;gap:6px;white-space:normal}.team-captain-badge[_ngcontent-%COMP%]{align-items:center;display:inline-flex;gap:3px;padding:2px 7px 2px 5px;border-radius:999px;border:1px solid color-mix(in srgb,var(--mat-sys-primary, #7b1fa2) 35%,transparent);background:color-mix(in srgb,var(--mat-sys-primary, #7b1fa2) 8%,#fff);color:var(--mat-sys-primary, #7b1fa2);font-size:.75rem;font-weight:600;line-height:1.25}.team-captain-badge[_ngcontent-%COMP%]   .mat-icon[_ngcontent-%COMP%]{width:14px;height:14px;font-size:14px;line-height:14px}"]})};var He=class{static toModel(e){let t=this.asRecord(e.campaignResponse),n=this.asRecord(t.campaignData),o=this.asRecord(t.configData),p=this.asRecord(e.participantResponse),u=this.asRecord(e.userResponse),g=this.asRecord(e.progressResponse),d=this.toParticipant(e.participantId,p,u,g,this.asRecord(e.fitnessGoalResponse),this.asRecord(e.fundraisingGoalResponse),this.asRecord(e.wellnessGoalResponse)),v=this.toCurrentTeam(e.participantTeamResponse,e.availableTeamsResponse),C=this.toAvailableTeams(e.availableTeamsResponse),y=this.toRegistrationFields(e.registrationLevelsResponse,p);d.customFieldValues=D({},d.customFieldValues);for(let Ct of y)Ct.type==="checkbox"&&(d.customFieldValues[Ct.key]=ai(Ct.value));let M=!!(e.currentUserUuid&&d.userUuid&&e.currentUserUuid===d.userUuid),k=this.toFundraisingGoal(e.fundraisingGoalResponse,g),H=this.toFitnessGoal(e.fitnessGoalResponse,g),Ut=this.toWellnessGoal(e.wellnessGoalResponse,g),Vt=Array.isArray(e.participantLeaderboardResponse)?e.participantLeaderboardResponse.map(Ct=>this.asRecord(Ct)).find(Ct=>Ct.goalUuid===d.regGoalUuid):void 0,q=this.toOptionalNumber(e.participantLeaderboardResponse===void 0?g.footprintPoints:Vt?.footprintPoints);return{footprintPointsAvailable:q!==void 0,leaderboardStanding:this.toLeaderboardStanding(e.participantLeaderboardResponse,d.regGoalUuid),progressAvailable:this.toOptionalNumber(g.footprintPoints)!==void 0,milestonesAvailable:[[o.hasFitness,e.fitnessMilestonesResponse,e.fitnessAwardedMilestonesResponse],[o.hasFundraising,e.fundraisingMilestonesResponse,e.fundraisingAwardedMilestonesResponse],[o.hasWellness,e.wellnessMilestonesResponse,e.wellnessAwardedMilestonesResponse]].filter(([Ct])=>Ct).every(([,Ct,Je])=>Ct!==null&&Je!==null),campaign:this.toCampaign(e.campaignSlug,n),participant:d,features:this.toFeatures(o),permissions:{canEdit:M,canEditProfile:M,canEditRegistrationFields:M&&y.length>0,canEditGoals:M,canChangeTeam:M&&!!o.hasTeam},team:v,availableTeams:C,registrationFields:y,editValues:{firstName:d.firstName,lastName:d.lastName,participantSlug:d.participantSlug,appeal:d.appeal,teamUuid:v?.uuid,customFieldValues:D({},d.customFieldValues),fundraisingTarget:k?.target,fitnessTarget:H?.target,wellnessTarget:Ut?.target},goals:{fundraising:k,fitness:H,wellness:Ut,engagementPoints:this.toNumber(g.engagementPoints),footprintPoints:q??0},donationsAvailable:e.donationsResponse!==null,donations:this.toDonations(e.donationsResponse),milestones:{fitness:this.toMilestones(e.fitnessMilestonesResponse,e.fitnessAwardedMilestonesResponse),fundraising:this.toMilestones(e.fundraisingMilestonesResponse,e.fundraisingAwardedMilestonesResponse),wellness:this.toMilestones(e.wellnessMilestonesResponse,e.wellnessAwardedMilestonesResponse)}}}static toLeaderboardStanding(e,t){if(!Array.isArray(e))return;let n=e.map(p=>this.asRecord(p)).filter(p=>typeof p.goalOwnerName=="string"&&p.goalOwnerName!=="null"&&p.goalOwnerName.trim()!=="").sort((p,u)=>this.toNumber(u.footprintPoints)-this.toNumber(p.footprintPoints)),o=n.findIndex(p=>p.goalUuid===t);return o<0?void 0:{rank:o+1,participantCount:n.length}}static toCurrentTeam(e,t){let n=this.asRecord(e),o=this.asRecord(n.goalUuidMap),p=Object.entries(o)[0],u=this.toArray(n.goalUuidList,"goalUuidList"),g=p?.[0]||this.toOptionalString(u[0]);if(!g)return;let d=this.toOptionalString(p?.[1]);return this.toAvailableTeams(t).find(C=>C.uuid===g)??{uuid:g,name:d||"Team",slug:d}}static toAvailableTeams(e){return this.toArray(e,"teams").map(n=>this.asRecord(n)).map(n=>({uuid:this.toString(n.teamUuid),name:this.toString(n.teamName),slug:this.toOptionalString(n.teamSlug),imageUrl:this.toOptionalString(n.teamPicUrl??n.goalOwnerPic)})).filter(n=>!!(n.uuid&&n.name))}static toRegistrationFields(e,t){let n=this.toArray(e,"registrationLevels"),o=this.toString(t.regLevelUuid??t.registrationLevelUuid),p=n.map(d=>this.asRecord(d)).find(d=>!o||this.toString(d.levelUuid)===o),u=this.toArray(p?.customRegFields,"customRegFields"),g=this.asRecord(t.customFieldValues);return u.map(d=>this.asRecord(d)).map(d=>{let v=this.toString(d.fieldKey),C=this.toArray(d.options,"options").map(y=>this.asRecord(y)).map(y=>({label:this.toString(y.label),value:this.toString(y.value)})).filter(y=>!!(y.label&&y.value));return{key:v,name:this.toString(d.fieldName),type:this.toRegistrationFieldType(d.fieldType),required:!!d.isRequired,defaultValue:this.toOptionalString(d.defaultValue),value:d.fieldType==="checkbox"?ai(g[v]):g[v],options:C}}).filter(d=>!!(d.key&&d.name))}static toRegistrationFieldType(e){switch(e){case"dropdown":case"radio":case"checkbox":case"hidden":return e;case"input":default:return"input"}}static toCampaign(e,t){let n=this.toOptionalString(t.startDate),o=this.toOptionalString(t.endDate),p=this.toOptionalString(t.campaignStatus??t.status);return{uuid:this.toString(t.campaignUuid),slug:e,name:this.toString(t.campaignName),currencyCode:this.toOptionalString(t.currencyCode),startDate:n,endDate:o,status:p,lifecycle:this.toCampaignLifecycle(n,o,p)}}static toCampaignLifecycle(e,t,n){let o=n?.trim().toLowerCase();if(["ended","complete","completed","closed","expired"].includes(o??""))return"ended";if(["upcoming","scheduled","not_started"].includes(o??""))return"upcoming";
58if(["active","live","in_progress"].includes(o??""))return"active";let p=Date.now(),u=e?Date.parse(e):Number.NaN,g=t?Date.parse(t):Number.NaN;return!Number.isNaN(u)&&p<u?"upcoming":!Number.isNaN(g)&&p>g?"ended":!Number.isNaN(u)||!Number.isNaN(g)?"active":"unknown"}static toParticipant(e,t,n,o,p,u,g){let d=this.toOptionalString(n.firstName??t.firstName),v=this.toOptionalString(n.lastName??t.lastName),C=this.toOptionalString(t.participantName??t.userName??t.goalOwnerName),y=[d,v].filter(Boolean).join(" ").trim(),M=this.asRecord(n.contactDetail),k=this.asRecord(t.participantContactDetail),H=this.asRecord(n.contactDetail??t.participantContactDetail);return{regGoalUuid:this.toString(t.regGoalUuid)||e,participantSlug:this.toOptionalString(t.participantSlug),userUuid:this.toOptionalString(t.userUuid),firstName:d,lastName:v,displayName:y||C||"Participant",imageUrl:this.toOptionalString(n.profilePicUrl??n.profilePic??M.profilePicUrl??M.profilePic??t.profilePicUrl??t.profilePic??k.profilePicUrl??k.profilePic??t.goalOwnerPic??o.goalOwnerPic??p.goalOwnerPic??u.goalOwnerPic??g.goalOwnerPic),appeal:this.toOptionalString(t.participantPageMsg),customFieldValues:this.asRecord(t.customFieldValues),contactDetail:H}}static toFeatures(e){return{hasFitness:!!e.hasFitness,hasFundraising:!!e.hasFundraising,hasWellness:!!e.hasWellness,hasEngagement:!!e.hasEngagementPts,hasVirtualMap:!!e.hasVirtualMap,hasTeam:!!e.hasTeam,hasScrapbook:!!e.hasScrapbook,hasInvitationModule:e.hasInvitationModule!==!1}}static toFundraisingGoal(e,t){let n=this.asRecord(e);return this.toGoalMetric(n.goalUuid,n.fundraiseTarget,t.fundraiseTotal,n.currencyCode??t.currencyCode)}static toFitnessGoal(e,t){let n=this.asRecord(e),o=this.asRecord(n.fitnessGoal);return this.toGoalMetric(o.goalUuid,o.fitnessTarget,t.fitnessTotal,o.fitnessUnitUuid??t.fitnessUnitUuid)}static toWellnessGoal(e,t){let n=this.asRecord(e),o=this.asRecord(n.wellnessGoal);return this.toGoalMetric(o.goalUuid,o.wellnessTarget,t.wellnessTotal,o.wellnessUnitUuid??t.wellnessUnitUuid)}static toGoalMetric(e,t,n,o){let p=this.toOptionalNumber(t);if(p===void 0)return;let u=this.toNumber(n);return{goalUuid:this.toOptionalString(e),current:u,target:p,percentage:this.toPercentage(u,p),unitCode:this.toOptionalString(o)}}static toDonations(e){return this.toArray(e,"donations").map(n=>this.asRecord(n)).map(n=>({id:this.toOptionalString(n.donationUuid??n.txnUuid??n.transactionUuid),donorName:this.toOptionalString(n.donorName)||"Anonymous",amount:this.toNumber(n.donationAmount),currencyCode:this.toOptionalString(n.currencyCode),donatedAt:this.toOptionalString(n.donationTime),comment:this.toOptionalString(n.donorComment)})).sort((n,o)=>{let p=Date.parse(n.donatedAt||""),u=Date.parse(o.donatedAt||"");return(Number.isNaN(u)?0:u)-(Number.isNaN(p)?0:p)})}static toMilestones(e,t){return this.toArray(e,"milestones").map((o,p)=>{let u=this.asRecord(o),g=this.toOptionalNumber(u.target??u.milestoneTarget??u.targetValue),d=this.toOptionalString(u.name??u.milestoneName??u.title)||(g!==void 0?`${g}`:`Milestone ${p+1}`),v=Array.isArray(t)?t.includes(u.milestoneUuid??u.id):!!(u.unlocked??u.isUnlocked??u.achieved??u.isAchieved),C=this.toOptionalString(u.lockedImageUrl??u.lockedImage??u.lockedMedalPic),y=this.toOptionalString(u.unlockedImageUrl??u.unlockedImage??u.medalPic??u.imageUrl??u.imgUrl);return{id:this.toOptionalString(u.milestoneUuid??u.id)||`${d}-${p}`,name:d,description:this.toOptionalString(u.description),target:g,unitCode:this.toOptionalString(u.targetUnitUuid??u.unitUuid??u.unitCode),imageUrl:v?y:C||y,lockedImageUrl:C,unlockedImageUrl:y,unlocked:v}})}static toPercentage(e,t){return t<=0?0:Math.round(Math.max(0,Math.min(100,e/t*100)))}static asRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}static toArray(e,t){if(Array.isArray(e))return e;let n=this.asRecord(e);return Array.isArray(n[t])?n[t]:[]}static toString(e){return typeof e=="string"?e:""}static toOptionalString(e){return typeof e=="string"&&e.length>0?e:void 0}static toNumber(e){return this.toOptionalNumber(e)??0}static toOptionalNumber(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim().length>0){let t=Number(e);return Number.isFinite(t)?t:void 0}}};var Ln=class i{constructor(e,t,n,o,p){this.campaignService=e;this.participationService=t;this.registrationService=n;this.userService=o;this.authService=p}getParticipantPage(e,t,n){return at({campaignResponse:this.campaignService.getCampaignData(e),participantResponse:n?w(n):this.participationService.getParticipationDataByRegGoalId(e,t)}).pipe(B(({campaignResponse:o,participantResponse:p})=>{let u=this.asRecord(o),g=this.asRecord(u.configData),d=this.asRecord(p),v=this.toString(d.regGoalUuid);if(!v)throw new Error("We could not load your participation. Please refresh and try again.");let C=this.toString(d.userUuid),y=!!g.hasFitness,M=!!g.hasFundraising,k=!!g.hasWellness;return at({participantLeaderboardResponse:n&&(y||M||k||g.hasEngagementPts)?this.withNullFallback(this.participationService.getIndividualParticipationProgress(e,0)):w(void 0),userResponse:C?this.withNullFallback(this.userService.getUserBasicInfo(C)):w(null),fitnessGoalResponse:y||n?this.withNullFallback(this.participationService.getParticipationFitnessGoalData(v)):w(null),fundraisingGoalResponse:M||n?this.withNullFallback(this.participationService.getParticipationFundraiserGoalData(v)):w(null),wellnessGoalResponse:k||n?this.withNullFallback(this.participationService.getParticipationWellnessGoalData(v)):w(null),progressResponse:this.withNullFallback(this.participationService.getParticipationProgress(e,v)),participantTeamResponse:g.hasTeam?this.withNullFallback(this.participationService.getParticipationTeam(e,v)):w(null),availableTeamsResponse:g.hasTeam?this.withNullFallback(this.participationService.getCampaignTeams(e)):w([]),registrationLevelsResponse:this.withNullFallback(this.registrationService.getCampaignRegistrationLevels(e)),donationsResponse:M||n?this.withNullFallback(this.participationService.getPublicFundraiserDonations(v)):w(null),fitnessAwardedMilestonesResponse:y||n?this.withNullFallback(this.participationService.getAwardedGoalMilestones(e,v,"fitness")):w([]),fitnessMilestonesResponse:y||n?this.withNullFallback(this.participationService.getGoalMilestones(e,v,"fitness")):w([]),fundraisingAwardedMilestonesResponse:M||n?this.withNullFallback(this.participationService.getAwardedGoalMilestones(e,v,"fundraising")):w([]),fundraisingMilestonesResponse:M||n?this.withNullFallback(this.participationService.getGoalMilestones(e,v,"fundraising")):w([]),wellnessAwardedMilestonesResponse:k||n?this.withNullFallback(this.participationService.getAwardedGoalMilestones(e,v,"wellness")):w([]),wellnessMilestonesResponse:k||n?this.withNullFallback(this.participationService.getGoalMilestones(e,v,"wellness")):w([])}).pipe(O(H=>{let Ut=D({campaignSlug:e,participantId:t,campaignResponse:o,participantResponse:p,currentUserUuid:this.authService.getUserUuid()??void 0},H);return He.toModel(Ut)}))}))}withNullFallback(e){return e.pipe(V(()=>w(null)))}asRecord(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}toString(e){return typeof e=="string"?e:""}static \u0275fac=function(t){return new(t||i)(J(Xt),J(Ot),J(Zt),J(te),J(Fe))};
58static \u0275prov=Ft({token:i,factory:i.\u0275fac,providedIn:"root"})};function dl(i,e){if(i&1){let t=S();a(0,"mat-chip-row",6),x("edited",function(o){let p=h(t).index,u=m();return b(u.editEmail(p,o))})("removed",function(){let o=h(t).$implicit,p=m();return b(p.removeEmail(o))}),c(1),a(2,"mat-icon",7),c(3,"cancel"),r()()}if(i&2){let t=e.$implicit;l("editable",!0),s(),I(" ",t," ")}}var oe=class i extends Qi{placeholder="Add email...";initialCsv="";emailsCsvChange=new re;emails=[];separatorKeysCodes=[13,188,186,32];static initialize(e){e.registerComponent("emailCsvInputStyle",i)}ngOnInit(){super.ngOnInit(),this.setEmailsFromCsv(this.initialCsv)}ngOnChanges(e){super.ngOnChanges(e),e.initialCsv&&!e.initialCsv.firstChange&&this.setEmailsFromCsv(this.initialCsv)}addEmail(e){let t=e.chipInput?.inputElement,n=e.value||"";this.addEmailsFromRaw(n),t&&(t.value="")}onPaste(e,t){setTimeout(()=>{let n=t.value||"";if(!n)return;this.parseEmails(n).length>1&&(this.addEmailsFromRaw(n),t.value="")})}removeEmail(e){let t=this.emails.indexOf(e);t>=0&&(this.emails.splice(t,1),this.emitCsv())}editEmail(e,t){let n=t.value||"",o=this.parseEmails(n);if(!o.length){this.emails.splice(e,1),this.emitCsv();return}let p=o.find(u=>this.isValidEmail(u));p&&(this.emails[e]=p,o.filter(u=>u!==p).forEach(u=>this.addSingleEmail(u)),this.dedupeEmails(),this.emitCsv())}addEmailsFromRaw(e){let t=this.parseEmails(e),n=!1;t.forEach(o=>{this.addSingleEmail(o)&&(n=!0)}),n&&this.emitCsv()}addSingleEmail(e){let t=e.trim().toLowerCase();return!t||!this.isValidEmail(t)||this.emails.includes(t)?!1:(this.emails.push(t),!0)}parseEmails(e){return e.split(/[\s,;]+/).map(t=>t.trim()).filter(Boolean)}setEmailsFromCsv(e){this.emails=[],this.parseEmails(e||"").forEach(t=>{this.addSingleEmail(t)}),this.emitCsv()}dedupeEmails(){this.emails=Array.from(new Set(this.emails))}emitCsv(){this.emailsCsvChange.emit(this.emails.join(", "))}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-email-chips-input-component-layout"]],inputs:{placeholder:"placeholder",initialCsv:"initialCsv"},outputs:{emailsCsvChange:"emailsCsvChange"},standalone:!1,features:[$,qt],decls:8,vars:5,consts:[["chipList",""],["emailInput",""],["appearance","outline",1,"w-100"],["aria-label","Email list"],["class","mat-bg-medium-gray",3,"editable","edited","removed",4,"ngFor","ngForOf"],["matChipInput","",3,"paste","matChipInputTokenEnd","placeholder","matChipInputFor","matChipInputSeparatorKeyCodes","matChipInputAddOnBlur"],[1,"mat-bg-medium-gray",3,"edited","removed","editable"],["matChipRemove",""]],template:function(t,n){if(t&1){let o=S();a(0,"mat-form-field",2)(1,"mat-label"),c(2,"Email Addresses"),r(),a(3,"mat-chip-grid",3,0),f(5,dl,4,2,"mat-chip-row",4),a(6,"input",5,1),x("paste",function(u){h(o);let g=R(7);return b(n.onPaste(u,g))})("matChipInputTokenEnd",function(u){return h(o),b(n.addEmail(u))}),r()()()}if(t&2){let o=R(4);s(5),l("ngForOf",n.emails),s(),l("placeholder",n.placeholder)("matChipInputFor",o)("matChipInputSeparatorKeyCodes",n.separatorKeysCodes)("matChipInputAddOnBlur",!0)}},dependencies:[Dt,kt,It,ht,Ai,Ri,Ni,Oi],encapsulation:2})};function qe(i,e,t,n,o){let p=i.createElement("div");if(p.innerHTML=e,Array.from(p.querySelectorAll("a")).some(v=>{let C=v.getAttribute("href")?.trim();if(!C||C==="#"||/^javascript:/i.test(C))return!1;
58let y=i.createElement("a");y.href=t;let M=v.href===y.href,k=!!v.closest("[data-invitation-cta], .mceNonEditable")||v.getAttribute("role")==="button"||/(?:^|\s)(?:btn|button)(?:\s|$)/i.test(v.className)||!!v.style.backgroundColor||!!v.style.background||!!v.style.padding;return M&&(k||v.textContent?.trim().toLowerCase()===n.toLowerCase())}))return e;let g=i.createElement("div");g.setAttribute("data-invitation-cta","true"),g.style.textAlign="center",g.style.marginTop="24px";let d=i.createElement("a");return d.setAttribute("href",t),d.textContent=n,d.style.cssText="display:inline-block;padding:12px 22px;color:#ffffff;text-decoration:none;border-radius:6px;font-weight:600;",d.style.backgroundColor=o||"#2A6F68",g.appendChild(d),e+g.outerHTML}var ul=["inviteMailEditor"];function gl(i,e){if(i&1){let t=S();a(0,"div",17)(1,"div",18)(2,"div",19),_(3,"img",20),r(),a(4,"div",21)(5,"h2",22),c(6,"Invite Participants"),r(),_(7,"hr",23),a(8,"p",24),c(9," Invite others to join you in making health a priority while supporting this cause by registering for "),a(10,"span",25),c(11),r(),c(12," campaign. There is no fee to send these invitations and we\u2019re counting on your support to help make this program grow! To send invitations, Enter their email addresses, add a custom message, and send the invite with a single click. You can also share invitation via social media. "),r(),a(13,"div",26)(14,"div",27)(15,"button",28),x("click",function(){h(t);let o=m();return b(o.shareOnFacebook())}),_(16,"img",29),r(),a(17,"button",30),x("click",function(){h(t);let o=m();return b(o.shareOnLinkedIn())}),_(18,"img",31),r(),a(19,"button",32),x("click",function(){h(t);let o=m();return b(o.shareOnTwitter())}),_(20,"img",33),r(),a(21,"button",34),x("click",function(){h(t);let o=m();return b(o.shareOnWhatsApp())}),_(22,"img",35),r(),a(23,"button",36),x("click",function(){h(t);let o=m();return b(o.shareOnInstagram())}),_(24,"img",37),r(),a(25,"button",38),x("click",function(){h(t);let o=m();return b(o.shareViaEmail())}),_(26,"img",39),r()()()(),a(27,"div",19),_(28,"img",40),r()()()}if(i&2){let t=m();s(11),T(t.campaignName)}}function fl(i,e){}function _l(i,e){i&1&&_(0,"i",48)}function hl(i,e){i&1&&_(0,"i",49)}function bl(i,e){if(i&1){let t=S();a(0,"button",45),x("click",function(){h(t);let o=m(2);return b(o.toggleVisibility())}),f(1,_l,1,0,"i",46)(2,hl,1,0,"i",47),r()}if(i&2){let t=m(2);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function vl(i,e){i&1&&_(0,"i",53)}function xl(i,e){i&1&&_(0,"i",54)}function Cl(i,e){if(i&1){let t=S();a(0,"button",50),x("click",function(){h(t);let o=m(2);return b(o.toggleComponentWidth())}),f(1,vl,1,0,"i",51)(2,xl,1,0,"i",52),r()}if(i&2){let t=m(2);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function yl(i,e){i&1&&(a(0,"button",55),_(1,"i",56),r())}function Sl(i,e){if(i&1&&(a(0,"div",41),f(1,bl,3,2,"button",42)(2,Cl,3,2,"button",43)(3,yl,2,0,"button",44),r()),i&2){let t=m();s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}var On=`
59Hi there,
60
61We're so excited to inform you that {{ userName }} has invited you to participate in {{ campaignName }} to support {{ orgName }}.
62
63Once registered, you can track your workouts at your own schedule and complete your fitness targets anytime and anywhere.
64
65Cheers,
66{{ userName }}
67
68<div contenteditable="false" class="mceNonEditable"><center><a href="{{ inviteUrl }}" style="display:inline-block; padding:12px 22px; background:{{ accentColor }}; color:#ffffff; text-decoration:none; border-radius:6px; font-weight:600; cursor:pointer;">Accept Invitation</a></center></div>
69
70P.S. Please help {{ campaignName }} campaign reach more generous people by <span style="text-decoration: underline;">inviting 5 friends</span>.
71  `,An=class i extends X{userDetail={};userName="";toEmailsCsv="";invitationMsg="";MAX_INVITE_EMAILS=200;inviteMailLayout={id:"invite-participant-mail-editor",type:"element",layoutStyle:"richTextElement",editable:!0,layoutTemplate:{content:""}};shareText="Join this amazing campaign!";inviteMailEditor;initComponent(){super.initComponent()}ngAfterViewInit(){super.ngAfterViewInit(),console.log("invite: "+this.inviteMailEditor)}static initialize(e){e.registerComponent("InviteParticipantsSectionLayoutStyle",i)}onOrgLoad(){this.orgService.getOrgPwaData(this.subdomainService.extractSubdomain()).subscribe(e=>{if(e.orgData&&e.orgData.orgUuid){let t=e.orgData;
71this.orgAccentColor=t.orgUiAppAccentColor}this.initializeInvitationMsg()})}onCampaignLoad(){if(this.authService.isLoggedIn()){this.initializeInvitationMsg();let e=this.authService.getUserUuid();this.fetchUserData().subscribe(t=>{this.userDetail=t;var n="";this.userDetail&&this.userDetail.firstName&&(n=this.userDetail.firstName),this.userDetail&&this.userDetail.lastName&&(n+=" "+this.userDetail.lastName),this.userName=n,this.updateInvitationMsg()},t=>{console.log(t)})}}setInviteMailContent(e){this.invitationMsg=e,this.inviteMailLayout.layoutTemplate??={},this.inviteMailLayout.layoutTemplate.content=e,setTimeout(()=>{this.inviteMailEditor?.reloadFromLayoutContent()})}inviteParticipants(){let e=this.toEmailsCsv.split(/\s*,\s*|\s*;\s*/).map(t=>t.trim()).filter(Boolean);if(!e.length){alert("Please enter recipient email address(es).");return}if(e.length>this.MAX_INVITE_EMAILS){alert(`You can send invitations to a maximum of ${this.MAX_INVITE_EMAILS} email addresses at a time. Please remove ${e.length-this.MAX_INVITE_EMAILS} email address(es) and try again.`);return}this.saveInviteEditorContent(),this.participationService.inviteCampaignParticipants(this.campaignSlug,e,qe(this.injector.get(_e),this.invitationMsg,this.getInviteUrl(),"Accept Invitation",this.orgAccentColor||"#2A6F68")).subscribe(()=>{alert("Invitation sent successfully."),this.toEmailsCsv=""},t=>{console.error(t)})}getInviteUrl(){return`${this.getBaseUrl()}${this.campaignSlug}`}initializeInvitationMsg(){console.log("CAMP",this._campaignData);let e=this._campaignData?.campaignData?.invitationMsg||On;this.invitationMsg=this.renderInvitationTemplate(e),this.updateInvitationMsg()}updateInvitationMsg(){let e=this._campaignData?.campaignData?.invitationMsg||On,t=this.renderInvitationTemplate(e);this.setInviteMailContent(t)}renderInvitationTemplate(e){let t=this.getInviteUrl();return e.replace(/{{ userName }}/g,this.userName||"").replace(/{{ campaignName }}/g,this.campaignName||"").replace(/{{ orgName }}/g,this.orgName||"").replace(/{{ inviteUrl }}/g,t||"").replace(/{{ accentColor }}/g,this.orgAccentColor||"#2A6F68").replace(/\n/g,"<br>")}editInvite(){this.inviteMailEditor?.toggleEditing()}saveInviteEditorContent(){this.inviteMailEditor?.saveAndExit(),this.invitationMsg=this.inviteMailLayout.layoutTemplate?.content||""}shareOnFacebook(){let e=this.getInviteUrl(),t=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(e)}&quote=${encodeURIComponent(this.shareText)}`;window.open(t,"_blank")}shareOnLinkedIn(){let e=this.getInviteUrl(),t=`https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(e)}&title=${encodeURIComponent(this.shareText)}`;window.open(t,"_blank")}shareOnTwitter(){let e=this.getInviteUrl(),t=`https://twitter.com/intent/tweet?url=${encodeURIComponent(e)}&text=${encodeURIComponent(this.shareText)}`;window.open(t,"_blank")}shareOnWhatsApp(){let e=this.getInviteUrl(),t=`https://wa.me/?text=${encodeURIComponent(this.shareText)}%20${encodeURIComponent(e)}`;window.open(t,"_blank")}shareOnInstagram(){let e=this.getInviteUrl();window.open("https://www.instagram.com/","_blank")}shareViaEmail(){let e=this.getInviteUrl(),t=`mailto:?subject=${encodeURIComponent(this.shareText)}&body=${encodeURIComponent(this.shareText)}%20${encodeURIComponent(e)}`;window.open(t,"_self")}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-invite-participants-section"]],viewQuery:function(t,n){if(t&1&&St(ul,5),t&2){let o;wt(o=Tt())&&(n.inviteMailEditor=o.first)}},features:[Y([K]),$],decls:24,vars:16,consts:[["inviteMailEditor",""],["childDynamicBaseTemplate",""],[1,"row","justify-content-around","pb-4","mb-4"],[1,"invite-container"],[1,"row"],[1,"col-12","text-center","px-4"],["class","mb-3",4,"ngIf"],[1,"card","border-0","rounded","pb-5","pt-2","px-5"],[1,"mat-body-large","mat-text-primary","d-block","mt-4","fw-bold"],[3,"emailsCsvChange","initialCsv"],[1,"campaign-invite-mail-editor","text-left","border","pb-5","px-5","mat-text-black"],["matInput","",3,"editable","isCollapsible","layoutUnit"],[1,"invitation-cta-note"],[1,"d-flex","flex-wrap","mt-3","gap-3","justify-content-center"],["mat-stroked-button","",1,"px-4",3,"click"],["mat-flat-button","",1,"px-4",3,"click"],["class","position-absolute section-edit-toolbar",4,"ngIf"],[1,"mb-3"],[1,"d-flex","border-0","rounded-2","mat-bg-white","px-1","justify-content-between"],[1,"d-md-flex","d-none","flex-column"],["src","cf-campaign-app-assets/images/invite/left-illustration.svg","alt","Left Illustration",1,"mb-auto","scrapbook-illustration"],[1,"text-center","p-4","flex-grow-1"],[1,"mat-title-large","fw-bold","mat-text-black"],[1,"border-1","border-secondary","mt-3"],[1,"mat-body-medium","mat-text-black","px-4"],[1,"fw-bold"],[1,"d-flex","justify-content-around"],[1,"col-auto","social-icons","d-md-flex","justify-content-between","gap-3"],["mat-icon-button","","color","primary","aria-label","Share on Facebook",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Facebook.svg","alt","Facebook"],["mat-icon-button","","color","primary","aria-label","Share on LinkedIn",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Linkedin.svg","alt","LinkedIn"],["mat-icon-button","","color","primary","aria-label","Share on X",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Twitter.svg","alt","Twitter"],["mat-icon-button","","color","primary","aria-label","Share on WhatsApp",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Whatsapp.svg","alt","WhatsApp"],["mat-icon-button","","color","primary","aria-label","Share on Instagram",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Instagram.svg","alt","Instagram"],["mat-icon-button","","color","primary","aria-label","Share via Email",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Email.svg","alt","Email"],["src","cf-campaign-app-assets/images/invite/right-illustration.svg","alt","Right Illustration",1,"scrapbook-illustration","mt-auto","pb-1"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){if(t&1){let o=S();a(0,"div",2)(1,"div",3)(2,"div",4)(3,"div",5),f(4,gl,29,1,"div",6),L(5,"async"),a(6,"div",7)(7,"p",8),c(8," Draft Your Invite "),r(),a(9,"app-email-chips-input-component-layout",9),x("emailsCsvChange",function(u){return h(o),b(n.toEmailsCsv=u)}),r(),a(10,"div",10),_(11,"app-rich-text-element-layout",11,0)(13,"hr"),a(14,"p",12),c(15,"Your email will include a Accept Invitation button."),r(),a(16,"div",13)(17,"button",14),x("click",function(){return h(o),b(n.editInvite())}),c(18," Edit Invite "),r(),a(19,"button",15),x("click",function(){return h(o),b(n.inviteParticipants())}),c(20," Send Invitation "),r()()()()()()(),f(21,fl,0,0,"ng-template",null,1,U)(23,Sl,4,3,"div",16),r()}t&2&&(N("px-5",n.editable)("opacity-25",n.editable&&!n.isVisible)("opacity-100",n.isVisible)("draggable",n.draggable),s(4),l("ngIf",G(5,14,n.orgData$)),s(5),l("initialCsv",n.toEmailsCsv),s(2),l("editable",!0)("isCollapsible",!1)("layoutUnit",n.inviteMailLayout),s(12),l("ngIf",n.editable||n.flexibleWidth||n.draggable))},dependencies:[W,Q,et,Z,ee,oe,st,mt,Wt,it,nt,dt,vt,j,ot,Mt,pt,bt,Qt,ct,xt],styles:["[_nghost-%COMP%]     .campaign-invite-mail-editor .mceNonEditable, [_nghost-%COMP%]     .campaign-invite-mail-editor [data-invitation-cta]{display:none!important}.invitation-cta-note[_ngcontent-%COMP%]{margin:12px 0 28px;color:#7a8188;font-size:12px;font-weight:400;line-height:1.5;text-align:center}"]})};var wl=["inviteMailEditor"];function Tl(i,e){if(i&1){let t=S();a(0,"div",17)(1,"div",18)(2,"div",19),_(3,"img",20),r(),a(4,"div",21)(5,"h2",22),c(6,"Invite Donors"),r(),_(7,"hr",23),a(8,"p",24),c(9," Send a personalized invitation to your friends, family, and supporters to contribute to your campaign. Enter their email addresses, add a custom message, and send the invite with a single click. You can also share invitation via social media. "),r(),a(10,"div",25)(11,"div",26)(12,"button",27),x("click",function(){h(t);let o=m();return b(o.shareOnFacebook())}),_(13,"img",28),r(),a(14,"button",29),x("click",function(){h(t);let o=m();return b(o.shareOnLinkedIn())}),_(15,"img",30),r(),a(16,"button",31),x("click",function(){h(t);let o=m();return b(o.shareOnTwitter())}),_(17,"img",32),r(),a(18,"button",33),x("click",function(){h(t);let o=m();return b(o.shareOnWhatsApp())}),_(19,"img",34),r(),a(20,"button",35),x("click",function(){h(t);let o=m();return b(o.shareOnInstagram())}),_(21,"img",36),r(),a(22,"button",37),x("click",function(){h(t);let o=m();return b(o.shareViaEmail())}),_(23,"img",38),r()()()(),a(24,"div",19),_(25,"img",39),r()()()}}function Il(i,e){}function kl(i,e){i&1&&_(0,"i",47)}function Ml(i,e){i&1&&_(0,"i",48)}function Pl(i,e){if(i&1){let t=S();a(0,"button",44),x("click",function(){h(t);let o=m(2);return b(o.toggleVisibility())}),f(1,kl,1,0,"i",45)(2,Ml,1,0,"i",46),r()}if(i&2){let t=m(2);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function Ul(i,e){i&1&&_(0,"i",52)}function El(i,e){i&1&&_(0,"i",53)}function Fl(i,e){if(i&1){let t=S();a(0,"button",49),x("click",function(){h(t);let o=m(2);return b(o.toggleComponentWidth())}),f(1,Ul,1,0,"i",50)(2,El,1,0,"i",51),r()}if(i&2){let t=m(2);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function Dl(i,e){i&1&&(a(0,"button",54),_(1,"i",55),r())}function Ll(i,e){if(i&1&&(a(0,"div",40),f(1,Pl,3,2,"button",41)(2,Fl,3,2,"button",42)(3,Dl,2,0,"button",43),r()),i&2){let t=m();s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}var Rn=`
72  Hi there,
73
74  {{ userName }}
74 has invited you to support {{ orgName }}'s {{ campaignName }} campaign.
75
76  This campaign is a great opportunity to make a meaningful impact while supporting an important cause.
77
78  I\u2019d truly appreciate your support as I work toward my fundraising goal.
79
80  <div contenteditable="false" class="mceNonEditable"><center><a href="{{ donateUrl }}" style="display:inline-block; padding:12px 22px; background:{{ accentColor }}; color:#ffffff; text-decoration:none; border-radius:6px; font-weight:600;">Donate Now</a></center></div>
81
82  Thank you for your support,
83
84  {{ userName }}
85  `,Vn=class i extends X{invitationMsgTemplate=Rn;userDetail={};userName="";toEmailsCsv="";invitationMsg="";inviteUrl="";shareText="Support this fundraiser!";MAX_INVITE_EMAILS=200;inviteMailEditor;initComponent(){super.initComponent()}ngAfterViewInit(){super.ngAfterViewInit(),console.log("invite: "+this.inviteMailEditor)}static initialize(e){e.registerComponent("InviteDonorSectionLayoutStyle",i)}onOrgLoad(){this.orgService.getOrgPwaData(this.subdomainService.extractSubdomain()).subscribe(e=>{if(e.orgData&&e.orgData.orgUuid){let t=e.orgData;this.orgAccentColor=t.orgUiAppAccentColor}this.initializeInvitationMsg()})}onFundraisingOrgLoad(){this.initializeInvitationMsg()}inviteMailLayout={id:"invite-mail-editor",type:"element",layoutStyle:"richTextElement",editable:!0,layoutTemplate:{content:""}};onCampaignLoad(){if(this.invitationMsgTemplate=this._campaignData?.campaignData?.donorMsg||Rn,this.authService.isLoggedIn()){this.initializeInvitationMsg();let e=this.authService.getUserUuid();this.fetchUserData().subscribe(t=>{this.userDetail=t;var n="";this.userDetail&&this.userDetail.firstName&&(n=this.userDetail.firstName),this.userDetail&&this.userDetail.lastName&&(n+=" "+this.userDetail.lastName),this.userName=n,this.updateInvitationMsg()},t=>{console.log(t)})}}setInviteMailContent(e){this.invitationMsg=e,this.inviteMailLayout.layoutTemplate??={},this.inviteMailLayout.layoutTemplate.content=e,setTimeout(()=>{this.inviteMailEditor?.reloadFromLayoutContent()})}inviteParticipants(){let e=this.toEmailsCsv.split(/\s*,\s*|\s*;\s*/).map(t=>t.trim()).filter(Boolean);if(!e.length){alert("Please enter recipient email address(es).");return}if(e.length>this.MAX_INVITE_EMAILS){alert(`You can send invitations to a maximum of ${this.MAX_INVITE_EMAILS} email addresses at a time. Please remove ${e.length-this.MAX_INVITE_EMAILS} email address(es) and try again.`);return}this.saveInviteEditorContent(),this.participationService.inviteDonors(this.campaignSlug,e,qe(this.injector.get(_e),this.invitationMsg,this.inviteUrl,"Donate Now",this.orgAccentColor||"#2A6F68")).subscribe(()=>{alert("Invitation sent successfully."),this.toEmailsCsv=""},t=>{console.error(t)})}initializeInvitationMsg(){this.resolveDonateUrlAndRender()}updateInvitationMsg(){this.resolveDonateUrlAndRender()}resolveDonateUrlAndRender(){let t=`${this.getBaseUrl()}${this.campaignSlug}/donate`;if(this.authService?.isUserParticipant()){let o=this.authService?.getUserUuid();if(!o){this.inviteUrl=t,this.renderInvitationTemplate(t);return}this.participationService?.getParticipationData(this.campaignSlug,o).subscribe({next:p=>{p?.regGoalUuid&&(t=`${t}/${p.regGoalUuid}`),this.inviteUrl=t,this.renderInvitationTemplate(t)},error:()=>{this.inviteUrl=t,this.renderInvitationTemplate(t)}})}else this.inviteUrl=t,this.renderInvitationTemplate(t)}renderInvitationTemplate(e){let t=this.invitationMsgTemplate.replace(/{{ userName }}/g,this.userName||"").replace(/{{ campaignName }}/g,this.campaignName||"").replace(/{{ orgName }}/g,this.fundraisingOrgName||"").replace(/{{ donateUrl }}/g,e||"").replace(/{{ accentColor }}/g,this.orgAccentColor||"#2A6F68").replace(/\n/g,"<br>");this.setInviteMailContent(t)}editInvite(){this.inviteMailEditor?.toggleEditing()}saveInviteEditorContent(){this.inviteMailEditor?.saveAndExit(),this.invitationMsg=this.inviteMailLayout.layoutTemplate?.content||""}shareOnFacebook(){let e=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(this.inviteUrl)}&quote=${encodeURIComponent(this.shareText)}`;window.open(e,"_blank")}shareOnLinkedIn(){let e=`https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(this.inviteUrl)}&title=${encodeURIComponent(this.shareText)}`;window.open(e,"_blank")}shareOnTwitter(){let e=`https://twitter.com/intent/tweet?url=${encodeURIComponent(this.inviteUrl)}&text=${encodeURIComponent(this.shareText)}`;window.open(e,"_blank")}shareOnWhatsApp(){let e=`https://wa.me/?text=${encodeURIComponent(this.shareText)}%20${encodeURIComponent(this.inviteUrl)}`;window.open(e,"_blank")}shareOnInstagram(){window.open("https://www.instagram.com/","_blank")}shareViaEmail(){let e=`mailto:?subject=${encodeURIComponent(this.shareText)}&body=${encodeURIComponent(this.shareText)}%20${encodeURIComponent(this.inviteUrl)}`;window.open(e,"_self")}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-invite-donor-section"]],viewQuery:function(t,n){if(t&1&&St(wl,5),t&2){let o;wt(o=Tt())&&(n.inviteMailEditor=o.first)}},features:[Y([K]),$],decls:24,vars:16,consts:[["inviteMailEditor",""],["childDynamicBaseTemplate",""],[1,"row","justify-content-around","pb-4","mb-3"],[1,"invite-container"],[1,"row"],[1,"col-12","text-center","px-4"],["class","mb-3",4,"ngIf"],[1,"card","border-0","rounded","pb-5","pt-2","px-5"],[1,"mat-body-large","mat-text-primary","d-block","mt-4","fw-bold"],[3,"emailsCsvChange","initialCsv"],[1,"campaign-invite-mail-editor","text-left","border","pb-5","px-5","mat-text-black"],["matInput","",3,"editable","isCollapsible","layoutUnit"],[1,"invitation-cta-note"],[1,"d-flex","mt-3","flex-wrap","gap-3","justify-content-center"],["mat-stroked-button","",1,"px-4",3,"click"],["mat-flat-button","",1,"px-4","ms-3",3,"click"],["class","position-absolute section-edit-toolbar",4,"ngIf"],[1,"mb-3"],[1,"d-flex","border-0","rounded-2","mat-bg-white","px-1","justify-content-between"],[1,"d-md-flex","d-none","flex-column"],["src","cf-campaign-app-assets/images/invite/left-illustration.svg","alt","Left Illustration",1,"mb-auto","scrapbook-illustration"],[1,"text-center","p-4","flex-grow-1"],[1,"mat-title-large","fw-bold","mat-text-black"],[1,"border-1","border-secondary","mt-3"],[1,"mat-body-medium","mat-text-black","px-4"],[1,"d-flex","justify-content-around"],[1,"col-auto","social-icons","d-md-flex","justify-content-between","gap-3"],["mat-icon-button","","color","primary","aria-label","Share on Facebook",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Facebook.svg","alt","Facebook"],["mat-icon-button","","color","primary","aria-label","Share on LinkedIn",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Linkedin.svg","alt","LinkedIn"],["mat-icon-button","","color","primary","aria-label","Share on X",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Twitter.svg","alt","Twitter"],["mat-icon-button","","color","primary","aria-label","Share on WhatsApp",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Whatsapp.svg","alt","WhatsApp"],["mat-icon-button","","color","primary","aria-label","Share on Instagram",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Instagram.svg","alt","Instagram"],["mat-icon-button","","color","primary","aria-label","Share via Email",1,"cf-large-icon-img",3,"click"],["src","cf-campaign-app-assets/images/icons/share/Email.svg","alt","Email"],["src","cf-campaign-app-assets/images/invite/right-illustration.svg","alt","Right Illustration",1,"scrapbook-illustration","mt-auto","pb-1"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){if(t&1){let o=S();a(0,"div",2)(1,"div",3)(2,"div",4)(3,"div",5),f(4,Tl,26,0,"div",6),L(5,"async"),a(6,"div",7)(7,"p",8),c(8," Draft Your Invite "),r(),a(9,"app-email-chips-input-component-layout",9),x("emailsCsvChange",function(u){return h(o),b(n.toEmailsCsv=u)}),r(),a(10,"div",10),_(11,"app-rich-text-element-layout",11,0)(13,"hr"),a(14,"p",12),c(15,"Your email will include a Donate Now button."),r(),a(16,"div",13)(17,"button",14),x("click",function(){return h(o),b(n.editInvite())}),c(18," Edit Invite "),r(),a(19,"button",15),x("click",function(){return h(o),b(n.inviteParticipants())}),c(20," Send Invitation "),r()()()()()()(),f(21,Il,0,0,"ng-template",null,1,U)(23,Ll,4,3,"div",16),r()}t&2&&(N("px-5",n.editable)("opacity-25",n.editable&&!n.isVisible)("opacity-100",n.isVisible)("draggable",n.draggable),s(4),l("ngIf",G(5,14,n.orgData$)),s(5),l("initialCsv",n.toEmailsCsv),s(2),l("editable",!0)("isCollapsible",!1)("layoutUnit",n.inviteMailLayout),s(12),l("ngIf",n.editable||n.flexibleWidth||n.draggable))},dependencies:[W,Q,et,Z,ee,oe,st,mt,Wt,it,nt,dt,vt,j,ot,Mt,pt,bt,Qt,ct,xt],styles:["[_nghost-%COMP%]     .campaign-invite-mail-editor .mceNonEditable, [_nghost-%COMP%]     .campaign-invite-mail-editor [data-invitation-cta]{display:none!important}.invitation-cta-note[_ngcontent-%COMP%]{margin:12px 0 28px;color:#7a8188;font-size:12px;font-weight:400;line-height:1.5;text-align:center}"]})};var Ol=["masonryContainer"],Al=i=>[i],Rl=()=>[5,10,20];function Vl(i,e){if(i&1){let t=S();E(0),a(1,"img",37),x("error",function(){h(t);let o=m().$implicit;return b(o.authorProfilePic="")}),r(),F()}if(i&2){let t=m().$implicit;
85s(),jt("alt",t.authorName),l("src",t.authorProfilePic,P)}}function Gl(i,e){if(i&1&&(a(0,"div",38),c(1),L(2,"slice"),r()),i&2){let t=m().$implicit;s(),I(" ",t.authorName?yt(2,1,t.authorName,0,1):""," ")}}function Bl(i,e){if(i&1){let t=S();a(0,"mat-card",20)(1,"mat-card-content",21)(2,"a",22),_(3,"img",23),r(),a(4,"mat-card-actions",24)(5,"button",25),x("click",function(){let o=h(t).$implicit,p=m();return b(p.likeImage(o))}),a(6,"mat-icon"),_(7,"img",26),r(),a(8,"span",27),c(9),r()(),a(10,"button",25),x("click",function(){let o=h(t).$implicit,p=m();return b(p.openComments(o))}),a(11,"mat-icon"),_(12,"img",26),r(),a(13,"span",28),c(14),r()()(),a(15,"div",29)(16,"div",30),f(17,Vl,2,2,"ng-container",31)(18,Gl,3,5,"ng-template",null,2,U),a(20,"p",32),c(21),r()(),_(22,"p",33)(23,"p",34),a(24,"p",35),c(25),L(26,"date"),r(),a(27,"p",36),x("click",function(){let o=h(t).$implicit,p=m();return b(p.toggleShowMore(o))}),c(28,"SHOW MORE"),r()()()()}if(i&2){let t=e.$implicit,n=R(19),o=m();s(2),l("routerLink",Gt(18,Al,t.imgUuid)),Jt("data-title","")("data-footer",t.footerContent),s(),l("ngSrc",t.imgUrl),s(4),l("src",t.isLikedByCurrentUser?"cf-campaign-app-assets/images/scrapbook/heart.svg":"cf-campaign-app-assets/images/scrapbook/heart_outline.svg",P),s(2),T(t.numOfLikes||0),s(3),l("src","cf-campaign-app-assets/images/scrapbook/comment_outline.svg",P),s(2),T(t.numOfComments||0),s(3),l("ngIf",t.authorProfilePic)("ngIfElse",n),s(4),T(t.authorName),s(),l("innerHTML",t.title,Et),s(),l("innerHTML",t.description,Et),s(2),T(yt(26,14,t.createTime,o.isPreviousYear(t.createTime)?"MMM d, y":"MMM d, h:mm a","America/New_York"))}}function zl(i,e){if(i&1){let t=S();a(0,"mat-paginator",39),x("page",function(o){h(t);let p=m();return b(p.onPageChange(o))}),r()}if(i&2){let t=m();l("length",t.scrapbookImages.length)("pageSize",t.pageSize)("pageSizeOptions",Ht(3,Rl))}}function $l(i,e){}function Wl(i,e){i&1&&_(0,"i",47)}function jl(i,e){i&1&&_(0,"i",48)}function Hl(i,e){if(i&1){let t=S();a(0,"button",44),x("click",function(){h(t);let o=m(2);return b(o.toggleVisibility())}),f(1,Wl,1,0,"i",45)(2,jl,1,0,"i",46),r()}if(i&2){let t=m(2);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function ql(i,e){i&1&&_(0,"i",52)}function Jl(i,e){i&1&&_(0,"i",53)}function Yl(i,e){if(i&1){let t=S();a(0,"button",49),x("click",function(){h(t);let o=m(2);return b(o.toggleComponentWidth())}),f(1,ql,1,0,"i",50)(2,Jl,1,0,"i",51),r()}if(i&2){let t=m(2);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function Ql(i,e){i&1&&(a(0,"button",54),_(1,"i",55),r())}function Kl(i,e){if(i&1&&(a(0,"div",40),f(1,Hl,3,2,"button",41)(2,Yl,3,2,"button",42)(3,Ql,2,0,"button",43),r()),i&2){let t=m();s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}var Gn=class i extends X{paginatedImages=[];pageSize=8;currentPage=0;participationData=null;scrapbookData$=null;scrapbookImages=[];masonryContainer;static initialize(e){e.registerComponent("ScrapbookSectionLayoutStyle",i)}ngOnInit(){super.ngOnInit(),this.route.paramMap.subscribe(e=>{})}ngAfterViewInit(){super.ngAfterViewInit(),this._isBrowser&&this.setDynamicColumns()}onResize(){this.setDynamicColumns()}onCampaignLoad(){this.fetchScrapbookPosts(this.campaignSlug);let e=this.authService.getUserUuid();this.participationService.getParticipationData(this.campaignSlug,e).subscribe(t=>{t?t.regGoalUuid!=null&&(this.participationData=t):console.log("Participation data not found for the user")},t=>{console.error(t)})}fetchScrapbookPosts(e){this.scrapbookData$=this.participationService.getScrapbookPosts(e),this.scrapbookData$.subscribe(t=>{this.scrapbookImages=t,this.scrapbookImages.sort((n,o)=>new Date(o.createTime).getTime()-new Date(n.createTime).getTime()),this.updatePaginatedImages(),this.setDynamicColumns()},t=>{console.error(t)})}toggleShowMore(e){}likeImage(e){if(!this.participationData){this.authService.setRedirectUrl("/"+this.campaignSlug+"/scrapbook"),this.router.navigate([this.campaignSlug,"login"]);return}let t=this.authService.getUserUuid(),n=e.isLikedByCurrentUser;e.isLikedByCurrentUser=!e.isLikedByCurrentUser,this.participationService.likeScrapbookPost(this.campaignSlug,this.participationData.regGoalUuid,e.imgUuid,t,e.isLikedByCurrentUser).subscribe(o=>{this.fetchScrapbookPostById(this.campaignSlug,e.imgUuid)},o=>{e.isLikedByCurrentUser=n})}openComments(e){this.router.navigate([this.campaignSlug,"scrapbook",e.imgUuid],{fragment:"comments"})}onPageChange(e){this.pageSize=e.pageSize,this.currentPage=e.pageIndex,this.updatePaginatedImages(),this._isBrowser&&window&&window.scrollTo({top:0,behavior:"smooth"})}updatePaginatedImages(){let e=this.currentPage*this.pageSize,t=e+this.pageSize;this.paginatedImages=this.scrapbookImages.slice(e,t)}setDynamicColumns(){if(!this.masonryContainer||!this._isBrowser)return;let e=this.masonryContainer.nativeElement.offsetWidth,n=Math.floor(e/280)||1;this.masonryContainer.nativeElement.style.columnCount=n.toString()}goToAddScrapbook(){if(!this.participationData){this.authService.setRedirectUrl("/"+this.campaignSlug+"/scrapbook"),this.router.navigate([this.campaignSlug,"login"]);return}this.router.navigate([this.campaignSlug,"scrapbook","add"])}fetchScrapbookPostById(e,t){this.participationService.getScrapbookPostById(e,t).subscribe(n=>{let o=this.scrapbookImages.findIndex(p=>p.imgUuid===n.imgUuid);this.scrapbookImages[o]=n,this.updatePaginatedImages()},n=>{console.error(n)})}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-scrapbook-section"]],viewQuery:function(t,n){if(t&1&&St(Ol,5),t&2){let o;wt(o=Tt())&&(n.masonryContainer=o.first)}},hostBindings:function(t,n){t&1&&x("resize",function(p){return n.onResize(p)},!1,vi)},features:[Y([K]),$],decls:25,vars:14,consts:[["masonryContainer",""],["childDynamicBaseTemplate",""],["showInitials",""],[1,"row","justify-content-around"],[1,"scrapbook-header","px-4","rounded","border-1","mb-4"],[1,"d-flex","mat-bg-white","rounded-2","px-1","justify-content-between"],[1,"d-md-flex","d-none","flex-column"],["src","cf-campaign-app-assets/images/scrapbook/left-illustration.svg","alt","Left Illustration",1,"mb-auto","scrapbook-illustration"],[1,"text-center","p-4","flex-grow-1"],[1,"mat-title-large","fw-bold","mat-text-black"],[1,"border-1","border-secondary","mt-3"],[1,"mat-body-medium","mat-text-black","px-4"],["mat-flat-button","",3,"click"],["src","cf-campaign-app-assets/images/scrapbook/right-illustration.svg","alt","Right Illustration",1,"scrapbook-illustration","mt-auto","pb-1"],[1,"scrapbook-container","align-items-start","masonry-columns","w-100"],["class","masonry-item scrapbook-card mat-bg-white mat-bg-medium rounded border-0 shadow-none",4,"ngFor","ngForOf"],["class","mat-bg-transparent mt-2",3,"length","pageSize","pageSizeOptions","page",4,"ngIf"],[1,"w-100","mt-2","px-4","cursor-pointer",3,"click"],["alt","add scrapbook image",1,"mw-100",3,"src"],["class","position-absolute section-edit-toolbar",4,"ngIf"],[1,"masonry-item","scrapbook-card","mat-bg-white","mat-bg-medium","rounded","border-0","shadow-none"],[1,""],[1,"lightbox",3,"routerLink"],["width","200","height","200","alt","Image","priority","",1,"scrapbook-image",3,"ngSrc"],[1,"align-items-center","gap-2","like-comment","mat-bg-white","justify-content-center"],["mat-icon-button","",1,"d-flex","align-items-center","mat-body-small","mat-text-dark-gray","w-auto",3,"click"],["alt","Custom Icon",3,"src"],[1,"like-count","txt-theme-color-50"],[1,"comment-count","txt-theme-color-50"],[1,"image-details"],[1,"d-flex","align-items-center"],[4,"ngIf","ngIfElse"],[1,"mat-body-medium","mb-0"],[1,"title","mt-2","mat-body-medium","mat-text-dark-gray",3,"innerHTML"],[1,"description","mat-body-medium","mat-text-dark-gray","two-line-paragraph",3,"innerHTML"],[1,"creation-date","mat-body-small","mat-text-medium-gray","mb-0"],[1,"show-more","mat-body-medium","d-none","mat-text-dark-gray",3,"click"],[1,"user-avatar-image","border","me-2",3,"error","src","alt"],[1,"user-avatar-initials","border","mat-bg-gray","me-2"],[1,"mat-bg-transparent","mt-2",3,"page","length","pageSize","pageSizeOptions"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){if(t&1){let o=S();a(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6),_(4,"img",7),r(),a(5,"div",8)(6,"h2",9),c(7," Scrapbook "),r(),_(8,"hr",10),a(9,"p",11),c(10," Post a photo and show us how you're making an impact! This scrapbook is open for the world to see, but only registered participants can add their own milestones. "),r(),a(11,"button",12),x("click",function(){return h(o),b(n.goToAddScrapbook())}),c(12," Add Scrapbook Post "),r()(),a(13,"div",6),_(14,"img",13),r()()(),a(15,"div",14,0),f(17,Bl,29,20,"mat-card",15),r(),f(18,zl,1,4,"mat-paginator",16),L(19,"async"),a(20,"div",17),x("click",function(){return h(o),b(n.goToAddScrapbook())}),_(21,"img",18),r(),f(22,$l,0,0,"ng-template",null,1,U)(24,Kl,4,3,"div",19),r()}t&2&&(N("px-5",n.editable)("opacity-25",n.editable&&!n.isVisible)("opacity-100",n.isVisible)("draggable",n.draggable),s(17),l("ngForOf",n.paginatedImages),s(),l("ngIf",G(19,12,n.scrapbookData$)&&n.paginatedImages&&n.paginatedImages.length>0),s(3),l("src","cf-campaign-app-assets/images/scrapbook/scrapbook_placeholder.png",P),s(3),l("ngIf",n.editable||n.flexibleWidth||n.draggable))},dependencies:[W,Dt,Q,et,Lt,be,Z,st,Bt,ve,dt,Yt,$i,ke,vt,j,ot,Mt,pt,bt,Kt,ct,ht,xt],styles:[".scrapbook-container[_ngcontent-%COMP%]{gap:16px}.scrapbook-card[_ngcontent-%COMP%]{margin:16px}.scrapbook-image[_ngcontent-%COMP%]{width:100%;height:auto;background-color:#0000000d}.image-details[_ngcontent-%COMP%]{padding:8px 0}.author-profile-pic[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:50%;margin-right:8px}
85.author-name[_ngcontent-%COMP%]{font-weight:700}.like-comment[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}@media (min-width: 991px){.masonry-columns[_ngcontent-%COMP%]{column-count:3;column-gap:15px;transition:column-count .3s ease}}.masonry-item[_ngcontent-%COMP%]{break-inside:avoid;margin-bottom:15px;padding:10px;border-radius:5px;box-sizing:border-box}.two-line-paragraph[_ngcontent-%COMP%]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}"]})};function Xl(i,e){if(i&1&&_(0,"img",29),i&2){let t,n=m(4);l("src",(t=n.scrapbookPostData.authorProfilePic)!==null&&t!==void 0?t:"",P)}}function Zl(i,e){if(i&1){let t=S();a(0,"button",30),x("click",function(){h(t);let o=m(4);return b(o.loadPrevPost())}),c(1," \u276E "),r()}}function tm(i,e){if(i&1){let t=S();a(0,"button",31),x("click",function(){h(t);let o=m(4);return b(o.loadNextPost())}),c(1," \u276F "),r()}}function em(i,e){if(i&1){let t=S();a(0,"div",32)(1,"button",33),x("click",function(){h(t);let o=m(4);return b(o.likeImage(o.scrapbookPostData))}),a(2,"mat-icon"),_(3,"img",34),r(),a(4,"span",35),c(5),r()(),a(6,"button",33),x("click",function(){h(t);let o=m(4);return b(o.scrollToComments())}),a(7,"mat-icon"),_(8,"img",34),r(),a(9,"span",36),c(10),r()()()}if(i&2){let t=m(4);s(3),l("src",t.scrapbookPostData.isLikedByCurrentUser?"cf-campaign-app-assets/images/scrapbook/heart.svg":"cf-campaign-app-assets/images/scrapbook/heart_outline.svg",P),s(2),T(t.scrapbookPostData.numOfLikes||0),s(3),l("src","cf-campaign-app-assets/images/scrapbook/comment_outline.svg",P),s(2),T(t.scrapbookPostData.numOfComments||0)}}function im(i,e){if(i&1){let t=S();E(0),a(1,"img",45),x("error",function(){h(t);let o=m().$implicit;return b(o.authorProfilePic="")}),r(),F()}if(i&2){let t=m().$implicit;s(),jt("alt",t.authorName),l("src",t.authorProfilePic,P)}}function nm(i,e){if(i&1&&(a(0,"div",46),c(1),L(2,"slice"),r()),i&2){let t=m().$implicit;s(),I(" ",t.authorName?yt(2,1,t.authorName,0,1):""," ")}}function om(i,e){if(i&1&&(a(0,"div"),_(1,"hr",37),a(2,"div",38),f(3,im,2,2,"ng-container",39)(4,nm,3,5,"ng-template",null,1,U),a(6,"div",40)(7,"div",41),_(8,"p",42),a(9,"p",43),c(10),L(11,"date"),r()(),_(12,"p",44),r()()()),i&2){let t=e.$implicit,n=R(5),o=m(4);s(3),l("ngIf",t.authorProfilePic)("ngIfElse",n),s(5),l("innerHTML",t.authorName,Et),s(2),I(" ",yt(11,5,t.createTime,o.isPreviousYear(t.createTime)?"MMM d, h:mm a y":"MMM d, h:mm a","America/New_York")," "),s(2),l("innerHTML",t.commentText,Et)}}function am(i,e){if(i&1){let t=S();a(0,"div",47)(1,"mat-form-field",48)(2,"mat-label"),c(3,"Write a comment\u2026"),r(),a(4,"textarea",49,2),_t("ngModelChange",function(o){h(t);let p=m(4);return ft(p.newComment,o)||(p.newComment=o),b(o)}),r()(),a(6,"div",50)(7,"button",51),x("click",function(){h(t);let o=m(4);return b(o.postComment())}),c(8," Post "),r()()()}if(i&2){let t=m(4);s(4),gt("ngModel",t.newComment)}}function rm(i,e){if(i&1&&(a(0,"mat-card",11)(1,"mat-card-content")(2,"div",12)(3,"div",13),f(4,Xl,1,1,"img",14),a(5,"div"),_(6,"p",15),a(7,"p",16),c(8),L(9,"date"),r()()(),_(10,"p",17)(11,"p",18),r(),a(12,"div",19),_(13,"img",20),f(14,Zl,2,0,"button",21)(15,tm,2,0,"button",22),r(),a(16,"div",23),f(17,em,11,4,"div",24),r(),a(18,"div",25),f(19,om,13,9,"div",26),r()(),a(20,"div",27),f(21,am,9,1,"div",28),r()()),i&2){let t,n=m(3);s(4),l("ngIf",n.scrapbookPostData),s(2),l("innerHTML",(t=n.scrapbookPostData.authorName)!==null&&t!==void 0?t:"",Et),s(2),T(yt(9,11,n.scrapbookPostData.createTime,n.isPreviousYear(n.scrapbookPostData.createTime)?"MMM d, y":"MMM d, h:mm a","America/New_York")),s(2),l("innerHTML",n.scrapbookPostData.title,Et),s(),l("innerHTML",n.scrapbookPostData.description,Et),s(2),l("src",n.scrapbookPostData.imgUrl,P),s(),l("ngIf",n.ifPrevAvailable()),s(),l("ngIf",n.ifNextAvailable()),s(2),l("ngIf",n.scrapbookPostData),s(2),l("ngForOf",n.commentList),s(2),l("ngIf",n.scrapbookPostData&&n.participationData)}}function sm(i,e){if(i&1&&(a(0,"div",9),f(1,rm,22,15,"mat-card",10),r()),i&2){let t=m(2);s(),l("ngIf",t.scrapbookPostData)}}function lm(i,e){}function mm(i,e){i&1&&_(0,"i",59)}function cm(i,e){i&1&&_(0,"i",60)}function pm(i,e){if(i&1){let t=S();a(0,"button",56),x("click",function(){h(t);let o=m(3);return b(o.toggleVisibility())}),f(1,mm,1,0,"i",57)(2,cm,1,0,"i",58),r()}if(i&2){let t=m(3);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function dm(i,e){i&1&&_(0,"i",64)}function um(i,e){i&1&&_(0,"i",65)}function gm(i,e){if(i&1){let t=S();a(0,"button",61),x("click",function(){h(t);let o=m(3);return b(o.toggleComponentWidth())}),f(1,dm,1,0,"i",62)(2,um,1,0,"i",63),r()}if(i&2){let t=m(3);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function fm(i,e){i&1&&(a(0,"button",66),_(1,"i",67),r())}function _m(i,e){if(i&1&&(a(0,"div",52),f(1,pm,3,2,"button",53)(2,gm,3,2,"button",54)(3,fm,2,0,"button",55),r()),i&2){let t=m(2);s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}function hm(i,e){if(i&1&&(a(0,"div",4)(1,"div",5)(2,"div",6),f(3,sm,2,1,"div",7),r()(),f(4,lm,0,0,"ng-template",null,0,U)(6,_m,4,3,"div",8),r()),i&2){let t=m();N("px-5",t.editable)("opacity-25",t.editable&&!t.isVisible)("opacity-100",t.isVisible)("draggable",t.draggable),s(3),l("ngIf",t.scrapbookPostData),s(3),l("ngIf",t.editable||t.flexibleWidth||t.draggable)}}var Bn=class i extends X{participationData=null;postId="";scrapbookPostData$=null;scrapbookPostData=null;commentList=[];newComment="";currentPostIndex=-1;scrapbookData$=null;scrapbookImages=[];
85static initialize(e){e.registerComponent("ScrapbookPostSectionLayoutStyle",i)}ngOnInit(){this.route.paramMap.subscribe(e=>{this.postId=e.get("postId")??""}),super.ngOnInit()}onCampaignLoad(){this.fetchScrapbookPosts(this.campaignSlug);let e=this.authService.getUserUuid();this.participationService.getParticipationData(this.campaignSlug,e).subscribe(t=>{t?t.regGoalUuid!=null&&(this.participationData=t):console.log("Participation data not found for the user")},t=>{console.error(t)})}fetchScrapbookPosts(e){this.scrapbookData$=this.participationService.getScrapbookPosts(e),this.scrapbookData$.subscribe(t=>{this.scrapbookImages=t;let n=t.findIndex(o=>o.imgUuid===this.postId);n!==-1?(this.currentPostIndex=n,this.loadPost(this.currentPostIndex),this.fetchScrapbookPostById(this.campaignSlug,this.postId)):console.warn("Post ID not found in scrapbook images."),console.log(this.scrapbookImages)},t=>{console.error(t)})}fetchScrapbookPostById(e,t){this.scrapbookPostData$=this.participationService.getScrapbookPostById(e,t),this.scrapbookPostData$.subscribe(n=>{this.updatePost(n)},n=>{console.error(n)})}postComment(){let e=this.authService.getUserUuid(),t=this.newComment.replace(/\n/g,"<br>");this.participationService.commentScrapbookPost(this.campaignSlug,this.participationData.regGoalUuid,this.postId,e,t).subscribe(n=>{this.newComment="",this.fetchScrapbookPostById(this.campaignSlug,this.postId)},n=>{})}likeImage(e){if(!this.participationData){this.authService.setRedirectUrl("/"+this.campaignSlug+"/scrapbook/"+this.postId),this.router.navigate([this.campaignSlug,"login"]);return}let t=this.authService.getUserUuid(),n=e.isLikedByCurrentUser;e.isLikedByCurrentUser=!e.isLikedByCurrentUser,this.participationService.likeScrapbookPost(this.campaignSlug,this.participationData.regGoalUuid,this.postId,t,e.isLikedByCurrentUser).subscribe(o=>{this.fetchScrapbookPostById(this.campaignSlug,this.postId)},o=>{e.isLikedByCurrentUser=n})}scrollToComments(){document.getElementById("post_comments_section")?.scrollIntoView({behavior:"smooth"})}ifPrevAvailable(){return this.currentPostIndex>0}ifNextAvailable(){return this.currentPostIndex<this.scrapbookImages.length-1}loadPrevPost(){this.ifPrevAvailable()&&(this.currentPostIndex--,this.loadPost(this.currentPostIndex),this.fetchScrapbookPostById(this.campaignSlug,this.postId))}loadNextPost(){this.ifNextAvailable()&&(this.currentPostIndex++,this.loadPost(this.currentPostIndex),this.fetchScrapbookPostById(this.campaignSlug,this.postId))}loadPost(e){this.scrapbookPostData=this.scrapbookImages[e],this.commentList=this.scrapbookImages[e].commentList,this.postId=this.scrapbookPostData.imgUuid}updatePost(e){this.scrapbookImages[this.currentPostIndex]=e,this.loadPost(this.currentPostIndex)}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-scrapbook-post-section"]],features:[Y([K]),$],decls:2,vars:3,consts:[["childDynamicBaseTemplate",""],["showInitials",""],["autosize","cdkTextareaAutosize"],["class","row justify-content-around",3,"px-5","opacity-25","opacity-100","draggable",4,"ngIf"],[1,"row","justify-content-around"],[1,"container"],[1,"row","mat-bg-white","justify-content-around","border-1","rounded"],["class","col-md-8 col-10",4,"ngIf"],["class","position-absolute section-edit-toolbar",4,"ngIf"],[1,"col-md-8","col-10"],["class","shadow-none mat-elevation-z3 mat-bg-white rounded",4,"ngIf"],[1,"shadow-none","mat-elevation-z3","mat-bg-white","rounded"],[1,"image-details"],[1,"d-flex","align-items-center","my-3"],["alt","","class","author-profile-pic mat-avatar user-image",3,"src",4,"ngIf"],[1,"author-name","mat-title-medium","fw-bold","mat-text-black","mb-0",3,"innerHTML"],[1,"creation-date","mat-body-small","mat-text-medium-gray","mb-0"],[1,"title","mt-2","mat-body-large","mb-1","fw-bold","mat-text-dark-gray",3,"innerHTML"],[1,"description","mat-body-medium","mat-text-dark-gray",3,"innerHTML"],[1,"d-flex","scrapbook-post-container","position-relative"],["mat-card-image","","alt","",1,"scrapbook-post-img","img-fluid","ms-auto","me-auto","d-block","rounded",2,"background-color","rgba(0, 0, 0, 0.05)",3,"src"],["class","nav-arrow left-arrow mat-body-large",3,"click",4,"ngIf"],["class","nav-arrow right-arrow mat-body-large",3,"click",4,"ngIf"],[1,"image-details","my-3"],["class","like-comment text-center justify-content-center d-flex align-items-center",4,"ngIf"],["id","comments"],[4,"ngFor","ngForOf"],[1,"pb-3","px-3","mat-bg-white"],["id","post_comments_section","id","new_comment_div","class","mt-3",4,"ngIf"],["alt","",1,"author-profile-pic","mat-avatar","user-image",3,"src"],[1,"nav-arrow","left-arrow","mat-body-large",3,"click"],[1,"nav-arrow","right-arrow","mat-body-large",3,"click"],[1,"like-comment","text-center","justify-content-center","d-flex","align-items-center"],["mat-icon-button","",1,"d-flex","align-items-center","mat-body-small","mat-text-dark-gray","w-auto",3,"click"],["alt","Custom Icon",3,"src"],[1,"like-count","txt-theme-color-50"],[1,"comment-count","txt-theme-color-50"],[1,"mat-text-medium-gray","my-0"],[1,"my-3","d-flex"],[4,"ngIf","ngIfElse"],[1,"ms-4","w-100"],[1,"d-flex","justify-content-between"],[1,"mat-body-medium","fw-bold","mat-text-black","mb-1",3,"innerHTML"],[1,"mat-body-small","mat-text-medium-gray"],[1,"mat-body-medium","mat-text-medium-gray","mb-0",3,"innerHTML"],[1,"user-avatar-image","border","me-2",3,"error","src","alt"],[1,"user-avatar-initials","border","mat-bg-gray","me-2"],["id","post_comments_section","id","new_comment_div",1,"mt-3"],["appearance","outline",1,"w-100"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1","cdkAutosizeMaxRows","10","i
85d","ta_comment_text","name","comment_text","rows","2",3,"ngModelChange","ngModel"],[1,"d-flex","justify-content-end"],["mat-flat-button","","color","primary",1,"my-3",3,"click"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){t&1&&(f(0,hm,7,10,"div",3),L(1,"async")),t&2&&l("ngIf",G(1,1,n.scrapbookData$))},dependencies:[W,Dt,Q,et,Lt,be,Z,st,mt,zt,$t,Ce,it,kt,It,nt,Nt,Ie,dt,Yt,ke,Wi,vt,j,ot,Mt,pt,bt,ct,ht,xt],styles:[".scrapbook-post-img[_ngcontent-%COMP%]{max-height:50vh;max-width:100%}.scrapbook-post-container[_ngcontent-%COMP%]{position:relative;display:inline-block}.scrapbook-post-container[_ngcontent-%COMP%]   .scrapbook-post-img[_ngcontent-%COMP%]{height:auto}.scrapbook-post-container[_ngcontent-%COMP%]   .nav-arrow[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);background-color:#0003;color:#fff;border:none;padding:8px 12px;border-radius:50%;cursor:pointer;z-index:10;font-size:24px;transition:background-color .3s ease}.scrapbook-post-container[_ngcontent-%COMP%]   .nav-arrow[_ngcontent-%COMP%]:hover{background-color:#8c8c8ccc}.scrapbook-post-container[_ngcontent-%COMP%]   .left-arrow[_ngcontent-%COMP%]{left:10px}.scrapbook-post-container[_ngcontent-%COMP%]   .right-arrow[_ngcontent-%COMP%]{right:10px}"]})};function bm(i,e){if(i&1&&(a(0,"div",14)(1,"mat-icon",15),c(2,"directions_walk"),r(),a(3,"p",16),c(4," To receive miles for this scrapbook activity, add it under "),a(5,"a",17),c(6,"Manual Activity Submission"),r(),c(7," after posting. "),r()()),i&2){let t=m(2);s(5),l("routerLink",t.getManualActivitySubmissionRoute())}}function vm(i,e){if(i&1){let t=S();E(0),a(1,"mat-icon"),c(2,"image"),r(),a(3,"p",34),c(4,"Drag your file to start uploading"),r(),a(5,"p",34),c(6,"OR"),r(),a(7,"button",35),x("click",function(o){return h(t),m(),R(7).click(),b(o.preventDefault())}),c(8,"Browse files"),r(),F()}}function xm(i,e){if(i&1){let t=S();_(0,"img",36),a(1,"button",37),x("click",function(){h(t);let o=m(3);return b(o.onCancel())}),c(2,"Remove"),r()}if(i&2){let t=m(3);l("src",t.imagePreview,P)}}function Cm(i,e){if(i&1){let t=S();a(0,"form",18),x("ngSubmit",function(){h(t);let o=m(2);return b(o.onSubmit())}),a(1,"div",19)(2,"div",20)(3,"label",21),c(4,"Add Photo:"),r(),a(5,"div",22)(6,"input",23,1),x("change",function(o){h(t);let p=m(2);return b(p.onFileSelected(o))}),r(),a(8,"div",24),f(9,vm,9,0,"ng-container",25)(10,xm,3,1,"ng-template",null,2,U),r()()()(),a(12,"div",20)(13,"label",26),c(14,"Add Title:"),r(),a(15,"mat-form-field",27)(16,"mat-label"),c(17,"Add Title"),r(),_(18,"input",28),r()(),a(19,"div",20)(20,"label",26),c(21,"Add Description:"),r(),a(22,"mat-form-field",27)(23,"mat-label"),c(24,"Add Description"),r(),_(25,"textarea",29),r()(),a(26,"mat-checkbox",30),c(27),r(),_(28,"hr",8),a(29,"div",31)(30,"button",32),x("click",function(){h(t);let o=m(2);return b(o.onCancel())}),c(31,"Cancel"),r(),a(32,"button",33),c(33,"Submit"),r()()()}if(i&2){let t=R(11),n=m(2);l("formGroup",n.scrapbookForm),s(5),N("drag-over",n.isDragOver),s(4),l("ngIf",!n.imagePreview)("ngIfElse",t),s(18),I(" ",n.displayPermissionDisclaimer," "),s(5),l("disabled",!n.scrapbookForm.valid||!(n.participationData!=null&&n.participationData.regGoalUuid))}}function ym(i,e){}function Sm(i,e){i&1&&_(0,"i",45)}function wm(i,e){i&1&&_(0,"i",46)}function Tm(i,e){if(i&1){let t=S();a(0,"button",42),x("click",function(){h(t);let o=m(3);return b(o.toggleVisibility())}),f(1,Sm,1,0,"i",43)(2,wm,1,0,"i",44),r()}if(i&2){let t=m(3);s(),l("ngIf",!t.isVisible),s(),l("ngIf",t.isVisible)}}function Im(i,e){i&1&&_(0,"i",50)}function km(i,e){i&1&&_(0,"i",51)}function Mm(i,e){if(i&1){let t=S();a(0,"button",47),x("click",function(){h(t);let o=m(3);return b(o.toggleComponentWidth())}),f(1,Im,1,0,"i",48)(2,km,1,0,"i",49),r()}if(i&2){let t=m(3);s(),l("ngIf",t.isComponentFullWidth()),s(),l("ngIf",!t.isComponentFullWidth())}}function Pm(i,e){i&1&&(a(0,"button",52),_(1,"i",53),r())}function Um(i,e){if(i&1&&(a(0,"div",38),f(1,Tm,3,2,"button",39)(2,Mm,3,2,"button",40)(3,Pm,2,0,"button",41),r()),i&2){let t=m(2);s(),l("ngIf",t.editable),s(),l("ngIf",t.editable),s(),l("ngIf",t.draggable)}}function Em(i,e){if(i&1&&(a(0,"div",4)(1,"div",5)(2,"h2",6),c(3,"Add a Scrapbook Post"),r(),a(4,"p",7),c(5,"Capture and share your journey."),r(),_(6,"hr",8),a(7,"p",9),c(8,"Create Your Scrapbook Post"),r(),a(9,"p",10),c(10," This event scrapbook is publicly viewable and will be displayed on the scrapbook page. "),r(),f(11,bm,8,1,"div",11)(12,Cm,34,7,"form",12),r(),f(13,ym,0,0,"ng-template",null,0,U)(15,Um,4,3,"div",13),r()),i&2){let t=m();N("px-5",t.editable)("opacity-25",t.editable&&!t.isVisible)("opacity-100",t.isVisible)("draggable",t.draggable),s(11),l("ngIf",t.showManualActivitySubmissionNotice()
85),s(),l("ngIf",t.scrapbookForm),s(3),l("ngIf",t.editable||t.flexibleWidth||t.draggable)}}var zn="I'm over the age of 18, and hereby grant Charity Footprints Inc. and @@orgName@@ permission to post or publish this image for marketing and other purposes. I acknowledge that this image is not copyright protected and agree that no sums whatsoever will be due to me as a result of the use and/or exploitation of the image or any rights therein.",$n=class i extends X{permissionDisclaimer;static editableProperties=[{key:"permissionDisclaimer",label:"Permission disclaimer",type:"textarea",defaultValue:zn,helpText:"Use @@orgName@@ to insert the organization name."}];participationData=null;scrapbookForm=null;selectedFile=null;imagePreview=null;isDragOver=!1;static initialize(e){e.registerComponent("ScrapbookAddSectionLayoutStyle",i)}ngOnInit(){super.ngOnInit(),this.scrapbookForm=this.fb.group({title:["",lt.required],description:["",lt.required],permission:[!1,lt.requiredTrue],photo:[null,lt.required]})}onCampaignLoad(){if(this.runtimeRenderContext?.mode==="layout-builder")return;if(!this.authService?.isLoggedIn()){this.authService?.setRedirectUrl("/"+this.campaignSlug+"/scrapbook/add"),this.router.navigate(["/",this.campaignSlug,"login"]);return}if(!this.authService.isUserParticipant()){this.router.navigate(["/",this.campaignSlug,"register"]);return}let e=this.authService.getUserUuid();if(!e){this.router.navigate(["/",this.campaignSlug,"register"]);return}this.participationService.getParticipationData(this.campaignSlug,e).subscribe({next:t=>{if(t?.regGoalUuid){this.participationData=t;return}this.router.navigate(["/",this.campaignSlug,"register"])},error:t=>{console.error(t),this.router.navigate(["/",this.campaignSlug,"register"])}})}get displayPermissionDisclaimer(){return(this.permissionDisclaimer?.trim()||zn).replace(/@@\s*orgName\s*@@/gi,this.orgName||"the organization")}onFileSelected(e){let t=e.target?.files?e.target.files[0]:e.dataTransfer?.files[0];if(t&&t.type.startsWith("image/")){this.selectedFile=t,this.scrapbookForm.patchValue({photo:t});let n=new FileReader;n.onload=()=>{this.imagePreview=n.result},n.readAsDataURL(t)}}onDragOver(e){e.preventDefault(),e.stopPropagation(),this.isDragOver=!0}onDragLeave(e){e.preventDefault(),e.stopPropagation(),this.isDragOver=!1}onDrop(e){e.preventDefault(),e.stopPropagation(),this.isDragOver=!1,this.onFileSelected(e)}onSubmit(){if(this.scrapbookForm.valid){console.log("Form Submitted",this.scrapbookForm.value);let e=this.scrapbookForm.value,t=this.authService.getUserUuid(),n=`${this.campaignUuid}#scrapbook#${Date.now()}_${Math.floor(Math.random()*1e6)}`;this.userService.uploadAsset(t,n,this.selectedFile).subscribe({next:o=>{this.addScrapbookPost(o)},error:o=>{console.error("Upload failed:",o),alert("Image upload failed. Please try again.")}})}}onCancel(){this.scrapbookForm.reset(),this.imagePreview=null}addScrapbookPost(e){if(this.scrapbookForm.valid&&this.participationData.regGoalUuid){let t=this.authService.getUserUuid(),n=this.scrapbookForm.value,o=n.description.replace(/\n/g,"<br>"),p=n.title;this.participationService.addScrapbookPost(this.campaignSlug,this.participationData.regGoalUuid,t,p,o,e).subscribe(u=>{console.log("Upload successful:",e),alert("Image uploaded successfully!"),this.scrapbookForm.reset(),this.imagePreview=null,this.goToScrapbook()},u=>{console.log("Error on Upload:",u),alert("Error uploading post!")})}}goToScrapbook(){this.router.navigate(["/",this.campaignSlug,"scrapbook"])}showManualActivitySubmissionNotice(){return!1}getManualActivitySubmissionRoute(){return["/",this.campaignSlug,"activities"]}static \u0275fac=(()=>{let e;return function(n){return(e||(e=z(i)))(n||i)}})();static \u0275cmp=A({type:i,selectors:[["app-scrapbook-add-section"]],hostBindings:function(t,n){t&1&&x("dragover",function(p){return n.onDragOver(p)})("dragleave",function(p){return n.onDragLeave(p)})("drop",function(p){return n.onDrop(p)})},inputs:{permissionDisclaimer:"permissionDisclaimer"},features:[Y([K]),$],decls:2,vars:3,consts:[["childDynamicBaseTemplate",""],["fileInput",""],["imageBlock",""],["class","row justify-content-around",3,"px-5","opacity-25","opacity-100","draggable",4,"ngIf"],[1,"row","justify-content-around"],[1,"add-scrapbook-container","px-5","py-3","mat-bg-white","rounded","border-1"],[1,"mat-title-large","fw-bold","mat-text-black","text-center","mb-2"],[1,"mat-body-large","mat-text-black","text-center","mb-4"],[1,"border-1","border-secondary","mt-3"],[1,"mat-body-medium","mat-text-black","fw-bold","mb-2"],[1,"mat-body-medium","mat-text-medium-gray"],["class","manual-activity-submission-notice",4,"ngIf"],["class","mt-4",3,"formGroup","ngSubmit",4,"ngIf"],["class","position-absolute section-edit-toolbar",4,"ngIf"],[1,"manual-activity-submission-notice"],["aria-hidden","true"],[1,"mat-body-medium","mat-text-black","mb-0"],[3,"routerLink"],[1,"mt-4",3,"ngSubmit","formGroup"],[1,"form-section","mb-4"],[1,"d-flex"],[1,"col-md-3","col-md-3","mat-body-medium","fw-bold","mat-text-medium-gray"],[1,"col","border","border-dashed","p-3","photo-upload-box"],["type","file","hidden","",3,"change"],[1,"upload-placeholder","text-center"],[4,"ngIf","ngIfElse"],[1,"col-md-3","mat-body-medium","fw-bold","mat-text-medium-gray"],["appearance","outline",1,"w-100","mb-2"],["matInput","","placeholder","Write Title...","formControlName","title","required",""],["matInput","","placeholder","Write Description...","formControlName","description","rows","4","required",""],["formControlName","permission","required","",1,"mb-4"],[1,"d-flex","justify-content-end","mt-4"],["mat-stroked-button","",1,"me-2",3,"click"],["mat-flat-button","","type","submit",1,"",3,"disabled"],[1,"mat-text-dark-gray","mat-body-medium"],["mat-stroked-button","",3,"click"],["alt","Image Preview",1,"image-preview","mw-100",3,"src"],["mat-stroked-button","",1,"m-3",3,"click"],[1,"position-absolute","section-edit-toolbar"],["class","btn btn-sm btn-success mt-1 w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",3,"click",4,"ngIf"],["class","btn btn-sm btn-success w-auto px-1 py-0 z-1 mt-1",4,"ngIf"],[1,"btn","btn-sm","btn-success","mt-1","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-eye",4,"ngIf"],["class","fa fa-eye-slash",4,"ngIf"],[1,"fa","fa-eye"],[1,"fa","fa-eye-slash"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1",3,"click"],["class","fa fa-mobile-alt",4,"ngIf"],["class","fa fa-tablet-alt",4,"ngIf"],[1,"fa","fa-mobile-alt"],[1,"fa","fa-tablet-alt"],[1,"btn","btn-sm","btn-success","w-auto","px-1","py-0","z-1","mt-1"],[1,"fa","fa-arrows-alt"]],template:function(t,n){t&1&&(f(0,Em,16,11,"div",3),L(1,"async")),t&2&&l("ngIf",G(1,1,n.orgData$))},dependencies:[W,Q,et,Z,st,Bt,mt,ye,zt,$t,xe,Ui,Wt,Se,we,Pe,ji,it,kt,It,
85nt,Nt,dt,vt,j,ot,pt,bt,ct,ht,xt],styles:[".image-preview[_ngcontent-%COMP%]{max-height:200px}.manual-activity-submission-notice[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#00000008}.manual-activity-submission-notice[_ngcontent-%COMP%]   mat-icon[_ngcontent-%COMP%]{flex:0 0 auto}.manual-activity-submission-notice[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-weight:700;text-decoration:underline}@media (max-width: 600px){.manual-activity-submission-notice[_ngcontent-%COMP%]{align-items:flex-start}}"]})};export{Ne as a,Oe as b,Ae as c,ri as d,nc as e,oc as f,xn as g,ac as h,mc as i,cc as j,Ge as k,yn as l,hp as m,kn as n,ze as o,Pn as p,$e as q,ce as r,Un as s,En as t,Fn as u,Ln as v,oe as w,An as x,Vn as y,Gn as z,Bn as A,$n as B};

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.