1import{c as F,u as q,b,j as e}from"./vendor-query-CAW0R6Fd.js";import{r as x}from"./vendor-react-BIBNHc4z.js";import{a1 as I,c1 as k,B as l,au as _,a2 as O,a3 as L,a4 as z,L as o,aS as H,j as K,b as P,b6 as Q,c5 as B,ax as M,aA as n,q as v}from"./index-DxX8Lkqr.js";import{I as p}from"./input-CeFgxTaw.js";import{T as G}from"./textarea-BuWWaW-H.js";import{T as R,a as V,b as D,c as r,d as J,e as t}from"./table-DcAvJ9Te.js";import{A as U,a as W,b as X,c as Y,d as Z,e as $,f as ee,g as ae}from"./alert-dialog-CqMSYjUG.js";import{f as se,h as ie,i as re,j as te}from"./atos-normativos.service-nqrXDPm9.js";import"./ui-radix-CMPBktV5.js";import"./utils-objBp_8x.js";function ge(){const N=F(),[A,c]=x.useState(!1),[d,f]=x.useState(null),[h,u]=x.useState(null),[s,i]=x.useState({nome:"",sigla:"",descricao:"",ativo:!0,ordem_exibicao:0}),{data:m,isLoading:S}=q({queryKey:v.transparencia.atosNormativos.categorias(),queryFn:()=>se()}),j=b({mutationFn:async a=>{const{id:C,...y}=a;C?await ie(C,y):await re(y)},onSuccess:()=>{N.invalidateQueries({queryKey:v.transparencia.atosNormativos.categorias()}),n.success(d?"Categoria atualizada!":"Categoria criada!"),g(),c(!1)},onError:a=>{n.error("Erro ao salvar categoria: "+((a==null?void 0:a.message)||""))}}),E=b({mutationFn:a=>te(a),onSuccess:()=>{N.invalidateQueries({queryKey:v.transparencia.atosNormativos.categorias()}),n.success("Categoria excluÃda!"),u(null)},onError:a=>{n.error("Erro ao excluir categoria: "+((a==null?void 0:a.message)||""))}}),g=()=>{i({nome:"",sigla:"",descricao:"",ativo:!0,ordem_exibicao:0}),f(null)},T=a=>{i({nome:a.nome,sigla:a.sigla||"",descricao:a.descricao||"",ativo:a.ativo,ordem_exibicao:a.ordem_exibicao}),f(a.id),c(!0)},w=()=>{if(!s.nome.trim()){n.error("Nome é obrigatório");return}j.mutate(d?{...s,id:d}:s)};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:"Categorias de Atos Normativos"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"Gerencie as categorias de leis e atos normativos"})]}),e.jsxs(I,{open:A,onOpenChange:a=>{c(a),a||g()},children:[e.jsx(k,{asChild:!0,children:e.jsxs(l,{children:[e.jsx(_,{className:"mr-2 h-4 w-4"}),"Nova Categoria"]})}),e.jsxs(O,{className:"max-w-2xl",children:[e.jsx(L,{children:e.jsx(z,{children:d?"Editar Categoria":"Nova Categoria"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"nome",children:"Nome *"}),e.jsx(p,{id:"nome",value:s.nome,onChange:a=>i({...s,nome:a.target.value}),placeholder:"Ex: Leis"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"sigla",children:"Sigla"}),e.jsx(p,{id:"sigla",value:s.sigla,onChange:a=>i({...s,sigla:a.target.value}),placeholder:"Ex: LEI"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"descricao",children:"Descrição"}),e.jsx(G,{id:"descricao",value:s.descricao,onChange:a=>i({...s,descricao:a.target.value}),placeholder:"Descrição resumida da categoria",rows:3})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(o,{htmlFor:"ordem",children:"Ordem de Exibição"}),e.jsx(p,{id:"ordem",type:"number",value:s.ordem_exibicao,onChange:a=>i({...s,ordem_exibicao:parseInt(a.target.value)||0})})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(H,{id:"ativo",checked:s.ativo,onCheckedChange:a=>i({...s,ativo:a})}),e.jsx(o,{htmlFor:"ativo",children:"Categoria ativa"})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 mt-6",children:[e.jsx(l,{variant:"outline",onClick:()=>{c(!1),g()},children:"Cancelar"}),e.jsx(l,{onClick:w,disabled:j.isPending,children:j.isPending?"Salvando...":"Salvar"})]})]})]})]}),e.jsx(K,{children:e.jsx("div",{className:"p-6",children:S?e.jsx("div",{className:"space-y-3",children:[1,2,3].map(a=>e.jsx(P,{className:"h-12 w-full"},a))}):m!=null&&m.length?e.jsxs(R,{children:[e.jsx(V,{children:e.jsxs(D,{children:[e.jsx(r,{className:"w-12"}),e.jsx(r,{children:"Nome"}),e.jsx(r,{children:"Sigla"}),e.jsx(r,{children:"Ordem"}),e.jsx(r,{children:"Status"}),e.jsx(r,{className:"text-right",children:"Ações"})]})}),e.jsx(J,{children:m.map(a=>e.jsxs(D,{children:[e.jsx(t,{children:e.jsx(Q,{className:"h-4 w-4 text-muted-foreground cursor-move"})}),e.jsx(t,{children:e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:a.nome}),a.descricao&&e.jsx("div",{className:"text-sm text-muted-foreground",children:a.descricao})]})}),e.jsx(t,{children:a.sigla&&e.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded-md bg-primary/10 text-primary text-xs font-medium",children:a.sigla})}),e.jsx(t,{children:a.ordem_exibicao}),e.jsx(t,{children:a.ativo?e.jsx("span",{className:"text-green-600",children:"Ativa"}):e.jsx("span",{className:"text-muted-foreground",children:"Inativa"})}),e.jsx(t,{className:"text-right",children:e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>T(a),children:e.jsx(B,{className:"h-4 w-4"})}),e.jsx(l,{variant:"ghost",size:"sm",onClick:()=>u(a.id),children:e.jsx(M,{className:"h-4 w-4"})})]})})]},a.id))})]}):e.jsx("div",{className:"text-center py-12",children:e.jsx("p",{className:"text-muted-foreground",children:"Nenhuma categoria cadastrada ainda."})})})}),e.jsx(U,{open:!!h,onOpenChange:()=>u(null),children:e.jsxs(W,{children:[e.jsxs(X,{children:[e.jsx(Y,{children:"Confirmar exclusão"}),e.jsx(Z,{children:"Tem certeza que deseja excluir esta categoria? Esta ação não pode ser desfeita."})]}),e.jsxs($,{children:[e.jsx(ee,{children:"Cancelar"}),e.jsx(ae,{onClick:()=>h&&E.mutate(h),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Excluir"})]})]})})]})}export{ge 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.