import"../chunks/Bzak7iHL.js";import{p as ma,h as P,g as I,f as b,a as _,b as fa,t as k,j as d,$ as _a,c as r,u as mt,r as o,e as K,s as i,i as m,d as Ce,aL as ga,n as ft}from"../chunks/CnGaPG_y.js";import{d as ba,s as g}from"../chunks/BBilxCvN.js";import{i as C}from"../chunks/BqhvobEz.js";import{e as Ie}from"../chunks/_bkH3ryn.js";import{h as ya}from"../chunks/7JdHMB9Z.js";import{a as xa,e as ha}from"../chunks/CSCnOrkp.js";import{r as B,s as S}from"../chunks/Bu9wkQ5s.js";import{t as _t,f as gt}from"../chunks/_szDWC-1.js";import{b as N}from"../chunks/DGA84RoI.js";import{g as re,i as wa}from"../chunks/Dvhcax_L.js";import{g as ka}from"../chunks/BSWJzOrc.js";import{p as bt}from"../chunks/CpTFl_rV.js";import{M as yt}from"../chunks/BeF0adGF.js";import{S as Da}from"../chunks/DmCpX-F9.js";var Pa=b('

Product not found

'),Ca=(u,a)=>m(a,!1),Ia=async(u,a,x)=>{m(a,!1),await x()},Sa=b('

',1),Ta=(u,a)=>m(a,!1),ja=async(u,a,x)=>{m(a,!1),await x()},Ea=b('

',1),Fa=b('
'),Ua=(u,a)=>a("name",u.currentTarget.value),Na=b('

'),qa=(u,a)=>a("price",parseFloat(u.currentTarget.value)),Ba=b('

'),Aa=(u,a)=>a("quantity",parseInt(u.currentTarget.value)),La=b('

'),Ma=(u,a)=>a("author",u.currentTarget.value),Oa=b('

'),Ka=(u,a)=>a("citation",u.currentTarget.value),Ya=b('

'),za=(u,a)=>a("isbn",u.currentTarget.value),Ja=b('

'),Qa=(u,a)=>a("publicationDate",parseInt(u.currentTarget.value)),Ra=b('

'),Ga=b(""),Ha=b('

'),Va=b('

No categories selected

'),Wa=(u,a,x)=>a(d(x).id),Xa=b('
'),Za=(u,a)=>a("pageCount",parseInt(u.currentTarget.value)),$a=b('

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

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