1import{G,U as X}from"./followers-DLlxwaMb.js";import{e as Z,a as ee,f as ae,Y as oe,m as _,l as S,bm as te,j as b,h as w,k as e,R as U,o as h,s as u,i,t as s,w as l,ap as O,v as m,b0 as re,am as se,bi as le,c as v,an as ne,F as c,x as d,aa as ie}from"./main-BvDl5GqJ.js";import{_ as ue}from"./EmptyContent.vue_vue_type_script_setup_true_lang-DRIfsPeC.js";import{u as T,i as ce,b as de}from"./index-BGojD3NO.js";import{u as me}from"./head-BvuADw2P.js";const pe={key:1,class:"container mx-auto section"},fe={class:"flex gap-1"},_e={key:0},ve=["src"],ge={class:""},be={class:""},we={key:0},he={class:""},ke={class:"has-text-centered"},ye={class:"flex gap-2"},k=10,xe=Z({__name:"GroupFollowers",props:{preferredUsername:{}},setup(N){const x=N,D=v(()=>x.preferredUsername),p=T("page",1,ce),f=T("pending",!1,de),{result:V,fetchMore:M,loading:y}=ee(G,()=>({name:x.preferredUsername,followersPage:p.value,followersLimit:k,approved:!f.value})),n=v(()=>V.value?.group),g=v(()=>n.value?.followers??{total:0,elements:[]}),{t:a}=ae({useScope:"global"});me({title:v(()=>a("Group Followers"))});const Q=async()=>{console.debug("load more followers"),await M({variables:{name:_(n.value),followersPage:p.value,followersLimit:k,approved:!f.value}})},E=ne("notifier"),{onDone:I,onError:W,mutate:j}=oe(X,()=>({refetchQueries:[{query:G,variables:{name:_(n.value),followersPage:p.value,followersLimit:k,approved:!f.value}}]}));I(({data:r})=>{const t=r?.updateFollower,A=r?.updateFollower.approved===!0?a("{user}'s follow request was accepted",{user:S(t?.actor)}):a("{user}'s follow request was rejected",{user:S(t?.actor)});E?.success(A)}),W(r=>{console.error(r),r.graphQLErrors&&r.graphQLErrors.length>0&&E?.error(r.graphQLErrors[0].message)});const F=async(r,t)=>{j({id:r.id,approved:t})},q=v(()=>B(ie.ADMINISTRATOR)),B=r=>{const t=Array.isArray(r)?r:[r];return L.value?.total>0&&t.includes(L.value?.elements[0].role)},L=v(()=>$.value?.memberships??{total:0,elements:[]}),{person:$}=te(D.value);return(r,t)=>{const A=c("breadcrumbs-nav"),z=c("o-loading"),Y=c("o-switch"),H=c("o-field"),R=c("o-table-column"),C=c("o-button"),J=c("o-table"),K=c("o-notification");return d(),b("div",null,[n.value?(d(),w(A,{key:0,links:[{name:e(U).GROUP,params:{preferredUsername:e(_)(n.value)},text:e(S)(n.value)},{name:e(U).GROUP_SETTINGS,params:{preferredUsername:e(_)(n.value)},text:e(a)("Settings")},{name:e(U).GROUP_FOLLOWERS_SETTINGS,params:{preferredUsername:e(_)(n.value)},text:e(a)("Followers")}]},null,8,["links"])):h("",!0),u(z,{active:e(y)},null,8,["active"]),n.value&&q.value&&g.value?(d(),b("section",pe,[i("h1",null,s(e(a)("Group Followers"))+" ("+s(g.value.total)+")",1),u(H,{label:e(a)("Status"),horizontal:""},{default:l(()=>[u(Y,{modelValue:e(f),"onUpdate:modelValue":t[0]||(t[0]=o=>O(f)?f.value=o:null)},{default:l(()=>[m(s(e(a)("Pending")),1)]),_:1},8,["modelValue"])]),_:1},8,["label"]),u(J,{data:g.value.elements,ref:"queueTable",loading:e(y),paginated:"","backend-pagination":"","current-page":e(p),"onUpdate:currentPage":t[1]||(t[1]=o=>O(p)?p.value=o:null),"pagination-simple":!0,"aria-next-label":e(a)("Next page"),"aria-previous-label":e(a)("Previous page"),"aria-page-label":e(a)("Page"),"aria-current-label":e(a)("Current page"),total:g.value.total,"per-page":k,"backend-sorting":"","default-sort-direction":"desc","default-sort":["insertedAt","desc"],onPageChange:Q,onSort:t[2]||(t[2]=(o,P)=>r.$emit("sort",o,P))},{empty:l(()=>[u(ue,{icon:"account",inline:""},{default:l(()=>[m(s(e(a)("No follower matches the filters")),1)]),_:1})]),default:l(()=>[u(R,{field:"actor.preferredUsername",label:e(a)("Follower")},{default:l(o=>[i("article",fe,[o.row.actor.avatar?(d(),b("figure",_e,[i("img",{class:"rounded",src:o.row.actor.avatar.url,alt:"",width:"48",height:"48"},null,8,ve)])):(d(),w(re,{key:1,size:48})),i("div",ge,[i("div",be,[o.row.actor.name?(d(),b("span",we,s(o.row.actor.name),1)):h("",!0),t[3]||(t[3]=i("br",null,null,-1)),i("span",he,"@"+s(e(_)(o.row.actor)),1)])])])]),_:1},8,["label"]),u(R,{field:"insertedAt",label:e(a)("Date")},{default:l(o=>[i("span",ke,[m(s(e(se)(o.row.insertedAt)),1),t[4]||(t[4]=i("br",null,null,-1)),m(s(e(le)(o.row.insertedAt)),1)])]),_:1},8,["label"]),u(R,{field:"actions",label:e(a)("Actions")},{default:l(o=>[i("div",ye,[o.row.approved?h("",!0):(d(),w(C,{key:0,onClick:P=>
1F(o.row,!0),"icon-left":"check",variant:"success"},{default:l(()=>[m(s(e(a)("Accept")),1)]),_:1},8,["onClick"])),u(C,{onClick:P=>F(o.row,!1),"icon-left":"close",variant:"danger"},{default:l(()=>[m(s(e(a)("Reject")),1)]),_:1},8,["onClick"])])]),_:1},8,["label"])]),_:1},8,["data","loading","current-page","aria-next-label","aria-previous-label","aria-page-label","aria-current-label","total"])])):!e(y)&&n.value?(d(),w(K,{key:2},{default:l(()=>[m(s(e(a)("You are not an administrator for this group.")),1)]),_:1})):h("",!0)])}}});export{xe as default}; 2//# sourceMappingURL=GroupFollowers-DfHpOPGE.js.map
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.