1import{r as x,j as e,v as S,w as H,s as P,b as U,t as b,L as y,x as Y}from"./vendor-react-core-_0sZDOLQ.js";import{a as w,c as C,B as r,b as u}from"./index-j07E1qHv.js";import{C as I,a as O}from"./card-DHmBnTdH.js";import{B as _}from"./badge-BXqwvh8U.js";import{I as f}from"./input-rti45mgP.js";import{L as l}from"./label-7HT5__eZ.js";import{T as $}from"./textarea-CHKzP3UK.js";import{S as J,a as K,b as W,c as X,d as j}from"./select-DHshRvNJ.js";import{D as Z,b as ee,c as ae,d as se}from"./dialog-C9ty4md6.js";import{T as te,a as ie,b as h}from"./tabs-BUF6w8PE.js";import{t as n}from"./index-CDqomOa1.js";import{h as re}from"./vendor-utils-BRu4i-LD.js";import{_ as le,a0 as ne,r as k,S as F,ad as oe,ae as ce,af as de}from"./vendor-lucide-Ddz0eB7N.js";import{m as me}from"./vendor-framer-motion-C1oRD-X5.js";import"./vendor-radix-CFmJ1img.js";import"./vendor-supabase-Ca6cp8v2.js";const A=x.forwardRef(({className:o,...c},d)=>e.jsx(S,{className:w("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",o),...c,ref:d,children:e.jsx(H,{className:w("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));A.displayName=S.displayName;const ue={selecao:"Seleção",girabola:"Girabola",feminino:"Feminino",formacao:"Formação",institucional:"Institucional"},he={selecao:"bg-red-100 text-red-800",girabola:"bg-blue-100 text-blue-800",feminino:"bg-pink-100 text-pink-800",formacao:"bg-green-100 text-green-800",institucional:"bg-purple-100 text-purple-800"};function De(){const o=P(),[c,d]=x.useState(!1),[D,m]=x.useState(!1),[v,p]=x.useState(null),[N,T]=x.useState("all"),[s,t]=x.useState({title:"",summary:"",content:"",category:"selecao",featured:!1,image_url:"",source_name:"",source_url:"",verification_status:""}),{data:i,isLoading:L}=U({queryKey:["admin-news"],queryFn:()=>u.entities.News.list("-created_date"),initialData:[]}),R=N==="all"?i:i.filter(a=>a.category===N),E=b({mutationFn:a=>u.entities.News.create(a),onSuccess:()=>{o.invalidateQueries(["admin-news"]),n.success("NotÃcia criada com sucesso"),m(!1),t({title:"",summary:"",content:"",category:"selecao",featured:!1,image_url:"",source_name:"",source_url:"",verification_status:""})}}),M=b({mutationFn:({id:a,data:g})=>u.entities.News.update(a,g),onSuccess:()=>{o.invalidateQueries(["admin-news"]),n.success("NotÃcia atualizada"),p(null),m(!1)}}),Q=b({mutationFn:a=>u.entities.News.delete(a),onSuccess:()=>{o.invalidateQueries(["admin-news"]),n.success("NotÃcia eliminada")}}),V=a=>{p(a),t({title:a.title,summary:a.summary,content:a.content,category:a.category,featured:a.featured||!1,image_url:a.image_url||"",source_name:a.source_name||"",source_url:a.source_url||"",verification_status:a.verification_status||""}),m(!0)},q=()=>{if(!s.title||!s.summary||!s.content){n.error("Preencha todos os campos obrigatórios");return}if(["selecao","girabola","institucional"].includes(s.category)&&!s.source_url){n.error("NotÃcias oficiais (Seleção, Girabola ou Institucional) exigem obrigatoriamente uma URL de fonte verÃdica.");return}v?M.mutate({id:v.id,data:s}):E.mutate(s)},z=()=>{m(!1),p(null),t({title:"",summary:"",content:"",category:"selecao",featured:!1,image_url:"",source_name:"",source_url:"",verification_status:""})},B=async()=>{d(!0);try{const a=await u.functions.invoke("fetchAngolaNews",{});n.success(a.data.message),o.invalidateQueries(["admin-news"])}catch(a){n.error("Erro ao buscar notÃcias: "+a.message)}finally{d(!1)}},G=async()=>{d(!0);try{const a=await u.functions.invoke("fetchAngolaMatches",{});n.success(a.data.message),o.invalidateQueries(["matches"])}catch(a){n.error("Erro ao buscar jogos: "+a.message)}finally{d(!1)}};return e.jsx("main",{className:"min-h-screen bg-gray-50 py-12",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx(y,{to:C("Admin"),children:e.jsxs(r,{variant:"ghost",className:"mb-6",children:[e.jsx(le,{className:"w-4 h-4 mr-2"}),"Voltar ao Dashboard"]})}),e.jsxs("div",{className:"flex items-center justify-between mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Gestão de NotÃcias"}),e.jsxs("p",{className:"text-gray-600 mt-1",children:[i.length," notÃcias publicadas"]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(r,{onClick:()=>m(!0),className:"bg-red-600 hover:bg-red-700",children:[e.jsx(ne,{className:"w-4 h-4 mr-2"}),"Nova NotÃcia"]}),e.jsxs(r,{onClick:G,disabled:c,variant:"outline",children:[c?e.jsx(k,{className:"w-4 h-4 mr-2 animate-spin"}):e.jsx(F,{className:"w-4 h-4 mr-2"}),"Atualizar Jogos"]}),e.jsxs(r,{onClick:B,disabled:c,variant:"outline",children:[c?e.jsx(k,{className:"w-4 h-4 mr-2 animate-spin"}):e.jsx(F,{className:"w-4 h-4 mr-2"}),"Buscar NotÃcias Verificadas"]})]})]}),e.jsx("div",{className:"mb-6",children:e.jsx(te,{value:N,onValueChange:T,children:e.jsxs(ie,{children:[e.jsxs(h,{value:"all",children:["Todas (",i.length,")"]}),e.jsxs(h,{value:"selecao",children:["Seleção (",i.filter(a=>a.category==="selecao").length,")"]}),e.jsxs(h,{value:"girabola",children:["Girabola (",i.filter(a=>a.category==="girabola").length,")"]}),e.jsxs(h,{value:"feminino",children:["Feminino (",i.filter(a=>a.category==="feminino").length,")"]}),e.jsxs(h,{value:"formacao",children:["Formação (",i.filter(a=>a.category==="formacao").length,")"]}),e.jsxs(h,{value:"institucional",children:["Institucional (",i.filter(a=>a.category==="institucional").length,")"]})]})})}),L?e.jsx("div",{className:"space-y-4",children:[...Array(5)].map((a,g)=>e.jsx("div",{className:"bg-white rounded-xl h-32 animate-pulse"},g))}):e.jsx("div",{className:"space-y-4",children:R.map((a,g)=>e.jsx(me.div,{initial:{opacity:0,y:20}
1,animate:{opacity:1,y:0},transition:{delay:g*.05},children:e.jsx(I,{className:"hover:shadow-lg transition-shadow",children:e.jsx(O,{className:"p-6",children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(_,{className:he[a.category],children:ue[a.category]}),a.featured&&e.jsx(_,{className:"bg-yellow-100 text-yellow-800",children:"Destaque"})]}),e.jsx("h3",{className:"font-bold text-gray-900 mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-gray-600 mb-2",children:a.summary}),e.jsx("p",{className:"text-xs text-gray-500",children:re(a.created_date).format("DD/MM/YYYY HH:mm")}),a.source_name&&e.jsxs("p",{className:"mt-1 text-xs font-medium text-green-700",children:["Fonte: ",a.source_name]})]}),e.jsxs("div",{className:"flex gap-2 ml-4",children:[e.jsx(r,{variant:"outline",size:"sm",onClick:()=>V(a),children:e.jsx(oe,{className:"w-4 h-4"})}),e.jsx(y,{to:C(`NewsDetail?id=${a.id}`),children:e.jsx(r,{variant:"outline",size:"sm",children:"Ver"})}),e.jsx(r,{variant:"destructive",size:"sm",onClick:()=>{confirm("Tem certeza que deseja eliminar esta notÃcia?")&&Q.mutate(a.id)},children:e.jsx(ce,{className:"w-4 h-4"})})]})]})})})},a.id))}),e.jsx(Z,{open:D,onOpenChange:m,children:e.jsxs(ee,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[e.jsx(ae,{children:e.jsx(se,{children:v?"Editar NotÃcia":"Nova NotÃcia"})}),e.jsxs("div",{className:"space-y-6 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"col-span-2",children:[e.jsx(l,{children:"TÃtulo *"}),e.jsx(f,{value:s.title,onChange:a=>t({...s,title:a.target.value}),placeholder:"TÃtulo da notÃcia",className:"mt-2"})]}),e.jsxs("div",{children:[e.jsx(l,{children:"Categoria *"}),e.jsxs(J,{value:s.category,onValueChange:a=>t({...s,category:a}),children:[e.jsx(K,{className:"mt-2",children:e.jsx(W,{})}),e.jsxs(X,{children:[e.jsx(j,{value:"selecao",children:"Seleção"}),e.jsx(j,{value:"girabola",children:"Girabola"}),e.jsx(j,{value:"feminino",children:"Feminino"}),e.jsx(j,{value:"formacao",children:"Formação"}),e.jsx(j,{value:"institucional",children:"Institucional"})]})]})]}),e.jsxs("div",{children:[e.jsx(l,{children:"URL da Imagem"}),e.jsx(f,{value:s.image_url,onChange:a=>t({...s,image_url:a.target.value}),placeholder:"https://...",className:"mt-2"})]}),e.jsxs("div",{children:[e.jsx(l,{children:"Fonte"}),e.jsx(f,{value:s.source_name,onChange:a=>t({...s,source_name:a.target.value}),placeholder:"CAF Online, Inside FIFA, FAF...",className:"mt-2"})]}),e.jsxs("div",{children:[e.jsx(l,{children:"URL da Fonte"}),e.jsx(f,{value:s.source_url,onChange:a=>t({...s,source_url:a.target.value}),placeholder:"https://www.cafonline.com/...",className:"mt-2"})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx(l,{children:"Estado de Verificação"}),e.jsx(f,{value:s.verification_status,onChange:a=>t({...s,verification_status:a.target.value}),placeholder:"Verificado em fonte oficial CAF/FIFA/FAF",className:"mt-2"})]}),e.jsxs("div",{className:"col-span-2 flex items-center gap-2",children:[e.jsx(A,{checked:s.featured,onCheckedChange:a=>t({...s,featured:a})}),e.jsxs(l,{className:"flex items-center gap-2",children:[e.jsx(de,{className:`w-4 h-4 ${s.featured?"text-yellow-500 fill-yellow-500":""}`}),"Marcar como Destaque"]})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx(l,{children:"Resumo *"}),e.jsx($,{value:s.summary,onChange:a=>t({...s,summary:a.target.value}),placeholder:"Resumo da notÃcia (2-3 frases)",className:"mt-2 min-h-[80px]"})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx(l,{children:"Conteúdo *"}),e.jsx("div",{className:"mt-2 border rounded-lg overflow-hidden",children:e.jsx(Y,{value:s.content,onChange:a=>t({...s,content:a}),modules:{toolbar:[[{header:[1,2,3,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],["link"],["clean"]]},placeholder:"Escreva o conteúdo da notÃcia...",className:"bg-white",style:{minHeight:"300px"}})})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-4 border-t",children:[e.jsx(r,{variant:"outline",onClick:z,children:"Cancelar"}),e.jsxs(r,{onClick:q,className:"bg-red-600 hover:bg-red-700",children:[v?"Atualizar":"Criar"," NotÃcia"]})]})]})]})})]})})}export{De 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.