1import{_ as R,r as d,c as b,o as S,a as n,d as N,b as s,t as c,e as u,g as $,v as A,F as g,m as w,s as B,z as o,f as D,h as x}from"./CKJpJfkf.js";import{B as I}from"./C_97zubz.js";const T={class:"transparencia-page"},z={key:0,class:"loading-container"},L={key:1,class:"error-container"},M={key:2,class:"transparencia-sections"},P={class:"search-container"},V={class:"container"},W={class:"search-box"},j={key:0,class:"search-results-info"},F={key:0},O={key:1,class:"no-results"},U={class:"container"},q={class:"section-title"},G={key:0,class:"section-subtitle"},Q=["href"],H={class:"card-title"},J={key:0,class:"card-details"},K={key:0,class:"no-data-container"},X={__name:"index",setup(Y){const h=d(!0),p=d(null),m=d(null),f=d(null),i=d(""),y=async()=>{var t;try{if(h.value=!0,p.value=null,!f.value){const l=await B.get("/api/prefeitura");f.value=Array.isArray(l.data)?l.data[0]:l.data}const e=(t=f.value)!=null&&t.link_transparencia?`/api/transparencia?link_transparencia=${encodeURIComponent(f.value.link_transparencia)}`:"/api/transparencia",r=await(await fetch(e)).json();if(r&&typeof r=="object")m.value=r;else throw new Error("Dados recebidos em formato inválido")}catch(e){p.value=e.message,console.error("Erro ao buscar dados:",e),m.value={status:"error",data:{1:{nome:"ERRO DE CARREGAMENTO",ordem:1,detalhes:"Não foi possÃvel carregar os dados de transparência.",items:[{url:"#",description:"Erro de carregamento",ico:"fas fa-exclamation-triangle",color:"danger",target:"_self"}],cardsPerRow:1}}}}finally{h.value=!1}},_=b(()=>{var t;if(!((t=m.value)!=null&&t.data))return[];try{return Object.entries(m.value.data).map(([e,a])=>{const r={id:e,nome:a.nome||"Seção sem nome",ordem:a.ordem||999,detalhes:a.detalhes||null,items:Array.isArray(a.items)?a.items:[],cardsPerRow:Math.min(a.cardsPerRow||4,4),...a};return r.items=r.items.map(l=>({url:l.url||"#",description:l.description||"Item sem descrição",ico:k(l.ico),color:l.color||"secondary",target:l.target||"_blank",...l})),r}).sort((e,a)=>(e.ordem||999)-(a.ordem||999))}catch(e){return console.error("Erro ao processar seções:",e),[]}}),v=b(()=>{if(!i.value.trim())return _.value;const t=i.value.toLowerCase().trim();return _.value.map(e=>{const a=e.items.filter(r=>r.description.toLowerCase().includes(t));return a.length>0?{...e,items:a}:null}).filter(e=>e!==null)}),C=()=>v.value.reduce((t,e)=>t+e.items.length,0),E=()=>{i.value=""},k=t=>{if(!t||t===null||t==="")return"fas fa-question";const e=String(t).trim();return e.startsWith("fas ")||e.startsWith("far ")||e.startsWith("fab ")?e:e.startsWith("fa-")?`fas ${e}`:`fas ${e}`};return S(()=>{y()}),(t,e)=>(o(),n(g,null,[N(I,{title:"Transparência"}),s("main",T,[h.value?(o(),n("div",z,e[1]||(e[1]=[s("div",{class:"loading-spinner"},null,-1),s("p",null,"Carregando dados de transparência...",-1)]))):p.value?(o(),n("div",L,[e[2]||(e[2]=s("i",{class:"fas fa-exclamation-triangle"},null,-1)),e[3]||(e[3]=s("h3",null,"Erro ao carregar dados",-1)),s("p",null,c(p.value),1),s("button",{onClick:y,class:"retry-btn"},"Tentar novamente")])):(o(),n("div",M,[s("div",P,[s("div",V,[s("div",W,[e[5]||(e[5]=s("i",{class:"fas fa-search search-icon"},null,-1)),$(s("input",{"onUpdate:modelValue":e[0]||(e[0]=a=>i.value=a),type:"text",placeholder:"Buscar por tÃtulo do item...",class:"search-input"},null,512),[[A,i.value]]),i.value?(o(),n("button",{key:0,onClick:E,class:"clear-search-btn",title:"Limpar busca"},e[4]||(e[4]=[s("i",{class:"fas fa-times"},null,-1)]))):u("",!0)]),i.value?(o(),n("div",j,[v.value.length>0?(o(),n("span",F,c(C())+" item(ns) encontrado(s) em "+c(v.value.length)+" seção(ões) ",1)):(o(),n("span",O,' Nenhum item encontrado para "'+c(i.value)+'" ',1))])):u("",!0)])]),(o(!0),n(g,null,w(v.value,a=>(o(),n("section",{key:a.id,class:"transparencia-section"},[s("div",U,[s("h2",q,c(a.nome),1),a.detalhes?(o(),n("p",G,c(a.detalhes),1)):u("",!0),s("div",{class:"card-grid",style:D({"--cards-per-row":a.cardsPerRow||4})},[(o(!0),n(g,null,w(a.items,(r,l)=>(o(),n("a",{key:`${a.id}-${l}-${r.url}`,href:r.url,target:"_blank",class:x(["card-item",`card-${r.color||"secondary"}`])},[s("i",{class:x(k(r.ico))},null,2),s("span",H,c(r.description),1),r.details?(o(),n("span",J,c(r.details),1)):u("",!0)],10,Q))),128))],4)])]))),128)),_.value.length===0?(o(),n("div",K,e[6]||(e[6]=[s("i",{class:"fas fa-info-circle"},null,-1),s("h3",null,"Nenhuma seção encontrada",-1),s("p",null,"Não há dados de transparência disponÃveis no momento.",-1)]))):u("",!0)]))])],64))}},ae=R(X,[["__scopeId","data-v-4e2ce64e"]]);export{ae 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.