1import{_ as A}from"./text.27394f32.js";import{_ as C}from"./avatar.0bf8ffb1.js";import{_ as q,i as $,o as a,a as u,w as n,e as c,j as f,d as _,t as g,c as b,R as x,V as w,b as h,S as B,k as M,N as R,F as j,r as v,g as y,u as N,L,s as V,z as O,D as z,Q as D,l as S}from"./entry.d93a3ed3.js";import{_ as U}from"./select.523bbe94.js";import{V as E,a as F}from"./VListItem.42ed339b.js";import{V as T}from"./VList.58cb0795.js";import{_ as G}from"./snackbar.44d1b377.js";import{r as Q}from"./reportError.2ce2be7c.js";import{V as H}from"./VBadge.a457859f.js";import"./award-overlay.19e783f8.js";import"./VTooltip.ac2fda69.js";import"./VOverlay.8c4e1463.js";import"./forwardRefs.e658ad70.js";import"./VAvatar.b632f07f.js";import"./avatar.7f7d4d85.js";import"./img.910e3f09.js";import"./nuxt-link.27d1e1a1.js";import"./field.fb618caf.js";import"./VSelect.e3908e59.js";import"./VTextField.dd8ba950.js";import"./VField.80389ccf.js";import"./index.ad65ad69.js";import"./VLabel.96d1ac2b.js";import"./VInput.687065d2.js";import"./dialog-transition.9f9b6364.js";import"./VMenu.7149688b.js";import"./VCheckboxBtn.b4098672.js";import"./VSelectionControl.084d68e4.js";import"./VChip.805d40d9.js";import"./createSimpleFunctional.fc1433ea.js";import"./ssrBoot.58070f5c.js";import"./VDivider.bd007436.js";import"./VSnackbar.5ca9b11f.js";const J={props:{loading:{type:Boolean,default:!1},membershipRequest:{type:Object,default:()=>({})}},emits:["accepted","rejected"],data:()=>({accepting:!1,accepted:!1,rejecting:!1,rejected:!1,role:"member"}),computed:{actioned(){return this.accepted||this.rejected},communityId(){return this.$route.params.id},roleOptions(){return[{title:"Member",value:"member"},{title:"Administrator",value:"administrator"},{title:"Owner",value:"owner"}]},userRoute(){var e,s;return(e=this.user)!=null&&e.slug?{name:"p-id",params:{id:(s=this.user)==null?void 0:s.slug}}:null},user(){var e;return((e=this.membershipRequest)==null?void 0:e.requestor)||{}}},methods:{...$("communities/membershipRequests",["accept","reject"]),async acceptRequest(){this.accepting=!0,this.rejecting=!1;try{await this.accept({id:this.membershipRequest.id,communityId:this.communityId,role:this.role}),this.accepted=!0,this.$emit("accepted",this.membershipRequest.id)}catch{this.error=!0}finally{this.accepting=!1}},async rejectRequest(){this.accepting=!1,this.rejecting=!0;try{await this.reject({id:this.membershipRequest.id,communityId:this.communityId,role:this.role}),this.rejected=!0,this.$emit("rejected",this.membershipRequest.id)}catch{this.error=!0}finally{this.rejecting=!1}}}},K={class:"d-flex flex-grow-1 flex-shrink-0 align-center gap-2 pa-0 profile",style:{"min-width":"100px"}},P={class:"text-truncate flex-grow-1 font-weight-bold",style:{"max-width":"450px"}},W={class:"text-truncate d-none d-md-block",style:{"max-width":"240px"}},X={key:1,class:"d-flex justify-end align-self-stretch align-center flex-shrink-0 role"},Y={class:"d-flex gap-2 align-self-stretch align-center justify-end actions"};function Z(e,s,m,t,i,r){const l=A,o=C,d=B,p=U,k=M;return a(),u(F,{class:"d-community-membership-request-list-item py-3 px-0 px-md-3",to:r.userRoute},{default:n(()=>[c(E,{class:"d-flex flex-md-row flex-column align-start align-md-center gap-md-4 gap-2"},{default:n(()=>[m.loading?(a(),u(l,{key:0})):f("",!0),_("div",K,[c(d,null,{default:n(()=>[c(o,{class:"me-4",loading:m.loading,optimised:{xs:"40px"},size:"40",user:r.user,"show-award":""},null,8,["loading","user"])]),_:1}),_("span",P,g(r.user.name),1),_("span",W,g(r.user.description),1)]),r.actioned?f("",!0):(a(),b("div",X,[c(p,{modelValue:e.role,"onUpdate:modelValue":s[0]||(s[0]=I=>e.role=I),items:r.roleOptions,variant:"outlined",density:"compact","hide-details":"",class:"flex-grow-1 flex-md-grow-0 fill-width"},null,8,["modelValue","items"])])),_("div",Y,[e.rejected?f("",!0):(a(),u(k,{key:0,style:{"min-width":"112px"},class:"py-0 px-1 text-body-2 flex-grow-1 flex-md-grow-0",flat:"",color:"primary",height:"32",loading:e.accepting,disabled:e.rejecting||r.actioned,onClick:x(r.acceptRequest,["prevent"])},{default:n(()=>[c(w,{start:""},{default:n(()=>[h("check")]),_:1}),h(" "+g(e.accepted?"Accepted":"Accept"),1)]),_:1},8,["loading","disabled","onClick"])),e.accepted?f("",!0):(a(),u(k,{key:1,style:{"min-width":"112px"},class:"py-0 px-1 text-body-2 flex-grow-1 flex-md-grow-0",flat:"",color:"error",height:"32",loading:e.rejecting,disabled:e.accepting||r.actioned,onClick:x(r.rejectRequest,["prevent"])},{default:n(()=>[c(w,{start:""},{default:n(()=>[h("close")]),_:1}),h(" "+g(e.rejected?"Rejected":"Reject"),1)]),_:1},8,["loading","disabled","onClick"]))])]),_:1})]),_:1},8,["to"])}const ee=q(J,[["render",Z],["__scopeId","data-v-39891326"]]),te={props:{count:{type:Number,default:6},loading:{type:Boolean,default:!1},membershipRequests:{type:Array,default:null}},emits:["accepted","rejected"]};function se(e,s,m,t,i,r){const l=ee;return a(),u(T,{class:"d-community-membership-request-list"},{default:n(()=>[R(e.$slots,"before"),m.loading?(a(!0),b(j,{key:0},v(m.count,o=>(a(),u(l,{key:o,loading:""}))),128)):(a(!0),b(j,{key:1},v(m.membershipRequests,o=>(a(),u(l,{key:o.id,"membership-request":o,onAccepted:s[0]||(s[0]=d=>e.$emit("accepted",d)),onRejected:s[1]||(s[1]=d=>e.$emit("rejected",d))},null,8,["membership-request"]))),128)),R(e.$slots,"after")]),_:3})}const re=q(te,[["render",se]]),ie={key:0,class:"mt-12 text-center"},oe={data:()=>({acceptSnackbar:!1,rejectSnackbar:!1}),computed:{...y("communities/membershipRequests",["hasMore","retrieving"]),...y("communities/membershipRequests",["membershipRequests"])},methods:{...$("communities/membershipRequests",["retrieveMore"]),intersectMore(e){e&&!this.retrieving&&this.retrieveMore()}}},ne=Object.assign(oe,{__name:"membership-requests",async setup(e){let s,m;try{const t=N(),i=L(),r=`communities/${t.params.id}/membership_requests`,{data:l,error:o,headers:d}=([s,m]=V(()=>O(r,{params:{per_page:24}})),s=await s,m(),s);if(o.value)throw o.value;[s,m]=V(()=>i.dispatch("communities/membershipRequests/loadMany",{data:l.value,links:d.links,reset:!0,total:d.total})),await s,m();const p=i.getters["communities/membershipRequests/membershipRequests"]}catch(t){Q(t)}return(t,i)=>{const r=re,l=M,o=G,d=S;return a(),u(d,{class:"pa-0",max:"md"},{default:n(()=>[c(r,{loading:t.retrieving&&t.membershipRequests.length==0,"membership-requests":t.membershipRequests,onAccepted:i[0]||(i[0]=p=>t.acceptSnackbar=!0),onRejected:i[1]||(i[1]=p=>t.rejectSnackbar=!0)},null,8,["loading","membership-requests"]),t.hasMore?z((a(),b("div",ie,[c(l,{loading:t.retrieving,size:"x-large",variant:t.retrieving?"plain":"flat",primary:"",onClick:t.retrieveMore},{default:n(()=>[h(" Show more ")]),_:1},8,["loading","variant","onClick"])])),[[D,{handler:t.intersectMore,options:{rootMargin:"800px"}}]]):f("",!0),c(o,{modelValue:t.acceptSnackbar,"onUpdate:modelValue":i[2]||(i[2]=p=>t.acceptSnackbar=p)},{default:n(()=>[h(" Membership request accepted ")]),_:1},8,["modelValue"]),c(o,{modelValue:t.rejectSnackbar,"onUpdate:modelValue":i[3]||(i[3]=p=>t.rejectSnackbar=p)},{default:n(()=>[h(" Membership request denied ")]),_:1},8,["modelValue"])]),_:1})}}}),ae=ne,me={data:()=>({tab:0}),computed:{...y("communities",["community"])}},ce={class:"d-flex align-center align-self-stretch pa-0"},le={class:"d-flex align-center gap-2"},de=_("h1",{class:"text-subtitle-1 font-weight-bold"},"Membership requests",-1);function ue(e,s,m,t,i,r){const l=ae,o=S;return a(),u(o,{max:"md",class:"px-4"},{default:n(()=>[_("div",ce,[_("div",le,[de,c(H,{class:"ms-1 font-weight-bold",density:"comfortable",inline:"",color:"pastel-purple","text-color":"bright-blue",content:e.community.counts.membershipRequests},null,8,["content"])])]),c(l)]),_:1})}const He=q(me,[["render",ue]]);export{He 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.