1import{r as l,j as a,L as aa,k as ea,i as ra,b as ta}from"./react-daO8XSXc.js";import{t as oa,p as sa,a as ia,s as la,b as na,c as ca,e as ua}from"./materialService-BDhv8H6o.js";import{l as da,t as ma,g as pa,a as ha}from"./galerias-KXOde7VA.js";import{C as R}from"./contentService-D-YtiaGk.js";import{M as xa,f as fa,F as va,v as ja,t as ga}from"./materiais-pmfMTizI.js";import{S as ba,F as Ca,a as Na,b as A,c as E,d as F,e as Sa,f as Ma}from"./Ficha-MR5k4piD.js";import{S as $,B as N}from"./Button-8-UveMcL.js";import{F as m}from"./Field-3GimFoRS.js";import{I as b,T as z,S as C}from"./Input-BWXNKslz.js";import{C as Da}from"./CampoImagem-DywrfTeF.js";import{a as L}from"./Exibicao-BET41dMP.js";import{C as Aa,S as Ea}from"./Escolhas-BH21sbXZ.js";import{E as Fa}from"./EmptyState-DyDBtv_o.js";import{u as qa}from"./Avisos-DoJY8zcA.js";import{E as ya,a as ka}from"./EscolhaDePalestrantes-sS5vQnIg.js";import{u as wa}from"./useClassificacoes-CyAYNBrU.js";import{F as Ta}from"./TrashIcon-CSgk2SLQ.js";import"./index-B58ZFblL.js";import"./supabase-CWGMQrOR.js";import"./framer-CJI0BPWU.js";import"./lucide-DgiROqw5.js";import"./vinculos-ejCNwAw8.js";import"./Dialog-pcGZL7JV.js";import"./index-Bx8Owg57.js";import"./index-BkA-a7YQ.js";import"./XMarkIcon-BbNpXEGa.js";import"./basicos-CJBwiWJx.js";import"./ChevronDownIcon-C1xiHESR.js";import"./PhotoIcon-DseYEjsp.js";import"./ArrowUpTrayIcon-DfXeXRJ4.js";import"./index-BSdpKbQ6.js";import"./index-Be0SzB96.js";import"./InformationCircleIcon-BuxHKy4m.js";import"./ExclamationTriangleIcon-CYNpIWW5.js";import"./papeisNoConteudo-C8FPDFed.js";import"./classificacaoService-DY2NuT7F.js";function Oa({escolhidas:t,aoMudar:n}){const[c,u]=l.useState([]),[f,p]=l.useState(!0);if(l.useEffect(()=>{let s=!1;return da().then(i=>!s&&u(i)).catch(i=>console.error("Falha ao carregar as galerias",i)).finally(()=>!s&&p(!1)),()=>{s=!0}},[]),f)return a.jsxs("div",{className:"flex items-center gap-2 text-[13px] text-painel-texto-3",children:[a.jsx($,{className:"size-4"}),"Carregando as galeriasâ¦"]});if(c.length===0)return a.jsxs("p",{className:"text-[13px] leading-relaxed text-painel-texto-3",children:["Nenhuma galeria cadastrada ainda."," ",a.jsx(aa,{to:"/dashboard/plataforma/galerias",className:"underline underline-offset-2 hover:text-painel-texto",children:"Crie uma galeria"})," ","para organizar este material."]});const o=(s,i)=>n(i?[...t,s]:t.filter(x=>x!==s));return a.jsx("div",{className:"max-h-60 space-y-2.5 overflow-y-auto pr-1",children:c.map(s=>a.jsx(Aa,{checked:t.includes(s.id),onCheckedChange:i=>o(s.id,i===!0),rotulo:a.jsxs("span",{children:[s.nome,a.jsx("span",{className:"block text-[11px] text-painel-texto-3",children:[ma(s.tipo).rotulo,s.publicado?null:"rascunho"].filter(
1Boolean).join(" · ")})]})},s.id))})}const Ia=t=>{if(!t)return"";const n=new Date(t);if(Number.isNaN(n.getTime()))return"";const c=u=>String(u).padStart(2,"0");return`${n.getFullYear()}-${c(n.getMonth()+1)}-${c(n.getDate())}T${c(n.getHours())}:${c(n.getMinutes())}`},Pa=t=>{if(!t)return null;const n=new Date(t);return Number.isNaN(n.getTime())?null:n.toISOString()};function be(){const{materiais:t,carregando:n,recarregar:c}=ea(),{id:u}=ra(),f=ta(),[p,o]=l.useState(!0),s=u===void 0,i=s?null:t.find(h=>h.id===u)||null,x=l.useCallback(()=>o(!1),[]);return l.useEffect(()=>{if(p)return;const h=setTimeout(()=>f("..",{replace:!0}),ba);return()=>clearTimeout(h)},[p,f]),a.jsx(Ca,{open:p,onOpenChange:h=>!h&&o(!1),children:a.jsx(Na,{children:!s&&!i&&n?a.jsxs(a.Fragment,{children:[a.jsx(A,{children:a.jsx(E,{children:"Carregandoâ¦"})}),a.jsx(F,{className:"flex items-center justify-center",children:a.jsx($,{className:"size-7 text-painel-texto-3"})})]}):!s&&!i?a.jsxs(a.Fragment,{children:[a.jsx(A,{children:a.jsx(E,{children:"Material não encontrado"})}),a.jsx(F,{children:a.jsx(Fa,{titulo:"Esta ficha não existe",descricao:"O material pode ter sido excluÃdo. Volte para a lista e escolha outro.",acao:a.jsx(N,{variant:"secondary",onClick:x,children:"Voltar para a lista"})})})]}):a.jsx(Ga,{original:i,recarregar:c,fechar:x},i?i.id:"novo")})})}function Ga({original:t,recarregar:n,fechar:c}){const{avisar:u,confirmar:f}=qa(),p=t===null,[o,s]=l.useState(()=>t?{...t,arquivo:""}:{...xa}),[i,x]=l.useState(p?"novo":"carregando"),h=i==="carregando",q=l.useRef(null),[B,V]=l.useState({}),[J,S]=l.useState(!1),y=l.useRef(null),[k,w]=l.useState([]),[T,O]=l.useState([]),[I,P]=l.useState([]),{itens:M,carregando:_}=wa("niveis"),[H,U]=l.useState([]);l.useEffect(()=>{let r=!1;return R.listarPatrocinadoresNoPainel().then(e=>!r&&U(e)).catch(e=>console.error("Falha ao carregar as marcas",e)),()=>{r=!0}},[]),l.useEffect(()=>{if(!(t!=null&&t.id))return;let r=!1;return pa(t.id).then(e=>!r&&w(e)),oa(t.id).then(e=>!r&&O(e)),sa(t.id).then(e=>!r&&P(e)),()=>{r=!0}},[t==null?void 0:t.id]),l.useEffect(()=>{if(!t)return;let r=!1;return ia(t.id).then(e=>{if(r)return;if(e.estado==="falhou"){x("falhou");return}const v=e.estado==="ok"?e.conteudo:"";q.current={formato:t.formato,arquivo:v},s(j=>({...j,arquivo:v})),x("lido")}).catch(()=>{r||x("falhou")}),()=>{r=!0}},[t]);const d=(r,e)=>s(v=>({...v,[r]:e})),D=fa(o.formato),Q=async r=>{r.preventDefault();const e=ja(o);if(V(e),Object.keys(e).length){requestAnimationFrame(()=>{var G;const g=(G=y.current)==null?void 0:G.querySelector('[aria-invalid="true"]');g==null||g.scrollIntoView({block:"center"}),g==null||g.focus()});return}S(!0);const v=ga(o,i==="falhou"?"nao-lido":q.current),j=await la({...o,tamanhoBytes:v},{gravarArquivo:i!=="falhou"});if(!j){S(!1),u("Não conseguimos salvar. Se a mensagem falar em permissão, saia e entre de novo.","erro");return}const[K,W,X]=await Promise.all([ha(j,k),na(j,T),ca(j,I)]);if(S(!1),await n(),!K||!W||!X){u("Material salvo, mas as marcações não. Abra de novo e confira galerias, tópicos e quem fala.","erro"),c();return}u(p?o.publicado?"Material cadastrado. Já está no Arsenal.":"Material cadastrado como rascunho.":"Alterações salvas.","sucesso"),c()},Y=async()=>{if(await f({titulo:`Excluir ${o.titulo||"este material"}?`,descricao:"Ele sai do Arsenal imediatamente. Não dá para desfazer.",confirmar:"Excluir",perigo:!0})){if(!await ua(o.id)){u("Não conseguimos excluir. Tente de novo.","erro");return}await n(),u("Material excluÃdo.","sucesso"),c()}},Z=i==="falhou"?"Não conseguimos ler o que está gravado. Salvar agora mantém o conteúdo atual; para trocar, feche e abra a ficha de novo.":D.ajuda;return a.jsxs(a.Fragment,{children:[a.jsxs(A,{children:[a.jsx(E,{children:p?"Novo material":o.titulo||"Material"}),a.jsx(Sa,{children:"O nÃvel de acesso decide quem recebe o arquivo â a trava é do banco, não da tela."})]}),a.jsxs("form",{ref:y,onSubmit:Q,className:"flex min-h-0 flex-1 flex-col",children:[a.jsxs(F,{className:"space-y-5",children:[a.jsx(m,{rotulo:"TÃtulo",obrigatorio:!0,erro:B.titulo,children:r=>a.jsx(b,{...r,value:o.titulo,onChange:e=>d("titulo",e.target.value)})}),a.jsx(m,{rotulo:"Descrição",ajuda:"Uma linha, aparece sob a capa.",children:r=>a.jsx(z,{...r,rows:2,value:o.descricao,onChange:e=>d("descricao",e.target.value)})}),a.jsxs("div",{children:[a.jsx("p",{className:"mb-1.5 text-[13px] font-medium text-painel-texto-2",children:"Capa"}),a.jsx(Da,{valor:o.capaUrl,aoMudar:r=>d("capaUrl",r),enviar:r=>R.uploadImage(r,"materiais"),formato:"larga",rotuloDoBotao:"Enviar capa"}),a.jsx("p",{className:"mt-2 text-xs text-painel-texto-3",children:"Deitada, 16:9. JPG ou PNG."})]}),a.jsx(L,{}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[a.jsx(m,{rotulo:"Formato",ajuda:"Decide o que vai no campo abaixo.",children:r=>a.jsx(C,{...r,value:o.formato,onChange:e=>d("formato",e.target.value),children:va.map(e=>a.jsx("option",{value:e.id,children:e.rotulo},e.id))})}),a.jsx(m,{rotulo:"Acesso",ajuda:"âAssinaturaâ tranca o arquivo para quem não assina.",children:r=>a.jsxs(C,{...r,value:o.acesso,onChange:e=>d("acesso",e.target.value),children:[a.jsx("option",{value:"gratis",children:"Grátis"}),a.jsx("option",{value:"assinatura",children:"Assinatura"})]})})]}),a.jsx(m,{rotulo:D.escritoAqui?"Conteúdo":"Endereço",ajuda:Z,children:r=>D.escritoAqui?a.jsx(z,{...r,rows:8,disabled:h||i==="falhou",value:o.arquivo,onChange:e=>d("arquivo",e.target.value)}):a.jsx(b,{...r,type:"url",placeholder:h?"Carregandoâ¦":"https://",disabled:h||i==="falhou",value:o.arquivo,onChange:e=>d("arquivo",e.target.value)})}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[a.jsx(m,{rotulo:"NÃvel",ajuda:_?"Carregando os nÃveisâ¦":M.length===0?"Nenhum nÃvel cadastrado â cadastre em Plataforma ⺠Classificações.":"A profundidade do material.",children:r=>a.jsxs(C,{...r,value:o.nivelId??"",disabled:M.length===0,onChange:e=>d("nivelId",e.target.value||null),children:[a.jsx("option",{value:"",children:"Sem nÃvel"}),M.map(e=>a.jsx("option",{value:e.id,children:e.nome},e.id))]})}),a.jsx(m,{rotulo:"Marca",ajuda:"Mesmo cadastro dos patrocinadores.",children:r=>a.jsxs(C,{...r,value:o.marcaId===null?"":String(o.marcaId),onChange:e=>d("marcaId",e.target.value?Number(e.target.value):null),children:[a.jsx("option",{value:"",children:"Sem mar
1ca"}),H.map(e=>a.jsx("option",{value:e.id,children:e.name},e.id))]})})]}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[a.jsx(m,{rotulo:"Ordem",ajuda:"Menor primeiro. Dentro de uma galeria, quem manda é ela.",children:r=>a.jsx(b,{...r,type:"number",value:String(o.ordem),onChange:e=>d("ordem",Number(e.target.value)||0)})}),a.jsx(m,{rotulo:"Liberado em",ajuda:"A partir de quando aparece. Vazio: ao publicar.",children:r=>a.jsx(b,{...r,type:"datetime-local",value:Ia(o.liberadoEm),onChange:e=>d("liberadoEm",Pa(e.target.value))})})]}),a.jsx(m,{rotulo:"Galerias",ajuda:"Onde este material aparece. Pode estar em mais de uma.",children:()=>a.jsx(Oa,{escolhidas:k,aoMudar:w})}),a.jsx(m,{rotulo:"Tópicos",ajuda:"De que assuntos ele fala. Pode ser mais de um.",children:()=>a.jsx(ya,{escolhidos:T,aoMudar:O})}),a.jsx(m,{rotulo:"Quem fez",ajuda:"O expert por trás do material.",children:()=>a.jsx(ka,{escolhidos:I,aoMudar:P})}),a.jsx(L,{}),a.jsx(Ea,{rotulo:"Publicado",ajuda:"Rascunho fica só aqui no painel; publicado aparece no Arsenal.",checked:o.publicado,onCheckedChange:r=>d("publicado",r)})]}),a.jsxs(Ma,{className:"sm:justify-between",children:[p?a.jsx("span",{}):a.jsxs(N,{type:"button",variant:"destructive",onClick:Y,children:[a.jsx(Ta,{"aria-hidden":!0}),"Excluir"]}),a.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row",children:[a.jsx(N,{type:"button",variant:"secondary",onClick:c,children:"Cancelar"}),a.jsx(N,{type:"submit",loading:J||h,disabled:h,children:p?"Cadastrar":"Salvar"})]})]})]})]})}export{be 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.