1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jspdf.es.min-DLxBvOhH.js","assets/index-BB35H7Wo.js","assets/vendor-motion-D_eWtC2i.js","assets/vendor-react-C5-rmG_I.js","assets/vendor-supabase-CfDyWxaF.js","assets/vendor-charts-BzSnLuq2.js","assets/index-DQw0083q.css"])))=>i.map(i=>d[i]); 2import{j as e}from"./vendor-motion-D_eWtC2i.js";import{u as A}from"./usePartnerData-Cd6SrjRL.js";import{z as P,l as _,p as g,ac as M,B,h as z,a0 as H,ch as S,m as f,aw as C,_ as N,y as O}from"./index-BB35H7Wo.js";import{B as T}from"./badge-Bh_ckV5a.js";import{S as F}from"./skeleton-BMFUsGhM.js";import{T as W,a as k,b as D,c as q}from"./tabs-m3A_Ysqk.js";import{r as G}from"./vendor-react-C5-rmG_I.js";import{f as b}from"./format-CXUDrD0n.js";import{p as v}from"./pt-BR-CvHFxr10.js";import{P as K}from"./PageHeader-B-h5e2bL.js";import E from"./trending-up-D8pW3Xds.js";import V from"./wallet-BsM7_cpn.js";import U from"./trending-down-BVd6xgTD.js";import"./vendor-supabase-CfDyWxaF.js";import"./vendor-charts-BzSnLuq2.js";import"./en-US-BMDxpvZG.js";const Q=s=>{const{user:r}=P(),{data:d,isLoading:t}=_({queryKey:["partner-ledger",s],enabled:!!r&&!!s,queryFn:async()=>{const[n,u,i,w]=await Promise.all([g.from("partner_transactions").select("id, amount, description, status, created_at").eq("partner_id",s).eq("type","charge_received"),g.from("balance_transfers").select("id, amount, notes, status, created_at").eq("to_partner_id",s).eq("status","completed"),g.from("redemptions").select("id, amount, notes, status, created_at, redeemed_at").eq("partner_id",s),g.from("partner_withdrawals").select("id, amount, net_amount, status, created_at, requested_at").eq("partner_id",s)]),h=[];for(const a of n.data??[])h.push({id:`c-${a.id}`,kind:"charge",direction:"in",amount:Number(a.amount),status:a.status??"completed",description:a.description??"Cobrança paga",date:a.created_at});for(const a of u.data??[])h.push({id:`t-${a.id}`,kind:"transfer",direction:"in",amount:Number(a.amount),status:"completed",description:a.notes?`Transferência: ${a.notes}`:"Transferência de saldo recebida",date:a.created_at});for(const a of i.data??[]){const p=["reversed","cancelled"].includes((a.status??"").toLowerCase());h.push({id:`r-${a.id}`,kind:"redemption",direction:"in",amount:Number(a.amount),status:p?a.status:"completed",description:a.notes??"Resgate de gift card",date:a.redeemed_at??a.created_at})}for(const a of w.data??[])h.push({id:`w-${a.id}`,kind:"withdrawal",direction:"out",amount:Number(a.amount),status:a.status??"pending",description:`Saque PIX${a.net_amount?` â lÃquido R$ ${Number(a.net_amount).toFixed(2)}`:""}`,date:a.requested_at??a.created_at});return h.sort((a,p)=>new Date(p.date).getTime()-new Date(a.date).getTime())}}),{data:l,isLoading:o}=_({queryKey:["partner-transfers-received",s],enabled:!!r&&!!s,queryFn:async()=>{const{data:n,error:u}=await g.from("balance_transfers").select("*").eq("to_partner_id",s).eq("status","completed").order("created_at",{ascending:!1});if(u)throw u;return n}}),{data:m,isLoading:x}=_({queryKey:["partner-financial-summary",s],enabled:!!r&&!!s,queryFn:async()=>{const{data:n,error:u}=await g.rpc("get_partner_balance",{p_partner_id:s});if(u)throw u;const i=n;return{fromCharges:Number((i==null?void 0:i.from_charges)??0),fromTransfers:Number((i==null?void 0:i.from_transfers)??0),fromRedemptions:Number((i==null?void 0:i.from_redemptions)??0),earned:Number((i==null?void 0:i.earned)??0),availableBalance:Number((i==null?void 0:i.available)??0),committedWithdrawals:Number((i==null?void 0:i.committed_withdrawals)??0),pendingWithdrawals:Number((i==null?void 0:i.pending_withdrawals)??0)}}});return{ledger:d,transfersReceived:l,summary:m,isLoading:t||x||o}},X=async(s,r)=>{const{jsPDF:d}=await M(async()=>{const{jsPDF:c}=await import("./jspdf.es.min-DLxBvOhH.js").then(y=>y.j);return{jsPDF:c}},__vite__mapDeps([0,1,2,3,4,5,6])),t=new d,l=t.internal.pageSize.getWidth(),o=[139,92,246],m=[55,65,81],x=[156,163,175];let n=20;t.setFillColor(...o),t.rect(0,0,l,50,"F"),t.setTextColor(255,255,255),t.setFontSize(24),t.setFont("helvetica","bold"),t.text("GIFTLOVE",l/2,n+5,{align:"center"}),t.setFontSize(14),t.setFont("helvetica","normal"),t.text("Comprovante de Transferência de Saldo",l/2,n+18,{align:"center"}),n=70,t.setTextColor(...o),t.setFontSize(12),t.setFont("helvetica","bold"),t.text("DADOS DA TRANSAÃÃO",20,n),t.setDrawColor(...o),t.setLineWidth(.5),t.line(20,n+3,l-20,n+3),n+=15,t.setTextColor(...m),t.setFontSize(10),t.setFont("helvetica","normal");const u=s.id.substring(0,8).toUpperCase(),i=b(new Date(s.completedAt||s.createdAt),"dd 'de' MMMM 'de' yyyy 'à s' HH:mm",{locale:v}),w=new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL"}).format(s.amount),h=[{label:"ID da Transferência:",value:u},{label:"Valor Recebido:",value:w},{label:"Data:",value:i},{label:"Status:",value:"â ConcluÃdo"}];s.notes&&h.push({label:"Observações:",value:s.notes}),h.forEach(c=>{t.setFont("helvetica","bold"),t.text(c.label,20,n),t.setFont("helvetica","normal"),t.text(c.value,75,n),n+=8}),n+=10,t.setTextColor(...o),t.setFontSize(12),t.setFont("helvetica","bold"),t.text("ESTABELECIMENTO RECEBEDOR",20,n),t.line(20,n+3,l-20,n+3),n+=15,t.setTextColor(...m),t.setFontSize(10);const a=[{label:"Nome:",value:r.name}];r.cnpj&&a.push({label:"CNPJ:",value:r.cnpj});const p=[];if(r.street){let c=r.street;r.number&&(c+=`, ${r.number}`),p.push(c)}r.neighborhood&&p.push(r.neighborhood);const j=[];if(r.city&&j.push(r.city),r.state&&j.push(r.state),p.length>0||j.length>0){const c=[p.join(" - "),j.join("/"),r.cep?`CEP: ${r.cep}
2`:""].filter(Boolean).join(" - ");c&&a.push({label:"Endereço:",value:c})}a.forEach(c=>{t.setFont("helvetica","bold"),t.text(c.label,20,n),t.setFont("helvetica","normal");const y=l-95,R=t.splitTextToSize(c.value,y);t.text(R,75,n),n+=R.length*6+2}),n=t.internal.pageSize.getHeight()-40,t.setDrawColor(...x),t.setLineWidth(.3),t.line(20,n,l-20,n),n+=10;const L=b(new Date,"dd/MM/yyyy 'à s' HH:mm",{locale:v});t.setTextColor(...x),t.setFontSize(8),t.setFont("helvetica","normal"),t.text(`Documento gerado em ${L}`,l/2,n,{align:"center"}),t.text("Este comprovante é válido como registro da operação realizada na plataforma GiftLove.",l/2,n+6,{align:"center"});const $=`recibo-transferencia-${b(new Date(s.completedAt||s.createdAt),"yyyy-MM-dd")}-${u.toLowerCase()}.pdf`;t.save($)};function J({transfer:s,partner:r}){const[d,t]=G.useState(!1),l=async()=>{t(!0);try{const o={id:s.id,amount:s.amount,createdAt:s.created_at,completedAt:s.completed_at,status:s.status,notes:s.notes},m={name:r.name,cnpj:r.cnpj,street:r.street,number:r.number,neighborhood:r.neighborhood,city:r.city,state:r.state,cep:r.cep};await new Promise(x=>setTimeout(x,100)),await X(o,m),S({title:"Recibo gerado com sucesso!",description:"O download do PDF foi iniciado."})}catch(o){console.error("Error generating receipt:",o),S({title:"Erro ao gerar recibo",description:"Ocorreu um erro ao gerar o PDF. Tente novamente.",variant:"destructive"})}finally{t(!1)}};return e.jsxs(B,{variant:"outline",size:"sm",onClick:l,disabled:d,className:"gap-2",children:[d?e.jsx(z,{className:"h-4 w-4 animate-spin"}):e.jsx(H,{className:"h-4 w-4"}),"Recibo"]})}const Y={charge:{label:"Cobrança recebida",color:"bg-green-500/10 text-green-500",icon:e.jsx(C,{className:"h-4 w-4"})},transfer:{label:"Transferência recebida",color:"bg-blue-500/10 text-blue-500",icon:e.jsx(N,{className:"h-4 w-4"})},redemption:{label:"Resgate de gift card",color:"bg-emerald-500/10 text-emerald-500",icon:e.jsx(E,{className:"h-4 w-4"})},withdrawal:{label:"Saque PIX",color:"bg-red-500/10 text-red-500",icon:e.jsx(U,{className:"h-4 w-4"})}},Z={completed:"ConcluÃdo",processing:"Processando",pending:"Pendente",rejected:"Rejeitado",cancelled:"Cancelado",reversed:"Estornado"};function ge(){const{partnerData:s}=A(),{ledger:r,transfersReceived:d,summary:t,isLoading:l}=Q(s==null?void 0:s.id);return l?e.jsxs("div",{className:"space-y-6",children:[e.jsx(F,{className:"h-12 w-64"}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[1,2,3,4].map(o=>e.jsx(F,{className:"h-32"},o))}),e.jsx(F,{className:"h-96"})]}):e.jsxs("div",{className:"space-y-6",children:[e.jsx(K,{title:"Extrato Financeiro",description:"Acompanhe todas as movimentações financeiras"}),t&&e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-4",children:[e.jsxs(f,{className:"p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Cobranças"}),e.jsx(C,{className:"h-5 w-5 text-green-500"})]}),e.jsxs("p",{className:"text-2xl font-bold text-green-500",children:["R$ ",t.fromCharges.toFixed(2)]})]}),e.jsxs(f,{className:"p-6 bg-blue-500/5 border-blue-500/20",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Transferências"}),e.jsx(N,{className:"h-5 w-5 text-blue-500"})]}),e.jsxs("p",{className:"text-2xl font-bold text-blue-500",children:["R$ ",t.fromTransfers.toFixed(2)]})]}),e.jsxs(f,{className:"p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Resgates"}),e.jsx(E,{className:"h-5 w-5 text-emerald-500"})]}),e.jsxs("p",{className:"text-2xl font-bold text-emerald-500",children:["R$ ",t.fromRedemptions.toFixed(2)]})]}),e.jsxs(f,{className:"p-6 border-primary/30",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Saldo DisponÃvel"}),e.jsx(V,{className:"h-5 w-5 text-primary"})]}),e.jsxs("p",{className:"text-2xl font-bold",children:["R$ ",t.availableBalance.toFixed(2)]}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-1",children:"para saque"})]}),e.jsxs(f,{className:"p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Saques pendentes"}),e.jsx(O,{className:"h-5 w-5 text-orange-500"})]}),e.jsxs("p",{className:"text-2xl font-bold text-orange-500",children:["R$ ",t.pendingWithdrawals.toFixed(2)]})]})]}),e.jsx(f,{children:e.jsxs(W,{defaultValue:"all",className:"w-full",children:[e.jsx("div",{className:"p-6 border-b",children:e.jsxs(k,{children:[e.jsx(D,{value:"all",children:"Todas"}),e.jsxs(D,{value:"transfers",children:["Transferências",d&&d.length>0&&e.jsx(T,{variant:"secondary",className:"ml-2",children:d.length})]})]})}),e.jsx(q,{value:"all",className:"m-0",children:e.jsx("div",{className:"divide-y",children:r&&r.length>0?r.map(o=>{const m=Y[o.kind],x=o.direction==="out",n=["rejected","cancelled","reversed"].includes(o.status);return e.jsx("div",{className:`p-6 hover:bg-muted/50 transition-colors ${n?"opacity-60":""}`,children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex items-start gap-4 flex-1",children:[e.jsx("div",{className:`p-2 rounded-lg ${m.color}`,children:m.icon}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"font-semibold",children:m.label}),e.jsx(T,{variant:"outline",className:"text-xs",children:Z[o.status]??o.status})]}),e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:o.description}),e.jsx("div",{className:"text-xs text-muted-foreground",children:b(new Date(o.date),"dd 'de' MMMM 'de' yyyy 'à s' HH:mm",{locale:v})})]})]}),e.jsx("div",{className:"text-right",children:e.jsxs("p",{className:`text-lg font-bold ${x?"text-red-500":"text-green-500"}`,children:[x?"-":"+","R$ ",o.amount.toFixed(2)]})})]})},o.id)}):e.jsxs("div",{className:"p-12 text-center",children:[e.jsx(C,{className:"h-16 w-16 mx-auto mb-4 text-muted-foreground"}),e.jsx("h3",{className:"text-xl font-semibold mb-2",children:"Nenhuma movimentação ainda"}),e.jsx("p",{className:"text-muted-foreground",children:"Cobranças, transferências, resgates e saques aparecerão aqui."})]})})}),e.jsx(q,{value:"transfers",className:"m-0",children:e.jsx("div",{className:"divide-y",children:d&&d.length>0?d.map(o=>e.jsx("div",{className:"p-6 hover:bg-muted/50 transition-colors",children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex items-start gap-4 flex-1",children:[e.jsx("div",{className:"p-2 rounded-lg bg-blue-500/10 text-blue-500",children:e.jsx(N,{className:"h-4 w-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"font-semibold",children:"Transferência de Saldo"}),e.jsx(T,{variant:"outline",className:"text-xs bg-green-500/10 text-green-600 border-green-500/30",children:"Recebido"})]}),o.notes&&e.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:o.notes}),e.jsx("div",{className:"text-xs text-muted-foreground",children:b(new Date(o.created_at),"dd 'de' MMMM 'de' yyyy 'à s' HH:mm",{locale:v})})]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"text-right",children:e.jsxs("p",{className:"text-lg font-bold text-green-500",children:["+R$ ",Number(o.amount).toFixed(2)]})}),s&&e.jsx(J,{transfer:o,partner:{name:s.name,cnpj:s.cnpj,street:s.street,number:s.number,neighborhood:s.neighborhood,city:s.city,state:s.state,cep:s.cep}})]})]})},o.id)):e.jsxs("div",{className:"p-12 text-center",children:[e.jsx(N,{className:"h-16 w-16 mx-auto mb-4 text-muted-foreground"}),e.jsx("h3",{className:"text-xl font-semibold mb-2",children:"Nenhuma transferência recebida"}),e.jsx("p",{className:"text-muted-foreground",children:"Quando clientes transferirem saldo para sua loja, aparecerá aqui."})]})})})]})})]})}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.