1import{s as D,r as o,b as O,t as A,j as e,L as P}from"./vendor-react-core-_0sZDOLQ.js";import{c as z,B as v,b as N}from"./index-j07E1qHv.js";import{C as k,a as B}from"./card-DHmBnTdH.js";import{B as M}from"./badge-BXqwvh8U.js";import{D as q,b as Q,c as V,d as K}from"./dialog-C9ty4md6.js";import{S as H,a as I,b as R,c as Y,d as F}from"./select-DHshRvNJ.js";import{L as G}from"./label-7HT5__eZ.js";import{I as J}from"./input-rti45mgP.js";import{T as U,a as X,b as r}from"./tabs-BUF6w8PE.js";import{t as Z}from"./index-CDqomOa1.js";import{h as W}from"./vendor-utils-BRu4i-LD.js";import{_ as $,a2 as ee,ah as se,a4 as ae,a3 as y,ai as te,J as le,l as re,a8 as ne}from"./vendor-lucide-Ddz0eB7N.js";import{m as ie}from"./vendor-framer-motion-C1oRD-X5.js";import"./vendor-radix-CFmJ1img.js";import"./vendor-supabase-Ca6cp8v2.js";const f={pending:{label:"Pendente",icon:re,color:"bg-yellow-100 text-yellow-800"},paid:{label:"Pago",icon:y,color:"bg-green-100 text-green-800"},processing:{label:"Em Processamento",icon:le,color:"bg-blue-100 text-blue-800"},shipped:{label:"Enviado",icon:te,color:"bg-purple-100 text-purple-800"},delivered:{label:"Entregue",icon:y,color:"bg-green-100 text-green-800"},cancelled:{label:"Cancelado",icon:ae,color:"bg-red-100 text-red-800"}};function Ce(){var u,p,j,g;const C=D(),[t,d]=o.useState(null),[m,_]=o.useState("all"),[n,w]=o.useState(""),[h,S]=o.useState("date"),{data:x,isLoading:L}=O({queryKey:["admin-orders"],queryFn:()=>N.entities.Order.list("-created_date"),initialData:[]}),T=A({mutationFn:({id:s,status:a})=>N.entities.Order.update(s,{status:a}),onSuccess:()=>{C.invalidateQueries(["admin-orders"]),Z.success("Estado atualizado"),d(null)}});let i=x.filter(s=>m==="all"?!0:s.status===m);n&&(i=i.filter(s=>{var a,l,c;return((a=s.customer_name)==null?void 0:a.toLowerCase().includes(n.toLowerCase()))||((l=s.customer_email)==null?void 0:l.toLowerCase().includes(n.toLowerCase()))||((c=s.order_number)==null?void 0:c.toLowerCase().includes(n.toLowerCase()))})),i=[...i].sort((s,a)=>{switch(h){case"date":return new Date(a.created_date)-new Date(s.created_date);case"value":return(a.total_amount||0)-(s.total_amount||0);case"name":return(s.customer_name||"").localeCompare(a.customer_name||"");default:return 0}});const E=x.filter(s=>s.status!=="cancelled").reduce((s,a)=>s+a.total_amount,0);return e.jsx("main",{className:"min-h-screen bg-gray-50 py-12",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx(P,{to:z("Admin"),children:e.jsxs(v,{variant:"ghost",className:"mb-6",children:[e.jsx($,{className:"w-4 h-4 mr-2"}),"Voltar ao Dashboard"]})}),e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Gestão de Encomendas"}),e.jsxs("div",{className:"flex gap-6 mt-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-gray-600",children:"Total de Encomendas"}),e.jsx("p",{className:"text-2xl font-bold text-gray-900",children:x.length})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-gray-600",children:"Receita Total"}),e.jsxs("p",{className:"text-2xl font-bold text-green-600",children:[E.toLocaleString("pt-AO")," Kz"]})]})]})]}),e.jsxs("div",{className:"mb-6 space-y-4",children:[e.jsxs("div",{className:"flex flex-col lg:flex-row gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ee,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400"}),e.jsx(J,{placeholder:"Pesquisar por nome, email ou número da encomenda...",value:n,onChange:s=>w(s.target.value),className:"pl-12 h-12 rounded-xl"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(se,{className:"w-5 h-5 text-gray-400"}),e.jsxs("select",{value:h,onChange:s=>S(s.target.value),className:"h-12 px-4 rounded-xl border border-gray-200 bg-white",children:[e.jsx("option",{value:"date",children:"Mais Recentes"}),e.jsx("option",{value:"value",children:"Maior Valor"}),e.jsx("option",{value:"name",children:"Nome (A-Z)"})]})]})]}),e.jsx(U,{value:m,onValueChange:_,children:e.jsxs(X,{children:[e.jsx(r,{value:"all",children:"Todas"}),e.jsx(r,{value:"pending",children:"Pendentes"}),e.jsx(r,{value:"paid",children:"Pagas"}),e.jsx(r,{value:"processing",children:"Em Processamento"}),e.jsx(r,{value:"shipped",children:"Enviadas"}),e.jsx(r,{value:"delivered",children:"Entregues"})]})})]}),L?e.jsx("div",{className:"space-y-4",children:[...Array(5)].map((s,a)=>e.jsx("div",{className:"bg-white rounded-xl h-32 animate-pulse"},a))}):e.jsx("div",{className:"space-y-4",children:i.map((s,a)=>{var b;const l=f[s.status],c=l.icon;return e.jsx(ie.div,{initial:{opacity:0,y:20}
1,animate:{opacity:1,y:0},transition:{delay:a*.05},children:e.jsx(k,{className:"hover:shadow-lg transition-shadow",children:e.jsx(B,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsxs("h3",{className:"font-bold text-gray-900",children:["#",s.order_number]}),e.jsxs(M,{className:l.color,children:[e.jsx(c,{className:"w-3 h-3 mr-1"}),l.label]})]}),e.jsxs("p",{className:"text-sm text-gray-600 mb-1",children:[s.customer_name," ⢠",s.customer_email]}),e.jsx("p",{className:"text-sm text-gray-500",children:W(s.created_date).format("DD/MM/YYYY HH:mm")})]}),e.jsxs("div",{className:"text-right mr-6",children:[e.jsx("p",{className:"text-sm text-gray-600 mb-1",children:"Total"}),e.jsxs("p",{className:"text-2xl font-bold text-red-600",children:[s.total_amount.toLocaleString("pt-AO")," Kz"]}),e.jsxs("p",{className:"text-sm text-gray-600 mt-1",children:[((b=s.items)==null?void 0:b.length)||0," itens"]})]}),e.jsxs(v,{onClick:()=>d(s),children:[e.jsx(ne,{className:"w-4 h-4 mr-2"}),"Ver Detalhes"]})]})})})},s.id)})}),t&&e.jsx(q,{open:!!t,onOpenChange:()=>d(null),children:e.jsxs(Q,{className:"max-w-3xl",children:[e.jsx(V,{children:e.jsxs(K,{children:["Detalhes da Encomenda #",t.order_number]})}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-gray-600 mb-1",children:"Cliente"}),e.jsx("p",{className:"font-semibold",children:t.customer_name}),e.jsx("p",{className:"text-sm text-gray-600",children:t.customer_email}),e.jsx("p",{className:"text-sm text-gray-600",children:t.customer_phone})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-gray-600 mb-1",children:"Morada de Entrega"}),e.jsx("p",{className:"font-semibold",children:(u=t.shipping_address)==null?void 0:u.street}),e.jsxs("p",{className:"text-sm text-gray-600",children:[(p=t.shipping_address)==null?void 0:p.city,", ",(j=t.shipping_address)==null?void 0:j.province]})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-gray-600 mb-3",children:"Produtos"}),e.jsx("div",{className:"space-y-2",children:(g=t.items)==null?void 0:g.map((s,a)=>e.jsxs("div",{className:"flex justify-between items-center p-3 bg-gray-50 rounded",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold",children:s.product_name}),e.jsxs("p",{className:"text-sm text-gray-600",children:["Tamanho: ",s.size," ⢠Qtd: ",s.quantity]})]}),e.jsxs("p",{className:"font-bold",children:[(s.price*s.quantity).toLocaleString("pt-AO")," Kz"]})]},a))})]}),e.jsx("div",{className:"border-t pt-4",children:e.jsxs("div",{className:"flex justify-between text-lg font-bold",children:[e.jsx("span",{children:"Total"}),e.jsxs("span",{className:"text-red-600",children:[t.total_amount.toLocaleString("pt-AO")," Kz"]})]})}),e.jsxs("div",{children:[e.jsx(G,{className:"mb-2 block",children:"Atualizar Estado"}),e.jsxs(H,{value:t.status,onValueChange:s=>T.mutate({id:t.id,status:s}),children:[e.jsx(I,{children:e.jsx(R,{})}),e.jsx(Y,{children:Object.entries(f).map(([s,a])=>e.jsx(F,{value:s,children:a.label},s))})]})]})]})]})})]})})}export{Ce 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.