1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1494],{52338:function(e,n,t){t.d(n,{BT:function(){return H},Jk:function(){return M},Od:function(){return v},RZ:function(){return N},VK:function(){return p},Vz:function(){return S},Yu:function(){return U},_d:function(){return d},v1:function(){return q}});var r,s,i,d,u=t(82729),o=t(64321),a=t(6647),c=t(82066),l=t(31717),m=t(94281),_=t(41202);function y(){let e=(0,u._)(['\n query getCommunities(\n $offset: Int = 0, \n $limit: Int = 10, \n $communityName: String = "%%", \n $sorts: [atticcdev_community_order_by!], \n $snapshotCheck:Boolean! = false\n ) @cached(ttl: 600){\n atticcdev_community(\n limit: $limit\n offset: $offset\n order_by: $sorts\n where: {\n name: {_ilike: $communityName}\n ',"\n }) {\n address\n coverUrl\n bannerUrl\n createdAt\n name\n updatedAt\n website\n twitterHandler\n memberCount\n twitterHandler\n website\n members_aggregate(distinct_on: userAddress) @include(if: $snapshotCheck) ","\n nfts(limit: 1) {\n status\n }\n }\n }\n"]);return y=function(){return e},e}function f(){let e=(0,u._)(["\n query getCommunity($address: String!) {\n atticcdev_community_by_pk(address: $address) {\n address\n bannerUrl\n coverUrl\n createdAt\n description\n isUnsupportedNetwork\n memberCount\n ","\n moderatorAddresses\n name\n organizerAddress\n rules\n twitterHandler\n updatedAt\n website\n }\n }\n"]);return f=function(){return e},e}function $(){let e=(0,u._)(['\n mutation createCommunity(\n $name: String = ""\n $description: String = ""\n $address: String = ""\n $coverUrl: String = ""\n $bannerUrl: String = ""\n $organizerAddress: String = ""\n $network: atticcdev_NETWORK_TYPE_enum = Ethereum\n ) {\n insert_atticcdev_community(\n objects: {\n address: $address\n description: $description\n name: $name\n coverUrl: $coverUrl\n bannerUrl: $bannerUrl\n organizerAddress: $organizerAddress\n network: $network\n }\n ) {\n returning {\n address\n }\n }\n }\n']);return $=function(){return e},e}function g(){let e=(0,u._)(['\n mutation updateCommunity(\n $address: String = ""\n $bannerUrl: String = ""\n $coverUrl: String = ""\n $description: String = ""\n $rules: String = ""\n $twitterHandler: String = ""\n $website: String = ""\n ) {\n update_atticcdev_community_by_pk(\n pk_columns: { address: $address }\n _set: {\n bannerUrl: $bannerUrl\n coverUrl: $coverUrl\n description: $description\n rules: $rules\n twitterHandler: $twitterHandler\n website: $website\n }\n ) {\n address\n }\n }\n']);return g=function(){return e},e}function A(){let e=(0,u._)(['\n mutation updateCommunity($address: String = "", $name: String = "") {\n update_atticcdev_community_by_pk(pk_columns: { address: $address }, _set: { name: $name }) {\n address\n }\n }\n']);return A=function(){return e},e}function w(){let e=(0,u._)(['\n mutation updateCommunity($address: String = "", $moderatorAddresses: json = "") {\n update_atticcdev_community_by_pk(\n pk_columns: { address: $address }\n _set: { moderatorAddresses: $moderatorAddresses }\n ) {\n address\n }\n }\n']);return w=function(){return e},e}(r=i||(i={})).createdAt="createdAt",r.memberCount="memberCount";let v={newest:{label:"Newest",sort:[{[i.createdAt]:"desc"}]},oldest:{label:"Oldest",sort:[{[i.createdAt]:"asc"}]},members:{label:"Members",sort:[{[i.memberCount]:"desc"}]}};(s=d||(d={})).MEMBER="MEMBER",s.HOLDER="HOLDER",s.MODERATOR="MODERATOR",s.ORGANIZER="ORGANIZER";let h="\n{\n userAddress\n role\n user {\n domain\n nickname\n isAvatarVerified\n }\n}\n",b=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];
1return(0,a.gql)(y(),e?"":"memberCount: {_gt: 0}",m.H)},E=async e=>{let{limit:n=12,offset:t=0,communityName:r="%%",sorts:s=v.members.sort,snapshotCheck:i=!1}=e;try{let{atticcdev_community:e}=await (0,a.request)(o.lT,b(i),{offset:t,limit:n,communityName:r,sorts:s,snapshotCheck:i},(0,l.w)());return e}catch(e){return[]}};function p(e){let{address:n,limit:t=12,offset:r=0,communityName:s="%%",sortKey:i="members",...d}=e;return(0,c.useInfiniteQuery)(["communities",String(n),s,i],async e=>{let{pageParam:n}=e;return E({limit:t,offset:n?n*t:r,communityName:s,sorts:(0,_.ke)(v,i,v.members).sort})},{refetchOnWindowFocus:!1,retryOnMount:!1,...d})}let R=e=>(0,a.gql)(f(),e?"":"\n holders_aggregate(where: { role: { _eq: HOLDER } }) ".concat(m.H,"\n holders(where: { role: { _eq: HOLDER } }, limit:200) ").concat(h,"\n members_aggregate(where: {role: {_eq: MEMBER}}) ").concat(m.H,"\n members(where: {role: {_eq: MEMBER}}, limit:200) ").concat(h,"\n moderators_aggregate(where: { role: { _in: [MODERATOR, ORGANIZER] } }) ").concat(m.H,"\n moderators(where: { role: { _in: [MODERATOR, ORGANIZER] } }) ").concat(h,"\n ")),q=async e=>{let{address:n="",adminToken:t,ssr:r=!1}=e;try{let{atticcdev_community_by_pk:e}=await (0,a.request)(o.lT,R(r),{address:n},(0,l.w)(t));return e}catch(e){return}};function M(e){let{address:n="",...t}=e;return(0,c.useQuery)(["community",n],async()=>q({address:n}),{refetchOnWindowFocus:!1,...t})}let O=(0,a.gql)($()),S=async e=>{let{address:n="",name:t="",coverUrl:r="",bannerUrl:s="",description:i="",organizerAddress:d="",network:u="Ethereum"}=e;try{let{insert_atticcdev_community:e}=await (0,a.request)(o.lT,O,{address:n,name:t,coverUrl:r,bannerUrl:s,description:i,organizerAddress:d,network:u},(0,l.w)());return e}catch(e){throw Error("Failed to create community, ",null==e?void 0:e.message)}},C=(0,a.gql)(g()),T=(0,a.gql)(A()),k=(0,a.gql)(w()),U=async e=>{let{address:n="",coverUrl:t="",bannerUrl:r="",description:s="",rules:i="",twitterHandler:d="",website:u=""}=e;try{let{insert_atticcdev_community:e}=await (0,a.request)(o.lT,C,{address:n,coverUrl:t,description:s,rules:i,bannerUrl:r,website:u,twitterHandler:d},(0,l.w)());return e}catch(e){throw Error("Failed to update community, ",null==e?void 0:e.message)}},H=async e=>{let{address:n="",name:t=""}=e;try{let{insert_atticcdev_community:e}=await (0,a.request)(o.lT,T,{address:n,name:t},(0,l.w)());return e}catch(e){throw Error("Failed to update community, ",null==e?void 0:e.message)}},N=async e=>{let{address:n="",moderatorAddresses:t=""}=e;try{let{insert_atticcdev_community:e}=await (0,a.request)(o.lT,k,{address:n,moderatorAddresses:t},(0,l.w)());return e}catch(e){throw Error("Failed to update community, ",null==e?void 0:e.message)}}},91778:function(e,n,t){t.d(n,{Lm:function(){return p},W_:function(){return q},Wr:function(){return R},Y4:function(){return h},o7:function(){return b},tS:function(){return E}});var r=t(82729),s=t(64321),i=t(6647),d=t(82066),u=t(52338),o=t(31717);function a(){let e=(0,r._)(['\n mutation joinCommunity(\n $communityAddress: String = ""\n $userAddress: String = ""\n $role: atticcdev_COMMUNITY_ROLE_enum = MEMBER\n ) {\n insert_atticcdev_community_membership(\n objects: { communityAddress: $communityAddress, userAddress: $userAddress, role: $role }\n ) {\n returning {\n id\n }\n }\n }\n']);return a=function(){return e},e}function c(){let e=(0,r._)(['\n mutation leaveCommunity($communityAddress: String = "", $userAddress: String = "") {\n delete_atticcdev_community_membership(\n where: { communityAddress: { _eq: $communityAddress }, userAddress: { _eq: $userAddress } }\n ) {\n returning {\n id\n }\n }\n }\n']);return c=function(){return e},e}function l(){let e=(0,r._)(['\n mutation deleteCommunityRole(\n $communityAddress: String = ""\n $userAddress: String = ""\n $role: atticcdev_COMMUNITY_ROLE_enum = MEMBER\n ) {\n delete_atticcdev_community_membership(\n where: { communityAddress: { _eq: $communityAddress }, userAddress: { _eq: $userAddress }, role: { _eq: $role } }\n ) {\n returning {\n id\n }\n }\n }\n']);return l=function(){return e},e}function m(){let e=(0,r._)(['\n query isMember($communityAddress: String = "", $userAddress: String = "") {\n atticcdev_community_membership(\n where: { _and: [{ communityAddress: { _eq: $communityAddress } }, { userAddress: { _eq: $userAddress } }] }\n ) {\n id\n role\n }\n }\n']);return m=function(){return e},e}function _(){let e=(0,r._)(['\n mutation updateRole(\n $userAddress: String = ""\n $communityAddress: String = ""\n $previousRole: atticcdev_COMMUNITY_ROLE_enum\n $role: atticcdev_COMMUNITY_ROLE_enum = MODERATOR\n ) {\n update_atticcdev_community_membership(\n where: {\
1n userAddress: { _eq: $userAddress }\n communityAddress: { _eq: $communityAddress }\n role: { _eq: $previousRole }\n }\n _set: { role: $role }\n ) {\n affected_rows\n }\n }\n']);return _=function(){return e},e}function y(){let e=(0,r._)(['\n query getCommunityMembersWithPagination(\n $communityAddress: String = ""\n $limit: Int = 10\n $offset: Int = 0\n $role: atticcdev_COMMUNITY_ROLE_enum = MEMBER\n ) {\n atticcdev_community_membership(\n where: { _and: [{ communityAddress: { _eq: $communityAddress } }, { role: { _eq: $role } }] }\n limit: $limit\n offset: $offset\n ) {\n userAddress\n }\n }\n']);return y=function(){return e},e}let f=(0,i.gql)(a()),$=(0,i.gql)(c()),g=(0,i.gql)(l()),A=(0,i.gql)(m());(0,i.gql)(_());let w=(0,i.gql)(y()),v=async e=>{let{communityAddress:n="",limit:t=10,offset:r=0,role:d=u._d.MEMBER}=e;try{let{atticcdev_community_membership:e}=await (0,i.request)(s.lT,w,{communityAddress:n,limit:t,offset:r,role:d},(0,o.w)());return e}catch(e){return[]}},h=e=>{let{communityAddress:n="",limit:t=10,offset:r=0,role:s=u._d.MEMBER,...i}=e;return(0,d.useInfiniteQuery)(["community-members",n,s],async e=>{let{pageParam:i}=e;return v({communityAddress:n,offset:i?i*t:r,limit:t,role:s})},{refetchOnWindowFocus:!1,retryOnMount:!1,...i})},b=async e=>{let{userAddress:n="",communityAddress:t=""}=e;try{let{atticcdev_community_membership:e}=await (0,i.request)(s.lT,A,{communityAddress:t,userAddress:n},(0,o.w)());return e}catch(e){return}},E=e=>{let{userAddress:n="",communityAddress:t="",...r}=e;return(0,d.useQuery)(["community-membership",t,n],async()=>b({userAddress:n,communityAddress:t}),{enabled:!1,...r})},p=async e=>{let{userAddress:n="",communityAddress:t="",role:r=u._d.MEMBER}=e;try{let{insert_atticcdev_community_membership:e}=await (0,i.request)(s.lT,f,{role:r,communityAddress:t,userAddress:n},(0,o.w)());return e}catch(e){return}},R=async e=>{let{userAddress:n="",communityAddress:t=""}=e;try{let{delete_atticcdev_community_membership:e}=await (0,i.request)(s.lT,$,{communityAddress:t,userAddress:n},(0,o.w)());return e}catch(e){return}},q=async e=>{let{userAddress:n="",communityAddress:t="",role:r}=e;try{let{delete_atticcdev_community_membership:e}=await (0,i.request)(s.lT,g,{communityAddress:t,userAddress:n,role:r},(0,o.w)());return e}catch(e){return}}},94281:function(e,n,t){t.d(n,{H:function(){return r}});let r=" {\n aggregate {\n count\n }\n }"},41494:function(e,n,t){t.d(n,{Ds:function(){return _},GZ:function(){return y},Wm:function(){return l}});var r=t(52903),s=t(52338),i=t(91778),d=t(2784),u=t(41202),o=t(28093),a=t(820),c=t(64321);t(28879);let l=e=>!1,m=(0,d.createContext)({joined:!1,setJoined:()=>void 0,address:void 0,handleJoinCommunity:()=>void 0,refetchCommunity:()=>void 0}),_=e=>{let{community:n,children:t,refresh:_}=e,{address:y,setOpenPopup:f,network:$}=(0,o.Z)(),[g,A]=(0,d.useState)(!1),{data:w,refetch:v}=(0,i.tS)({userAddress:String(y),communityAddress:null==n?void 0:n.address});(0,d.useEffect)(()=>{_&&_(),(0,u.wT)(y)&&(0,u.wT)(null==n?void 0:n.address)&&v(),A(!!(null==w?void 0:w.length))},[w,y,null==n?void 0:n.address]);let{data:h,refetch:b}=(0,s.Jk)({address:String(null==n?void 0:n.address),initialData:n,enabled:!1}),E=async(e,n)=>{e.preventDefault(),e.stopPropagation();let t=(0,u.P8)(String(y));if(!l(t))try{var r,d;if(g)await (0,i.Wr)({userAddress:t,communityAddress:null==h?void 0:h.address}),A(!1);else{t===(null==h?void 0:h.organizerAddress)&&await (0,i.Lm)({userAddress:t,communityAddress:null==h?void 0:h.address,role:s._d.ORGANIZER}),(null==h?void 0:null===(r=h.moderatorAddresses)||void 0===r?void 0:r.includes(t))&&await (0,i.Lm)({userAddress:t,communityAddress:null==h?void 0:h.address,role:s._d.MODERATOR});let{data:{isHolderOfCollection:e}}=await a.k4.isHolderOfCollection({baseUrl:null===(d=c.xL.urls)||void 0===d?void 0:d.alchemy,params:{wallet:y,contractAddress:null==h?void 0:h.address}}),n=e?s._d.HOLDER:s._d.MEMBER;await (0,i.Lm)({userAddress:t,communityAddress:null==h?void 0:h.address,role:n}),A(!0)}}catch(e){}finally{b(),n&&n()}};return(0,r.tZ)(m.Provider,{value:{communityInfo:h,joined:g,setJoined:A,address:y,handleJoinCommunity:(e,n)=>{null===y?(e.preventDefault(),e.stopPropagation(),f(!0)):E(e,n)},refetchCommunity:b},children:t})},y=()=>{let e=(0,d.useContext)(m);if(void 0===e)throw Error("useJoinCommunity must be used within an JoinCommunityProvider");let{joined:n,setJoined:t,address:r,communityInfo:s,handleJoinCommunity:i,refetchCommunity:u}=e;return{joined:n,setJoined:t,address:r,communityInfo:s,handleJoinCommunity:i,refetchCommunity:u}}}}]);
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.