import"../chunks/Bzak7iHL.js";import{p as ha,h as P,g as S,f as b,a as f,b as wa,t as k,j as d,$ as ka,c as r,u as yt,r as i,e as K,s as o,i as m,d as Te,aL as Pa,n as xt}from"../chunks/CnGaPG_y.js";import{d as Da,s as g}from"../chunks/BBilxCvN.js";import{i as D}from"../chunks/BqhvobEz.js";import{e as Ie}from"../chunks/_bkH3ryn.js";import{h as Ca}from"../chunks/7JdHMB9Z.js";import{a as Sa,e as Ta}from"../chunks/C6co30xB.js";import{r as q,s as T}from"../chunks/Bu9wkQ5s.js";import{t as ht,f as wt}from"../chunks/_szDWC-1.js";import{b as N}from"../chunks/DGA84RoI.js";import{g as ie,i as Ia}from"../chunks/GZ8OcxnQ.js";import{g as ja}from"../chunks/BSWJzOrc.js";import{p as kt}from"../chunks/BW0CJVh_.js";import{M as Pt}from"../chunks/BeF0adGF.js";import{S as Ea}from"../chunks/DmCpX-F9.js";var Fa=b('

Product not found

'),Ua=(u,a)=>m(a,!1),Na=async(u,a,x)=>{m(a,!1),await x()},qa=b('

',1),Ba=(u,a)=>m(a,!1),Aa=async(u,a,x)=>{m(a,!1),await x()},La=b('

',1),Ma=b('
'),Oa=(u,a)=>a("name",u.currentTarget.value),Ka=b('

'),Ya=(u,a)=>a("price",parseFloat(u.currentTarget.value)),za=b('

'),Ja=(u,a)=>a("digitalCopyPrice",parseFloat(u.currentTarget.value)),Qa=b('

'),Ra=(u,a)=>a("quantity",parseInt(u.currentTarget.value)),Ga=b('

'),Ha=(u,a)=>a("author",u.currentTarget.value),Va=b('

'),Wa=(u,a)=>a("citation",u.currentTarget.value),Xa=b('

'),Za=(u,a)=>a("isbn",u.currentTarget.value),$a=b('

'),er=(u,a)=>a("publicationDate",parseInt(u.currentTarget.value)),tr=b('

'),ar=b(""),rr=b('

'),ir=b('

No categories selected

'),or=(u,a,x)=>a(d(x).id),dr=b('
'),nr=(u,a)=>a("pageCount",parseInt(u.currentTarget.value)),sr=b('

'),lr=(u,a)=>a("description",u.currentTarget.value),cr=b('

'),ur=(u,a)=>m(a,!0),pr=(u,a)=>m(a,!0),vr=(u,a)=>a(u.currentTarget.files),mr=b('
  • No documents uploaded yet
  • '),fr=(u,a,x)=>a(d(x).id),_r=b('
  • '),gr=b(`
    product

    ← Back to Products

    PDF Documents

    Attach supplementary PDF documents (max 25MB each). Existing uploads can be replaced by uploading a file with the same original filename.

    Select one or more PDF files to upload or replace.

    `,1),br=b('
    ');function Nr(u,a){var Oe,Ke,Ye,ze,Je,Qe,Re,Ge,He,Ve,We,Xe,Ze,$e,et;ha(a,!0);const x=ja();let Dt=yt(()=>a.data.product||null),je=P(((Oe=a.data)==null?void 0:Oe.categories)||[]),A=S(P((Ke=a.data.product)==null?void 0:Ke.name)),oe=S(P((Ye=a.data.product)==null?void 0:Ye.description)),Ee=S(P((ze=a.data.product)==null?void 0:ze.price)),Fe=S(P((Je=a.data.product)==null?void 0:Je.digitalCopyPrice)),Ue=S(P((Qe=a.data.product)==null?void 0:Qe.quantity));P((Re=a.data.product)==null?void 0:Re.serviceCode);let Ne=S(P((Ge=a.data.product)==null?void 0:Ge.author)),qe=S(P(((He=a.data.product)==null?void 0:He.citation)||"")),Be=S(P(((Ve=a.data.product)==null?void 0:Ve.ISBN)||"")),Ae=P((We=a.data.product)==null?void 0:We.publicationDate),Le=S(P((Xe=a.data.product)==null?void 0:Xe.pageCount)),Ct=P(($e=(Ze=a.data.product)==null?void 0:Ze.Image[0])==null?void 0:$e.url),Y=S(!1),z=S(!1),F=S(P(((et=a.data.product)==null?void 0:et.categories)||[]));console.log("Product data:",a.data.product);let Me=S(P(Ae?new Date(Ae).getFullYear().toString():"")),$=S(!1);const St=[".jpg",".jpeg",".png",".webp"];let M=S(P(a.data.productDocuments||[]));async function Tt(p){var v;if(!(!p||!((v=a.data.product)!=null&&v.id)))for(const l of Array.from(p)){if(l.type!=="application/pdf")continue;const h=new FormData;h.append("file",l,l.name);try{const C=await fetch(`/api/product/${a.data.product.id}/documents`,{method:"POST",body:h});if(C.ok){const E=await C.json();m(M,[...d(M).filter(B=>B.id!==E.document.id&&B.originalName!==E.document.originalName),E.document].sort((B,ee)=>B.originalName.localeCompare(ee.originalName)),!0),x.add("Uploaded",l.name,"success")}else x.add("Upload failed",`${l.name}`,"error")}catch{x.add("Upload error",l.name,"error")}}}async function It(p){var v;if((v=a.data.product)!=null&&v.id&&confirm("Delete this document?"))try{(await fetch(`/api/product/${a.data.product.id}/documents/${p}`,{method:"DELETE"})).ok?(m(M,d(M).filter(h=>h.id!==p),!0),x.add("Deleted","Document removed","success")):x.add("Delete failed","","error")}catch{x.add("Delete error","","error")}}const jt=async()=>{var p,v;if(console.log("Publishing product"),(v=(p=a.data)==null?void 0:p.product)!=null&&v.id){const l=await fetch(`/api/product/${a.data.product.id}/publish`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPublished:!a.data.product.isPublished})});if(l.ok){const h=a.data.product.isPublished?"Product unpublished":"Product published";x.add("Success",h,"success")}else l.status===401?(console.error("Unauthorized"),await ie(`/login?redirect=${window.location.pathname}`)):(console.error("Failed to publish product"),x.add("Error","Failed to publish product","error"))}await Ia("update:product")},Et=async()=>{var p,v;if(console.log("Deleting product"),(v=(p=a.data)==null?void 0:p.product)!=null&&v.id){const l=await fetch(`/api/product/${a.data.product.id}`,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(l.ok)console.log("Product deleted"),x.add("Product deleted",""),await ie("/admin/product");else if(l.status===401)console.error("Unauthorized"),await ie(`/login?redirect=${window.location.pathname}`);else if(l.status===400){const h=await l.json();x.add("Error",h.message,"error"),console.error("Product is on order")}else console.error("Failed to delete product")}};function Ft(p){const v=p.currentTarget,l=parseInt(v.value);if(!l||d(F).find(C=>C.id===l))return;const h=je.find(C=>C.id===l);h&&m(F,[...d(F),h],!0),v.value=""}function Ut(p){m(F,d(F).filter(v=>v.id!==p),!0)}let L=S(P({}));const c=p=>{var v;return((v=d(L)[p])==null?void 0:v[0])||""},U=(p,v)=>{var C;const h=kt.shape[p].safeParse(v);d(L)[p]=h.success?[]:((C=h.error)==null?void 0:C.flatten().formErrors)||[]},Nt=p=>{const v={};for(const[E,B]of p)v[E]=B;const l=v,h={...l,price:l.price?parseFloat(l.price):void 0,digitalCopyPrice:l.digitalCopyPrice?parseFloat(l.digitalCopyPrice):void 0,quantity:l.quantity?parseInt(l.quantity):void 0,pageCount:l.pageCount?parseInt(l.pageCount):void 0,categoryIds:d(F).map(E=>E.id),citation:l.citation||void 0,isbn:l.isbn||void 0,publicationDate:l.publicationDate?parseInt(l.publicationDate):void 0},C=kt.safeParse(h);return C.success?!0:(m(L,C.error.flatten().fieldErrors,!0),!1)};var de=br();Ca(p=>{k(()=>ka.title=`${d(A)??""} Details`)});var qt=r(de);{var Bt=p=>{var v=Fa();f(p,v)},At=p=>{var v=gr(),l=K(v),h=r(l),C=o(h,2),E=r(C),B=r(E,!0);i(E);var ee=o(E,2),Lt=r(ee,!0);i(ee),i(C),i(l);var tt=o(l,2);Pt(tt,{title:"Delete Book",get show(){return d(Y)},set show(e){m(Y,e,!0)},children:(e,t)=>{var n=qa(),s=K(n),w=r(s);i(s);var y=o(s,2),_=r(y);_.__click=[Ua,Y];var I=o(_,2);I.__click=[Na,Y,Et],i(y),k(()=>g(w,`Are you sure you want to delete "${d(A)??""}"? This action cannot be undone.`)),f(e,n)},$$slots:{default:!0}});var at=o(tt,2);{let e=yt(()=>{var t;return`${(t=a.data.product)!=null&&t.isPublished?"Unpublish":"Publish"} Book`});Pt(at,{get title(){return d(e)},get show(){return d(z)},set show(t){m(z,t,!0)},children:(t,n)=>{var s=La(),w=K(s),y=r(w);i(w);var _=o(w,2),I=r(_);I.__click=[Ba,z];var j=o(I,2);j.__click=[Aa,z,jt];var Se=r(j,!0);i(j),i(_),k(()=>{var ae,re;g(y,`Are you sure you want to ${(ae=a.data.product)!=null&&ae.isPublished?"unpublish":"publish"} "${d(A)??""}"?`),g(Se,(re=a.data.product)!=null&&re.isPublished?"Unpublish":"Publish")}),f(t,s)},$$slots:{default:!0}})}var rt=o(at,4),ne=r(rt),it=r(ne),se=r(it),ot=r(se),dt=r(ot),Mt=r(dt,!0);i(dt),i(ot),i(se);var nt=o(se,2),le=r(nt),st=r(le);{var Ot=e=>{var t=Ma(),n=r(t,!0);i(t),k(()=>g(n,d(L)._errors[0])),f(e,t)};D(st,e=>{d(L)._errors&&e(Ot)})}var lt=o(st,2),ce=r(lt),J=o(r(ce),2);q(J),J.__keyup=[Oa,U];var Kt=o(J,2);{var Yt=e=>{var t=Ka(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("name")]),f(e,t)};D(Kt,e=>{c("name")&&e(Yt)})}i(ce);var ue=o(ce,2),pe=r(ue),Q=o(r(pe),2);q(Q),Q.__keyup=[Ya,U];var zt=o(Q,2);{var Jt=e=>{var t=za(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("price")]),f(e,t)};D(zt,e=>{c("price")&&e(Jt)})}i(pe);var ve=o(pe,2),R=o(r(ve),2);q(R),R.__keyup=[Ja,U];var Qt=o(R,2);{var Rt=e=>{var t=Qa(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("digitalCopyPrice")]),f(e,t)};D(Qt,e=>{c("digitalCopyPrice")&&e(Rt)})}i(ve);var me=o(ve,2),G=o(r(me),2);q(G),G.__keyup=[Ra,U];var Gt=o(G,2);{var Ht=e=>{var t=Ga(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("quantity")]),f(e,t)};D(Gt,e=>{c("quantity")&&e(Ht)})}i(me);var fe=o(me,2),H=o(r(fe),2);q(H),H.__keyup=[Ha,U];var Vt=o(H,2);{var Wt=e=>{var t=Va(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("author")]),f(e,t)};D(Vt,e=>{c("author")&&e(Wt)})}i(fe);var _e=o(fe,2),V=o(r(_e),2);q(V),V.__keyup=[Wa,U];var Xt=o(V,2);{var Zt=e=>{var t=Xa(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("citation")]),f(e,t)};D(Xt,e=>{c("citation")&&e(Zt)})}i(_e);var ge=o(_e,2),W=o(r(ge),2);q(W),W.__keyup=[Za,U];var $t=o(W,2);{var ea=e=>{var t=$a(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("isbn")]),f(e,t)};D($t,e=>{c("isbn")&&e(ea)})}i(ge);var be=o(ge,2),O=o(r(be),2);q(O),O.__keyup=[er,U];var ta=o(O,2);{var aa=e=>{var t=tr(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("publicationDate")]),f(e,t)};D(ta,e=>{c("publicationDate")&&e(aa)})}i(be);var ye=o(be,2),te=o(r(ye),2);te.__change=Ft;var xe=r(te);xe.value=xe.__value="";var ra=o(xe);Ie(ra,17,()=>je,e=>e.id,(e,t)=>{var n=Te(),s=K(n);{var w=y=>{var _=ar(),I=r(_,!0);i(_);var j={};k(()=>{g(I,d(t).name),j!==(j=d(t).id)&&(_.value=(_.__value=d(t).id)??"")}),f(y,_)};D(s,y=>{d(F).find(_=>_.id===d(t).id)||y(w)})}f(e,n)}),i(te);var ct=o(te,2);{var ia=e=>{var t=rr(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("categoryIds")]),f(e,t)};D(ct,e=>{c("categoryIds")&&e(ia)})}var ut=o(ct,2),oa=r(ut);{var da=e=>{var t=ir();f(e,t)},na=e=>{var t=Te(),n=K(t);Ie(n,17,()=>d(F),s=>s.id,(s,w)=>{var y=dr(),_=r(y),I=r(_,!0);i(_);var j=o(_,2);j.__click=[or,Ut,w],i(y),k(()=>g(I,d(w).name)),ht(1,y,()=>wt,()=>({duration:100})),ht(2,y,()=>wt,()=>({duration:50})),f(s,y)}),f(e,t)};D(oa,e=>{d(F).length===0?e(da):e(na,!1)})}i(ut),i(ye);var he=o(ye,2),X=o(r(he),2);q(X),X.__keyup=[nr,U];var sa=o(X,2);{var la=e=>{var t=sr(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("pageCount")]),f(e,t)};D(sa,e=>{c("pageCount")&&e(la)})}i(he);var we=o(he,2),Z=o(r(we),2);Pa(Z),Z.__keyup=[lr,U];var ca=o(Z,2);{var ua=e=>{var t=cr(),n=r(t,!0);i(t),k(s=>g(n,s),[()=>c("description")]),f(e,t)};D(ca,e=>{c("description")&&e(ua)})}i(we);var pt=o(we,2),pa=o(r(pt),2);i(pt),i(ue);var vt=o(ue,2),ke=r(vt),Pe=r(ke);Pe.__click=[ur,z];var va=r(Pe,!0);i(Pe),i(ke);var De=o(ke,2),ma=r(De);{var fa=e=>{Ea(e)};D(ma,e=>{d($)&&e(fa)})}xt(),i(De);var _a=o(De,2);_a.__click=[pr,Y],i(vt),i(lt),i(le),Sa(le,(e,t)=>{var n;return(n=Ta)==null?void 0:n(e,t)},()=>({formData:e,cancel:t})=>(m($,!0),m(L,{},!0),e.delete("categoryIds"),d(F).forEach(n=>e.append("categoryIds",n.id.toString())),Nt(e)||(m($,!1),t()),async({result:n,update:s})=>{var w;n.type==="success"?(x.add("Success","Product updated successfully","success",2e3),await ie("/admin/product")):n.type==="failure"&&(m(L,((w=n.data)==null?void 0:w.errors)||{_errors:["Error updating product"]},!0),await s({reset:!1})),m($,!1)})),i(nt),i(it),i(ne);var mt=o(ne,2),ft=r(mt),_t=o(r(ft),4),Ce=r(_t),ga=o(r(Ce),2);ga.__change=[vr,Tt],xt(2),i(Ce);var gt=o(Ce,2),ba=r(gt);{var ya=e=>{var t=mr();f(e,t)},xa=e=>{var t=Te(),n=K(t);Ie(n,17,()=>d(M),s=>s.id,(s,w)=>{var y=_r(),_=r(y),I=r(_,!0);i(_);var j=o(_,2);j.__click=[fr,It,w],i(y),k(()=>{T(_,"title",d(w).originalName),g(I,d(w).originalName)}),f(s,y)}),f(e,t)};D(ba,e=>{d(M).length===0?e(ya):e(xa,!1)})}i(gt),i(_t),i(ft),i(mt),i(rt),k((e,t,n,s,w,y,_,I,j,Se,ae,re)=>{var bt;T(h,"src",Ct||"/coat-of-arms.jpg"),g(B,d(A)),g(Lt,d(oe)),g(Mt,d(A)),T(J,"aria-invalid",e),T(Q,"aria-invalid",t),T(R,"aria-invalid",n),T(G,"aria-invalid",s),T(H,"aria-invalid",w),T(V,"aria-invalid",y),T(W,"aria-invalid",_),T(O,"aria-invalid",I),T(O,"max",j),T(X,"aria-invalid",Se),T(Z,"aria-invalid",ae),T(pa,"accept",re),g(va,(bt=a.data.product)!=null&&bt.isPublished?"Unpublish":"Publish")},[()=>!!c("name"),()=>!!c("price"),()=>!!c("digitalCopyPrice"),()=>!!c("quantity"),()=>!!c("author"),()=>!!c("citation"),()=>!!c("isbn"),()=>!!c("publicationDate"),()=>new Date().getFullYear()+5,()=>!!c("pageCount"),()=>!!c("description"),()=>St.join(",")]),N(J,()=>d(A),e=>m(A,e)),N(Q,()=>d(Ee),e=>m(Ee,e)),N(R,()=>d(Fe),e=>m(Fe,e)),N(G,()=>d(Ue),e=>m(Ue,e)),N(H,()=>d(Ne),e=>m(Ne,e)),N(V,()=>d(qe),e=>m(qe,e)),N(W,()=>d(Be),e=>m(Be,e)),N(O,()=>d(Me),e=>m(Me,e)),N(X,()=>d(Le),e=>m(Le,e)),N(Z,()=>d(oe),e=>m(oe,e)),f(p,v)};D(qt,p=>{d(Dt)?p(At,!1):p(Bt)})}i(de),f(u,de),wa()}Da(["click","keyup","change"]);export{Nr as component};