1import{_ as U,a as q,b as z}from"./BLu1HVvr.js";import{y as N,c as v,o,p as y,f as h,d,g as D,m as V,n as L,F as j,q as E,r as w,ai as R,at as x,W}from"./CjXW0tVs.js";import"./B6MueQ-M.js";import"./WDd0Dv9D.js";const G={class:"border-b border-gray-700 pb-4"},H={class:"flex space-x-4 text-teal-400 text-sm"},J={key:1,class:"font-semibold"},K={__name:"AddressCard",props:{objectType:{type:String,default:"address"},address:{type:Object,required:!0}},emits:["deleteAddress","editAddress","setDefault"],setup(C,{emit:c}){const r=C,{objectType:u,address:a}=N(r),f=c;async function l(){await f("deleteAddress")}async function g(){await f("editAddress")}async function m(){await f("setDefault")}return(O,p)=>{const $=U,S=q;return o(),v("div",G,[D(u)==="address"?(o(),y($,{key:0,address:D(a),editable:!1},null,8,["address"])):D(u)==="invoice"?(o(),y(S,{key:1,invoice:D(a),editable:!1},null,8,["invoice"])):h("",!0),d("div",H,[D(a).default?(o(),v("span",J,"Default")):(o(),v("button",{key:0,onClick:m},"Set default")),d("button",{onClick:l},"Delete"),d("button",{onClick:g},"Edit")])])}}},Q={class:"fixed inset-0 flex items-center justify-center z-50"},X={__name:"AddressConfirmDeletion",emits:["confirm","cancel"],setup(C,{emit:c}){const r=c;function u(){r("confirm")}function a(){r("cancel")}return(f,l)=>(o(),v("div",Q,[d("div",{class:"fixed inset-0 bg-black opacity-50",onClick:a}),d("div",{class:"bg-white rounded shadow-lg p-6 z-10 max-w-md w-full"},[l[0]||(l[0]=d("h2",{class:"text-xl font-semibold mb-4"},"Confirm deletion",-1)),l[1]||(l[1]=d("p",{class:"mb-6"},"Are you sure you want to delete this address?",-1)),d("div",{class:"flex justify-end space-x-4"},[d("button",{class:"px-4 py-2 bg-gray-300 text-gray-800 rounded hover:bg-gray-400",onClick:a}," Cancel "),d("button",{class:"px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700",onClick:u}," Delete ")])])]))}},Y={class:"min-h-screen p-8"},Z={class:"grid md:grid-cols-2 gap-8"},ee={class:"grid md:grid-cols-2 gap-8"},de={__name:"addresses",setup(C){const c=w([]),r=w([]),u=w([]),a=R({type:"",item:{}}),f=w(!1),l=w(!1),g=w(!1),m={address:{url:"/address",state:c},invoice:{url:"/invoice_data",state:r}};async function O(){await Promise.all([await p(m.address.url,c),await p(m.invoice.url,r),await $()])}async function p(t,e){const{data:s}=await x(t);s&&(e.value=s.value)}async function $(){const{data:t}=await x("/delivery_country");t&&(u.value=t.value)}async function S(t,e){const{url:s,state:i}=m[t],{data:k,error:n}=await x(s,{method:"POST",body:e});if(n.value){const A=n.value.data?.message||n.value.data?.detail;W("error",[{text:A}])}else await p(s,i)}async function T(t,e){const{url:s,state:i}=m[t];await x(`${s}/${e}`,{method:"PUT",body:{active:!1}},!1),await p(s,i)}async function P(t,e){const{url:s,state:i}=m[t];await x(`${s}/change/${e.id}`,{method:"POST",body:e},!1),await p(s,i)}async function M(t,e){const{url:s,state:i}=m[t];await x(`${s}/change/${e}`,{method:"POST",body:{default:!0}},!1),await p(s,i)}async function B(t){await S(a.type,t),_("add")}async function I(t){await P(a.type,t),_("edit")}async function F(){await T(a.type,a.item.id),_("delete")}function b(t,e,s=null){if(a.type=e,s!==null){const i=e==="address"?c.value:r.value;a.item=i.find(k=>k.id===s)||{}}else a.item={};t==="add"?f.value=!0:t==="edit"?l.value=!0:t==="delete"&&(g.value=!0)}function _(t){t==="add"?f.value=!1:t==="edit"?l.value=!1:t==="delete"&&(g.value=!1),a.type="",a.item={}}return V(async()=>{await L(),await O()}),(t,e)=>{const s=K,i=z,k=X;return o(),v(j,null,[d("section",Y,[e[5]||(e[5]=d("h2",{class:"text-xl font-semibold mb-6"},"Delivery addresses",-1)),d("div",Z,[(o(!0),v(j,null,E(c.value.filter(n=>n.valid),(n,A)=>(o(),y(s,{key:A,address:n,objectType:"address",onSetDefault:()=>M("address",n.id),onDeleteAddress:()=>b("delete","address",n.id),onEditAddress:()=>b("edit","address",n.id)},null,8,["address","onSetDefault","onDeleteAddress","onEditAddress"]))),128))]),d("div",{class:"mt-4 text-teal-400 cursor-pointer hover:underline",onClick:e[0]||(e[0]=n=>b("add","address"))}," Add new address "),e[6]||(e[6]=d("h2",{class:"text-xl my-5 font-semibold mb-6"},"Invoice data",-1)),d("div",ee,[(o(!0),v(j,null,E(r.value.filter(n=>n.valid),(n,A)=>(o(),y(s,{key:A,address:n,objectType:"invoice",onSetDefault:()=>M("invoice",n.id),onDeleteAddress:()=>b("delete","invoice",n.id),onEditAddress:()=>b("edit","invoice",n.id)},null,8,["address","onSetDefault","onDeleteAddress","onEditAddress"]))),128))]),d("div",{class:"mt-4 text-teal-400 cursor-pointer hover:underline",onClick:e[1]||(e[1]=n=>b("add","invoice"))}
1," Add new invoice data ")]),f.value?(o(),y(i,{key:0,type:a.type,countries:u.value,onOnSave:B,onClose:e[2]||(e[2]=()=>_("add"))},null,8,["type","countries"])):h("",!0),l.value?(o(),y(i,{key:1,type:a.type,addressData:a.item,countries:u.value,onOnSave:I,onClose:e[3]||(e[3]=()=>_("edit"))},null,8,["type","addressData","countries"])):h("",!0),g.value?(o(),y(k,{key:2,onConfirm:F,onCancel:e[4]||(e[4]=()=>_("delete"))})):h("",!0)],64)}}};export{de 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.