Files
MyClub/frontend/build/static/js/620.edc51951.chunk.js
T
Tomas Dvorak 84a8acf944 update
2026-03-02 20:20:56 +01:00

2 lines
10 KiB
JavaScript

"use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[620],{49620:(a,e,t)=>{t.r(e),t.d(e,{default:()=>U});var n=t(89379),s=t(65043),i=t(6583),r=t(30502),c=t(22107),l=t(28846),o=t(39081),d=t(96148),u=t(98662),h=t(82459),p=t(10202),v=t(87139),x=t(42703),m=t(73212),j=t(73225),y=t(76668),g=t(35699),f=t(97569),k=t(98481),A=t(19077),b=t(80511),z=t(3313),w=t(55395),C=t(83201),_=t(82595),S=t(67813),T=t(1009),N=t(46291);var M=t(70579);const J={slug:"",name:"",short_description:"",description_html:"",price_cents:0,currency:"CZK",vat_rate:21,active:!0,stock_mode:"finite",default_image_url:""},U=()=>{const[a,e]=(0,s.useState)([]),[t,U]=(0,s.useState)(!0),[E,K]=(0,s.useState)(null),[P,D]=(0,s.useState)(null),R=(0,r.d)(),V=async()=>{try{U(!0);const a=await async function(){return(await N.Ay.get("/admin/eshop/products")).data.data}();e(a)}catch(a){R({status:"error",title:"Chyba",description:"Nepoda\u0159ilo se na\u010d\xedst produkty e\u2011shopu."})}finally{U(!1)}},I=async t=>{const s=a[t];if(s.id&&!(Array.isArray(s.variants)&&s.variants.length>0))try{const a=await async function(a){return(await N.Ay.get("/admin/eshop/products/".concat(a,"/variants"))).data.data}(s.id);e(e=>e.map((e,s)=>s===t?(0,n.A)((0,n.A)({},e),{},{variants:a}):e))}catch(i){R({status:"error",title:"Chyba",description:"Nepoda\u0159ilo se na\u010d\xedst varianty produktu."})}},O=(a,t,s,i)=>{e(e=>e.map((e,r)=>{if(r!==a)return e;const c=Array.isArray(e.variants)?[...e.variants]:[];return c[t]=(0,n.A)((0,n.A)({},c[t]),{},{[s]:i}),(0,n.A)((0,n.A)({},e),{},{variants:c})}))},q=async(t,s)=>{var i;const r=a[t],c=(Array.isArray(r.variants)?r.variants:[])[s];if(!r.id)return void R({status:"warning",title:"Upozorn\u011bn\xed",description:"Nejprve ulo\u017ete produkt, ne\u017e p\u0159id\xe1te variantu."});if(!c.name&&!c.sku)return void R({status:"warning",title:"Upozorn\u011bn\xed",description:"Vypl\u0148te alespo\u0148 n\xe1zev nebo SKU varianty."});const l="".concat(r.id,"-").concat(null!==(i=c.id)&&void 0!==i?i:"new","-").concat(s);D(l);try{let a;a=c.id?await async function(a,e){return(await N.Ay.put("/admin/eshop/variants/".concat(a),e)).data}(c.id,c):await async function(a,e){return(await N.Ay.post("/admin/eshop/products/".concat(a,"/variants"),e)).data}(r.id,c),e(e=>e.map((e,i)=>{if(i!==t)return e;const r=Array.isArray(e.variants)?[...e.variants]:[];return r[s]=a,(0,n.A)((0,n.A)({},e),{},{variants:r})})),R({status:"success",title:"Variant ulo\u017een",description:"Varianta produktu byla ulo\u017eena."})}catch(o){R({status:"error",title:"Chyba",description:"Nepoda\u0159ilo se ulo\u017eit variantu."})}finally{D(null)}},L=async(t,s)=>{const i=a[t],r=(Array.isArray(i.variants)?i.variants:[])[s];if(r&&r.id)try{await async function(a){await N.Ay.delete("/admin/eshop/variants/".concat(a))}(r.id),e(a=>a.map((a,e)=>{if(e!==t)return a;const i=Array.isArray(a.variants)?[...a.variants]:[];return i.splice(s,1),(0,n.A)((0,n.A)({},a),{},{variants:i})})),R({status:"success",title:"Varianta smaz\xe1na",description:"Varianta byla smaz\xe1na."})}catch(c){R({status:"error",title:"Chyba",description:"Nepoda\u0159ilo se smazat variantu."})}else e(a=>a.map((a,e)=>{if(e!==t)return a;const i=Array.isArray(a.variants)?[...a.variants]:[];return i.splice(s,1),(0,n.A)((0,n.A)({},a),{},{variants:i})}))};(0,s.useEffect)(()=>{V()},[]);const Z=(a,t,s)=>{e(e=>e.map((e,i)=>i===a?(0,n.A)((0,n.A)({},e),{},{[t]:s}):e))},G=async t=>{var n;const s=a[t];if(!s.name||!s.slug)return void R({status:"warning",title:"Upozorn\u011bn\xed",description:"Vypl\u0148te alespo\u0148 n\xe1zev a slug."});s.currency||(s.currency="CZK");const i=null!==(n=s.id)&&void 0!==n?n:"new";K(i);try{let a;a=s.id?await async function(a,e){return(await N.Ay.put("/admin/eshop/products/".concat(a),e)).data}(s.id,s):await async function(a){return(await N.Ay.post("/admin/eshop/products",a)).data}(s),e(e=>e.map((e,n)=>n===t?a:e)),R({status:"success",title:"Ulo\u017eeno",description:"Produkt byl ulo\u017een."})}catch(r){R({status:"error",title:"Chyba",description:"Nepoda\u0159ilo se ulo\u017eit produkt."})}finally{K(null)}},H=async t=>{const n=a[t];if(n.id)try{await async function(a){await N.Ay.delete("/admin/eshop/products/".concat(a))}(n.id),e(a=>a.filter((a,e)=>e!==t)),R({status:"success",title:"Smaz\xe1no",description:"Produkt byl smaz\xe1n."})}catch(s){R({status:"error",title:"Chyba",description:"Nepoda\u0159ilo se smazat produkt."})}else e(a=>a.filter((a,e)=>e!==t))};return(0,M.jsx)(i.A,{children:(0,M.jsxs)(c.a,{children:[(0,M.jsx)(l.D,{size:"md",mb:2,children:"E\u2011shop produkty"}),(0,M.jsxs)(o.E,{fontSize:"sm",color:"gray.600",mb:4,children:["Tato sekce spravuje produkty pro samostatn\xfd e\u2011shop. Zde vytvo\u0159en\xe9 polo\u017eky se zobraz\xed v e\u2011shopu na adrese"," ",(0,M.jsx)("strong",{children:"http://localhost:3100"}),"."]}),(0,M.jsx)(d.z,{justify:"space-between",mb:3,children:(0,M.jsx)(u.$,{leftIcon:(0,M.jsx)(T.GGD,{}),onClick:()=>{e(a=>[(0,n.A)({},J),...a])},size:"sm",children:"P\u0159idat produkt"})}),(0,M.jsx)(h.c,{mb:4}),t?(0,M.jsx)(o.E,{children:"Na\u010d\xedt\xe1n\xed\u2026"}):0===a.length?(0,M.jsx)(o.E,{color:"gray.600",children:"Zat\xedm \u017e\xe1dn\xe9 produkty. Pou\u017eijte \u201eP\u0159idat produkt\u201c."}):(0,M.jsx)(p.T,{align:"stretch",spacing:4,children:a.map((a,t)=>{var s,i,r;return(0,M.jsxs)(c.a,{borderWidth:"1px",borderRadius:"md",p:4,bg:"white",children:[(0,M.jsxs)(d.z,{justify:"space-between",mb:3,align:"center",children:[(0,M.jsxs)(d.z,{spacing:3,children:[(0,M.jsx)(l.D,{size:"sm",children:a.name||"Nov\xfd produkt"}),a.active?(0,M.jsx)(v.E,{colorScheme:"green",children:"Aktivn\xed"}):(0,M.jsx)(v.E,{colorScheme:"gray",children:"Skryto"})]}),(0,M.jsxs)(d.z,{children:[(0,M.jsx)(u.$,{size:"sm",colorScheme:"blue",leftIcon:(0,M.jsx)(T.Bc_,{}),onClick:()=>G(t),isLoading:E===(null!==(i=a.id)&&void 0!==i?i:"new"),children:"Ulo\u017eit"}),(0,M.jsx)(x.K,{"aria-label":"Smazat",icon:(0,M.jsx)(T.IXo,{}),size:"sm",variant:"outline",colorScheme:"red",onClick:()=>H(t)})]})]}),(0,M.jsxs)(m.r,{columns:{base:1,md:2},spacing:3,mb:3,children:[(0,M.jsxs)(j.MJ,{isRequired:!0,children:[(0,M.jsx)(y.l,{children:"N\xe1zev"}),(0,M.jsx)(g.p,{value:a.name,onChange:a=>Z(t,"name",a.target.value)})]}),(0,M.jsxs)(j.MJ,{isRequired:!0,children:[(0,M.jsx)(y.l,{children:"Slug (URL)"}),(0,M.jsx)(g.p,{value:a.slug,onChange:a=>Z(t,"slug",a.target.value)})]}),(0,M.jsxs)(j.MJ,{children:[(0,M.jsx)(y.l,{children:"Cena (v hal\xe9\u0159\xedch)"}),(0,M.jsx)(f.Q7,{min:0,value:a.price_cents,onChange:(a,e)=>Z(t,"price_cents",e),children:(0,M.jsx)(f.OO,{})})]}),(0,M.jsxs)(j.MJ,{children:[(0,M.jsx)(y.l,{children:"M\u011bna"}),(0,M.jsx)(g.p,{value:a.currency,onChange:a=>Z(t,"currency",a.target.value)})]}),(0,M.jsxs)(j.MJ,{children:[(0,M.jsx)(y.l,{children:"DPH %"}),(0,M.jsx)(f.Q7,{min:0,max:99,value:null!==(r=a.vat_rate)&&void 0!==r?r:21,onChange:(a,e)=>Z(t,"vat_rate",e),children:(0,M.jsx)(f.OO,{})})]}),(0,M.jsxs)(j.MJ,{children:[(0,M.jsx)(y.l,{children:"Hlavn\xed obr\xe1zek (URL)"}),(0,M.jsx)(g.p,{value:a.default_image_url||"",onChange:a=>Z(t,"default_image_url",a.target.value),placeholder:"https://example.com/img.jpg"}),a.default_image_url&&(0,M.jsx)(c.a,{mt:2,maxW:"180px",borderWidth:"1px",borderRadius:"md",overflow:"hidden",children:(0,M.jsx)(c.a,{position:"relative",paddingTop:"75%",children:(0,M.jsx)(c.a,{as:"img",src:a.default_image_url,alt:a.name||"N\xe1hled obr\xe1zku",position:"absolute",top:0,left:0,width:"100%",height:"100%",style:{objectFit:"cover"}})})})]}),(0,M.jsxs)(j.MJ,{display:"flex",alignItems:"center",children:[(0,M.jsx)(y.l,{mb:0,children:"Aktivn\xed"}),(0,M.jsx)(k.d,{isChecked:a.active,onChange:a=>Z(t,"active",a.target.checked)})]})]}),(0,M.jsxs)(j.MJ,{mb:3,children:[(0,M.jsx)(y.l,{children:"Kr\xe1tk\xfd popis"}),(0,M.jsx)(A.T,{rows:2,value:a.short_description||"",onChange:a=>Z(t,"short_description",a.target.value)})]}),(0,M.jsxs)(m.r,{columns:{base:1,md:2},spacing:3,mb:3,children:[(0,M.jsxs)(j.MJ,{children:[(0,M.jsx)(y.l,{children:"Re\u017eim skladu"}),(0,M.jsx)(g.p,{value:a.stock_mode||"finite",onChange:a=>Z(t,"stock_mode",a.target.value),placeholder:"finite nebo unlimited"})]}),(0,M.jsxs)(c.a,{fontSize:"xs",color:"gray.500",mt:{base:0,md:8},children:["Hodnoty:"," ",(0,M.jsx)("strong",{children:"finite"})," = po\u010d\xedtat sklad z variant,"," ",(0,M.jsx)("strong",{children:"unlimited"})," = neomezen\xfd sklad (typicky digit\xe1ln\xed polo\u017eky)."]})]}),(0,M.jsxs)(j.MJ,{children:[(0,M.jsx)(y.l,{children:"HTML popis (detail produktu)"}),(0,M.jsx)(A.T,{rows:4,value:a.description_html||"",onChange:a=>Z(t,"description_html",a.target.value)})]}),(0,M.jsxs)(c.a,{mt:4,children:[(0,M.jsxs)(d.z,{justify:"space-between",mb:2,children:[(0,M.jsx)(l.D,{size:"xs",children:"Varianty"}),(0,M.jsx)(u.$,{size:"xs",leftIcon:(0,M.jsx)(T.GGD,{}),variant:"outline",onClick:()=>(async a=>{await I(a),e(e=>e.map((e,t)=>{if(t!==a)return e;const s=Array.isArray(e.variants)?[...e.variants]:[];return s.push({sku:"",name:"",stock_qty:0}),(0,n.A)((0,n.A)({},e),{},{variants:s})}))})(t),isDisabled:!a.id,children:"P\u0159idat variantu"})]}),Array.isArray(a.variants)&&a.variants.length>0?(0,M.jsxs)(b.X,{size:"sm",variant:"simple",children:[(0,M.jsx)(z.d,{children:(0,M.jsxs)(w.Tr,{children:[(0,M.jsx)(C.Th,{width:"20%",children:"SKU"}),(0,M.jsx)(C.Th,{children:" N\xe1zev "}),(0,M.jsx)(C.Th,{width:"15%",isNumeric:!0,children:"Sklad"}),(0,M.jsx)(C.Th,{width:"1%",textAlign:"right",children:"Akce"})]})}),(0,M.jsx)(_.N,{children:a.variants.map((e,n)=>{var s,i,r;const c="".concat(null!==(s=a.id)&&void 0!==s?s:"new","-").concat(null!==(i=e.id)&&void 0!==i?i:"new","-").concat(n),l=P===c;return(0,M.jsxs)(w.Tr,{children:[(0,M.jsx)(S.Td,{children:(0,M.jsx)(g.p,{size:"sm",value:e.sku||"",onChange:a=>O(t,n,"sku",a.target.value)})}),(0,M.jsx)(S.Td,{children:(0,M.jsx)(g.p,{size:"sm",value:e.name||"",onChange:a=>O(t,n,"name",a.target.value)})}),(0,M.jsx)(S.Td,{isNumeric:!0,children:(0,M.jsx)(f.Q7,{size:"sm",min:0,value:null!==(r=e.stock_qty)&&void 0!==r?r:0,onChange:(a,e)=>O(t,n,"stock_qty",e),children:(0,M.jsx)(f.OO,{textAlign:"right"})})}),(0,M.jsx)(S.Td,{children:(0,M.jsxs)(d.z,{justify:"flex-end",spacing:1,children:[(0,M.jsx)(x.K,{"aria-label":"Ulo\u017eit variantu",icon:(0,M.jsx)(T.Bc_,{}),size:"xs",colorScheme:"blue",variant:"solid",isLoading:l,onClick:()=>q(t,n)}),(0,M.jsx)(x.K,{"aria-label":"Smazat variantu",icon:(0,M.jsx)(T.IXo,{}),size:"xs",variant:"outline",colorScheme:"red",onClick:()=>L(t,n)})]})})]},c)})})]}):(0,M.jsx)(o.E,{fontSize:"xs",color:"gray.500",children:"Zat\xedm \u017e\xe1dn\xe9 varianty. P\u0159idejte alespo\u0148 jednu variantu (nap\u0159. velikost nebo barvu)."})]})]},null!==(s=a.id)&&void 0!==s?s:"new-".concat(t))})})]})})}}}]);
//# sourceMappingURL=620.edc51951.chunk.js.map