PageSourceSearch

https://www.boekenvoordeel.nl/_nuxt/ZKIVr_Eq.js

js boekenvoordeel.nl collected 2026-09-26 11:14:15 UTC 8,546 bytes, 1 lines download raw bytes

1import{f as U,b1 as z,c as m,x as k,l as n,o as u,t as y,b2 as X,aM as q,aN as Z,aJ as v,V as M,b3 as W,b4 as Y,X as H,b5 as x,b6 as G,ab as L,b7 as R,ak as ee,a4 as D,am as te,b8 as oe,Z as se,i as B,w,b as d,E as O,ao as ne,a as C,aq as ae,az as ce,a6 as I,d as N,a5 as re,a7 as ue,F,T as le,n as j,k as ie,r as de,_ as me,b9 as pe,$ as he}from"./Spz_2MDb.js";import{_ as _e}from"./B1a7cpf6.js";import{_ as ye}from"./RReMaFyw.js";import{u as J}from"./BYvKJkOt.js";const ve={key:0},fe=U({__name:"LoyaltyPoints",setup(a){const{enabled:s,customerPointsPair:t}=z();return(o,c)=>n(s)?(u(),m("p",ve,y(o.$t("myaccount.loyaltyPoints.points",{points:n(t).points.localized})),1)):k("",!0)}}),be=()=>{const a=X(),s=q("voucherTypes",()=>[]),t=Z("voucherTypes"),o=q("voucherTypes_loaded",()=>!1),c=v(async()=>{s.value=await a.getVoucherTypes()}),e=async()=>{o.value||await t.scope(async()=>{o.value||(await c(),o.value=!0)})};return{pending:t.value,voucherTypes:s,ensureVoucherTypes:e}},Ve=()=>{const{$api:a}=M(),{convertVoucher:s}=W(),t="/api/aspos/customer/vouchers",o=v(async()=>{var r;const e=await a(t,{query:{includeProducts:!0}});return e.Success?(r=e.Vouchers)==null?void 0:r.map(l=>s(l)):[]});return{activateVoucher:v(async e=>{const r=await a("/api/aspos/customer/vouchers/activate",{method:"POST",body:{voucherTypeCode:e}});return r.Success?{success:!0}:Y(r.ReasonCode)}),getCustomerVouchers:o}},K=()=>{const{$i18n:a,$noty:s}=M(),t=Ve(),{refreshCustomer:o}=H(),c=x("customerVouchers"),e=G("customerVouchers_loaded",()=>!1),r=G("customerVouchers",()=>[]),l=v(i=>{var V;return i.success?s.success(a.t("notification.success.title"),a.t("voucher.activate.success")):s.error(a.t("notification.failure.title"),a.t(`vouchers.activate.error.${(V=i.error)==null?void 0:V.code}`,a.t("voucher.activate.error"))),Promise.resolve()}),p=v(async i=>{const V=await t.activateVoucher(i);return V.success&&Promise.all([b(),o()]),l(V),V}),h=v(async()=>{r.value=await t.getCustomerVouchers()}),$=L(()=>r.value.filter(i=>i.kind===R.Payment)),P=L(()=>r.value.filter(i=>i.kind===R.Product)),f=v(async()=>{e.value||await c.scope(async()=>{e.value||(await h(),e.value=!0)})}),b=v(()=>c.scope(async()=>{await h()}));return{pending:c.value,loaded:e,vouchers:r,paymentVouchers:$,productVouchers:P,activateVoucher:p,ensureVouchers:f,refreshVouchers:b,onActivated:l}},$e=()=>{const{voucherTypes:a,pending:s,ensureVoucherTypes:t}=be(),{activateVoucher:o}=K(),{$i18n:c}=M(),{createSchema:e}=ee(),{customerPoints:r}=z(),l=D(!1),p=D(),h=te({voucherCode:void 0}),$=e({voucherCode:oe().required()}),P=v(_=>{var S;return[_.name,_.defaultAmount&&c.n(_.defaultAmount,"currency"),c.t("voucher.lister.select.points",{points:(S=_.product)==null?void 0:S.points})].filter(Q=>Q).join(" / ")}),f=L(()=>a.value.map(_=>{var g;return{label:P(_),value:_.code,disabled:r.value<(((g=_.product)==null?void 0:g.points)??0)}})),b=v(async()=>{l.value=!0,await V()}),i=v(()=>{l.value=!1}),V=v(async()=>{var _;await t(),h.voucherCode=(_=f.value.find(g=>!g.disabled))==null?void 0:_.value}),A=v(async()=>{var g;await((g=p.value)==null?void 0:g.validate()),(await o(h.voucherCode)).success&&i()}),{execute:T,isLoading:E}=se(async()=>{await A()},void 0,{immediate:!1});return{pending:s,state:h,schema:$,formEl:p,options:f,submitting:E,modalVisible:l,init:V,open:b,close:i,doSubmit:A,submit:T}},ge={class:"mt-10"},we=U({inheritAttrs:!1,__name:"TypesModal",setup(a,{expose:s}){const{modalVisible:t,formEl:o,pending:c,state:e,schema:r,options:l,submitting:p,open:h,close:$,submit:P}=$e();return s({open:h,close:$}),(f,b)=>{const i=ce,V=ae,A=I,T=ne,E=O,_=ye,g=ue;return u(),B(g,{modelValue:n(t),"onUpdate:modelValue":b[1]||(b[1]=S=>re(t)?t.value=S:null),"prevent-close":"",ui:{width:"sm:max-w-[500px]"}},{default:w(()=>[d(_,{title:f.$t("voucher.lister.modal.title"),ui:{body:{padding:"p-4 sm:px-6 sm:py-7"}},onClose:n($)},{default:w(()=>[d(E,{show:n(c)},{default:w(()=>[d(T,{ref_key:"formEl",ref:o,state:n(e),schema:n(r),onSubmit:n(P)},{default:w(()=>[d(V,{name:"voucherCode",required:"",label:f.$t("voucher.lister.select.label"),ui:{label:{wrapper:"mb-2.5",base:"text-base font-bold"}}},{default:w(()=>[d(i,{modelValue:n(e).voucherCode,"onUpdate:modelValue":b[0]||(b[0]=S=>n(e).voucherCode=S),placeholder:f.$t("voucher.lister.select.placeholder"),options:n(l),size:"md"},null,8,["modelValue","placeholder","options"])]),_:1},8,["label"]),C("div",ge,[d(A,{type:"submit",size:"md",loading:n(p)},{default:w(()=>[N(y(f.$t("voucher.lister.select.submit")),1)]),_:1},8,["loading"])])]),_:1},8,["state","schema","onSubmit"])]),_:1},8,["show"])]),_:1},8,["title","onClose"])]),_:1},8,["modelValue"])}}}),Ce=U({__name:"TypesSelector",setup(a){const s=D(),t=()=>{var o;(o=s.value)==null||o.open()};return(o,c)=>{const e=I;return u(),m(F,null,[d(e,{size:"md",onClick:t},{default:w(()=>
1[N(y(o.$t("voucher.lister.modal.openButton")),1)]),_:1}),d(n(we),{ref_key:"modalEl",ref:s},null,512)],64)}}}),ke={class:"mb-1 font-bold"},Pe={class:"mb-5"},Se={class:"font-bold"},Ue={class:"mb-3 rounded-lg bg-gray-100 px-2 py-3 text-sm"},Ae={key:0},Be={key:1},Te={class:"mt-3 break-words"},Ee={key:0,class:"mt-auto text-sm"},Le={key:0,class:"absolute right-0 top-0.5 -translate-y-1/2 translate-x-1/2"},De=U({__name:"index",props:{voucher:{},applied:{type:Boolean},selectable:{type:Boolean},disabled:{type:Boolean}},emits:["select","unselect"],setup(a,{emit:s}){const t=a,o=s,c=()=>{!t.selectable||t.disabled||o(t.applied?"unselect":"select",t.voucher.id)};return(e,r)=>{var h;const l=le("i18n-n"),p=ie;return u(),m("div",{class:j(["relative block rounded-lg border border-gray-200 p-5 shadow-md",{"cursor-pointer":e.selectable&&!e.disabled,"cursor-not-allowed":e.selectable&&e.disabled}]),onClick:c},[C("div",{class:j([{"opacity-80":e.applied,"opacity-50":e.disabled},"flex h-full flex-col"])},[C("h4",ke,y(e.voucher.name),1),C("div",Pe,[N(y(e.$t("myaccount.voucher.amount"))+" ",1),C("span",Se,[e.voucher.paymentAmount?(u(),B(l,{key:0,value:e.voucher.paymentAmount,format:"currency"},null,8,["value"])):k("",!0)])]),C("div",Ue,[e.voucher.activationDate?(u(),m("p",Ae,y(e.$t("myaccount.voucher.activatedOn",{date:e.$d(e.voucher.activationDate,{year:"numeric",month:"numeric",day:"numeric"})})),1)):k("",!0),(h=e.voucher.type)!=null&&h.partialUsable&&e.voucher.lastBalanceChangeDate?(u(),m("p",Be,y(e.$t("myaccount.voucher.lastUsedOn",{date:e.$d(e.voucher.lastBalanceChangeDate,{year:"numeric",month:"numeric",day:"numeric"}),time:e.$d(e.voucher.lastBalanceChangeDate,{hour:"numeric",minute:"numeric",second:"numeric"})})),1)):k("",!0),C("p",Te,y(e.$t("myaccount.voucher.code"))+" "+y(e.voucher.code),1)]),e.voucher.endDate?(u(),m("div",Ee,y(e.$t("myaccount.voucher.validUntil",{date:e.$d(e.voucher.endDate,{year:"numeric",month:"numeric",day:"numeric"})})),1)):k("",!0)],2),e.applied?(u(),m("div",Le,[d(p,{name:"i-heroicons-check-circle",class:"text-primary-500 h-6 w-6"})])):k("",!0)],2)}}}),ze={key:0,class:"grid grid-cols-1 gap-5 py-2.5 sm:grid-cols-2 md:grid-cols-3"},Me={key:1},Oe=U({__name:"Lister",setup(a){const{vouchers:s,pending:t,loaded:o,ensureVouchers:c}=K();return J(async()=>{await c()},{server:!1},"$5B0clvGxc-"),(e,r)=>{const l=De,p=O;return u(),B(p,{show:!n(o)||n(t),class:"min-h-[20vh]"},{default:w(()=>[n(s).length?(u(),m("ul",ze,[(u(!0),m(F,null,de(n(s),(h,$)=>(u(),m("li",{key:$},[d(l,{class:"h-full",voucher:h},null,8,["voucher"])]))),128))])):n(o)?(u(),m("p",Me,y(e.$t("myaccount.voucher.list.empty")),1)):k("",!0)]),_:1},8,["show"])}}}),Ne={},Fe={class:"mb-2.5 font-bold"};function qe(a,s){const t=Oe;return u(),m("div",null,[C("p",Fe,y(a.$t("myaccount.voucher.list.description")),1),d(t)])}const Ge=me(Ne,[["render",qe]]),Re={class:"flex items-center gap-3"},je={key:0,class:"mt-5"},Qe=U({__name:"loyalty-points",async setup(a){let s,t;const{loaded:o,ensureCustomer:c}=H(),{enabled:e,customerPointsPair:r}=z(),l=pe();return[s,t]=he(async()=>J(async()=>{await c()},{server:!1},"$QmyU5MxwSk")),await s,t(),(p,h)=>{const $=fe,P=_e,f=Ce,b=Ge,i=O;return u(),m("div",null,[d(P,{title:p.$t("myaccount.loyaltyPoints"),class:"mb-10 md:mb-6"},{default:w(()=>[d($)]),_:1},8,["title"]),d(i,{show:!n(o)},{default:w(()=>[C("div",Re,[C("span",null,y(n(e)?p.$t("myaccount.loyaltyPoints.summary",{points:n(r).points.localized,amount:n(r).amount.localized}):p.$t("myaccount.loyaltyPoints.notLoyaltyCustomer")),1)]),n(o)?(u(),m(F,{key:0},[n(l).activateFromTypeEnabled?(u(),m("div",je,[d(f)])):k("",!0),n(l).account.enabled?(u(),B(b,{key:1,class:"mt-10"})):k("",!0)],64)):k("",!0)]),_:1},8,["show"])])}}});export{Qe 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.