1import{C as Y,j as e,c as q,F as K,D as Q,d as W,E as J,G as B,A as X}from"./index-BCp-6lKF.js";import{r as c,L as I}from"./vendor-react-CpRvMXaC.js";import{M as Z,E as ee,r as se}from"./MonthlyCalendar-CaKnHGbn.js";import{e as ae}from"./eventoService-BhpaQhh5.js";import{c as te}from"./calendarioGeralService-Cz7gHknB.js";import{S as re}from"./SubpageHero-CPTAWC8s.js";import{e as R}from"./textUtils-C9r3Zn1m.js";import{g as w}from"./eventoAutoria-Di3KTHLE.js";import{o as v}from"./resolverLocalEscolhido-DW_m2PcE.js";import{F as G}from"./ClockIcon-Kl7pZviT.js";import"./vendor-pdf-CLXYJc0c.js";import"./vendor-ui-5rZvml82.js";import"./vendor-editor-DoAMYjM7.js";import"./ChevronLeftIcon-BvZhC08K.js";function g(t){if(!t)return null;if(typeof t=="string")return t.includes("T")?t.split("T")[0]:t;const i=new Date(t);return Number.isNaN(i.getTime())?null:i.toISOString().split("T")[0]}function oe(t=3){const i=new Date;return Array.from({length:t},(p,o)=>{const l=new Date(i.getFullYear(),i.getMonth()+o,1);return{ano:l.getFullYear(),mes:l.getMonth()+1}})}function F(t){if(!(t!=null&&t.data_inicio))return Number.POSITIVE_INFINITY;const i=typeof t.hora_inicio=="string"?t.hora_inicio.slice(0,5):"00:00",p=g(t.data_inicio),o=new Date(`${p||t.data_inicio}T${i||"00:00"}:00`);return Number.isNaN(o.getTime())?Number.POSITIVE_INFINITY:o.getTime()}function O(t){return(t==null?void 0:t.origem)==="evento"?w(t).label:(t==null?void 0:t.origem)==="reuniao"?"CRP-PR":"Calendário Geral"}function H(t){return(t==null?void 0:t.origem)==="evento"?w(t).badgeClass:(t==null?void 0:t.origem)==="reuniao"?"bg-green-100 text-green-800":"bg-emerald-100 text-emerald-800"}async function le(){const t=oe(3),i=await Promise.all(t.map(async({ano:o,mes:l})=>{const[b,j,P]=await Promise.all([ae.listarPorMes(o,l).catch(()=>[]),te.listarPorMesPublico(o,l).catch(()=>[]),se.listarPorMesPublico(o,l).catch(()=>[])]),f=(b||[]).map(r=>({...r,origem:"evento",id_unico:`evento-${r.id}`,data_inicio:g(r.data_inicio),data_fim:g(r.data_fim)})),_=(j||[]).map(r=>({...r,origem:"calendario-geral",id_unico:`calendario-geral-${r.id}`,data_inicio:g(r.data_inicio),data_fim:g(r.data_fim)})),u=(P||[]).map(r=>({...r,origem:"reuniao",id_unico:`reuniao-${r.tipo_reuniao}-${r.id}`,titulo:r.comissao_nome?`${r.titulo} â ${r.comissao_nome}`:r.titulo,data_inicio:g(r.data_inicio),data_fim:g(r.data_fim)}));return[...f,..._,...u]})),p=Array.from(new Map(i.flat().map(o=>[o.id_unico,o])).values());return p.sort((o,l)=>F(o)-F(l)),p}function Ne(){const[t,i]=c.useState(!1),[p,o]=c.useState(null),[l,b]=c.useState(""),[j,P]=c.useState(""),[f,_]=c.useState("todos"),[u,r]=c.useState("evento"),[S,M]=c.useState("cards"),T=c.useRef(null);c.useEffect(()=>(clearTimeout(T.current),T.current=setTimeout(()=>{P(l)},300),()=>clearTimeout(T.current)),[l]);const{data:k=[],isLoading:C,isError:U}=Y({queryKey:["agenda-publica"],queryFn:le}),$=U?"Não foi possÃvel carregar os itens da agenda no momento.":null,A=c.useMemo(()=>{const s=Date.now(),a=k.filter(n=>F(n)>=s);return(a.length>0?a:k).slice(0,18)},[k]),y=c.useMemo(()=>A.filter(s=>{var d;const a=j.toLowerCase(),n=R(s.descricao),h=w(s),N=!j||((d=s.titulo)==null?void 0:d.toLowerCase().includes(a))||n.toLowerCase().includes(a)||v(s).toLowerCase().includes(a)||h.nomeParceiro.toLowerCase().includes(a),x=u==="todos"||s.origem===u,m=f==="todos"||h.key===f;return N&&x&&m}),[A,j,f,u]),E=s=>{if(!s)return"-";const a=g(s);return a?new Date(`${a}T00:00:00`).toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"2-digit"}):"-"},L=s=>s?s.substring(0,5):"Sem horário",D=s=>s!=null&&s.imagem_url?s.imagem_url:s!=null&&s.imagem?String(s.imagem).startsWith("http")?s.imagem:`${X.STORAGE_URL}/${s.imagem}`:null,z=s=>{o(s),i(!0)},V=()=>{o(null),i(!1)};return e.jsxs("div",{className:"min-h-screen bg-gradient-to-b from-gray-50 to-white",children:[e.jsxs(re,{paddingClass:"py-16 md:py-20",children:[e.jsx("nav",{className:"mb-6","aria-label":"Breadcrumb",children:e.jsxs("ol",{className:"flex items-center gap-2 text-sm text-white/80",children:[e.jsx("li",{children:e.jsx(I,{to:"/",className:"hover:text-white transition-colors",children:"Home"})}),e.jsx("li",{children:"/"}),e.jsx("li",{className:"text-white font-semibold",children:"Calendário Geral"})]})}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold mb-3 leading-tight text-white",children:"Calendário Geral"}),e.jsx("p",{className:"text-xl text-white/90 max-w-4xl",children:"Acompanhe o calendário integrado com eventos públicos e itens do calendário geral do CRP-PR."})]}),e.jsx("section",{className:"py-12 md:py-16",children:e.jsx("div",{className:"container mx-auto px-6",children:e.jsxs("div",{className:"max-w-7xl mx-auto flex flex-col gap-8",children:[e.jsx("div",{children:e.jsx(Z,{enableViewModes:!0,expandableDays:!0})}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[25%_75%] ga
1p-8 items-start",children:[e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-gray-200 p-5 sticky top-6 flex flex-col gap-5",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-bold text-titulos mb-1",children:"Filtros"}),e.jsx("p",{className:"text-xs text-gray-500 mb-3",children:"Refine a listagem por texto, autoria e tipo."}),e.jsxs("div",{className:"relative",children:[e.jsx(q,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400"}),e.jsx("input",{type:"text",value:l,onChange:s=>b(s.target.value),placeholder:"Buscar evento...",className:"w-full pl-9 pr-8 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent"}),l&&e.jsx("button",{type:"button",onClick:()=>b(""),className:"absolute right-2.5 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:e.jsx(K,{className:"h-4 w-4"})})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Autoria"}),e.jsx("div",{className:"flex flex-col gap-2",children:[{valor:"todos",label:"Todas"},{valor:"crp",label:"CRP-PR"},{valor:"parceiro",label:"Parceiro"}].map(({valor:s,label:a})=>e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[e.jsx("input",{type:"radio",name:"filtroAutoria",value:s,checked:f===s,onChange:()=>_(s),className:"accent-primary-600"}),e.jsx("span",{className:"text-sm text-gray-700",children:a})]},s))})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Tipo"}),e.jsx("div",{className:"flex flex-col gap-2",children:[{valor:"evento",label:"Somente eventos"},{valor:"todos",label:"Todos"},{valor:"reuniao",label:"Reuniões"},{valor:"calendario-geral",label:"Calendário Geral"}].map(({valor:s,label:a})=>e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[e.jsx("input",{type:"radio",name:"filtroTipo",value:s,checked:u===s,onChange:()=>r(s),className:"accent-primary-600"}),e.jsx("span",{className:"text-sm text-gray-700",children:a})]},s))})]}),(l||u!=="evento"||f!=="todos")&&e.jsx("button",{type:"button",onClick:()=>{b(""),r("evento"),_("todos")},className:"text-xs text-primary-600 hover:text-primary-800 font-medium text-left",children:"Limpar filtros"})]}),e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-gray-200 p-6",children:[e.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-titulos mb-2",children:"Listagem de eventos"}),e.jsxs("p",{className:"text-sm text-gray-600",children:[y.length," registro(s) encontrado(s) com os filtros atuais."]}),e.jsxs("div",{className:"flex flex-wrap gap-2 mt-3",children:[e.jsx("span",{className:"inline-flex items-center px-2.5 py-1 rounded-full text-xs font-medium bg-green-100 text-green-800",children:"CRP-PR"}),e.jsx("span",{className:"inline-flex items-center px-2.5 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-800",children:"Parceiro"})]})]}),e.jsxs("div",{className:"inline-flex items-center rounded-lg border border-gray-200 bg-gray-50 p-1",children:[e.jsxs("button",{type:"button",onClick:()=>M("cards"),className:`inline-flex items-center gap-2 px-3 py-2 text-sm font-medium rounded-md transition-colors ${S==="cards"?"bg-white text-primary-700 shadow-sm":"text-gray-600 hover:text-gray-800"}`,children:[e.jsx(Q,{className:"h-4 w-4"}),"Cards"]}),e.jsxs("button",{type:"button",onClick:()=>M("lista"),className:`inline-flex items-center gap-2 px-3 py-2 text-sm font-medium rounded-md transition-colors ${S==="lista"?"bg-white text-primary-700 shadow-sm":"text-gray-600 hover:text-gray-800"}`,children:[e.jsx(W,{className:"h-4 w-4"}),"Lista"]})]})]}),C&&e.jsxs("div",{className:"text-center py-12",children:[e.jsx("div",{className:"inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600"}),e.jsx("p",{className:"mt-4 text-sm text-gray-600",children:"Carregando agenda..."})]}),!C&&$&&e.jsx("div",{className:"text-center py-10 bg-red-50 border border-red-200 rounded-lg",children:e.jsx("p",{className:"text-sm text-red-700",children:$})}),!C&&!$&&y.length===0&&e.jsx("div",{className:"text-center py-12 text-gray-500",children:l||u!=="todos"?"Nenhum item encontrado para os filtros aplicad
1os.":"Nenhum item disponÃvel no momento."}),!C&&!$&&y.length>0&&(S==="cards"?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 2xl:grid-cols-3 gap-4",children:y.map(s=>{const a=s.origem==="evento",n=w(s),h=D(s),N=H(s),x=e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`h-40 overflow-hidden ${a?"bg-white/10":"bg-gray-100"}`,children:h?e.jsx("img",{src:h,alt:s.titulo,className:"w-full h-full object-cover",loading:"lazy"}):e.jsx("div",{className:`w-full h-full flex items-center justify-center text-xs ${a?"text-white/80":"text-gray-500"}`,children:"Sem imagem"})}),e.jsxs("div",{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-2",children:[e.jsx("h3",{className:`text-base font-semibold line-clamp-2 ${a?"text-white":"text-gray-900"}`,children:s.titulo}),e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium shrink-0 ${N}`,children:O(s)})]}),e.jsxs("div",{className:`flex flex-wrap items-center gap-x-4 gap-y-1 text-sm ${a?"text-white/90":"text-gray-700"}`,children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(J,{className:`h-4 w-4 ${a?"text-white":"text-primary-600"}`}),e.jsx("span",{children:E(s.data_inicio)})]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(G,{className:`h-4 w-4 ${a?"text-white":"text-primary-600"}`}),e.jsx("span",{children:L(s.hora_inicio)})]}),v(s)&&e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[e.jsx(B,{className:`h-4 w-4 ${a?"text-white":"text-primary-600"}`}),e.jsx("span",{className:"line-clamp-1",children:v(s)})]})]}),a&&n.isParceiro&&n.nomeParceiro&&e.jsxs("p",{className:"mt-3 text-xs font-medium text-white/90 line-clamp-1",children:["Parceiro: ",n.nomeParceiro]}),s.descricao&&e.jsx("p",{className:`mt-3 text-sm line-clamp-2 ${a?"text-white/90":"text-gray-600"}`,children:R(s.descricao)})]})]}),m=`block w-full text-left border rounded-xl overflow-hidden shadow-sm transition-all ${a?"hover:brightness-110 hover:shadow-md":"bg-gray-50 border-gray-200 hover:bg-gray-100 hover:border-primary-300 hover:shadow-md"}`,d=a?{backgroundColor:n.color,borderColor:n.color}:void 0;return a&&s.link_inscricao?e.jsx("button",{type:"button",onClick:()=>window.open(s.link_inscricao,"_blank","noopener,noreferrer"),className:m,style:d,children:x},s.id_unico):a&&s.slug?e.jsx(I,{to:`/eventos/${s.slug}`,className:m,style:d,children:x},s.id_unico):e.jsx("button",{type:"button",onClick:()=>z(s),className:m,style:d,children:x},s.id_unico)})}):e.jsx("div",{className:"space-y-4",children:y.map(s=>{const a=s.origem==="evento",n=w(s),h=D(s),N=H(s),x=e.jsxs("div",{className:"flex flex-col md:flex-row gap-4 p-4",children:[e.jsx("div",{className:`w-full md:w-40 h-28 rounded-lg overflow-hidden shrink-0 ${a?"bg-white/10":"bg-gray-100"}`,children:h?e.jsx("img",{src:h,alt:s.titulo,className:"w-full h-full object-cover",loading:"lazy"}):e.jsx("div",{className:`w-full h-full flex items-center justify-center text-xs ${a?"text-white/80":"text-gray-500"}`,children:"Sem imagem"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-start lg:justify-between gap-2 mb-2",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-2",children:[e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${N}`,children:O(s)}),a&&n.isParceiro&&n.nomeParceiro&&e.jsx("span",{className:`text-xs ${a?"text-white/85":"text-gray-600"}`,children:n.nomeParceiro})]}),e.jsx("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`,children:s.titulo})]}),e.jsx("div",{className:`text-sm font-medium ${a?"text-white/90":"text-gray-700"}`,children:E(s.data_inicio)})]}),e.jsxs("div",{className:`flex flex-wrap items-center gap-x-4 gap-y-1 text-sm ${a?"text-white/90":"text-gray-700"}`,children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(G,{className:`h-4 w-4 ${a?"text-white":"text-primary-600"}`}),e.jsx("span",{children:L(s.hora_inicio)})]}),v(s)&&e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[e.jsx(B,{className:`h-4 w-4 ${a?"text-white":"text-primary-600"}`}),e.jsx("span",{className:"line-clamp-1",children:v(s)})]})]}),s.descricao&&e.jsx("p",{className:`mt-3 text-sm line-clamp-2 ${a?"text-white/90":"text-gray-600"}`,children:R(s.descricao)})]})]}),m=`block w-full text-left border rounded-xl shadow-sm transition-all ${a?"hover:brightness-110 hover:shadow-md":"bg-gray-50 border-gray-200 hover:bg-gray-100 hover:border-primary-300 hover:shadow-md"}`,d=a?{backgroundColor:n.color,borderColor:n.color}:void 0;return a&&s.link_inscricao?e.jsx("button",{type:"button",onClick:()=>window.open(s.link_inscricao,"_blank","noopener,noreferrer"),className:m,style:d,children:x},s.id_unico):a&&s.slug?e.jsx(I,{to:`/eventos/${s.slug}`,className:m,style:d,children:x},s.id_unico):e.jsx("button",{type:"button",onClick:()=>z(s),className:m,style:d,children:x},s.id_unico)})}))]})]})]})})}),e.jsx(ee,{isOpen:t,onClose:V,evento:p})]})}export{Ne 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.