1import{u as y,j as e}from"./vendor-query-CAW0R6Fd.js";import{r,L as I}from"./vendor-react-BIBNHc4z.js";import{S as B,T as O,H as D,B as d,A as G,b as K,j as h,k as j,t as C,v as q,c as $,x as S,$ as z,h as T,r as Q,aG as W,L as m,F as J,f as M,aA as _}from"./index-Dr2jZQpy.js";import{I as w}from"./input-Bu5ViSvB.js";import{T as U}from"./textarea-lJhBRSVg.js";import{P as X}from"./progress-CjH1V8-a.js";import{R as Y,a as Z}from"./radio-group-BH3_AqhT.js";import{T as ee}from"./TurnstileWidget-CJT6ko7w.js";import{p as f}from"./pesquisas-satisfacao.service-6BomtANC.js";import"./ui-radix-CMPBktV5.js";import"./utils-objBp_8x.js";function ue(){const[o,g]=r.useState(null),[l,v]=r.useState({}),[n,u]=r.useState({nome:"",email:"",telefone:""}),[P,N]=r.useState(""),[R,k]=r.useState(!1),[F,E]=r.useState(!1),[x,b]=r.useState(null),{data:L=[],isLoading:A}=y({queryKey:["pesquisas-satisfacao","public"],queryFn:()=>f.listPublic("all")}),{data:t}=y({queryKey:["pesquisas-satisfacao","public",o==null?void 0:o.id],queryFn:()=>f.getPublic(o.id),enabled:!!o}),{data:p}=y({queryKey:["pesquisas-satisfacao","resultados",x],queryFn:()=>f.getResultados(x),enabled:!!x}),V=s=>{g(s),v({}),u({nome:"",email:"",telefone:""}),N(""),E(!1),b(null)},H=async()=>{if(!t)return;if((t.perguntas||[]).filter(a=>a.obrigatoria&&!(l[a.id]||"").trim()).length>0){_.warning("Responda todas as perguntas obrigatórias antes de enviar.");return}k(!0);try{await f.responder(t.id,{nome:n.nome.trim()||void 0,email:n.email.trim()||void 0,telefone:n.telefone.trim()||void 0,"cf-turnstile-response":P||void 0,respostas:(t.perguntas||[]).filter(a=>(l[a.id]||"").trim()).map(a=>a.tipo_resposta==="escolha_unica"?{pergunta_id:a.id,opcao_id:l[a.id]}:{pergunta_id:a.id,texto_livre:l[a.id]})}),E(!0),_.success("Resposta registrada. Obrigado por participar!")}catch(a){_.error((a==null?void 0:a.message)||"Não foi possÃvel registrar sua resposta.")}finally{k(!1)}};return e.jsxs("div",{className:"min-h-screen flex flex-col",children:[e.jsx(B,{title:"Pesquisa de Satisfação",description:"Participe das pesquisas de satisfação do municÃpio e consulte os resultados já publicados.",path:"/pesquisa-satisfacao",breadcrumbs:[{name:"InÃcio",url:"/"},{name:"Pesquisa de Satisfação",url:"/pesquisa-satisfacao"}]}),e.jsx(O,{}),e.jsx(D,{}),e.jsxs("main",{className:"flex-1 container mx-auto px-4 py-8",children:[e.jsx(d,{variant:"ghost",asChild:!0,className:"mb-6",children:e.jsxs(I,{to:"/",children:[e.jsx(G,{className:"mr-2 h-4 w-4"})," Voltar para inÃcio"]})}),e.jsxs("header",{className:"mb-10 max-w-3xl",children:[e.jsx("h1",{className:"text-4xl font-bold mb-3",children:"Pesquisa de Satisfação"}),e.jsx("p",{className:"text-lg text-muted-foreground",children:"Sua opinião ajuda a melhorar os serviços e as informações publicadas. As respostas são tratadas de forma anônima e os resultados são divulgados apenas de forma agregada."})]}),A?e.jsx("div",{className:"grid gap-5 md:grid-cols-2",children:Array.from({length:4}).map((s,a)=>e.jsx(K,{className:"h-40 w-full"},a))}):L.length===0?e.jsx(h,{children:e.jsx(j,{className:"p-8 text-center text-muted-foreground",children:"Nenhuma pesquisa disponÃvel no momento. Volte em breve."})}):e.jsx("div",{className:"grid gap-5 md:grid-cols-2",children:L.map(s=>e.jsxs(h,{children:[e.jsxs(C,{children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsx(q,{className:"text-xl",children:s.titulo}),e.jsx($,{variant:s.status==="ativa"?"default":"outline",children:s.status==="ativa"?"Aberta":"Encerrada"})]}),e.jsxs(S,{className:"flex items-center gap-2",children:[e.jsx(z,{className:"h-4 w-4"}),s.data_inicio||s.data_fim?`${T(s.data_inicio)} a ${T(s.data_fim)}`:"Sem prazo definido"]})]}),e.jsxs(j,{className:"space-y-4",children:[s.descricao&&e.jsx("p",{className:"text-sm text-muted-foreground",children:s.descricao}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[s.status==="ativa"&&e.jsx(d,{onClick:()=>V(s),children:"Responder"}),e.jsxs(d,{variant:"outline",onClick:()=>{g(null),b(s.id)},children:[e.jsx(Q,{className:"mr-2 h-4 w-4"})," Ver resultados"]})]})]})]},s.id))}),o&&t&&e.jsxs(h,{className:"mt-10",children:[e.jsxs(C,{children:[e.jsx(q,{children:t.titulo}),e.jsx(S,{children:"Campos de identificação são opcionais â você pode responder sem se identificar."})]}),e.jsx(j,{className:"space-y-6",children:F?e.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-primary/30 bg-primary/5 p-4",children:[e.jsx(W,{className:"h-5 w-5 text-primary"}),e.jsx("p",{className:"text-sm",children:"Resposta registrada. Obrigado por participar!"})]}):e.jsxs(e.Fragment,{children:[(t.perguntas||[]).map((s,a)=>e.jsxs("div",{className:"space-y-3",children:[e.jsxs(m,{children:[a+1,". ",s.texto,s.obrigatoria&&e.jsx("span",{className:"text-destructive",children:" *"})]}),s.tipo_resposta==="escolha_unica"?e.jsx(Y,{value:l[s.id]||"",onValueChange:i=>v(c=>({...c,[s.id]:i})),children:(s.opcoes||[]).map(i=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Z,{value:i.id,id:i.id}),e.jsx(m,{htmlFor:i.id,className:"font-normal cursor-pointer",children:i.texto_opcao})]},i.id))}):e.jsx(U,{rows:3,maxLength:2e3,value:l[s.id]||"",onChange:i=>v(c=>({...c,[s.id]:i.target.value}))})]},s.id)),e.jsxs("div",{className:"grid gap-4 md:grid-cols-3 border-t pt-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(m,{children:"Nome (opcional)"}),e.jsx(w,{maxLength:100,value:n.nome,onChange:s=>u(a=>({...a,nome:s.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(m,{children:"E-mail (opcional)"}),e.jsx(w,{type:"email",maxLength:255,value:n.email,onChange:s=>u(a=>({...a,email:s.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(m,{children:"Telefone (opcional)"}),e.jsx(w,{maxLength:20,value:n.telefone,onChange:s=>u(a=>({...a,telefone:s.target.value}))})]})]}),e.jsx(ee,{onVerify:N,onExpire:()=>N("")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(d,{onClick:H,disabled:R,children:R?"Enviando...":"Enviar resposta"}),e.jsx(d,{variant:"ghost",onClick:()=>g(null),children:"Cancelar"})]})]})})]}),x&&p&&e.jsxs(h,{className:"mt-10",children:[e.jsxs(C,{children:[e.jsxs(q,{children:["Resultados â ",p.pesquisa.titulo]}),e.jsxs(S,{children:[p.total_respondentes," participação(ões). Os dados são exibid
1os de forma agregada e sem identificação dos respondentes."]})]}),e.jsxs(j,{className:"space-y-6",children:[p.perguntas.map((s,a)=>e.jsxs("div",{className:"space-y-3",children:[e.jsxs("p",{className:"font-medium",children:[a+1,". ",s.texto]}),s.tipo_resposta==="escolha_unica"?(s.opcoes||[]).map(i=>e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{children:i.texto_opcao}),e.jsxs("span",{className:"text-muted-foreground",children:[i.percentual,"%"]})]}),e.jsx(X,{value:i.percentual})]},i.id)):e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"text-sm text-muted-foreground",children:[s.total_respostas," comentário(s) recebido(s)."]}),(s.respostas||[]).length>0&&e.jsx("ul",{className:"space-y-2",children:(s.respostas||[]).map((i,c)=>e.jsx("li",{className:"rounded-md border bg-muted/40 p-3 text-sm whitespace-pre-line",children:i},c))})]})]},s.id)),e.jsx(d,{variant:"ghost",onClick:()=>b(null),children:"Fechar resultados"})]})]})]}),e.jsx(J,{}),e.jsx(M,{})]})}export{ue 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.