PageSourceSearch

https://ligadealges.pt/assets/a-voz-hUnAdj_h.js

js ligadealges.pt collected 2026-10-06 05:03:57 UTC 10,929 bytes, 5 lines download raw bytes

1import{c as h,j as e,g,r as m}from"./index-DHacC6IR.js";const b=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],f=h("send",b),v="/docs/RGPD/A%20Voz%20prote%C3%A7%C3%A3o%20de%20dados.pdf",j="/docs/RGPD/Regulamento%20A%20voz%20(1).pdf";function N({state:s,status:a,updateState:o,resetForm:r,handleSubmit:t}){return a==="success"?e.jsx(S,{email:s.email,onReset:r}):e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute bg-[#163c61] sm:rotate-1 top-0 left-0 right-0 bottom-0 scale-105 opacity-100 rounded-xs -z-10"}),e.jsxs("form",{onSubmit:t,className:"bg-[#fefffe] p-6 sm:p-8 space-y-5 shadow-xl",noValidate:!0,children:[e.jsx(A,{}),e.jsx(y,{state:s,updateState:o}),e.jsx(z,{state:s,status:a,updateState:o})]})]})}function A(){return e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-[#163c61]",children:"A VOZ – Queremos ouvir a sua opinião"}),e.jsx("p",{className:"text-sm text-[#163c61]/60 mt-1",children:"A sua opinião ajuda-nos a melhorar. Utilize este espaço para enviar sugestões, elogios, preocupações ou reclamações."})]})}function y({state:s,updateState:a}){return e.jsxs(e.Fragment,{children:[e.jsx(c,{label:"Nome",optional:!0,value:s.nome,onChange:o=>a({nome:o}),placeholder:"O seu nome",maxLength:100}),e.jsx(c,{label:"Email",optional:!0,value:s.email,onChange:o=>a({email:o}),placeholder:"[email protected]",type:"email",maxLength:200}),e.jsx(x,{label:"Perfil",options:P,value:s.perfil,onChange:o=>a({perfil:o})}),e.jsx(x,{label:"Tipo de mensagem",required:!0,options:R,value:s.tipo,onChange:o=>a({tipo:o})}),e.jsx(c,{label:"Assunto",value:s.assunto,onChange:o=>a({assunto:o}),placeholder:"Breve descrição do assunto",maxLength:150}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-semibold mb-1",children:["Mensagem ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("textarea",{value:s.mensagem,onChange:o=>a({mensagem:o.target.value}),placeholder:"Descreva a sua sugestão, elogio, preocupação ou reclamação...",rows:5,className:"w-full bg-white border border-[#163c61]/20 focus:border-[#163c61] focus:outline-none p-3 text-base rounded-xs text-[#163c61] placeholder:text-[#163c61]/40 transition-colors resize-none",required:!0,maxLength:2e3}),e.jsxs("p",{className:`text-xs mt-1 text-right ${s.mensagem.length>1800?"text-amber-600":"text-[#163c61]/40"}`,children:[s.mensagem.length,"/2000"]})]})]})}function z({state:s,status:a,updateState:o}){const r=w(s,a);return e.jsxs(e.Fragment,{children:[e.jsx(u,{checked:s.privacidade,onChange:t=>o({privacidade:t}),content:e.jsxs(e.Fragment,{children:["Declaro ter lido e compreendido a "," ",e.jsx("a",{href:v,target:"_blank",rel:"noopener noreferrer",className:"underline decoration-[#163c61]/50 hover:decoration-[#163c61]",children:"informação sobre proteção de dados"})," ","e autorizo o tratamento dos dados pessoais fornecidos para as finalidades indicadas."]})}),e.jsx(u,{checked:s.regulamento,onChange:t=>o({regulamento:t}),content:e.jsxs(e.Fragment,{children:["Declaro ter lido e aceite o "," ",e.jsx("a",{href:j,target:"_blank",rel:"noopener noreferrer",className:"underline decoration-[#163c61]/50 hover:decoration-[#163c61]",children:"regulamento do Programa A Voz"}),"."]})}),e.jsx(k,{status:a}),e.jsx(F,{status:a,isDisabled:r})]})}function w(s,a){return a==="submitting"||!C(s)}function C(s){return[s.privacidade,s.regulamento,s.tipo,s.assunto,s.mensagem].every(Boolean)}function u({checked:s,onChange:a,content:o}){return e.jsxs("label",{className:"flex items-start gap-3 cursor-pointer group",children:[e.jsx("input",{type:"checkbox",checked:s,onChange:r=>a(r.target.checked),required:!0,className:"mt-0.5 h-4 w-4 shrink-0 accent-[#163c61] cursor-pointer"}),e.jsx("span",{className:"text-sm text-[#163c61]/70 group-hover:text-[#163c61] transition-colors",children:o})]})}function k({status:s}){return s!=="error"?null:e.jsx(O,{})}function F({status:s,isDisabled:a}){return e.jsx("button",{type:"submit",disabled:a,className:"w-full bg-[#163c61] text-white font-semibold py-3 px-6 rounded-xs flex items-center justify-center gap-2 hover:bg-[#0d2238] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:s==="submitting"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"animate-spin h-4 w-4 border-2 border-white/30 border-t-white rounded-full"}),"A enviar..."]}):e.jsxs(e.Fragment,{children:[e.jsx(f,{size:16}),"Enviar"]})})}const P=["Atleta","Pai/EE","Treinador","Sócio","Colaborador","Outro"],R=["Sugestão","Reclamação","Elogio","Observação"];function S({email:s,onReset:a}){return e.jsxs("div",{className:"bg-emerald-50 border-2 border-emerald-500 rounded-sm p-10 text-center space-y-4",children:[e.jsx("div",{className:"text-5xl",children:"✓"}),e.jsx("h2",{className:"text-2xl font-bold text-emerald-700",children:"Obrigado pelo seu contributo!"}),e.jsxs("p",{className:"text-emerald-600",children:["A sua mensagem foi recebida e será analisada pela equipa responsável.",s&&" Enviámos uma confirmação para o seu email."]}),e.jsx("button",{onClick:a,className:"mt-4 underline text-emerald-700 text-sm hover:text-emerald-900 transition-colors",children:"Enviar outra mensagem"})]})}function O(){return e.jsxs("p",{className:"text-red-600 text-sm bg-red-50 border border-red-200 p-3 rounded-xs",children:["Ocorreu um erro ao enviar a sua mensagem. Por favor tente novamente ou contacte-nos diretamente em"," ",e.jsx("a",{href:"mailto:[email protected]",className:"underline hover:no-underline",children:"[email protected]"}),"."]})}function c({label:s,optional:a,value:o,onChange:r,placeholder:t,maxLength:i,type:d="text"}){return e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-semibold mb-1",children:[s," ",a&&e.jsx("span",{className:"text-[#163c61]/40 font-normal",children:"(opcional)"}),!a&&e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{type:d,value:o,onChange:n=>r(n.target.value),placeholder:t,className:"w-full bg-white border border-[#163c61]/20 focus:border-[#163c61] focu
1s:outline-none p-3 text-base rounded-xs text-[#163c61] placeholder:text-[#163c61]/40 transition-colors",maxLength:i,required:!a})]})}function x({label:s,required:a,options:o,value:r,onChange:t}){return e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-semibold mb-2",children:[s," ",a&&e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:o.map(i=>e.jsxs("label",{className:`cursor-pointer px-3 py-1.5 rounded-xs text-sm font-medium border transition-colors ${r===i?"bg-[#163c61] text-white border-[#163c61]":"border-[#163c61]/30 text-[#163c61] hover:border-[#163c61]"}`,children:[e.jsx("input",{type:"radio",name:s,value:i,checked:r===i,onChange:()=>t(i),className:"sr-only",required:a}),i]},i))})]})}const E=[{key:"sugestoes",label:`Sugestões
2Recebidas`,color:"bg-[#163c61]"},{key:"questoes",label:`Questões
3Colocadas`,color:"bg-[#163c61]/70"},{key:"reclamacoes",label:`Reclamações
4Reportadas`,color:"bg-amber-500"},{key:"resolvidas",label:`Situações
5Resolvidas`,color:"bg-emerald-600"}];function q(){const{page:s}=g.useLoaderData();return e.jsx(D,{counters:s.counters})}function D({counters:s}){return e.jsxs("div",{className:"text-[#163c61] bg-[#fefffe] pb-16 overflow-hidden",children:[e.jsxs("div",{className:"relative pt-28 pb-10 text-center",children:[e.jsxs("h1",{className:"text-5xl sm:text-7xl md:text-8xl font-bold",children:["Programa"," ",e.jsxs("span",{className:"relative inline-block",children:[e.jsx("span",{className:"relative z-10",children:'"A Voz"'}),e.jsx("span",{className:"absolute inset-0 -z-10 bg-[#163c61] -rotate-1 scale-x-105 scale-y-75 opacity-10 rounded-sm"})]})]}),e.jsx("p",{className:"mt-4 text-xl text-[#163c61]/60 font-medium tracking-wide",children:"Ouvir para Melhorar"})]}),e.jsxs("div",{className:"max-w-7xl mx-auto px-5 grid lg:grid-cols-2 gap-12 items-start",children:[e.jsx(V,{counters:s}),e.jsx(L,{})]})]})}function V({counters:s}){return e.jsxs("div",{className:"flex flex-col gap-10",children:[e.jsxs("div",{className:"space-y-4 text-lg leading-relaxed text-[#163c61]/80",children:[e.jsx("p",{children:'A iniciativa "A Voz" reforça o compromisso da Liga em promover uma cultura de escuta ativa e de valorização da sua comunidade.'}),e.jsx("p",{children:"Pretende-se proporcionar um espaço saudável, participativo, colaborativo e seguro, onde todos os membros da coletividade, Associados, Atletas, Treinadores, Pais e Dirigentes, possam expressar as suas opiniões, sugestões e preocupações, com a confiança de que serão verdadeiramente ouvidos."}),e.jsx("p",{children:"A Liga de Algés valoriza a transparência e acredita na importância de um ambiente inclusivo, saudável e seguro, onde todas as vozes contam e são respeitadas."}),e.jsx("p",{children:"Acreditamos que, através do diálogo construtivo, do esclarecimento de dúvidas e da participação ativa de todos, será possível promover a melhoria contínua da nossa organização, sempre com foco na positividade, no respeito mútuo e no desenvolvimento coletivo."})]}),e.jsx("div",{className:"grid grid-cols-2 gap-4",children:E.map(({key:a,label:o,color:r})=>e.jsxs("div",{className:`${r} text-white rounded-sm p-5 flex flex-col items-center justify-center text-center gap-1`,children:[e.jsx("span",{className:"text-4xl font-bold",children:s[a]??0}),e.jsx("span",{className:"text-sm font-medium leading-tight whitespace-pre-line opacity-90",children:o})]},o))}),e.jsxs("div",{className:"bg-[#163c61]/5 border-l-4 border-[#163c61] p-4 rounded-xs text-sm text-[#163c61]/70 leading-relaxed",children:[e.jsx("p",{className:"font-semibold text-[#163c61] mb-1",children:"Confidencialidade"}),e.jsx("p",{children:"As informações recebidas serão tratadas com confidencialidade e apenas acedidas pelos responsáveis autorizados. Para proteção da privacidade, evite incluir dados de saúde, documentos pessoais ou informação de terceiros desnecessária."})]})]})}const p={nome:"",email:"",perfil:"",tipo:"",assunto:"",mensagem:"",privacidade:!1,regulamento:!1};function L(){const s=T();return e.jsx(N,{...s})}function T(){const[s,a]=m.useState(p),[o,r]=m.useState("idle");return{state:s,status:o,updateState:l=>{a(n=>({...n,...l}))},resetForm:()=>{a(p),r("idle")},handleSubmit:async l=>{if(l.preventDefault(),!s.privacidade||!s.regulamento)return;r("submitting");const n=new FormData;n.append("nome",s.nome),n.append("email",s.email),n.append("perfil",s.perfil),n.append("tipo",s.tipo),n.append("assunto",s.assunto),n.append("mensagem",s.mensagem);try{if(!(await fetch("/api/send-voz",{method:"POST",body:n})).ok)throw new Error("Falha ao enviar");r("success")}catch{r("error")}}}}export{q as component};

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.