1import{j as e}from"./vendor-motion-D_eWtC2i.js";import{u as p,r as m}from"./vendor-react-C5-rmG_I.js";import{P as f}from"./PageHeader-B-h5e2bL.js";import{B as c,ak as N,b as v}from"./index-BB35H7Wo.js";import{I as C}from"./input-ChxEbcIp.js";import{T as b,a as w,b as x,c as a,d as A,e as r}from"./table-OzS6JEnE.js";import{A as D,a as T,b as k,c as B,d as S,e as I,f as L,g as z}from"./alert-dialog-v1-vKzmf.js";import{B as E}from"./badge-Bh_ckV5a.js";import{u as H,a as M}from"./useMessageCategories-D_aAy5T6.js";import P from"./pencil-ivCMRypk.js";import y from"./trash-2-CBz-PlbU.js";import"./vendor-supabase-CfDyWxaF.js";import"./vendor-charts-BzSnLuq2.js";const X=()=>{const d=p(),[l,h]=m.useState(""),[i,t]=m.useState(null),{data:n,isLoading:j}=H(),u=M(),o=n==null?void 0:n.filter(s=>s.name.toLowerCase().includes(l.toLowerCase())||s.slug.toLowerCase().includes(l.toLowerCase())),g=async s=>{await u.mutateAsync(s),t(null)};return j?e.jsx("div",{className:"flex items-center justify-center min-h-screen",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"})}):e.jsxs("div",{className:"p-4 md:p-6 space-y-6",children:[e.jsx(f,{title:"Categorias de Mensagem",description:"Gerencie as categorias para organizar seus templates",children:e.jsxs(c,{onClick:()=>d("/admin/messaging/categories/nova"),children:[e.jsx(N,{className:"w-4 h-4 mr-2"}),"Nova Categoria"]})}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs("div",{className:"relative flex-1 max-w-sm",children:[e.jsx(v,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground w-4 h-4"}),e.jsx(C,{placeholder:"Buscar categorias...",value:l,onChange:s=>h(s.target.value),className:"pl-10"})]})}),e.jsx("div",{className:"border rounded-lg",children:e.jsxs(b,{children:[e.jsx(w,{children:e.jsxs(x,{children:[e.jsx(a,{children:"Ãcone"}),e.jsx(a,{children:"Nome"}),e.jsx(a,{children:"Slug"}),e.jsx(a,{children:"Descrição"}),e.jsx(a,{children:"Cor"}),e.jsx(a,{children:"Status"}),e.jsx(a,{className:"text-right",children:"Ações"})]})}),e.jsx(A,{children:o==null?void 0:o.map(s=>e.jsxs(x,{children:[e.jsx(r,{className:"text-2xl",children:s.icon}),e.jsx(r,{className:"font-medium",children:s.name}),e.jsx(r,{children:e.jsx("code",{className:"text-xs bg-muted px-2 py-1 rounded",children:s.slug})}),e.jsx(r,{className:"max-w-xs truncate",children:s.description}),e.jsx(r,{children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-6 rounded border",style:{backgroundColor:s.color}}),e.jsx("span",{className:"text-xs text-muted-foreground",children:s.color})]})}),e.jsx(r,{children:e.jsx(E,{variant:s.is_active?"default":"secondary",children:s.is_active?"Ativa":"Inativa"})}),e.jsx(r,{className:"text-right",children:e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(c,{variant:"ghost",size:"sm",onClick:()=>d(`/admin/messaging/categories/${s.id}/editar`),children:e.jsx(P,{className:"w-4 h-4"})}),e.jsx(c,{variant:"ghost",size:"sm",onClick:()=>t(s.id),children:e.jsx(y,{className:"w-4 h-4"})})]})})]},s.id))})]})}),e.jsx(D,{open:i!==null,onOpenChange:()=>t(null),children:e.jsxs(T,{children:[e.jsxs(k,{children:[e.jsx(B,{children:"Confirmar exclusão"}),e.jsx(S,{children:"Tem certeza que deseja excluir esta categoria? Esta ação não pode ser desfeita."})]}),e.jsxs(I,{children:[e.jsx(L,{children:"Cancelar"}),e.jsx(z,{onClick:()=>i&&g(i),children:"Excluir"})]})]})})]})};export{X 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.