PageSourceSearch

https://faf.co.ao/assets/Associacoes-CBWoZ9eF.js

js faf.co.ao collected 2026-10-02 19:10:08 UTC 10,768 bytes, 1 lines download raw bytes

1import{r as t,b as A,j as e}from"./vendor-react-core-_0sZDOLQ.js";import{b as w}from"./index-j07E1qHv.js";import{C as P}from"./CleanHero-B9_2ARuE.js";import{C as F,a as S}from"./card-DHmBnTdH.js";import{I as p}from"./input-rti45mgP.js";import{L as r}from"./label-7HT5__eZ.js";import{S as L}from"./skeleton-ClHfYp06.js";import{aI as x,a2 as z,aJ as B,aK as M,U as H,Z as I,m as q}from"./vendor-lucide-Ddz0eB7N.js";import{m as U}from"./vendor-framer-motion-C1oRD-X5.js";import"./vendor-radix-CFmJ1img.js";import"./vendor-utils-BRu4i-LD.js";import"./vendor-supabase-Ca6cp8v2.js";const m=[{id:"apf-bengo",name:"Associação Provincial de Futebol do Bengo",province:"Bengo",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Domant FC"]},{id:"apf-benguela",name:"Associação Provincial de Futebol de Benguela",province:"Benguela",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Wiliete SC","Académica do Lobito","Isaac de Benguela"]},{id:"apf-bie",name:"Associação Provincial de Futebol do Bié",province:"Bié",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Sporting de Bié"]},{id:"apf-cabinda",name:"Associação Provincial de Futebol de Cabinda",province:"Cabinda",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Sporting de Cabinda","Guicoss FC"]},{id:"apf-cuando-cubango",name:"Associação Provincial de Futebol do Cuando Cubango",province:"Cuando Cubango",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Cuando Cubango FC"]},{id:"apf-cuanza-norte",name:"Associação Provincial de Futebol do Cuanza Norte",province:"Cuanza Norte",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Porcelana FC","Nzaji FC do Cazengo"]},{id:"apf-cuanza-sul",name:"Associação Provincial de Futebol do Cuanza Sul",province:"Cuanza Sul",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Recreativo do Libolo"]},{id:"apf-cunene",name:"Associação Provincial de Futebol do Cunene",province:"Cunene",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:[]},{id:"apf-huambo",name:"Associação Provincial de Futebol do Huambo",province:"Huambo",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Ferrovia do Huambo","Recreativo da Caála","JGM Academia"]},{id:"apf-huila",name:"Associação Provincial de Futebol da Huíla",province:"Huíla",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Desportivo da Huíla","Benfica do Lubango"]},{id:"apf-luanda",name:"Associação Provincial de Futebol de Luanda",province:"Luanda",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Petro de Luanda","1º de Agosto","Interclube","Kabuscorp do Palanca"]},{id:"apf-lunda-norte",name:"Associação Provincial de Futebol da Lunda Norte",province:"Lunda Norte",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Sagrada Esperança","CIMAC FC"]},{id:"apf-lunda-sul",name:"Associação Provincial de Futebol da Lunda Sul",province:"Lunda Sul",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Desportivo da Lunda Sul","Saurimo FC"]},{id:"apf-malanje",name:"Associação Provincial de Futebol de Malanje",province:"Malanje",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["União de Malanje"]},{id:"apf-moxico",name:"Associação Provincial de Futebol do Moxico",province:"Moxico",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Bravos do Maquis","FC Jovens de Hoje"]},{id:"apf-namibe",name:"Associação Provincial de Futebol do Namibe",province:"Namibe",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Atlético do Namibe"]},{id:"apf-uige",name:"Associação Provincial de Futebol do Uíge",province:"Uíge",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["Santa Rita de Cássia","Carmona SC","ASK Dragão"]},{id:"apf-zaire",name:"Associação Provincial de Futebol do Zaire",province:"Zaire",president:"Não existente",email:"Não existente",address:"Não existente",season:"2025/2026",clubs:["São Salvador do Zaire","Académica do Soyo"]}],D=[...new Set(m.map(a=>a.province))],N=a=>({...a,name:a.name||`Associação Provincial de Futebol de ${a.province||"Não existente"}`,province:a.province||"Não existente",president:a.president||"Não existente",email:a.email||"Não existente",address:a.address||"Não existente",season:a.season||"2025/2026",clubs:Array.isArray(a.clubs)?a.clubs:[]});function O(){const[a,v]=t.useState(""),[l,b]=t.useState("all"),[d,g]=t.useState("all"),[c,h]=t.useState(""),{data:i=[],isLoading:j}=A({queryKey:["provincial-associations"],queryFn:()=>w.entities.ProvincialAssociation.list("province",20)}),u=t.useMemo(()=>
1{if(!i.length)return m;const s=new Set(i.map(o=>{var n;return(n=o.province)==null?void 0:n.toLowerCase()}).filter(Boolean));return[...i.map(N),...m.filter(o=>!s.has(o.province.toLowerCase()))]},[i]).map(N).filter(s=>{const o=s.name.toLowerCase().includes(a.toLowerCase())||s.province.toLowerCase().includes(a.toLowerCase()),n=l==="all"||s.province===l,f=d==="all"||s.season===d,y=!c||s.clubs.some(C=>C.toLowerCase().includes(c.toLowerCase()));return o&&n&&f&&y}).sort((s,o)=>s.province.localeCompare(o.province,"pt",{sensitivity:"base"}));return e.jsxs("main",{className:"min-h-screen bg-gray-50",children:[e.jsx(P,{eyebrow:"Associações Provinciais",title:"Associações de Futebol",description:"Pesquisa e filtros para as associações provinciais, respetivas províncias, épocas e clubes associados.",icon:x}),e.jsx("section",{className:"py-8 bg-white border-b border-gray-200",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(r,{className:"text-xs font-bold uppercase",children:"Nome"}),e.jsxs("div",{className:"relative",children:[e.jsx(z,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(p,{value:a,onChange:s=>v(s.target.value),placeholder:"Pesquisar associação",className:"pl-10"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(r,{className:"text-xs font-bold uppercase",children:"Província"}),e.jsxs("select",{value:l,onChange:s=>b(s.target.value),className:"w-full h-10 border border-gray-200 rounded-md px-3 text-sm",children:[e.jsx("option",{value:"all",children:"Todas"}),D.map(s=>e.jsx("option",{value:s,children:s},s))]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(r,{className:"text-xs font-bold uppercase",children:"Época"}),e.jsxs("select",{value:d,onChange:s=>g(s.target.value),className:"w-full h-10 border border-gray-200 rounded-md px-3 text-sm",children:[e.jsx("option",{value:"all",children:"Todas"}),e.jsx("option",{value:"2025/2026",children:"2025/2026"}),e.jsx("option",{value:"2024/2025",children:"2024/2025"}),e.jsx("option",{value:"2023/2024",children:"2023/2024"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(r,{className:"text-xs font-bold uppercase",children:"Clubes associados"}),e.jsx(p,{value:c,onChange:s=>h(s.target.value),placeholder:"Ex: Petro"})]})]})})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[j&&i.length===0?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:Array.from({length:8}).map((s,o)=>e.jsx(L,{className:"h-72 rounded-lg"},o))}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:u.map((s,o)=>e.jsx(U.div,{initial:{opacity:0,y:15},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:o*.03},children:e.jsx(F,{className:"h-full hover:shadow-xl transition-shadow border-t-4 border-yellow-500 overflow-hidden group rounded-lg",children:e.jsxs(S,{className:"p-6 relative",children:[e.jsx(x,{className:"absolute -bottom-6 -right-6 w-32 h-32 text-gray-100 opacity-40 group-hover:rotate-12 transition-all"}),e.jsxs("div",{className:"flex items-center gap-3 mb-6 relative z-10",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-br from-yellow-500 to-red-600 flex items-center justify-center text-white shadow-md",children:e.jsx(B,{className:"w-5 h-5"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs font-bold text-gray-400 uppercase tracking-widest",children:"APF"}),e.jsx("h3",{className:"text-xl font-bold text-gray-900 leading-none",children:s.province})]})]}),e.jsxs("div",{className:"space-y-4 relative z-10 font-medium",children:[e.jsxs("div",{className:"flex items-start gap-3 text-gray-600 bg-gray-50 p-3 rounded-lg border border-gray-100 shadow-sm",children:[e.jsx(M,{className:"w-5 h-5 text-yellow-600 mt-0.5"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-400 uppercase",children:"Presidente"}),e.jsx("p",{className:"font-bold text-gray-800",children:s.president})]})]}),e.jsxs("div",{className:"flex items-start gap-3 text-gray-600 bg-gray-50 p-3 rounded-lg border border-gray-100",children:[e.jsx(H,{className:"w-5 h-5 text-yellow-600 mt-0.5"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-gray-400 uppercase",children:"Clubes associados"}),e.jsx("p",{className:"font-bold text-gray-800",children:s.clubs.length?s.clubs.join(", "):"Não existente"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600",children:[e.jsx(I,{className:"w-4 h-4 text-red-600"})," Época: ",e.jsx("strong",{children:s.season})]}),e.jsxs("div",{className:"text-sm text-gray-500 space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-red-600",children:[e.jsx(q,{className:"w-4 h-4"})," ",s.email]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{className:"w-4 h-4 text-gray-400"})," ",s.address]})]})]})]})})},s.id||s.province))}),u.length===0&&e.jsxs("div",{className:"mt-8 text-center py-14 bg-white border border-dashed border-gray-300",children:[e.jsx("p",{className:"font-bold text-gray-900",children:"Não existente"}),e.jsx("p",{className:"text-gray-500 text-sm mt-1",children:"Não foram encontradas associações para os filtros selecionados."})]})]})})]})}export{O 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.