PageSourceSearch

https://admin.hellobox.co/build/assets/Home-DFMZNbfp.js

js hellobox.co collected 2026-09-24 09:37:52 UTC 30,698 bytes, 1 lines download raw bytes

1import{e as Y}from"./popper.esm-eU8PXKyC.js";import{f as U}from"./formatNumber-buDO6fFf.js";import{f as z}from"./formatDate-C1YYpkoX.js";import{_ as M,e as S,u as B,a as A}from"./VueFinalModal.esm-DFl72DMY.js";import{q as a,s as t,z as u,g as x,t as m,y as p,J as T,C as y,x as h,u as d,j as g,k as n,L as v,F as f,I as j,A as _,K as k,v as C}from"./charts-D6UZp-Tt.js";import{s as N}from"./vue3-pagination.esm-UNvUU23X.js";import{S as E}from"./SubmitButton-DrxH_XeR.js";import{a as I}from"./apiPost-ghyv-hva.js";import{i as L}from"./isEmailValid-Cq8bst8j.js";import{N as H}from"./NoData-B5C1uLPO.js";import{a as O}from"./apiDelete-CoOa1ijB.js";import"./maps-czH8Rgnd.js";import"./codemirror-core-Bynwwsul.js";const F={props:{member:{type:Object,required:!0},site:{type:Object,required:!0}},components:{Popper:Y},data(){return{checked:!1}},mounted(){this.eventBus.on("toggle-all",this.toggleAll)},unmounted(){this.eventBus.off("toggle-all",this.toggleAll)},computed:{...S(B)},methods:{formatNumber:U,formatDate:z,showContentModal(){},toggleAll(r){this.checked=r,this.eventBus.emit("selection-toggled",{memberId:this.member.id,checked:this.checked})},toggleCheckbox(r){this.eventBus.emit("selection-toggled",{memberId:this.member.id,checked:r})}}},Q={class:"invisible hidden lg:visible lg:block"},W={class:"flex flex-wrap items-center group"},R={class:"w-3/12"},G={class:"p-3 flex items-center"},J=["disabled"],K={class:"w-3/12"},X={class:"p-3"},Z={class:"w-2/12"},$={class:"p-3"},ee={class:"w-2/12"},te={class:"p-3"},se={key:0,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-5 h-5 text-green-600"},re={key:1,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-5 h-5 text-gray-600"},le={class:"visible block lg:invisible lg:hidden"},oe={class:"p-4 flex items-start"},ie={class:""},ne={class:""},ae={class:"mt-2 flex items-center"},me={class:"flex items-center"},de={class:"mt-2 flex items-center"},ue={class:""},pe={class:"mt-2 flex items-center"},be={class:""};function ce(r,e,i,w,s,l){const b=g("Popper");return n(),a("div",{"data-testid":"member-row",class:"mt-4 lg:mt-2 bg-white rounded text-[0.95rem] hover:bg-gray-50 cursor-pointer",onClick:e[6]||(e[6]=o=>r.eventBus.emit("toggle-member-panel",{member:i.member}))},[t("div",Q,[t("div",W,[t("div",R,[t("div",G,[u(t("input",{type:"checkbox","onUpdate:modelValue":e[0]||(e[0]=o=>s.checked=o),onChange:e[1]||(e[1]=o=>l.toggleCheckbox(o.target.checked)),onClick:e[2]||(e[2]=y(()=>{},["stop"])),class:"mr-4",disabled:i.member.is_owner_role||i.member.is_paid_member_role},null,40,J),[[T,s.checked]]),i.member.is_owner_role?(n(),x(b,{key:0,placement:"top",arrow:"",hover:"",class:"dark"},{content:h(()=>[...e[7]||(e[7]=[t("div",{class:"text-sm"}," This user is the owner of this site and cannot be deleted. ",-1)])]),default:h(()=>[e[8]||(e[8]=t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-4 h-4 mr-2 text-gray-600"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z"})],-1))]),_:1})):i.member.is_paid_member_role?(n(),x(b,{key:1,placement:"top",arrow:"",hover:"",class:"dark"},{content:h(()=>[...e[9]||(e[9]=[t("div",{class:"text-sm"},[p(" This member is on a paid membership."),t("br"),p(" Membership must be canceled before being deleted. ")],-1)])]),default:h(()=>
1[e[10]||(e[10]=t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-4 h-4 mr-2 text-gray-600"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 12a2.25 2.25 0 00-2.25-2.25H15a3 3 0 11-6 0H5.25A2.25 2.25 0 003 12m18 0v6a2.25 2.25 0 01-2.25 2.25H5.25A2.25 2.25 0 013 18v-6m18 0V9M3 12V9m18 0a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 9m18 0V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v3"})],-1))]),_:1})):m("",!0),p(" "+d(i.member.username),1)])]),t("div",K,[t("div",X,d(i.member.email),1)]),t("div",Z,[t("div",$,d(l.formatDate(i.member.created_at,"YYYY-MM-DD HH:mm:ss","YYYY-MM-DD",!0)),1)]),t("div",ee,[t("div",te,[i.member.confirmed_at!=null?(n(),a("svg",se,[...e[11]||(e[11]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])):(n(),a("svg",re,[...e[12]||(e[12]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])]))])])])]),t("div",le,[t("div",oe,[t("div",ie,[u(t("input",{type:"checkbox","onUpdate:modelValue":e[3]||(e[3]=o=>s.checked=o),onChange:e[4]||(e[4]=o=>l.toggleCheckbox(o.target.checked)),onClick:e[5]||(e[5]=y(()=>{},["stop"])),class:"mr-4"},null,544),[[T,s.checked]])]),t("div",ne,[p(d(i.member.username)+" ",1),t("div",ae,[e[17]||(e[17]=t("div",{class:"w-24 text-gray-600"}," Email ",-1)),t("div",me,[p(d(i.member.email)+" ",1),i.member.confirmed_at!=null?(n(),x(b,{key:0,placement:"top",class:"dark",arrow:"",hover:""},{content:h(()=>[...e[13]||(e[13]=[t("div",{class:"text-sm font-normal"}," Email has been confirmed ",-1)])]),default:h(()=>[e[14]||(e[14]=t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-5 h-5 text-green-600 ml-2"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1))]),_:1})):(n(),x(b,{key:1,placement:"top",class:"dark",arrow:"",hover:""},{content:h(()=>[...e[15]||(e[15]=[t("div",{class:"text-sm font-normal"}," Email has not been confirmed yet ",-1)])]),default:h(()=>[e[16]||(e[16]=t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-5 h-5 text-gray-600 ml-2"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1))]),_:1}))])]),t("div",de,[e[18]||(e[18]=t("div",{class:"w-24 text-gray-600"}," Role ",-1)),t("div",ue,d(i.member.role_name),1)]),t("div",pe,[e[19]||(e[19]=t("div",{class:"w-24 text-gray-600"}," Created ",-1)),t("div",be,d(l.formatDate(i.member.created_at,"YYYY-MM-DD HH:mm:ss","YYYY-MM-DD",!0)),1)])])])])])}const ve=M(F,[["render",ce]]),he={props:{members:{type:Array,required:!0},site:{type:Object,required:!0},orderBy:{type:String,default:"created_at"},orderType:{type:String,default:"desc"}},components:{Member:ve},data(){return{selectAllCheckbox:!1}},methods:{sort(r){this.eventBus.emit("params-changed",[{key:"orderBy",value:r},{key:"orderType",value:this.nextOrderType(r)},{key:"offset",value:0}])},isSortedBy(r){return this.orderBy==r},nextOrderType(r){return this.orderBy==r&&this.orderType=="asc"?"desc":"asc"},sortTooltip(r,e){return`Sort by ${e} ${this.nextOrderType(r)=="asc"?"ascending":"descending"}`},sortTriangleClass(r){return this.orderType=="asc"?"border-b-[6px] border-b-gray-700":"border-t-[6px] border-t-gray-700"},toggleSelectAll(){this.eventBus.emit("toggle-all",this.selectAllCheckbox)}}},ge={class:"invisible hidden lg:visible lg:block"},fe={class:"mt-4 bg-white rounded flex flex-wrap items-center text-[0.95rem] text-gray-600"},ye={class:"w-3/12"},xe={class:"p-3 flex items-center"},we=["title","aria-label"],ke={"data-testid":"members-sort-tooltip-username",class:"pointer-events-none absolute bottom-full left-1/2 z-10 mb-2 hidden -translate-x-1/2 whitespace-nowrap rounded bg-gray-900 px-2 py-1 text-xs font-normal text-white shadow-sm group-hover:block"},_e={class:"w-3/12"},Ce={class:"p-3"},Me=["title","aria-label"],Be={"data-testid":"members-sort-tooltip-email",class:"pointer-events-none absolute bottom-full left-1/2 z-10 mb-2 hidden -translate-x-1/2 whitespace-nowrap rounded bg-gray-900 px-2 py-1 text-xs font-normal text-white shadow-sm group-hover:block"},Se={class:"w-2/12"},Te={class:"p-3"},Ie=["title","aria-label"],Pe={"data-testid":"members-sort-tooltip-created-at",class:"pointer-events-none absolute bottom-full left-1/2 z-10 mb-2 hidden -translate-x-1/2 whitespace-nowrap rounded bg-gray-900 px-2 py-1 text-xs font-normal text-white shadow-sm group-hover:block"},Ae={class:"w-2/12"},Ue={class:"p-3"},Ee=["title","aria-label"],Ve={"data-testid":"members-sort-tooltip-confirmed-at",class:"pointer-events-none absolute bottom-full left-1/2 z-10 mb-2 hidden -translate-x-1/2 whitespace-nowrap rounded bg-gray-900 px-2 py-1 text-xs font-normal text-white shadow-sm group-hover:block"};function qe(r,e,i,w,s,l){const b=g("Member");return n(),a(f,null,[t("div",ge,[t("div",fe,[t("div",ye,[t("div",xe,[u(t("input",{type:"checkbox","onUpdate:modelValue":e[0]||(e[0]=o=>s.selectAllCheckbox=o),onChange:e[1]||(e[1]=(...o)=>l.toggleSelectAll&&l.toggleSelectAll(...o)),onClick:e[2]||(e[2]=y(()=>{},["stop"])),class:"mr-4"},null,544),[[T,s.selectAllCheckbox]]),t("button",{type:"button","data-testid":"members-sort-username",title:l.sortTooltip("username","Username"),"aria-label":l.sortTooltip("username","Username"),class:"group relative flex items-center gap-2 text-left text-[0.95rem] text-gray-600 hover:text-gray-900",onClick:e[3]||(e[3]=o=>l.sort("username"))},[e[8]||(e[8]=t("span",null,"Username",-1)),l.isSortedBy("username")?(n(),a("span",{key:0,"data-testid":"members-sort-indicator-username",class:v(["inline-block h-0 w-0 border-l-[4px] border-r-[4px] border-l-transparent border-r-transparent",l.sortTriangleClass("username")])},null,2)):m("",!0),t("span",ke,[p(d(l.sortTooltip("username","Username"))+" ",1),e[7]||(e[7]=t("span",{class:"absolute left-1/2 top-full h-0 w-0 -translate-x-1/2 border-l-[5px] border-r-[5px] border-t-[5px] border-l-transparent border-r-transparent border-t-gray-900"},null,-1))])],8,we)])]),t("div",_e,[t("div",Ce,[t("button",{type:"button","data-testid":"members-sort-email",title:l.sortTooltip("email","Email"),"aria-label":l.sortTooltip("email","Email"),class:"group relative flex items-center gap-2 text-left text-[0.95rem] text-gray-600 hover:text-gray-900",onClick:e[4]||(e[4]=o=>l.sort("email"))},[e[10]||(e[10]=t("span",null,"Email",-1)),l.isSortedBy("email")?(n(),a("span",{key:0,"data-testid":"members-sort-indicator-email",class:v(["inline-block h-0 w-0 border-l-[4px] border-r-[4px] border-l-transparent border-r-transparent",l.sortTriangleClass("email")])},null,2)):m("",!0),t("span",Be,[p(d(l.sortTooltip("email","Email"))+" ",1),e[9]||(e[9]=t("span",{class:"absolute left-1/2 top-full h-0 w-0 -translate-x-1/2 border-l-[5px] border-r-[5px] border-t-[5px] border-l-transparent border-r-transparent border-t-gray-900"},null,-1))])],8,Me)])]),t("div",Se,[t("div",Te,[t("button",{type:"button","data-testid":"members-sort-created-at",title:l.sortTooltip("created_at","Created"),"aria-label":l.sortTooltip("created_at","Created"),
1class:"group relative flex items-center gap-2 text-left text-[0.95rem] text-gray-600 hover:text-gray-900",onClick:e[5]||(e[5]=o=>l.sort("created_at"))},[e[12]||(e[12]=t("span",null,"Created",-1)),l.isSortedBy("created_at")?(n(),a("span",{key:0,"data-testid":"members-sort-indicator-created-at",class:v(["inline-block h-0 w-0 border-l-[4px] border-r-[4px] border-l-transparent border-r-transparent",l.sortTriangleClass("created_at")])},null,2)):m("",!0),t("span",Pe,[p(d(l.sortTooltip("created_at","Created"))+" ",1),e[11]||(e[11]=t("span",{class:"absolute left-1/2 top-full h-0 w-0 -translate-x-1/2 border-l-[5px] border-r-[5px] border-t-[5px] border-l-transparent border-r-transparent border-t-gray-900"},null,-1))])],8,Ie)])]),t("div",Ae,[t("div",Ue,[t("button",{type:"button","data-testid":"members-sort-confirmed-at",title:l.sortTooltip("confirmed_at","Confirmed"),"aria-label":l.sortTooltip("confirmed_at","Confirmed"),class:"group relative flex items-center gap-2 text-left text-[0.95rem] text-gray-600 hover:text-gray-900",onClick:e[6]||(e[6]=o=>l.sort("confirmed_at"))},[e[14]||(e[14]=t("span",null,"Confirmed?",-1)),l.isSortedBy("confirmed_at")?(n(),a("span",{key:0,"data-testid":"members-sort-indicator-confirmed-at",class:v(["inline-block h-0 w-0 border-l-[4px] border-r-[4px] border-l-transparent border-r-transparent",l.sortTriangleClass("confirmed_at")])},null,2)):m("",!0),t("span",Ve,[p(d(l.sortTooltip("confirmed_at","Confirmed"))+" ",1),e[13]||(e[13]=t("span",{class:"absolute left-1/2 top-full h-0 w-0 -translate-x-1/2 border-l-[5px] border-r-[5px] border-t-[5px] border-l-transparent border-r-transparent border-t-gray-900"},null,-1))])],8,Ee)])])])]),(n(!0),a(f,null,j(i.members,(o,P)=>(n(),x(b,{key:o.id,member:o,site:i.site},null,8,["member","site"]))),128))],64)}const De=M(he,[["render",qe]]);async function V(r,e,i,w){const s=B();r.show("confirm-modal",{title:"Please confirm your action",message:"Approve "+(e.length==1?"this member?":"selected members?"),buttons:[{label:"Yes",color:"green",loadingViaLocal:!0,action:async()=>{await I("/site/member/approve",{getWhat:"members",siteId:s.getCurrSite.id,memberIds:e},s.getToken),r.hide("confirm-modal"),i.emit("get-members"),i.emit("get-num-approved-unapproved"),i.emit("toggle-all",!1),i.emit("notification-event",{type:"success",message:"Members approved successfully"}),w()}},{label:"No",color:"gray",action:()=>{r.hide("confirm-modal")}}]})}const Ye={components:{SubmitButton:E},data(){return{loading:!1,visible:!1,member:null,usernameError:null,emailError:null,isConfirmed:!0,isApproved:!0}},created(){},mounted(){this.eventBus.on("toggle-member-panel",r=>{this.visible=!this.visible,this.visible&&(this.member=r.member,this.isConfirmed=this.member.confirmed_at!=null,this.isApproved=this.member.approved_at!=null,this.$nextTick(()=>{this.$refs.username.select(),this.$refs.username.focus()}))})},beforeDestroy(){this.eventBus.off("toggle-member-panel")},computed:{...S(B)},methods:{closeMemberPanel(){this.eventBus.emit("toggle-member-panel")},approveMembersLocal(){V(this.$vfm,[this.member.id],this.eventBus,()=>{this.eventBus.emit("toggle-member-panel")})},async submit(){let r=!0;if(this.emailError=null,this.usernameError=null,(this.member.email==null||!L(this.member.email))&&(this.emailError="Please type a valid email.",r=!1),(this.member.username==null||this.member.username.length==0)&&(this.usernameError="Please type a valid username.",r=!1),r){this.loading=!0;const e=await I("/site/member/save",{getWhat:"members",siteId:this.member.site_id,member:this.member,isConfirmed:this.isConfirmed,isApproved:this.isApproved},this.adminStore.getToken);this.loading=!1;const i=await e.body;i.error!=null?i.error.indexOf("username")>-1?this.usernameError=i.error:i.error.indexOf("email")>-1&&(this.emailError=i.error):(this.eventBus.emit("get-members"),this.eventBus.emit("get-num-approved-unapproved"),this.closeMemberPanel(),this.eventBus.emit("notification-event",{type:"success",message:"Member saved successfully"}))}}}},ze={class:"fixed top-0 right-0 h-full bg-white w-full sm:w-3/4 md:w-2/3 lg:w-2/5",style:{"max-width":"500px","z-index":"21"}},je={key:0,class:"absolute w-full",style:{height:"calc(100% - 0px)","overflow-y":"auto"}},Ne={class:"flex items-center justify-between bg-gray-100 px-4 h-16"},Le={class:"p-4"},He={key:0,class:"mb-12 p-3 bg-yellow-50 border border-yellow-300 rounded"},Oe={class:"form-line flex items-center"},Fe={class:"form-line"},Qe=["disabled"],We={key:0,class:"input-error"},Re={class:"label-line"},Ge={class:"form-line"},Je=["disabled"],Ke={key:0,class:"input-error"},Xe={class:"form-line flex items-center"},Ze=["disabled"],$e=["disabled"],et={class:"form-line flex items-center"},tt={class:"form-line flex items-center"},st={class:"button-line"};function rt(r,e,i,w,s,l){const b=g("SubmitButton");return n(),a("div",{class:v({visible:s.visible,invisible:!s.visible})},[t("div",{class:"fixed top-0 left-0 w-full h-full bg-gray-800 opacity-50",style:{"z-index":"20"},onClick:e[0]||(e[0]=(...o)=>l.closeMemberPanel&&l.closeMemberPanel(...o))}),t("div",ze,[s.member!=null?(n(),a("div",je,[t("div",Ne,[e[13]||(e[13]=t("div",{class:"flex items-center"}," View/Edit Member ",-1)),t("a",{href:"#",onClick:e[1]||(e[1]=y((...o)=>l.closeMemberPanel&&l.closeMemberPanel(...o),["prevent"])),class:"text-gray-700 hover:text-gray-600"},[...e[12]||(e[12]=[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-6 h-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)])])]),t("div",Le,[s.member.approved_at==null?(n(),a("div",He,[e[14]||(e[14]=t("div",{class:""}," This member is currently not approved. ",-1)),t("div",Oe,[t("button",{class:"bg-green-600 hover:bg-green-700 text-white text-sm px-2 py-1 rounded",onClick:e[2]||(e[2]=(...o)=>l.approveMembersLocal&&l.approveMembersLocal(...o))},"Approve")])])):m("",!0),e[22]||(e[22]=t("div",{class:""}," Username ",-1)),t("div",Fe,[u(t("input",{type:"text","onUpdate:modelValue":e[3]||(e[3]=o=>s.member.username=o),ref:"username",class:"input-standard",disabled:s.loading},null,8,Qe),[[_,s.member.username]]),s.usernameError!==null?(n(),a("div",We,d(s.usernameError),1)):m("",!0)]),t("div",Re,[e[15]||(e[15]=p(" Email ",-1)),s.member.google_data!=null?(n(),a(f,{key:0},[p(" - registered via Google account ")],64)):m("",!0)]),t("div",Ge,[u(t("input",{type:"email","onUpdate:modelValue":e[4]||(e[4]=o=>s.member.email=o),ref:"email",class:"input-standard",disabled:s.loading},null,8,Je),[[_,s.member.email]]),s.emailError!==null?(n(),a("div",Ke,d(s.emailError),1)):m("",!0)]),e[23]||(e[23]=t("div",{class:"label-line"}," Registration confirmed? ",-1)),t("div",Xe,[u(t("input",{type:"radio",name:"input-confirmed",class:"mr-2","onUpdate:modelValue":e[5]||(e[5]=o=>s.isConfirmed=o),value:!0,id:"input-confirmed-yes",disabled:s.member.user_id==r.adminStore.getCurrUser.id},null,8,Ze),[[k,s.isConfirmed]]),e[16]||(e[16]=t("label",{for:"input-confirmed-yes",class:"text-base mr-8"},"Yes",-1)),u(t("input",{type:"radio",name:"input-confirmed",class:"mr-2","onUpdate:modelValue":e[6]||(e[6]=o=>s.isConfirmed=o),value:!1,id:"input-confirmed-no",disabled:s.member.user_id==r.adminStore.getCurrUser.id},null,8,$e),[[k,s.isConfirmed]]),e[17]||(e[17]=t("label",{for:"input-confirmed-no",class:"text-base"},"No",-1))]),e[24]||(e[24]=t("div",{class:"label-line"}," About ",-1)),t("div",et,[u(t("textarea",{"onUpdate:modelValue":e[7]||
1(e[7]=o=>s.member.about=o),class:"input-standard h-24"},null,512),[[_,s.member.about]])]),e[25]||(e[25]=t("div",{class:"label-line"},[t("label",null,"Site newsletter frequency")],-1)),t("div",tt,[u(t("input",{type:"radio",name:"input-newsletter",class:"mr-2","onUpdate:modelValue":e[8]||(e[8]=o=>s.member.newsletter_frequency=o),value:"weekly",id:"input-newsletter-weekly"},null,512),[[k,s.member.newsletter_frequency]]),e[18]||(e[18]=t("label",{for:"input-newsletter-weekly",class:"mr-8"},"Weekly",-1)),u(t("input",{type:"radio",name:"input-newsletter",class:"mr-2","onUpdate:modelValue":e[9]||(e[9]=o=>s.member.newsletter_frequency=o),value:"fortnightly",id:"input-newsletter-fortnghtly"},null,512),[[k,s.member.newsletter_frequency]]),e[19]||(e[19]=t("label",{for:"input-newsletter-fortnghtly",class:"mr-8"},"Fortnightly",-1)),u(t("input",{type:"radio",name:"input-newsletter",class:"mr-2","onUpdate:modelValue":e[10]||(e[10]=o=>s.member.newsletter_frequency=o),value:"monthly",id:"input-newsletter-monthly"},null,512),[[k,s.member.newsletter_frequency]]),e[20]||(e[20]=t("label",{for:"input-newsletter-monthly",class:"mr-8"},"Monthly",-1)),u(t("input",{type:"radio",name:"input-newsletter",class:"mr-2","onUpdate:modelValue":e[11]||(e[11]=o=>s.member.newsletter_frequency=o),value:"never",id:"input-newsletter-never"},null,512),[[k,s.member.newsletter_frequency]]),e[21]||(e[21]=t("label",{for:"input-newsletter-never",class:""},"Never",-1))]),t("div",st,[C(b,{onClick:l.submit,loading:s.loading,label:"Save",isFullWidth:!0},null,8,["onClick","loading"])])])])):m("",!0)])],2)}const lt=M(Ye,[["render",rt]]),ot={components:{SubmitButton:E},data(){return{loading:!1,visible:!1,emails:null,emailsError:null}},created(){},mounted(){this.eventBus.on("toggle-invite-panel",r=>{this.visible=!this.visible,this.visible&&this.$nextTick(()=>{this.$refs.emails.select(),this.$refs.emails.focus()})})},beforeDestroy(){this.eventBus.off("toggle-invite-panel")},computed:{...S(B)},methods:{closeInvitePanel(){this.eventBus.emit("toggle-invite-panel")},async submit(){let r=!0;this.emailsError=null,(this.emails==null||this.emails.trim().length==0)&&(this.emailsError="Please type in valid email addresses",r=!1),r&&(this.loading=!0,await I("/site/member/invite",{getWhat:"members",siteId:this.adminStore.getCurrSite.id,emails:this.emails},this.adminStore.getToken),this.closeInvitePanel(),this.eventBus.emit("notification-event",{type:"success",message:"Invitation sent successfully"}))}}},it={class:"fixed top-0 right-0 h-full bg-white w-full sm:w-3/4 md:w-2/3 lg:w-2/5",style:{"max-width":"500px","z-index":"21"}},nt={class:"absolute w-full",style:{height:"calc(100% - 0px)","overflow-y":"auto"}},at={class:"flex items-center justify-between bg-gray-100 px-4 h-16"},mt={class:"flex items-center"},dt={class:"p-4"},ut={class:"mt-4"},pt=["disabled"],bt={key:0,class:"input-error"},ct={class:"button-line"};function vt(r,e,i,w,s,l){const b=g("SubmitButton");return n(),a("div",{class:v({visible:s.visible,invisible:!s.visible})},[t("div",{class:"fixed top-0 left-0 w-full h-full bg-gray-800 opacity-50",style:{"z-index":"20"},onClick:e[0]||(e[0]=(...o)=>l.closeInvitePanel&&l.closeInvitePanel(...o))}),t("div",it,[t("div",nt,[t("div",at,[t("div",mt," Invite members to "+d(r.adminStore.getCurrSite.name),1),t("a",{href:"#",onClick:e[1]||(e[1]=y((...o)=>l.closeInvitePanel&&l.closeInvitePanel(...o),["prevent"])),class:"text-gray-700 hover:text-gray-600"},[...e[3]||(e[3]=[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"w-6 h-6"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)])])]),t("div",dt,[e[4]||(e[4]=t("div",{class:""}," Invite members to your site by typing their email addresses below. Please separate email addresses with either a comma or a new line. ",-1)),t("div",ut,[u(t("textarea",{"onUpdate:modelValue":e[2]||(e[2]=o=>s.emails=o),ref:"emails",class:"input-standard h-32",disabled:s.loading,placeholder:"Emails"},null,8,pt),[[_,s.emails]]),s.emailsError!==null?(n(),a("div",bt,d(s.emailsError),1)):m("",!0)]),t("div",ct,[C(b,{onClick:l.submit,loading:s.loading,label:"Submit",isFullWidth:!0},null,8,["onClick","loading"])])])])])],2)}const ht=M(ot,[["render",vt]]),gt={components:{MemberList:De,VPagination:N,MemberPanel:lt,InvitePanel:ht,NoData:H},watch:{$route:{immediate:!0,handler:async function(r,e){this.resetParams(),Ob
1ject.keys(r.params).length>0&&this.setParams(r.params),this.getData(),this.getNumApprovedAndUnapproved()}}},data(){return{site:null,members:null,selectedIds:[],params:{},searchQuery:"",currentPage:1,numUnapproved:null,numApproved:null}},async created(){this.site=this.adminStore.getCurrSite},mounted(){this.eventBus.on("get-members",this.getData),this.eventBus.on("get-num-approved-unapproved",this.getNumApprovedAndUnapproved),this.eventBus.on("selection-toggled",this.selectionToggled),this.eventBus.on("params-changed",this.paramsChanged)},unmounted(){this.eventBus.off("get-members"),this.eventBus.off("get-num-approved-unapproved"),this.eventBus.off("selection-toggled"),this.eventBus.off("params-changed")},computed:{...S(B),totalMembers(){return this.members==null||this.members.length==0?0:parseInt(this.members[0].total||this.members.length)}},methods:{formatNumber:U,updateHandler(r){this.paramsChanged([{key:"offset",value:this.params.limit*(r-1)}])},paramsChanged(r){for(let i=0;i<r.length;i++)this.params[r[i].key]=r[i].value;let e={name:"members-search",params:this.getSearchRouteParams()};this.$router.push(e)},resetParams(){this.params={getWhat:"members",tab:"approved",siteId:this.adminStore.getCurrSite.id,orderBy:"created_at",orderType:"desc",limit:50,offset:0,query:"all"},this.searchQuery=""},setParams(r){for(let e=0;e<Object.keys(r).length;e++){let i=Object.keys(r)[e];this.params[i]=["limit","offset"].includes(i)?parseInt(r[i]):r[i]}this.currentPage=(parseInt(this.params.offset)+parseInt(this.params.limit))/parseInt(this.params.limit),this.searchQuery=this.params.query&&this.params.query!="all"?this.params.query:""},getSearchRouteParams(){let r={siteId:this.site.id,tab:this.params.tab,orderBy:this.params.orderBy,orderType:this.params.orderType,limit:this.params.limit,offset:this.params.offset};return this.params.query&&this.params.query!="all"&&(r.query=this.params.query),r},searchMembers(){const r=this.searchQuery.trim();this.paramsChanged([{key:"query",value:r.length>0?r:"all"},{key:"offset",value:0}])},clearMemberSearch(){this.searchQuery="",this.paramsChanged([{key:"query",value:"all"},{key:"offset",value:0}])},selectionToggled(r){r.checked?this.selectedIds.indexOf(r.memberId)==-1&&this.selectedIds.push(r.memberId):this.selectedIds=this.selectedIds.filter(e=>e!==r.memberId)},async getData(){this.loading=!0;const r=await A("/site/member/data",this.params,this.adminStore.getToken);this.members=await r.body,this.loading=!1},async getNumApprovedAndUnapproved(){let e=await(await A("/site/member/num-approved-unapproved",this.params,this.adminStore.getToken)).body;this.numApproved=e[0].num_approved,this.numUnapproved=e[0].num_unapproved},deleteSelected(){this.$vfm.show("confirm-modal",{title:"Please confirm your action",message:"Are you sure you want to delete selected members and all of its data?",buttons:[{label:"Yes",color:"red",loadingViaLocal:!0,action:async()=>{await(await O("/site/member/delete",{siteId:this.adminStore.getCurrSite.id,memberIds:this.selectedIds},this.adminStore.getToken)).body,this.selectedIds=[],this.$vfm.hide("confirm-modal"),this.eventBus.emit("get-members"),this.eventBus.emit("get-num-approved-unapproved"),this.eventBus.emit("notification-event",{type:"success",message:"Members deleted successfully"})}},{label:"No",color:"gray",action:()=>{this.$vfm.hide("confirm-modal")}}]})},approveMembersLocal(){V(this.$vfm,this.selectedIds,this.eventBus,()=>{this.selectedIds=[]})}}},ft={class:"mt-10 flex w-full items-center"},yt={class:"ml-8 flex items-center space-x-4"},xt={class:"text-gray-800 text-sm"},wt={key:1,class:"mt-4"},kt={class:"-mb-px flex space-x-8","aria-label":"Tabs"},_t={class:"mt-4 pl-2 flex items-center text-sm"},Ct={class:"text-gray-500 mr-12"};function Mt(r,e,i,w,s,l){const b=g("NoData"),o=g("MemberList"),P=g("v-pagination"),q=g("MemberPanel"),D=g("InvitePanel");return n(),a(f,null,[t("div",ft,[e[9]||(e[9]=t("div",{class:"text-xl font-light flex items-center text-gray-600"},"Members",-1)),t("form",{class:"ml-8 flex items-center space-x-2","data-testid":"members-search-form",onSubmit:e[2]||(e[2]=y((...c)=>l.searchMembers&&l.searchMembers(...c),["prevent"]))},[e[8]||(e[8]=t("label",{class:"sr-only",for:"members-search"},"Search by username or email",-1)),u(t("input",{id:"members-search","onUpdate:modelValue":e[0]||(e[0]=c=>s.searchQuery=c),class:"w-72 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-800 placeholder:text-gray-400 focus:border-gray-500 focus:outline-none","data-testid":"members-search-input",placeholder:"Search by username or email",type:"search"},null,512),[[_,s.searchQuery]]),s.params.query&&s.params.query!="all"?(n(),a("button",{key:0,class:"text-sm text-gray-500 hover:text-gray-800 hover:underline","data-testid":"members-search-clear",type:"button",onClick:e[1]||(e[1]=(...c)=>l.clearMemberSearch&&l.clearMemberSearch(...c))},"Clear")):m("",!0)],32),t("div",yt,[s.selectedIds.length>0?(n(),a(f,{key:0},[t("div",xt,d(s.selectedIds.length)+" selected",1),s.params.tab=="unapproved"?(n(),a("button",{key:0,class:"text-sm text-green-600 hover:text-white bg-green-50 border border-green-600 px-4 hover:bg-green-600 py-1 rounded",onClick:e[3]||(e[3]=c=>l.approveMembersLocal())},"Approve")):m("",!0),t("button",{class:"text-sm text-red-600 hover:text-white bg-red-50 border border-red-600 px-4 hover:bg-red-600 py-1 rounded",onClick:e[4]||(e[4]=(...c)=>l.deleteSelected&&l.deleteSelected(...c))},"Delete")],64)):m("",!0)])]),s.members==null?(n(),a(f,{key:0},[],64)):m("",!0),s.site!=null&&s.site.accessSettings.is_private?(n(),a("div",wt,[t("nav",kt,[t("a",{href:"#",onClick:e[5]||(e[5]=y(c=>this.paramsChanged([{key:"tab",value:"approved"}]),["prevent"])),class:v({"flex py-3 px-1 border-b-2 text-sm":!0,"border-blue-500 text-blue-600":s.params.tab=="approved","border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-200":s.params.tab!="approved"})}
1,[e[10]||(e[10]=p("Approved ",-1)),s.numApproved!=null&&s.numApproved>0?(n(),a("span",{key:0,class:v({"hidden ml-3 py-0.5 px-2.5 rounded-full text-xs md:inline-block":!0,"bg-blue-100 text-blue-600":s.params.tab=="approved","bg-gray-200 text-gray-700":s.params.tab!="approved"})},d(s.numApproved),3)):m("",!0)],2),t("a",{href:"#",onClick:e[6]||(e[6]=y(c=>this.paramsChanged([{key:"tab",value:"unapproved"}]),["prevent"])),class:v({"flex py-3 px-1 border-b-2 text-sm":!0,"border-blue-500 text-blue-600":s.params.tab=="unapproved","border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-200":s.params.tab!="unapproved"})},[e[11]||(e[11]=p("Un-approved ",-1)),s.numUnapproved!=null&&s.numUnapproved>0?(n(),a("span",{key:0,class:v({"hidden ml-3 py-0.5 px-2.5 rounded-full text-xs md:inline-block":!0,"bg-blue-100 text-blue-600":s.params.tab=="unapproved","bg-gray-200 text-gray-700":s.params.tab!="unapproved"})},d(s.numUnapproved),3)):m("",!0)],2)])])):m("",!0),s.members!=null?(n(),a(f,{key:2},[s.members.length==0?(n(),x(b,{key:0},{default:h(()=>[...e[12]||(e[12]=[p(" No members found. ",-1)])]),_:1})):(n(),a(f,{key:1},[C(o,{members:s.members,site:r.adminStore.getCurrSite,orderBy:s.params.orderBy,orderType:s.params.orderType},null,8,["members","site","orderBy","orderType"]),t("div",_t,[t("div",Ct,d(l.totalMembers)+" found",1),l.totalMembers>s.params.limit?(n(),x(P,{key:0,modelValue:s.currentPage,"onUpdate:modelValue":[e[7]||(e[7]=c=>s.currentPage=c),l.updateHandler],pages:Math.ceil(l.totalMembers/s.params.limit),"range-size":1,"active-color":"#DCEDFF"},null,8,["modelValue","pages","onUpdate:modelValue"])):m("",!0)])],64)),C(q)],64)):m("",!0),C(D)],64)}const jt=M(gt,[["render",Mt]]);export{jt as default};

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.