1import{c as I,r as p,j as a,t as r,g,L as _}from"./index-R8czvG1X.js";import{B as m}from"./button-CN9Sy5Px.js";import{I as T}from"./input-DlggvsYU.js";import{C as b,a as N,b as Q,c as R}from"./card-qMEniP19.js";import{B as A}from"./badge-CkNjF6mV.js";import{S as v,a as w,b as M,c as P,d as c}from"./select-DEoeyzDp.js";import{i as V,h as H}from"./dateUtils-B1EXsZDh.js";import{S as F}from"./shield-CdgAD-We.js";import{E as X}from"./external-link-CF7ngp9f.js";import{C as J}from"./chart-column-DACmqoPu.js";import{U as L}from"./users-BFNKezsL.js";import{F as U}from"./file-text-DysfQOip.js";import{G as E}from"./globe-CcrIAhSW.js";import{U as K}from"./user-x-Bzvmckey.js";import{M as W}from"./message-circle-D66Wluhl.js";import{U as Y}from"./user-check-BY35I-8h.js";import{L as k}from"./loader-circle-PIG8j-EI.js";import{T as Z}from"./trending-up-DUnP76lE.js";import{S as B}from"./search-QR85g2wy.js";import{C as q}from"./circle-user-CrjYVJIG.js";import{E as O}from"./eye-DfEFjpWq.js";import{P as aa}from"./pencil-CHpAGtjx.js";import{C as ea}from"./circle-check-big-kvONIi9Q.js";import{T as G}from"./trash-2-D3hLg0db.js";import{C as z}from"./chevron-left-BJ5-To8L.js";import{C as D}from"./chevron-right-ChFbnEau.js";import"./useComposition-volXkpnu.js";import"./index-dO5cnIuV.js";import"./index-BfWiRlAG.js";import"./x-CQeAdpYC.js";import"./index-B9NsR3ST.js";import"./index-BAV9QU__.js";import"./chevron-down-DZD7UKVh.js";import"./check-D2Tk7zrO.js";import"./chevron-up-C9zFlvp9.js";/** 2 * @license lucide-react v0.453.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const $=I("Ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]]);/** 7 * @license lucide-react v0.453.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const sa=I("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);function Oa(){const[d,h]=p.useState("dashboard");return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:24",className:"space-y-6",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:26",className:"flex items-center justify-between",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:27",children:[a.jsxs("h1",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:28",className:"text-2xl font-bold flex items-center gap-2",children:[a.jsx(F,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:29",className:"w-6 h-6 text-indigo-600"}),"Moderação da Comunidade"]}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:32",className:"text-gray-500 text-sm mt-0.5",children:"Clube Atlântida â gestão e moderação de membros, publicações e grupos"})]}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:34",variant:"outline",size:"sm",asChild:!0,children:a.jsxs("a",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:35",href:"/clube-atlantida",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5",children:[a.jsx(X,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:36",className:"w-3.5 h-3.5"}),"Ver Clube"]})})]}),a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:43",className:"flex gap-1 border-b",children:[{id:"dashboard",label:"Dashboard",icon:J},{id:"membros",label:"Membros",icon:L},{id:"posts",label:"Publicações",icon:U},{id:"grupos",label:"Grupos",icon:E}].map(({id:n,label:x,icon:t})=>a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:50",onClick:()=>h(n),className:`flex items-center gap-2 px-4 py-2.5 text-sm font-medium border-b-2 transition-colors -mb-px ${d===n?"border-indigo-600 text-indigo-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}`,children:[a.jsx(t,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:59",className:"w-4 h-4"}),x]}
11,n))}),d==="dashboard"&&a.jsx(ia,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:66"}),d==="membros"&&a.jsx(da,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:67"}),d==="posts"&&a.jsx(ta,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:68"}),d==="grupos"&&a.jsx(na,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:69"})]})}function ia(){const{data:d,isLoading:h}=r.community.adminStats.useQuery(),n=[{label:"Total Membros",value:d?.totalMembers??0,icon:L,color:"blue",sub:`+${d?.newMembersToday??0} hoje`},{label:"Membros Banidos",value:d?.bannedMembers??0,icon:K,color:"red",sub:"em quarentena"},{label:"Publicações",value:d?.totalPosts??0,icon:U,color:"purple",sub:`+${d?.postsToday??0} hoje`},{label:"Grupos",value:d?.totalGroups??0,icon:E,color:"green",sub:"grupos activos"},{label:"Mensagens",value:d?.totalMessages??0,icon:W,color:"orange",sub:"trocadas"},{label:"Membros Activos",value:(d?.totalMembers??0)-(d?.bannedMembers??0),icon:Y,color:"teal",sub:"não banidos"}],x={blue:"bg-blue-50 text-blue-600",red:"bg-red-50 text-red-600",purple:"bg-purple-50 text-purple-600",green:"bg-green-50 text-green-600",orange:"bg-orange-50 text-orange-600",teal:"bg-teal-50 text-teal-600"};return h?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:99",className:"flex items-center justify-center py-16",children:a.jsx(k,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:100",className:"w-6 h-6 animate-spin text-indigo-600"})}):a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:106",className:"space-y-6",children:[a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:107",className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:n.map(t=>a.jsx(b,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:109",className:"hover:shadow-md transition-shadow",children:a.jsxs(N,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:110",className:"p-4",children:[a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:111",className:`w-9 h-9 rounded-lg flex items-center justify-center mb-3 ${x[t.color]}`,children:a.jsx(t.icon,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:112",className:"w-5 h-5"})}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:114",className:"text-2xl font-bold",children:t.value.toLocaleString()}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:115",className:"text-xs font-medium text-gray-700 mt-0.5",children:t.label}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:116",className:"text-xs text-gray-400 mt-0.5",children:t.sub})]})},t.label))}),a.jsxs(b,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:123",children:[a.jsx(Q,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:124",children:a.jsxs(R,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:125",className:"text-base flex items-center gap-2",children:[a.jsx(Z,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:126",className:"w-4 h-4 text-indigo-600"}),"Acesso Rápido"]})}),a.jsx(N,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:130",className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[{label:"Ver membros banidos",desc:"Gerir quarentena",tab:"membros",filter:"banned"},{label:"Posts recentes",desc:"Moderar publicações",tab:"posts",filter:"recent"},{label:"Grupos activos",desc:"Gerir comunidades",tab:"grupos",filter:""},{label:"Membros recentes",desc:"Novos registos",tab:"membros",filter:"recent"}].map(t=>a.jsxs("button",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:137",onClick:()=>{},className:"text-left p-3 rounded-lg border hover:bg-gray-50 transition-colors",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:142",className:"text-sm font-medium text-gray-800",children:t.label}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:143",className:"text-xs text-gray-500 mt-0.5",children:t.desc})]},t.label))})]})]})}function da(){const[d,h]=p.useState(""),[n,x]=p.useState("all"),[t,C]=p.useState("recent"),[u,l]=p.useState(1),o=r.useUtils(),{data:s,isLoading:S}=r.community.adminListMembers.useQuery({page:u,limit:25,search:d||void 0,status:n,orderBy:t}),y=r.community.banMember.useMutation({onSuccess:()=>{o.community.adminListMembers.invalidate(),o.community.adminStats.invalidate(),g.success("Membro banido com sucesso")},onError:e=>g.error(e.message)}),j=r.community.unbanMember.useMutation({onSuccess:()=>{o.community.adminListMembers.invalidate(),o.community.adminStats.invalidate(),g.success("Membro desbanido com sucesso")},onError:e=>g.error(e.message)}),f=r.community.adminDeleteMember.useMutation({onSuccess:()=>{o.community.adminListMembers.invalidate(),o.community.adminStats.invalidate(),g.success("Membro eliminado")},onError:e=>g.error(e.message)}),i=Math.ceil((s?.total??0)/25);return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:181",className:"space-y-4",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:183",className:"flex flex-wrap gap-3 items-center",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:184",className:"relative flex-1 min-w-[200px] max-w-sm",children:[a.jsx(B,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:185",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),a.jsx(T,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:186",placeholder:"Pesquisar por nome ou username...",className:"pl-9",value:d,onChange:e=>{h(e.target.value),l(1)}})]}),a.jsxs(v,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:193",value:n,onValueChange:e=>{x(e),l(1)},children:[a.jsx(w,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:194",className:"w-36",children:a.jsx(M,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:195"})}),a.jsxs(P,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:197",children:[a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:198",value:"all",children:"Todos"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:199",value:"active",children:"Activos"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:200",value:"banned",children:"Banidos"})]})]}),a.jsxs(v,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:203",value:t,onValueChange:e=>{C(e),l(1)},children:[a.jsx(w,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:204",className:"w-44",children:a.jsx(M,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:205"})}),a.jsxs(P,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:207",children:[a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:208",value:"recent",children:"Mais recentes"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:209",value:"oldest",children:"Mais antigos"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:210",value:"active",children:"Mais activos"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:211",value:"popular",children:"Mais populares"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:212",value:"posts",children:"Mais publicações"})]})]}),a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:215",className:"text-sm text-gray-500 ml-auto",children:[s?.total??0," membros"]})]}),a.jsx(b,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:219",children:a.jsx(N,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:220",className:"p-0",children:S?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:222",className:"flex items-center justify-center py-16",children:a.jsx(k,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:223",className:"w-6 h-6 animate-spin text-indigo-600"})}):s?.members&&s.members.length>0?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:226",className:"overflow-x-auto",children:a.jsxs("table",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:227",className:"w-full text-sm",children:[a.jsx("thead",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:228",children:a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:229",className:"border-b bg-gray-50 text-left",children:[a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:230",className:"px-4 py-3 font-medium text-gray-600",children:"Membro"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:231",className:"px-4 py-3 font-medium text-gray-600",children:"Username"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:232",className:"px-4 py-3 font-medium text-gray-600",children:"Localização"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:233",className:"px-4 py-3 font-medium text-gray-600 text-center",children:"Amigos"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:234",className:"px-4 py-3 font-medium text-gray-600 text-center",children:"Posts"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:235",className:"px-4 py-3 font-medium text-gray-600",children:"Registado"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:236",className:"px-4 py-3 font-medium text-gray-600",children:"Estado"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:237",className:"px-4 py-3 font-medium text-gray-600 text-right",children:"Acções"})]})}),a.jsx("tbody",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:240",className:"divide-y",children:s.members.map(e=>a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:242",className:`hover:bg-gray-50 transition-colors ${e.isBanned?"bg-red-50/30":""}`,children:[a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:243",className:"px-4 py-3",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:244",className:"flex items-center gap-2.5",children:[e.avatarUrl?a.jsx("img",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:246",src:e.avatarUrl,alt:"",className:"w-8 h-8 rounded-full object-cover flex-shrink-0"}):a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:248",className:"w-8 h-8 rounded-full bg-indigo-100 flex items-center justify-center flex-shrink-0",children:a.jsx(q,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:249",className:"w-5 h-5 text-indigo-400"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:252",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:253",className:"font-medium text-gray-900",children:e.displayName}),e.bio&&a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:254",className:"text-xs text-gray-400 truncate max-w-[140px]",children:e.bio})]})]})}),a.jsxs("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:258",className:"px-4 py-3 text-gray-500",children:["@",e.username]}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:259",className:"px-4 py-3 text-gray-500 text-xs",children:e.location||"â"}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:260",className:"px-4 py-3 text-center font-medium",children:e.friendCount}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:261",className:"px-4 py-3 text-center font-medium",children:e.postCount}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:262",className:"px-4 py-3 text-gray-500 text-xs whitespace-nowrap",children:e.createdAt?V(new Date(e.createdAt)):"â"}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:265",className:"px-4 py-3",children:e.isBanned?a.jsxs(A,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:267",variant:"destructive",className:"text-xs gap-1",children:[a.jsx($,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:268",className:"w-3 h-3"}),"Banido"]}):e.isOnline?a.jsxs(A,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:272",className:"bg-green-100 text-green-700 text-xs gap-1 border-green-200",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:273",className:"w-1.5 h-1.5 rounded-full bg-green-500 inline-block"}),"Online"]}):a.jsx(A,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:277",variant:"secondary",className:"text-xs",children:"Offline"})}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:280",className:"px-4 py-3",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:281",className:"flex items-center justify-end gap-1",children:[a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:282",variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-gray-400 hover:text-indigo-600",asChild:!0,title:"Ver perfil",children:a.jsx("a",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:283",href:`/clube-atlantida/perfil/${e.username}`,target:"_blank",rel:"noopener noreferrer",children:a.jsx(O,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:284",className:"w-3.5 h-3.5"})})}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:287",variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-gray-400 hover:text-blue-600",asChild:!0,title:"Editar membro",children:a.jsx(_,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:288",href:`/admin/comunidade/membros/${e.id}/editar`,children:a.jsx(aa,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:289",className:"w-3.5 h-3.5"})})}),e.isBanned?a.jsxs(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:293",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-green-600 hover:text-green-700 hover:bg-green-50",onClick:()=>j.mutate({memberId:e.id}),disabled:j.isPending,children:[a.jsx(ea,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:300",className:"w-3.5 h-3.5 mr-1"}),"Desbanir"]}):a.jsxs(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:304",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-amber-600 hover:text-amber-700 hover:bg-amber-50",onClick:()=>{confirm(`Banir "${e.displayName}"? O membro não poderá aceder à comunidade.`)&&y.mutate({memberId:e.id})},disabled:y.isPending,children:[a.jsx($,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:315",className:"w-3.5 h-3.5 mr-1"}),"Banir"]}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:319",variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-gray-400 hover:text-red-600 hover:bg-red-50",title:"Eliminar membro",onClick:()=>{confirm(`Eliminar permanentemente "${e.displayName}"? Esta acção não pode ser desfeita.`)&&f.mutate({memberId:e.id})},disabled:f.isPending,children:a.jsx(G,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:331",className:"w-3.5 h-3.5"})})]})})]},e.id))})]})}):a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:341",className:"text-center py-16 text-gray-500",children:[a.jsx(L,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:342",className:"w-12 h-12 mx-auto text-gray-200 mb-3"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:343",className:"font-medium",children:"Nenhum membro encontrado"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:344",className:"text-sm text-gray-400 mt-1",children:"Tente ajustar os filtros de pesquisa"})]})})}),i>1&&a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:352",className:"flex items-center justify-between",children:[a.jsxs("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:353",className:"text-sm text-gray-500",children:["Página ",u," de ",i," (",s?.total," membros)"]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:356",className:"flex gap-2",children:[a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:357",variant:"outline",size:"sm",onClick:()=>l(e=>Math.max(1,e-1)),disabled:u===1,children:a.jsx(z,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:358",className:"w-4 h-4"})}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:360",variant:"outline",size:"sm",onClick:()=>l(e=>Math.min(i,e+1)),disabled:u===i,children:a.jsx(D,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:361",className:"w-4 h-4"})})]})]})]})}function ta(){const[d,h]=p.useState(""),[n,x]=p.useState("all"),[t,C]=p.useState("recent"),[u,l]=p.useState(1),o=r.useUtils(),{data:s,isLoading:S}=r.community.adminListPosts.useQuery({page:u,limit:25,search:d||void 0,type:n
11,orderBy:t}),y=r.community.adminDeletePost.useMutation({onSuccess:()=>{o.community.adminListPosts.invalidate(),o.community.adminStats.invalidate(),g.success("Publicação eliminada")},onError:i=>g.error(i.message)}),j=Math.ceil((s?.total??0)/25),f={post:"Post",comment:"Comentário",share:"Partilha",group_post:"Post de Grupo"};return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:395",className:"space-y-4",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:397",className:"flex flex-wrap gap-3 items-center",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:398",className:"relative flex-1 min-w-[200px] max-w-sm",children:[a.jsx(B,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:399",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),a.jsx(T,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:400",placeholder:"Pesquisar no conteúdo...",className:"pl-9",value:d,onChange:i=>{h(i.target.value),l(1)}})]}),a.jsxs(v,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:407",value:n,onValueChange:i=>{x(i),l(1)},children:[a.jsx(w,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:408",className:"w-40",children:a.jsx(M,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:409"})}),a.jsxs(P,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:411",children:[a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:412",value:"all",children:"Todos os tipos"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:413",value:"post",children:"Posts"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:414",value:"group_post",children:"Posts de Grupo"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:415",value:"share",children:"Partilhas"})]})]}),a.jsxs(v,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:418",value:t,onValueChange:i=>{C(i),l(1)},children:[a.jsx(w,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:419",className:"w-40",children:a.jsx(M,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:420"})}),a.jsxs(P,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:422",children:[a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:423",value:"recent",children:"Mais recentes"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:424",value:"oldest",children:"Mais antigos"}),a.jsx(c,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:425",value:"likes",children:"Mais curtidos"})]})]}),a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:428",className:"text-sm text-gray-500 ml-auto",children:[s?.total??0," publicações"]})]}),a.jsx(b,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:432",children:a.jsx(N,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:433",className:"p-0",children:S?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:435",className:"flex items-center justify-center py-16",children:a.jsx(k,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:436",className:"w-6 h-6 animate-spin text-indigo-600"})}):s?.posts&&s.posts.length>0?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:439",className:"divide-y",children:s.posts.map(i=>a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:441",className:"px-4 py-3 hover:bg-gray-50 transition-colors",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:442",className:"flex items-start gap-3",children:[i.authorAvatar?a.jsx("img",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:444",src:i.authorAvatar,alt:"",className:"w-8 h-8 rounded-full object-cover flex-shrink-0 mt-0.5"}):a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:446",className:"w-8 h-8 rounded-full bg-indigo-100 flex items-center justify-center flex-shrink-0 mt-0.5",children:a.jsx(q,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:447",className:"w-5 h-5 text-indigo-400"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:450",className:"flex-1 min-w-0",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:451",className:"flex items-center gap-2 flex-wrap",children:[a.jsx("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:452",className:"font-medium text-sm text-gray-900",children:i.authorName||"Membro desconhecido"}),a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:453",className:"text-xs text-gray-400",children:["@",i.authorUsername]}),a.jsx(A,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:454",variant:"outline",className:"text-xs px-1.5 py-0",children:f[i.type]||i.type}),a.jsx("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:457",className:"text-xs text-gray-400 ml-auto",children:i.createdAt?H(new Date(i.createdAt)):"â"})]}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:4
1161",className:"text-sm text-gray-700 mt-1 line-clamp-2",children:i.content||"(sem conteúdo)"}),i.imageUrl&&a.jsx("img",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:463",src:i.imageUrl,alt:"",className:"mt-2 rounded-lg max-h-24 object-cover"}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:465",className:"flex items-center gap-4 mt-1.5 text-xs text-gray-400",children:[a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:466",children:["â¤ï¸ ",i.likeCount??0]}),a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:467",children:["ð¬ ",i.commentCount??0]})]})]}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:470",variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-gray-400 hover:text-red-600 hover:bg-red-50 flex-shrink-0",title:"Eliminar publicação",onClick:()=>{confirm("Eliminar esta publicação permanentemente?")&&y.mutate({postId:i.id})},disabled:y.isPending,children:a.jsx(G,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:482",className:"w-3.5 h-3.5"})})]})},i.id))}):a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:489",className:"text-center py-16 text-gray-500",children:[a.jsx(U,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:490",className:"w-12 h-12 mx-auto text-gray-200 mb-3"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:491",className:"font-medium",children:"Nenhuma publicação encontrada"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:492",className:"text-sm text-gray-400 mt-1",children:"Tente ajustar os filtros de pesquisa"})]})})}),j>1&&a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:500",className:"flex items-center justify-between",children:[a.jsxs("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:501",className:"text-sm text-gray-500",children:["Página ",u," de ",j]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:502",className:"flex gap-2",children:[a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:503",variant:"outline",size:"sm",onClick:()=>l(i=>Math.max(1,i-1)),disabled:u===1,children:a.jsx(z,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:504",className:"w-4 h-4"})}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:506",variant:"outline",size:"sm",onClick:()=>l(i=>Math.min(j,i+1)),disabled:u===j,children:a.jsx(D,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:507",className:"w-4 h-4"})})]})]})]})}function na(){const[d,h]=p.useState(""),[n,x]=p.useState(1),t=r.useUtils(),{data:C,isLoading:u}=r.community.adminListGroups.useQuery({page:n,limit:25,search:d||void 0}),l=r.community.adminDeleteGroup.useMutation({onSuccess:()=>{t.community.adminListGroups.invalidate(),t.community.adminStats.invalidate(),g.success("Grupo eliminado")},onError:s=>g.error(s.message)}),o=Math.ceil((C?.total??0)/25);return a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:535",className:"space-y-4",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:537",className:"flex flex-wrap gap-3 items-center",children:[a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:538",className:"relative flex-1 min-w-[200px] max-w-sm",children:[a.jsx(B,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:539",className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),a.jsx(T,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:540",placeholder:"Pesquisar grupos...",className:"pl-9",value:d,onChange:s=>{h(s.target.value),x(1)}})]}),a.jsxs("span",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:547",className:"text-sm text-gray-500 ml-auto",children:[C?.total??0," grupos"]})]}),a.jsx(b,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:551",children:a.jsx(N,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:552",className:"p-0",children:u?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:554",className:"flex items-center justify-center py-16",children:a.jsx(k,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:555",className:"w-6 h-6 animate-spin text-indigo-600"})}):C?.groups&&C.groups.length>0?a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:558",className:"overflow-x-auto",children:a.jsxs("table",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:559",className:"w-full text-sm",children:[a.jsx("thead",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:560",children:a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:561",className:"border-b bg-gray-50 text-left",children:[a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:562",className:"px-4 py-3 font-medium text-gray-600",children:"Grupo"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:563",className:"px-4 py-3 font-medium text-gray-600",children:"Criador"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:564",className:"px-4 py-3 font-medium text-gray-600 text-center",children:"Membros"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:565",className:"px-4 py-3 font-medium text-gray-600",children:"Tipo"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:566",className:"px-4 py-3 font-medium text-gray-600",children:"Criado"}),a.jsx("th",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:567",className:"px-4 py-3 font-medium text-gray-600 text-right",children:"Acções"})]})}),a.jsx("tbody",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:570",className:"divide-y",children:C.groups.map(s=>a.jsxs("tr",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:572",className:"hover:bg-gray-50 transition-colors",children:[a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:573",className:"px-4 py-3",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:574",className:"flex items-center gap-2.5",children:[s.coverUrl?a.jsx("img",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:576",src:s.coverUrl,alt:"",className:"w-8 h-8 rounded-lg object-cover flex-shrink-0"}):a.jsx("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:578",className:"w-8 h-8 rounded-lg bg-indigo-100 flex items-center justify-center flex-shrink-0",children:a.jsx(sa,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:579",className:"w-4 h-4 text-indigo-400"})}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:582",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:583",className:"font-medium text-gray-900",children:s.name}),a.jsxs("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:584",className:"text-xs text-gray-400",children:["/",s.slug]})]})]})}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:588",className:"px-4 py-3",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:589",children:[a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:590",className:"text-gray-700",children:s.creatorName||"â"}),s.creatorUsername&&a.jsxs("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:591",className:"text-xs text-gray-400",children:["@",s.creatorUsername]})]})}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:594",className:"px-4 py-3 text-center font-medium",children:s.memberCount}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:595",className:"px-4 py-3",children:s.privacy!=="public"?a.jsx(A,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:597",variant:"secondary",className:"text-xs",children:"Privado"}):a.jsx(A,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:599",className:"bg-green-100 text-green-700 text-xs border-green-200",children:"Público"})}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:602",className:"px-4 py-3 text-gray-500 text-xs whitespace-nowrap",children:s.createdAt?V(new Date(s.createdAt)):"â"}),a.jsx("td",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:605",className:"px-4 py-3",children:a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:606",className:"flex items-center justify-end gap-1",children:[a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:607",variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-gray-400 hover:text-indigo-600",asChild:!0,title:"Ver grupo",children:a.jsx("a",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:608",href:`/clube-atlantida/grupos/${s.slug}`,target:"_blank",rel:"noopener noreferrer",children:a.jsx(O,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:609",className:"w-3.5 h-3.5"})})}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:612",variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-gray-400 hover:text-red-600 hover:bg-red-50",title:"Eliminar grupo",onClick:()=>{confirm(`Eliminar o grupo "${s.name}" permanentemente?`)&&l.mutate({groupId:s.id})},disabled:l.isPending,children:a.jsx(G,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:624",className:"w-3.5 h-3.5"})})]})})]},s.id))})]})}):a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:634",className:"text-center py-16 text-gray-500",children:[a.jsx(E,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:635",className:"w-12 h-12 mx-auto text-gray-200 mb-3"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:636",className:"font-medium",children:"Nenhum grupo encontrado"}),a.jsx("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:637",className:"text-sm text-gray-400 mt-1",children:"Ainda não foram criados grupos na comunidade"})]})})}),o>1&&a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:645",className:"flex items-center justify-between",children:[a.jsxs("p",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:646",className:"text-sm text-gray-500",children:["Página ",n," de ",o]}),a.jsxs("div",{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:647",className:"flex gap-2",children:[a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:648",variant:"outline",size:"sm",onClick:()=>x(s=>Math.max(1,s-1)),disabled:n===1,children:a.jsx(z,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:649",className:"w-4 h-4"})}),a.jsx(m,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:651",variant:"outline",size:"sm",onClick:()=>x(s=>Math.min(o,s+1)),disabled:n===o,children:a.jsx(D,{"data-loc":"client/src/pages/admin/AdminComunidade.tsx:652",className:"w-4 h-4"})})]})]})]})}export{Oa 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.