1import{a as M}from"./rolldown-runtime-DS2seoW7.js";import{y as U}from"./vendor-charts-BLlC71g6.js";import{d as R}from"./vendor-markdown-BnDz3YsI.js";import{t as u}from"./button-BYAM3dpJ.js";import{t as T}from"./AdminLayout-ysxYvXS3.js";import{t as $}from"./pencil-yQFeiHCu.js";import{t as G}from"./plus-gfEYZoE2.js";import{t as J}from"./search-B2qh8au5.js";import{t as K}from"./IntencaoBuscaHelp-BtUavd49.js";import{t as Q}from"./trash-2-DFpJjJ09.js";import{t as h}from"./client-G18cNx3L.js";import{M as o,P as _,h as N,m as n}from"./index-C3yrWq7m.js";import{a as V,i as W,n as X,r as Y,t as Z}from"./card-CgHkyPTd.js";import{t as D}from"./textarea-B4bCLmXX.js";import{a as ee,i as l,n as se,o as E,r as c,t as ae}from"./table-Cbv1opTl.js";import{t as re}from"./badge-TysjFtoF.js";import{a as ie,i as te,n as oe,o as ne,r as le,t as ce}from"./dialog-Dh9ZL44J.js";import{t as de}from"./useAdminCheck-CVicxlRQ.js";import{t as me}from"./switch-DgZFHfog.js";import{t as ue}from"./ConfirmDialog-CqJ-oT3s.js";import{t as I}from"./slugify-OAPDbkHM.js";var i=M(U(),1),e=R(),A={slug:"",nome:"",descricao:"",prompt_directive:"",display_order:0,is_active:!0};function Le(){const{isAdmin:p,isLoading:k}=de(),[g,F]=(0,i.useState)([]),[L,C]=(0,i.useState)(!0),[x,y]=(0,i.useState)(null),[O,d]=(0,i.useState)(!1),[m,j]=(0,i.useState)(null),[r,t]=(0,i.useState)({...A}),[b,w]=(0,i.useState)(!1),[q,f]=(0,i.useState)(!1),v=async()=>{C(!0);const{data:s,error:a}=await h.from("blog_search_intents").select("*").order("display_order").order("nome");a?o.error("Erro ao carregar intenções"):F(s??[]),C(!1)};(0,i.useEffect)(()=>{p&&v()},[p]);const B=()=>{y(null),t({...A,display_order:g.length}),f(!1),d(!0)},H=s=>{y(s),t({slug:s.slug,nome:s.nome,descricao:s.descricao,prompt_directive:s.prompt_directive,display_order:s.display_order,is_active:s.is_active}),f(!0),d(!0)},P=async()=>{if(!r.nome.trim()||!r.slug.trim()){o.error("Nome e slug são obrigatórios");return}w(!0);const s={slug:I(r.slug),nome:r.nome.trim(),descricao:r.descricao,prompt_directive:r.prompt_directive,display_order:r.display_order,is_active:r.is_active},a=x?await h.from("blog_search_intents").update(s).eq("id",x.id):await h.from("blog_search_intents").insert(s);if(w(!1),a.error){o.error(a.error.message.includes("duplicate")?"Slug já existe":"Erro ao salvar");return}o.success(x?"Intenção atualizada":"Intenção criada"),d(!1),v()},z=async()=>{if(!m)return;const{error:s}=await h.from("blog_search_intents").delete().eq("id",m.id);s?o.error("Erro ao excluir â verifique pautas vinculadas"):(o.success("Intenção excluÃda"),v()),j(null)};return k?(0,e.jsx)(T,{children:(0,e.jsx)("div",{className:"flex h-64 items-center justify-center",children:(0,e.jsx)(_,{className:"h-8 w-8 animate-spin"})})}):p?(0,e.jsxs)(T,{children:[(0,e.jsxs)("div",{className:"space-y-6",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsxs)("div",{children:[(0,e.jsxs)("h1",{className:"text-3xl font-bold flex items-center gap-2",children:["Intenções de Busca ",(0,e.jsx)(K,{})]}),(0,e.jsx)("p",{className:"text-muted-foreground",children:"Configura como o gerador adapta tom e formato segundo a intenção de busca alvo."})]}),(0,e.jsxs)(u,{onClick:B,children:[(0,e.jsx)(G,{className:"mr-2 h-4 w-4"})," Nova intenção"]})]}),(0,e.jsxs)(Z,{children:[(0,e.jsxs)(W,{children:[(0,e.jsxs)(V,{className:"flex items-center gap-2",children:[(0,e.jsx)(J,{className:"h-5 w-5"})," ",g.length," intenção(ões)"]}),(0,e.jsx)(Y,{children:'O campo "diretiva de prompt" é injetado no prompt do gerador para guiar tom e formato.'})]}),(0,e.jsx)(X,{children:L?(0,e.jsx)("div",{className:"flex h-32 items-center justify-center",children:(0,e.jsx)(_,{className:"h-6 w-6 animate-spin"})}):(0,e.jsxs)(ae,{children:[(0,e.jsx)(ee,{children:(0,e.jsxs)(E,{children:[(0,e.jsx)(l,{className:"w-16",children:"Ordem"}),(0,e.jsx)(l,{children:"Nome"}),(0,e.jsx)(l,{children:"Slug"}),(0,e.jsx)(l,{children:"Descrição"}),(0,e.jsx)(l,{className:"text-center",children:"Ativo"}),(0,e.jsx)(l,{className:"text-right",children:"Ações"})]})}),(0,e.jsx)(se,{children:g.map(s=>(0,e.jsxs)(E,{children:[(0,e.jsx)(c,{children:s.display_order}),(0,e.jsx)(c,{className:"font-medium",children:s.nome}),(0,e.jsx)(c,{className:"font-mono text-xs",children:s.slug}),(0,e.jsx)(c,{className:"max-w-md truncate text-sm text-muted-foreground",children:s.descricao||"â"}),(0,e.jsx)(c,{className:"text-center",children:(0,e.jsx)(re,{variant:s.is_active?"default":"secondary",children:s.is_active?"Ativo":"Inativo"})}),(0,e.jsxs)(c,{className:"text-right",children:[(0,e.jsx)(u,{variant:"ghost",size:"icon",onClick:()=>H(s),children:(0,e.jsx)($,{className:"h-4 w-4"})}),(0,e.jsx)(u,{variant:"ghost",size:"icon",onClick:()=>j(s),children:(0,e.jsx)(Q,{className:"h-4 w-4"})})]})]},s.id))})]})})]})]}),(0,e.jsx)(ce,{open:O,onOpenChange:d,children:(0,e.jsxs)(oe,{className:"max-w-2xl",children:[(0,e.jsxs)(ie,{children:[(0,e.jsx)(ne,{children:x?"Editar intenção":"Nova intenção"}),(0,e.jsx)(le,{children:"Informacional, comercial, transacional, navegacional. Use a diretiva para instruir o LLM."})]}),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)(n,{htmlFor:"nome",children:"Nome"}),(0,e.jsx)(N,{id:"nome",value:r.nome,onChange:s=>{const a=s.target.value;t(S=>({...S,nome:a,slug:q?S.slug:I(a)}))},placeholder:"Ex: Informacional"})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)(n,{htmlFor:"slug",children:"Slug"}),(0,e.jsx)(N,{id:"slug",value:r.slug,onChange:s=>{f(!0),t(a=>({...a,slug:s.target.value}))},className:"font-mono"})]})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)(n,{htmlFor:"desc",children:"Descrição"}),(0,e.jsx)(D,{id:"desc",value:r.descricao,onChange:s=>t(a=>({...a,descricao:s.target.value})),rows:2,placeholder:"Para uso interno na UI."})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)(n,{htmlFor:"dir",children:"Diretiva de prompt"}),(0,e.jsx)(D,{id:"dir",value:r.prompt_directive,onChange:s=>t(a=>({...a,prompt_directive:s.target.value})),rows:4,placeholder:"Ex: O conteúdo deve ser educacional, com foco em explicar conceitos. Evite CTAs comerciais agressivos."}),(0,e.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Texto injetado no system prompt do gerador para guiar tom e formato."})]}),(0,e.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)(n,{htmlFor:"ord",children:"Ordem de exibição"}),(0,e.jsx)(N,{id:"ord",type:"number",value:r.display_order,onChange:s=>t(a=>({...a,display_order:Number(s.target.value)||0}))})]}),(0,e.jsxs)("div",{className:"flex items-end gap-2",children:[(0,e.jsx)(me,{id:"active",checked:r.is_active,onCheckedChange:s=>t(a=>({...a,is_active:s}))}),(0,e.jsx)(n,{htmlFor:"active",children:"Ativo"})]})]})]}),(0,e.jsxs)(te,{children:[(0,e.jsx)(u,{variant:"outline",onClick:()=>d(!1),children:"Cancelar"}),(0,e.jsxs)(u,{onClick:P,disabled:b,children:[b&&(0,e.jsx)(_,{className:"mr-2 h-4 w-4 animate-spin"}),"Salvar"]})]})]})}),(0,e.jsx)(ue,{open:!!m,onOpenChange:s=>!s&&j(null),title:"Excluir intenção?",description:m?`Tem certeza que deseja excluir "${m.nome}"? Pautas que a referenciam ficarão sem intenção.`:"",onConfirm:z})]}):null}export{Le 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.