1import{G as e,J as t,Ot as a,Xt as o,_ as n,at as r,bt as i,ct as s,d as l,en as c,ht as d,lt as u,m as p,p as m,r as x,st as g,u as f,v as y,vt as b,x as v,y as h}from"./3xMQmu_c.js";import{l as w,p as _,u as k}from"./BHyipOjY.js";import{d as C,p as D}from"./B_azjxcp.js";import{t as L}from"./BdX5S4iW.js";import{t as $}from"./BZqN4fQ0.js";import{t as T}from"./dXn1rs-Y2.js";import{t as j}from"./D7UoXWhL2.js";import{t as z}from"./89r93G292.js";import{t as N}from"./C3TkrtqS.js";import{t as S}from"./DZ8S0lCE2.js";var I={class:"p-4 sm:p-6 lg:p-8"},F={class:"flex flex-col gap-3 sm:flex-row sm:items-center mb-6"},M={class:"flex-1"},O={class:"mb-4 text-sm text-gray-500"},A={key:0},B={key:0,class:"overflow-x-auto"},P={class:"min-w-full divide-y divide-gray-200"},R={class:"divide-y divide-gray-100"},V=["onClick"],Z={class:"px-3 py-3 text-sm"},G={class:"font-mono font-semibold text-gray-900"},U={class:"block text-xs text-gray-700 sm:hidden"},q=["title"],E={key:1,class:"inline-flex items-center rounded-full bg-amber-100 px-2 py-0.5 text-xs font-semibold text-amber-800"},J=["title"],X={key:3,class:"inline-flex items-center gap-1 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-semibold text-orange-800",title:"L'ordine è salvato ma l'email di conferma non risulta inviata"},H={class:"block text-xs text-gray-500 sm:hidden"},K={class:"px-3 py-3 text-sm text-gray-600 whitespace-nowrap"},Q={class:"hidden sm:table-cell px-3 py-3 text-sm text-gray-900"},W={class:"flex items-center gap-2"},Y=["title"],ee={key:1,class:"inline-flex items-center rounded-full bg-amber-100 px-2 py-0.5 text-xs font-semibold text-amber-800"},te=["title"],ae={key:3,class:"inline-flex items-center gap-1 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-semibold text-orange-800",title:"L'ordine è salvato ma l'email di conferma non risulta inviata"},oe={class:"text-xs text-gray-500"},ne={class:"px-3 py-3 text-sm font-semibold text-gray-900 whitespace-nowrap"},re={class:"px-3 py-3"},ie=["checked","onChange"],se=["checked","onChange"],le={class:"px-2 py-3 text-right"},ce={key:1,class:"py-12 text-center text-gray-500"},de={key:2,class:"mt-6 flex items-center justify-between border-t border-gray-200 pt-4"},ue={class:"text-sm text-gray-600"},pe={class:"flex gap-2"},me=["disabled"],xe=["disabled"],ge=v({__name:"index",async setup(v){let ge,fe;S({layout:"admin"});const ye=D(),be=i(""),ve=i(ye.query.stato||"tutti"),he=i(1),we=b(([ge,fe]=g(()=>L("/api/admin/orders")),ge=await ge,fe(),ge));function _e(e){const t=(e?.gift_card_redemptions??[]).reduce((e,t)=>"cancelled"===t.state?e:e+Number(t.amount_used??0),0);return Math.round(100*(Number(e?.total??0)+t))/100}const ke=f(()=>{let e=we;if("tutti"!==ve.value&&(e=e.filter(e=>e.state?.toLowerCase()===ve.value.toLowerCase())),be.value.trim()){const t=be.value.trim().toLowerCase();e=e.filter(e=>{const a=String(e.order_id).toLowerCase(),o=Le(e).toLowerCase(),n=$e(e).toLowerCase();return a.includes(t)||o.includes(t)||n.includes(t)})}return e}),Ce=f(()=>Math.max(1,Math.ceil(ke.value.length/20))),De=f(()=>{const e=20*(he.value-1);return ke.value.slice(e,e+20)});function Le(e){const t=e.customer_id;return t?.nome&&t?.cognome?`${t.nome} ${t.cognome}`:t?.nome||"N/D"}function $e(e){return e.customer_id?.email||""}function Te(e){return e?.toLowerCase().trim()??null}function je(e){switch(Te(e)){case"attesa bonifico":return"Attesa bonifico";case"in_elaborazione":return"In elaborazione";case"ricevuto":return"Ricevuto";case"spedito":return"Spedito";case"consegnato":return"Consegnato";default:return e||"N/D"}}function ze(e){switch(Te(e)){case"attesa bonifico":return"bg-amber-100 text-amber-800";case"in_elaborazione":return"bg-yellow-100 text-yellow-800";case"ricevuto":return"bg-teal-100 text-teal-800";case"spedito":return"bg-purple-100 text-purple-800";case"consegnato":return"bg-green-100 text-green-800";default:return"bg-gray-100 text-gray-800"}}function Ne(e){const t=e?.promised_delivery_max_original;if(!t)return 0;const a=Se(e)?e?.delivered_at:new Intl.DateTimeFormat("en-CA",{timeZone:"Europe/Rome"}).format(new Date);if(!a)return 0;const o=(Date.parse(`${a}T00:00:00Z`)-Date.parse(`${t}T00:00:00Z`))/864e5;return o>0?Math.round(o):0}function Se(e){return"consegnato"===String(e?.state??"").toLowerCase()}function Ie(e){return Ne(e)>0}function Fe(e){const t=e?.promised_delivery_max_original;return t?`${t.slice(8,10)}/${t.slice(5,7)}/${t.slice(0,4)}`:""}function Me(e){if(!1!==e?.confirmation_email_sent)return!1;const t=Date.parse(e?.created_at??"");return!!Number.isFinite(t)&&Date.now()-t>9e5}return r([be,ve],()=>{he.value=1}),(r,i)=>{const g=$;return e(),p("div",I,[i[12]||(i[12]=l("div",{class:"mb-6 border-b border-gray-200 pb-4"},[l("h1",{class:"text-xl font-semibold text-gray-900 sm:text-2xl"},"Gestione Ordini"),l("p",{class:"mt-1 text-sm text-gray-600"},"Visualizza e gestisci tutti gli ordini")],-1)),l("div",F,[l("div",M,[u(l("input",{"onUpdate:modelValue":i[0]||(i[0]=e=>d(be)?be.value=e:null),type:"text",placeholder:"Cerca per n. ordine o nome cliente...",class:"w-full rounded-lg border border-gray-300 px-4 py-2 text-sm focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 focus:outline-none"},null,512),[[k,a(be)]])]),u(l("select",{"onUpdate:modelValue":i[1]||(i[1]=e=>d(ve)?ve.value=e:null),class:"rounded-lg border border-gray-300 px-4 py-2 text-sm focus:border-indigo-500 focus:ring-1 focus:ring-indigo-500 focus:outline-none"},[...i[7]||(i[7]=[n('<option value="tutti">Tutti gli stati</option><option value="Attesa bonifico">Attesa bonifico</option><option value="Ricevuto">Ricevuto</option><option value="Spedito">Spedito</option>
1<option value="Consegnato">Consegnato</option>',5)])],512),[[w,a(ve)]])]),l("div",O,[y(c(a(ke).length)+" ordini trovati ",1),"tutti"!==a(ve)||a(be)?(e(),p("span",A," (filtrati)")):m("",!0)]),a(ke).length>0?(e(),p("div",B,[l("table",P,[i[10]||(i[10]=l("thead",null,[l("tr",null,[l("th",{class:"px-3 py-3 text-left text-xs font-semibold text-gray-500 uppercase tracking-wider"}," N. Ordine "),l("th",{class:"px-3 py-3 text-left text-xs font-semibold text-gray-500 uppercase tracking-wider"}," Data "),l("th",{class:"hidden sm:table-cell px-3 py-3 text-left text-xs font-semibold text-gray-500 uppercase tracking-wider"}," Cliente "),l("th",{class:"px-3 py-3 text-left text-xs font-semibold text-gray-500 uppercase tracking-wider"}," Totale "),l("th",{class:"px-3 py-3 text-left text-xs font-semibold text-gray-500 uppercase tracking-wider"}," Stato "),l("th",{class:"px-2 py-3 text-center text-xs font-semibold text-gray-500 uppercase tracking-wider leading-tight"}," Lavorato "),l("th",{class:"px-2 py-3 text-center text-xs font-semibold text-gray-500 uppercase tracking-wider leading-tight"},[y(" Mail"),l("br"),y("Lav. ")]),l("th",{class:"px-2 py-3"})])],-1)),l("tbody",R,[(e(!0),p(x,null,t(a(De),t=>{return e(),p("tr",{key:t.order_id,class:"hover:bg-gray-50 transition-colors cursor-pointer",onClick:e=>("navigateTo"in r?r.navigateTo:a(C))(`/admin/ordini/${t.order_id}`)},[l("td",Z,[l("span",G,c(t.order_id),1),l("span",U,[y(c(Le(t))+" ",1),t.customer_note?(e(),p("span",{key:0,class:"inline-flex align-text-bottom text-amber-500",title:`Nota interna: ${t.customer_note}`,"aria-label":"Il cliente ha note interne"},[h(a(N),{class:"h-3.5 w-3.5","aria-hidden":"true"})],8,q)):m("",!0),t.fattura?(e(),p("span",E," B2B ")):m("",!0),Ie(t)?(e(),p("span",{key:2,class:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-semibold text-red-700",title:`Consegna promessa entro il ${Fe(t)}`},[h(a(z),{class:"h-3.5 w-3.5"}),y(" "+c(Se(t)?"Consegnato con":"In ritardo di")+" "+c(Ne(t))+" "+c(1===Ne(t)?"giorno":"giorni")+" "+c(Se(t)?"di ritardo":""),1)],8,J)):m("",!0),Me(t)?(e(),p("span",X,[h(a(j),{class:"h-3.5 w-3.5"}),i[8]||(i[8]=y(" Conferma non inviata ",-1))])):m("",!0)]),l("span",H,c($e(t)),1)]),l("td",K,c((n=t.created_at,n?new Date(n).toLocaleDateString("it-IT",{day:"2-digit",month:"2-digit",year:"numeric"}):"N/D")),1),l("td",Q,[l("div",W,[l("span",null,c(Le(t)),1),t.customer_note?(e(),p("span",{key:0,class:"inline-flex shrink-0 text-amber-500",title:`Nota interna: ${t.customer_note}`,"aria-label":"Il cliente ha note interne"},[h(a(N),{class:"h-4 w-4","aria-hidden":"true"})],8,Y)):m("",!0),t.fattura?(e(),p("span",ee," B2B ")):m("",!0),Ie(t)?(e(),p("span",{key:2,class:"inline-flex items-center gap-1 rounded-full bg-red-100 px-2 py-0.5 text-xs font-semibold text-red-700",title:`Consegna promessa entro il ${Fe(t)}`},[h(a(z),{class:"h-3.5 w-3.5"}),y(" "+c(Se(t)?"Consegnato con":"In ritardo di")+" "+c(Ne(t))+" "+c(1===Ne(t)?"giorno":"giorni")+" "+c(Se(t)?"di ritardo":""),1)],8,te)):m("",!0),Me(t)?(e(),p("span",ae,[h(a(j),{class:"h-3.5 w-3.5"}),i[9]||(i[9]=y(" Conferma non inviata ",-1))])):m("",!0)]),l("div",oe,c($e(t)),1)]),l("td",ne," ⬠"+c(_e(t).toLocaleString("it-IT",{minimumFractionDigits:2,maximumFractionDigits:2})),1),l("td",re,[l("span",{class:o([ze(t.state),"inline-flex items-center rounded-full px-2 py-0.5 text-xs font-semibold whitespace-nowrap"])},c(je(t.state)),3)]),l("td",{class:"px-2 py-3 text-center",onClick:i[2]||(i[2]=_(()=>{},["stop"]))},[l("input",{type:"checkbox",checked:t.lavorato,class:"h-4 w-4 rounded border-gray-300 text-orange-500 focus:ring-orange-400 cursor-pointer",onChange:e=>async function(e){const t=!e.lavorato;e.lavorato=t;try{await L("/api/admin/toggle-lavorato",{method:"POST",body:{order_id:e.order_id,value:t}})}catch{e.lavorato=!t}}(t)},null,40,ie)]),l("td",{class:"px-2 py-3 text-center",onClick:i[3]||(i[3]=_(()=>{},["stop"]))},[l("input",{type:"checkbox",checked:t.mail_lavorazione,class:"h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-500 cursor-pointer",onChange:e=>async function(e){const t=!e.mail_lavorazione;e.mail_lavorazione=t;try{await L("/api/admin/toggle-mail-lavorazione",{method:"POST",body:{order_id:e.order_id,value:t}})}catch{e.mail_lavorazione=!t}}(t)},null,40,se)]),l("td",le,[h(g,{to:`/admin/ordini/${t.order_id}`,class:"text-indigo-500 hover:text-indigo-700",onClick:i[4]||(i[4]=_(()=>{},["stop"]))},{default:s(()=>[h(a(T),{class:"h-5 w-5"})]),_:1},8,["to"])])],8,V);var n}),128))])])])):(e(),p("div",ce,[...i[11]||(i[11]=[l("p",{class:"text-sm"},"Nessun ordine trovato con i filtri selezionati",-1)])])),a(Ce)>
11?(e(),p("div",de,[l("p",ue," Pagina "+c(a(he))+" di "+c(a(Ce)),1),l("div",pe,[l("button",{disabled:1===a(he),class:"rounded-lg border border-gray-300 px-3 py-1.5 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",onClick:i[5]||(i[5]=e=>he.value--)}," Precedente ",8,me),l("button",{disabled:a(he)===a(Ce),class:"rounded-lg border border-gray-300 px-3 py-1.5 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed",onClick:i[6]||(i[6]=e=>he.value++)}," Successiva ",8,xe)])])):m("",!0)])}}});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.