1import{bH as y,r as c,s as u,j as s,B as w,W as _,C as b,az as j}from"./index-BArGZurd.js";const g=[{id:"payment_confirmed",label:"Pagos"},{id:"picking",label:"Em separação"},{id:"ready_for_pickup",label:"Prontos"}],E={payment_confirmed:"Pago",picking:"Em separação",ready_for_pickup:"Pronto"};function N(a){return a.toLocaleString("pt-BR",{style:"currency",currency:"BRL"})}function k(){try{const a=window.AudioContext||window.webkitAudioContext;if(!a)return;const i=new a,r=i.createOscillator(),o=i.createGain();r.type="sine",r.frequency.value=880,o.gain.value=1e-4,r.connect(o).connect(i.destination);const d=i.currentTime;o.gain.exponentialRampToValueAtTime(.25,d+.02),o.gain.exponentialRampToValueAtTime(1e-4,d+.35),r.start(d),r.stop(d+.4),r.onended=()=>i.close().catch(()=>{})}catch{}}function S(){const a=y(),[i,r]=c.useState(null),[o,d]=c.useState([]),[h,m]=c.useState(new Set),p=c.useRef(!1);c.useEffect(()=>{const e=()=>{p.current=!0,window.removeEventListener("pointerdown",e),window.removeEventListener("keydown",e)};return window.addEventListener("pointerdown",e,{once:!0}),window.addEventListener("keydown",e,{once:!0}),()=>{window.removeEventListener("pointerdown",e),window.removeEventListener("keydown",e)}},[]);const f=e=>{m(n=>new Set(n).add(e)),p.current&&k(),setTimeout(()=>{m(n=>{if(!n.has(e))return n;const t=new Set(n);return t.delete(e),t})},1e4)},l=async()=>{if(!a)return;let e=u.from("orders").select("id, order_number, total_value, status, created_at, customers(name, address_city)").eq("company_id",a).in("status",g.map(t=>t.id)).order("created_at",{ascending:!0});i&&(e=e.eq("status",i));const{data:n}=await e;d(n||[])};return c.useEffect(()=>{l()},[a,i]),c.useEffect(()=>{if(!a)return;const e=u.channel(`orders-exp-${a}`).on("postgres_changes",{event:"INSERT",schema:"public",table:"orders",filter:`company_id=eq.${a}`},n=>{const t=n.new;((t==null?void 0:t.status)==="payment_confirmed"||(t==null?void 0:t.status)==="picking")&&f(t.id),l()}).on("postgres_changes",{event:"UPDATE",schema:"public",table:"orders",filter:`company_id=eq.${a}`},n=>{var x,v;const t=n.new;(t.status==="payment_confirmed"&&((x=n.old)==null?void 0:x.status)!=="payment_confirmed"||t.status==="picking"&&((v=n.old)==null?void 0:v.status)!=="picking")&&f(t.id),l()}).subscribe();return()=>{u.removeChannel(e)}},[a]),s.jsxs("div",{className:"p-4 space-y-3",children:[s.jsxs("div",{className:"flex gap-2 overflow-x-auto pb-1",children:[s.jsx(w,{size:"sm",variant:i?"outline":"default",onClick:()=>r(null),children:"Todos"}),g.map(e=>s.jsx(w,{size:"sm",variant:i===e.id?"default":"outline",onClick:()=>r(e.id),children:e.label},e.id))]}),s.jsxs("div",{className:"grid gap-3",children:[o.map(e=>{var n,t;return s.jsx(_,{to:`/expedicao/pedido/${e.id}`,children:s.jsx(b,{className:`p-4 ${h.has(e.id)?"ring-2 ring-primary animate-pulse":""}`,children:s.jsxs("div",{className:"flex items-start justify-between gap-2",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"font-bold text-lg",children:["#",e.order_number]}),s.jsx("div",{className:"text-sm text-muted-foreground truncate",children:(n=e.customers)==null?void 0:n.name}),s.jsx("div",{className:"text-xs text-muted-foreground truncate",children:((t=e.customers)==null?void 0:t.address_city)||"â"})]}),s.jsxs("div",{className:"text-right",children:[s.jsx(j,{children:E[e.status]||e.status}),s.jsx("div",{className:"font-bold text-base mt-1",children:N(Number(e.total_value||0))})]})]})})},e.id)}),o.length===0&&s.jsx("div",{className:"text-center text-muted-foreground py-10",children:"Nenhum pedido na fila."})]})]})}export{S 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.