1import{r as h,j as e,L as H}from"./vendor-react-DIA7vK4g.js";import{P as K,C as J}from"./ParceiroAdminLayout-DR3iAduS.js";import{bj as Q,b7 as W,bm as _,aL as X,ax as Y,S as Z,bA as v,bB as g,bC as N,bD as f,bE as d,bi as k,bb as C,bd as $,be as R,bg as w,ba as T}from"./index-DtUVjOr4.js";import{b as V}from"./CheckoutCartsPage-DtYxxEQa.js";import{C as ee}from"./chart-line-CL1HJq9d.js";import"./vendor-docs-BA9xu9ak.js";import"./GlobalSearch-CILhhYPj.js";import"./command-8X5Fvwln.js";import"./useSandboxConfig-H_pzAYpM.js";import"./repeat-sulmqLMn.js";import"./billing-formatters-uNs-HNzw.js";import"./vendor-utils-DWHjTIse.js";import"./corner-down-left-BYgMx1Bm.js";import"./clock-x8uDBefL.js";import"./eye-DZWf3ZF4.js";import"./chevrons-up-down-D6Nd5u2s.js";import"./vendor-supabase-_bOAMmkC.js";import"./tabs-Btg5k50n.js";const se=[{value:"7",label:"Ãltimos 7 dias"},{value:"30",label:"Ãltimos 30 dias"},{value:"90",label:"Ãltimos 90 dias"},{value:"365",label:"Ãltimos 12 meses"}],S=(n,r)=>r>0?`${(n/r*100).toFixed(1)}%`:"â";function m({label:n,value:r,hint:i}){return e.jsx(C,{children:e.jsxs(w,{className:"p-4",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:n}),e.jsx("p",{className:"mt-1 text-2xl font-semibold tracking-tight",children:r}),i&&e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:i})]})})}function A({label:n,valor:r,maximo:i,extra:c}){const t=i>0?Math.max(2,r/i*100):0;return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"truncate",children:n}),e.jsxs("span",{className:"text-muted-foreground",children:[r.toLocaleString("pt-BR"),c?` · ${c}`:""]})]}),e.jsx("div",{className:"h-2 rounded-full bg-muted",children:e.jsx("div",{className:"h-2 rounded-full bg-primary",style:{width:`${t}%`}})})]})}function p({titulo:n,linhas:r,rotulo:i}){const c=Math.max(1,...r.map(t=>Number(t.sessoes??t.total??0)));return e.jsxs(C,{children:[e.jsx($,{className:"pb-3",children:e.jsx(R,{className:"text-base",children:n})}),e.jsxs(w,{className:"space-y-3",children:[r.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"Sem dados no perÃodo."}),r.slice(0,10).map((t,x)=>{const y=Number(t.sessoes??t.total??0),u=Number(t.compras??0);return e.jsx(A,{label:i(t),valor:y,maximo:c,extra:u>0?`${u} venda(s)`:void 0},`${i(t)}-${x}`)})]})]})}function ae(){const{toast:n}=Q(),[r,i]=h.useState("30"),[c,t]=h.useState("todos"),[x,y]=h.useState("todas"),[u,F]=h.useState("todos"),[M,B]=h.useState(!1),L=h.useMemo(()=>({desde:new Date(Date.now()-Number(r)*24*60*60*1e3).toISOString(),ate:new Date().toISOString(),plano:c==="todos"?null:c,periodicidade:x==="todas"?null:x,device:u==="todos"?null:u}),[r,c,x,u]),{data:o,isLoading:I,isFetching:D,refetch:q}=W({queryKey:["checkout-funnel-metrics",L],queryFn:async()=>{const{data:a,error:l}=await T.functions.invoke("checkout-cart-actions",{body:{action:"funnel_metrics",...L}});if(l)throw l;if(!(a!=null&&a.success))throw new Error((a==null?void 0:a.error)||"Falha ao carregar métricas");return a.metrics}}),U=async()=>{var a;B(!0);try{const{data:l}=await T.auth.getSession(),O=await fetch("https://xhybnaqgqjbomvkngdil.supabase.co/functions/v1/checkout-cart-actions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${((a=l.session)==null?void 0:a.access_token)??""}`},body:JSON.stringify({action:"funnel_export",...L})});if(!O.ok)throw new Error("Falha ao exportar");const G=await O.blob(),b=document.createElement("a");b.href=URL.createObjectURL(G),b.download=`checkout-funil-${new Date().toISOString().slice(0,10)}.csv`,b.click(),URL.revokeObjectURL(b.href)}catch(l){n({title:"Não foi possÃvel exportar",description:l==null?void 0:l.message,variant:"destructive"})}finally{B(!1)}},s=o==null?void 0:o.kpis,j=Number((s==null?void 0:s.acessos)??0),P=[{label:"Acessaram o checkout",valor:Number((s==null?void 0:s.acessos)??0)},{label:"Escolheram um plano",valor:Number((s==null?void 0:s.planos)??0)},{label:"Viram os adicionais",valor:Number((s==null?void 0:s.adicionais)??0)},{label:"Preencheram os dados",valor:Number((s==null?void 0:s.formularios)??0)},{label:"Confirmaram o e-mail",valor:Number((s==null?void 0:s.verificados)??0)},{label:"Chegaram ao pagamento",valor:Number((s==null?void 0:s.pagamentos)??0)},{label:"Compraram",valor:Number((s==null?void 0:s.compras)??0)}],z=Math.max(1,...((o==null?void 0:o.diario)??[]).map(a=>Number(a.acessos??0)));return e.jsxs("div",{className:"space-y-6 p-6",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"flex items-center gap-2 text-2xl font-semibold tracking-tight",children:[e.jsx(ee,{className:"h-6 w-6 text-primary"}),"Checkout"]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Desempenho do checkout público: acessos, avanço por etapa e conversão em vendas."})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(_,{variant:"outline",asChild:!0,children:e.jsxs(H,{to:"/ppgestao/checkout/carrinhos",children:[e.jsx(X,{className:"mr-2 h-4 w-4"}),"Carrinhos abandonados"]})}),e.jsxs(_,{variant:"outline",onClick:()=>q(),disabled:D,children:[e.jsx(Y,{className:`mr-2 h-4 w-4 ${D?"animate-spin":""}`}),"Atualizar"]}),e.jsxs(_,{onClick:U,disabled:M,children:[e.jsx(Z,{className:"mr-2 h-4 w-4"}),"Exportar CSV"]})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(v,{value:r,onValueChange:i,children:[e.jsx(g,{className:"w-[190px]",children:e.jsx(N,{})}),e.jsx(f,{children:se.map(a=>e.jsx(d,{value:a.value,children:a.label},a.value))})]}),e.jsxs(v,{value:x,onValueChange:y,children:[e.jsx(g,{className:"w-[170px]",children:e.jsx(N,{})}),e.jsxs(f,{children:[e.jsx(d,{value:"todas",children:"Toda periodicidade"}),e.jsx(d,{value:"mensal",children:"Mensal"}),e.jsx(d,{value:"anual",children:"Anual"})]})]}),e.jsxs(v,{value:u,onValueChange:F,children:[e.jsx(g,{className:"w-[170px]",children:e.jsx(N,{})}),e.jsxs(f,{children:[e.jsx(d,{value:"todos",children:"Todos os dispositivos"}),e.jsx(d,{value:"desktop",children:"Computador"}),e.jsx(d,{value:"mobile",children:"Celular"})]})]}),e.jsxs(v,{value:c,onValueChange:t,children:[e.jsx(g,{className:"w-[210px]",children:e.jsx(N,{})}),e.jsxs(f,{children:[e.jsx(d,{value:"todos",children:"Todos os planos"}),((o==null?void 0:o.por_plano)??[]).map(a=>e.jsx(d,{value:String(a.chave??a.plano_code),children:String(a.chave??a.plano_code)},String(a.chave??a.plano_code)))]})]})]}),I?e.jsx("div",{className:"grid gap-3 md:grid-cols-4",children:Array.from({length:8}).map((a,l)=>e.jsx(k,{className:"h-24"},l))}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid gap-3 md:grid-cols-4",children:[e.jsx(m,{label:"Acessos ao checkout",value:j.toLocaleStr
1ing("pt-BR"),hint:`${Number((s==null?void 0:s.sessoes)??0).toLocaleString("pt-BR")} sessões`}),e.jsx(m,{label:"Escolheram plano",value:Number((s==null?void 0:s.planos)??0).toLocaleString("pt-BR"),hint:S(Number((s==null?void 0:s.planos)??0),j)}),e.jsx(m,{label:"Preencheram dados",value:Number((s==null?void 0:s.formularios)??0).toLocaleString("pt-BR"),hint:S(Number((s==null?void 0:s.formularios)??0),j)}),e.jsx(m,{label:"Compras confirmadas",value:Number((s==null?void 0:s.compras)??0).toLocaleString("pt-BR"),hint:`Conversão ${S(Number((s==null?void 0:s.compras)??0),j)}`}),e.jsx(m,{label:"Valor vendido",value:V(Number((s==null?void 0:s.valor_vendido)??0))}),e.jsx(m,{label:"Ticket médio",value:V(Number((s==null?void 0:s.compras)??0)>0?Number((s==null?void 0:s.valor_vendido)??0)/Number((s==null?void 0:s.compras)??1):0)}),e.jsx(m,{label:"Falhas de pagamento",value:Number((s==null?void 0:s.falhas)??0).toLocaleString("pt-BR")}),e.jsx(m,{label:"Pedidos de demonstração",value:Number((s==null?void 0:s.demos)??0).toLocaleString("pt-BR")})]}),e.jsxs(C,{children:[e.jsx($,{className:"pb-3",children:e.jsx(R,{className:"text-base",children:"Funil do checkout"})}),e.jsx(w,{className:"space-y-4",children:P.map((a,l)=>{const E=l===0?a.valor:P[l-1].valor;return e.jsx(A,{label:a.label,valor:a.valor,maximo:Math.max(1,P[0].valor),extra:l===0?void 0:`${S(a.valor,E)} da etapa anterior`},a.label)})})]}),e.jsxs(C,{children:[e.jsx($,{className:"pb-3",children:e.jsx(R,{className:"text-base",children:"Evolução diária"})}),e.jsx(w,{children:((o==null?void 0:o.diario)??[]).length===0?e.jsx("p",{className:"text-sm text-muted-foreground",children:"Sem dados no perÃodo."}):e.jsx("div",{className:"flex h-40 items-end gap-1",children:((o==null?void 0:o.diario)??[]).map(a=>e.jsx("div",{className:"flex-1",title:`${a.dia}: ${a.acessos} acessos, ${a.vendas??0} vendas`,children:e.jsx("div",{className:"w-full rounded-t bg-primary/70",style:{height:`${Number(a.acessos??0)/z*100}%`,minHeight:2}})},a.dia))})})]}),e.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[e.jsx(p,{titulo:"Por plano",linhas:(o==null?void 0:o.por_plano)??[],rotulo:a=>String(a.chave??a.plano_code??"Sem plano")}),e.jsx(p,{titulo:"Por periodicidade",linhas:(o==null?void 0:o.por_periodicidade)??[],rotulo:a=>String(a.chave??"â")}),e.jsx(p,{titulo:"Por dispositivo",linhas:(o==null?void 0:o.por_device)??[],rotulo:a=>a.chave==="mobile"?"Celular":"Computador"}),e.jsx(p,{titulo:"Por origem",linhas:(o==null?void 0:o.por_origem)??[],rotulo:a=>String(a.chave??"direto")}),e.jsx(p,{titulo:"Por faixa de colaboradores",linhas:(o==null?void 0:o.por_faixa)??[],rotulo:a=>String(a.chave??"â")}),e.jsx(p,{titulo:"Onde os carrinhos param",linhas:(o==null?void 0:o.parou_em)??[],rotulo:a=>String(a.chave??"â")})]})]})]})}function fe(){return e.jsx(K,{children:e.jsx(J,{children:e.jsx(ae,{})})})}export{fe 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.