PageSourceSearch

https://faf.co.ao/assets/OrgaosSociais-BkED_GOu.js

js faf.co.ao collected 2026-10-02 19:10:48 UTC 6,005 bytes, 1 lines download raw bytes

1import{ao as v,r as x,b as k,j as e}from"./vendor-react-core-_0sZDOLQ.js";import{C,b as S,c as T,a as _}from"./card-DHmBnTdH.js";import{C as P}from"./CleanHero-B9_2ARuE.js";import{o as u,a as g}from"./orgaosSociais-lZ4163aP.js";import{b as E}from"./index-j07E1qHv.js";import{A,m as q}from"./vendor-framer-motion-C1oRD-X5.js";import{ar as M,a9 as I}from"./vendor-lucide-Ddz0eB7N.js";import"./vendor-radix-CFmJ1img.js";import"./vendor-utils-BRu4i-LD.js";import"./vendor-supabase-Ca6cp8v2.js";const O=(()=>{const t={};return Object.values(g).forEach(a=>{const c=o=>(o||[]).forEach(n=>{n.photo_url&&(t[n.name]=n.photo_url)});c(a.members),(a.sections||[]).forEach(o=>c(o.members))}),t})(),f=t=>({...t,photo_url:t.photo_url||O[t.name]||""});function $(t,a){const c=g[t]||g.assembleia,o=a.filter(i=>i.organ===t);if(o.length===0)return c;const n=(i,r)=>(i.sort_order??0)-(r.sort_order??0),m=o.filter(i=>!i.section).sort(n).map(f),d=[...new Set(o.filter(i=>i.section).map(i=>i.section))].map(i=>({title:i,members:o.filter(r=>r.section===i).sort(n).map(f)}));return{...c,members:m,sections:d.length?d:void 0}}function F({member:t}){const a=(t.name||"").split(" ").filter(Boolean).slice(0,2).map(c=>c[0]).join("").toUpperCase();return t.photo_url?e.jsx("img",{src:t.photo_url,alt:t.name,loading:"lazy",className:"h-full w-full object-cover object-top"}):e.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center gap-2 bg-gradient-to-b from-gray-100 to-gray-200 text-gray-400",children:[e.jsx(I,{className:"h-10 w-10"}),e.jsx("span",{className:"text-2xl font-black tracking-wide",children:a})]})}function j({members:t}){return e.jsx("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-6 lg:grid-cols-3 xl:grid-cols-4",children:t.map(a=>e.jsxs("figure",{className:"overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm transition-shadow hover:shadow-md",children:[e.jsx("div",{className:"aspect-[3/4] w-full overflow-hidden bg-gray-100",children:e.jsx(F,{member:a})}),e.jsxs("figcaption",{className:"border-t-2 border-red-600 p-4",children:[e.jsx("h3",{className:"text-sm font-black leading-snug text-gray-950 md:text-base",children:a.name}),e.jsx("p",{className:"mt-1 text-xs font-bold uppercase tracking-wide text-gray-500",children:a.role})]})]},`${a.role}-${a.name}`))})}function L({defaultTab:t}){var h,p,b;const[a,c]=v(),o=x.useMemo(()=>u.map(s=>s.id),[]),{data:n=[]}=k({queryKey:["committee-members"],queryFn:()=>E.entities.CommitteeMember.list("sort_order"),initialData:[]}),m=()=>{const s=a.get("tab");return s&&o.includes(s)?s:t&&o.includes(t)?t:"assembleia"},[l,d]=x.useState(m);x.useEffect(()=>{const s=a.get("tab");s&&o.includes(s)&&s!==l&&d(s)},[l,a,o]);const i=s=>{d(s),c({tab:s})},r=$(l,n),y=r.icon;return e.jsxs("main",{className:"min-h-screen bg-gray-50 pb-20",children:[e.jsx(P,{eyebrow:"Institucional",title:"Órgãos Sociais",description:"Estrutura de governação da Federação Angolana de Futebol, organizada com a Assembleia Geral no topo da hierarquia institucional."}),e.jsxs("section",{className:"container mx-auto mt-10 max-w-7xl px-4",children:[e.jsx("div",{className:"mb-8 grid grid-cols-1 gap-3 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-7",children:u.map((s,w)=>{const N=s.icon;return e.jsxs("button",{onClick:()=>i(s.id),className:`rounded-lg border p-4 text-left transition-all ${l===s.id?"border-red-600 bg-red-600 text-white shadow-lg shadow-red-600/20":"border-gray-200 bg-white text-gray-700 hover:border-red-200 hover:text-red-600"}`,children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx(N,{className:"h-5 w-5"}),e.jsx("span",{className:"text-xs font-black opacity-60",children:String(w+1).padStart(2,"0")})]}),e.jsx("span",{className:"block text-sm font-black uppercase leading-tight tracking-wide",children:s.label})]},s.id)})}),e.jsx(A,{mode:"wait",children:e.jsx(q.div,{initial:{opacity:0,y:14},animate:{opacity:1,y:0},exit:{opacity:0,y:-14},transition:{duration:.25},children:e.jsxs(C,{className:"overflow-hidden rounded-lg border-gray-200 bg-white shadow-sm",children:[e.jsx("div",{className:`h-2 w-full ${r.accent}`}),e.jsx(S,{className:"border-b border-gray-100 p-6 md:p-8",children:e.jsxs("div",{className:"flex flex-col gap-5 md:flex-row md:items-start md:justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-3 text-xs font-black uppercase tracking-[0.25em] text-red-600",children:r.eyebrow}),e.jsx(T,{className:"text-3xl font-black uppercase tracking-tight text-gray-950",children:r.title}),e.jsx("p",{className:"mt-4 max-w-3xl text-sm leading-relaxed text-gray-600 md:text-base",children:r.description}),(h=r.details)==null?void 0:h.map(s=>e.jsx("p",{className:"mt-3 max-w-3xl text-sm leading-relaxed text-gray-600 md:text-base",children:s},s))]}),e.jsx("div",{className:"flex h-14 w-14 flex-shrink-0 items-center justify-center rounded-lg bg-gray-950 text-white",children:e.jsx(y,{className:"h-7 w-7"})})]})}),e.jsxs(_,{className:"space-y-10 p-6 md:p-8",children:[e.jsxs("section",{children:[e.jsx("h2",{className:"mb-5 text-sm font-black uppercase tracking-[0.2em] text-gray-950",children:r.summary}),e.jsx(j,{members:r.members})]}),(p=r.sections)==null?void 0:p.map(s=>e.jsxs("section",{children:[e.jsx("h2",{className:"mb-5 text-sm font-black uppercase tracking-[0.2em] text-gray-950",children:s.title}),e.jsx(j,{members:s.members})]},s.title)),((b=r.responsibilities)==null?void 0:b.length)>0&&e.jsxs("section",{className:"rounded-lg border border-gray-100 bg-gray-50 p-5 md:p-6",children:[e.jsx("h2",{className:"mb-5 text-sm font-black uppercase tracking-[0.2em] text-gray-950",children:"Principais competências"}),e.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:r.responsibilities.map(s=>e.jsxs("div",{className:"flex gap-3",children:[e.jsx(M,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-red-600"}),e.jsx("p",{className:"text-sm leading-relaxed text-gray-600",children:s})]},s))})]})]})]})},l)})]})]})}export{L 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.