1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[459],{1056:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("ToggleRight",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"16",cy:"12",r:"2",key:"4ma0v8"}]])},11641:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},19359:(e,t,a)=>{"use strict";a.d(t,{o:()=>n});var r=a(32829),s=a(74954),i=a(42894);function n(e){let{children:t,className:a}=e;return(0,r.jsx)("div",{className:function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,i.QP)((0,s.$)(t))}("mp-theme",a),style:{minHeight:"100dvh"},children:t})}},27876:(e,t,a)=>{"use strict";a.d(t,{L:()=>s});var r=a(25801);function s(){let[e,t]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{t(navigator.onLine);let e=()=>t(!0),a=()=>t(!1);return window.addEventListener("online",e),window.addEventListener("offline",a),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",a)}},[]),e}},29926:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>U});var r=a(32829),s=a(25801),i=a(70798),n=a(83953),l=a(66280),o=a(33112),d=a(78820),c=a(7665),u=a(68864),g=a(55771);let x=(0,g.A)("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),m=(0,g.A)("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var p=a(39792),b=a(59872);let h=(0,g.A)("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);var y=a(45948),v=a(97133),f=a(67733),j=a(11641),k=a(1056),N=a(44799),A=a(73790);let C=(0,g.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var w=a(41303),S=a(60451);let E=(0,g.A)("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);var T=a(71785),P=a(27876),z=a(19359),I=a(35551),D=a(88166),O=a(79959),F=a(90404),L=a(32162),M=a(64708),H=a(93932),J=a(43886);let R=(0,g.A)("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);async function _(e){let{slug:t,categoryId:a,reordered:r,mutate:s,onSuccess:i,onError:n}=e;s(r,!1);try{await o.F.subcategories.reorder(t,a,r.map(e=>e.id)),null==i||i()}catch(e){s(),null==n||n()}}function V(e){var t;let{sub:a,disabled:s}=e,{attributes:i,listeners:n,setNodeRef:l,transform:o,transition:d,isDragging:g}=(0,c.gl)({id:a.id,disabled:s}),x={transform:u.Ks.Transform.toString(o),transition:d,opacity:g?.6:1},m=null==(t=a._count)?void 0:t.products;return(0,r.jsxs)("div",{ref:l,style:{...x,display:"flex",alignItems:"center",gap:12,padding:"12px 12px 12px 10px",minHeight:56},className:"mp-row-inset","data-testid":"subcategory-reorder-row-".concat(a.id),children:[(0,r.jsx)("span",{...i,...n,"aria-label":"Reordenar ".concat(a.name),"data-testid":"subcategory-drag-".concat(a.id),style:{fontSize:17,lineHeight:1,color:"var(--mp-text-3)",padding:"6px 4px",touchAction:"none",cursor:s?"not-allowed":"grab",opacity:s?.35:1},children:"â ¿"}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsx)("div",{className:"mp-body",style:{color:"ACTIVE"===a.status?"var(--mp-text)":"var(--mp-text-3)"},children:a.name}),"number"==typeof m&&(0,r.jsxs)("div",{className:"mp-subhead",style:{color:"var(--mp-text-2)",marginTop:1},children:[m," producto",1===m?"":"s","INACTIVE"===a.status&&" \xb7 oculta"]})]})]})}function G(){var e,t,a;let{slug:o,categoryId:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},g=(0,i.useParams)(),x=null!=o?o:g.slug,m=null!=u?u:g.categoryId,p=(0,i.useRouter)(),b=(0,P.L)(),{data:h}=(0,n.Ay)("/restaurants",l.G),y=null==h||null==(e=h.find(e=>e.restaurant.slug===x))?void 0:e.role,v=(!h||"ADMIN"===y||"STAFF"===y)&&b,{data:f}=(0,n.Ay)("/restaurants/".concat(x,"/categories"),l.G),j=null==f?void 0:f.find(e=>e.id===m),{data:k,mutate:N}=(0,n.Ay)("/restaurants/".concat(x,"/categories/").concat(m,"/subcategories"),l.G),A=!k,[C,w]=(0,s.use
1State)(!1),[S,E]=(0,s.useState)(null),T=(null!=k?k:[]).slice().sort((e,t)=>e.order-t.order),G=(0,d.FR)((0,d.MS)(d.AN,{activationConstraint:{distance:8}})),U=(0,s.useCallback)(e=>{let{active:t,over:a}=e;if(!v||!a||t.id===a.id)return;let r=function(e,t,a){let r=e.findIndex(e=>e.id===t),s=e.findIndex(e=>e.id===a);return -1===r||-1===s||r===s?e:(0,c.be)(e,r,s)}(T,String(t.id),String(a.id));r!==T&&_({slug:x,categoryId:m,reordered:r,mutate:N,onSuccess:()=>E("Orden guardado"),onError:()=>E("No se pudo guardar el orden")})},[v,T,x,m,N]),W=[{key:"catalog",label:"Cat\xe1logo",icon:F.A,href:"/admin/".concat(x,"/products")},{key:"categories",label:"Categor\xedas",icon:L.A,href:"/admin/".concat(x,"/categories"),active:!0},{key:"panel",label:"Panel",icon:M.A,href:"/admin/".concat(x,"/dashboard")}];return(0,r.jsx)(z.o,{children:(0,r.jsxs)("div",{"data-testid":"subcategories-mobile",children:[(0,r.jsxs)("header",{className:"mp-blur",style:{position:"sticky",top:0,zIndex:20,height:44,display:"flex",alignItems:"center",justifyContent:"center",paddingTop:"env(safe-area-inset-top)",borderBottom:C?"0.5px solid var(--mp-hairline)":"0.5px solid transparent",transition:"border-color var(--mp-dur-micro) var(--mp-ease)"},children:[(0,r.jsx)("button",{type:"button",onClick:()=>p.push("/admin/".concat(x,"/categories")),"aria-label":"Volver a categor\xedas","data-testid":"subcategories-back",style:{position:"absolute",left:4,top:0,bottom:0,width:44,display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",border:"none",color:"var(--mp-accent)",cursor:"pointer",WebkitTapHighlightColor:"transparent"},children:(0,r.jsx)(H.A,{size:26,strokeWidth:2})}),(0,r.jsx)("span",{className:"mp-headline",style:{opacity:+!!C,transition:"opacity var(--mp-dur-micro) var(--mp-ease)"},children:null!=(t=null==j?void 0:j.name)?t:"Categor\xeda"})]}),(0,r.jsxs)("main",{onScroll:e=>w(e.currentTarget.scrollTop>36),style:{height:"calc(100dvh - 44px)",overflowY:"auto",WebkitOverflowScrolling:"touch",padding:"0 16px"},children:[(0,r.jsx)("h1",{className:"mp-large-title",style:{margin:"8px 0 2px"},children:null!=(a=null==j?void 0:j.name)?a:"Categor\xeda"}),(0,r.jsx)("div",{className:"mp-subhead",style:{color:"var(--mp-text-2)",margin:"0 0 12px"},children:"Subcategor\xedas"}),!b&&(0,r.jsxs)("div",{"data-testid":"offline-banner",style:{display:"flex",alignItems:"center",gap:8,padding:"10px 12px",marginBottom:12,borderRadius:"var(--mp-r-button)",background:"rgba(255,214,10,0.12)",color:"var(--mp-warning)",fontSize:"0.8125rem"},children:[(0,r.jsx)(J.A,{size:16,strokeWidth:2}
1),"Sin conexi\xf3n â los cambios est\xe1n deshabilitados"]}),A?(0,r.jsx)("div",{className:"mp-card",children:[0,1,2].map(e=>(0,r.jsxs)("div",{className:"mp-row-inset",style:{display:"flex",alignItems:"center",gap:12,padding:"14px"},children:[(0,r.jsx)(I.E,{width:16,height:16}),(0,r.jsxs)("div",{style:{flex:1},children:[(0,r.jsx)(I.E,{width:"55%",height:16}),(0,r.jsx)(I.E,{width:80,height:13,style:{marginTop:8}})]})]},e))}):0===T.length?(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",gap:8,padding:"64px 24px",color:"var(--mp-text-3)"},children:[(0,r.jsx)(R,{size:40,strokeWidth:1.5}),(0,r.jsx)("div",{className:"mp-headline",style:{color:"var(--mp-text)",marginTop:8},children:"Sin subcategor\xedas"}),(0,r.jsx)("div",{className:"mp-subhead",style:{color:"var(--mp-text-2)",maxWidth:260},children:"Cre\xe1 subcategor\xedas desde el panel para organizarlas ac\xe1."})]}):(0,r.jsx)(d.Mp,{sensors:G,collisionDetection:d.fp,onDragEnd:U,children:(0,r.jsx)(c.gB,{items:T.map(e=>e.id),strategy:c._G,children:(0,r.jsx)("div",{className:"mp-card",style:{marginBottom:100},children:T.map(e=>(0,r.jsx)(V,{sub:e,disabled:!v},e.id))})})})]}),(0,r.jsx)(D.V,{items:W}),S&&(0,r.jsx)(O.y,{message:S,onDone:()=>E(null)})]})})}function U(){let[e,t]=(0,s.useState)(!1);(0,s.useEffect)(()=>t(!0),[]);let a=(0,T.a)();return e?a?(0,r.jsx)(G,{}):(0,r.jsx)(et,{}):null}let W=/^([01]\d|2[0-3]):[0-5]\d$/;function B(e){let{enabled:t,from:a,until:s,onChange:i}=e,n=!t||W.test(a),l=!t||W.test(s),o=!t||W.test(a)&&W.test(s)&&a<s?null:'El horario "desde" debe ser menor que el "hasta" (overnight no soportado).';return(0,r.jsxs)("div",{className:"border-t border-gray-200 dark:border-[#3A3A3C] pt-4 mt-1",children:[(0,r.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,r.jsx)("input",{type:"checkbox",checked:t,onChange:e=>i({enabled:e.target.checked,from:a,until:s}),className:"accent-ind w-4 h-4","data-testid":"availability-toggle"}),(0,r.jsx)("span",{className:"text-sm font-medium",children:"Disponibilidad horaria"}),(0,r.jsx)("span",{className:"text-[10px] text-gray-400",children:"(timezone Argentina)"})]}),t&&(0,r.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[11px] text-gray-500 dark:text-gray-400 mb-1",children:"Desde"}),(0,r.jsx)("input",{type:"time",value:a,onChange:e=>i({enabled:t,from:e.target.value,until:s}),"data-testid":"availability-from",className:"w-full px-3 py-2 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 ".concat(n?"focus:ring-ind":"ring-2 ring-red-500")})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-[11px] text-gray-500 dark:text-gray-400 mb-1",children:"Hasta"}),(0,r.jsx)("input",{type:"time",value:s,onChange:e=>i({enabled:t,from:a,until:e.target.value}),"data-testid":"availability-until",className:"w-full px-3 py-2 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 ".concat(l?"focus:ring-ind":"ring-2 ring-red-500")})]}),(0,r.jsxs)("div",{className:"col-span-2 text-[11px] text-gray-500 dark:text-gray-400",children:["Visible si la hora actual est\xe1 en ",(0,r.jsx)("strong",{children:"[Desde, Hasta)"})," (Hasta exclusivo).",o&&(0,r.jsx)("div",{className:"mt-1 text-red-500","data-testid":"availability-error",children:o})]})]})]})}function q(e,t,a){return!e||W.test(t)&&W.test(a)&&t<a}let K=[{value:"NONE",label:"Sin picante"},{value:"MILD",label:"Suave \uD83C\uDF36ï¸"},{value:"MEDIUM",label:"Medio \uD83C\uDF36ï¸\uD83C\uDF36ï¸"},{value:"HOT",label:"Picante \uD83C\uDF36ï¸\uD83C\uDF36ï¸\uD83C\uDF36ï¸"},{value:"EXTREME",label:"Muy picante \uD83C\uDF36ï¸\uD83C\uDF36ï¸\uD83C\uDF36ï¸\uD83C\uDF36ï¸"}];function Z(e){var t;let{product:a,slug:i,index:n,onEdit:l,onDelete:o,onPriceChange:d,onToggleStatus:g}=e,{attributes:v,listeners:f,setNodeRef:j,transform:k,transition:N,isDragging:A}=(0,c.gl)({id:a.id}),C={transform:u.Ks.Transform.toString(k),transition:N,opacity:A?.5:1},[w,S]=(0,s.useState)(null!==a.price?String(a.price):""),E=(0,s.useRef)();return(0,s.useEffect)(()=>{S(null!==a.price?String(a.price):"")},[a.price]),(0,r.jsxs)("tr",{ref:j,style:C,className:"group border-b border-gray-100 dark:border-[#3A3A3C] hover:bg-gray-50 dark:hover:bg-[#3A3A3C]/50 transition-colors",children:[(0,r.jsx)("td",{className:"w-8 px-2 py-2",children:(0,r.jsx)("button",{...v,...f,className:"cursor-grab active:cursor-grabbing text-gray-400",children:(0,r.jsx)(x,{size:14})})}),(0,r.jsx)("td",{className:"w-8 px-1 py-2 text-[11px] text-gray-400 text-center",children:n+1}),(0,r.jsx)("td",{className:"w-10 px-1 py-2",children:(null==(t=a.images)?void 0:t[0])?(0,r.jsx)("img",{src:a.images[0],alt:"",className:"w-8 h-8 rounded object-cover"}):(0,r.jsx)("div",{className:"w-8 h-8 rounded bg-gray-100 dark:bg-[#48484A] flex items-center justify-center",children:(0,r.jsx)(m,{size:12,className:"text-gray-400"})})}),(0,r.jsxs)("td",{className:"px-2 py-2 min-w-0",children:[(0,r.jsxs)("div",{className:"text-sm font-medium truncate flex items-center gap-2",children:[a.name,a.availabilityEnabled&&a.availableFrom&&a.availableUntil&&(0,r.jsxs)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-400 whitespace-nowrap",title:"Visible solo de ".concat(a.availableFrom," a ").concat(a.availableUntil," (AR)"),"data-testid":"product-availability-badge-".concat(a.id),children:["\uD83D\uDD50 ",a.availableFrom,"â",a.availableUntil]})]}),a.description&&(0,r.jsx)("div",{className:"text-[11px] text-gray-500 dark:text-gray-400 truncate max-w-[200px]",children:a.description})]}),(0,r.jsx)("td",{className:"px-2 py-2 w-24",children:a.hasNoPrice?(0,r.jsx)("span",{className:"text-[11px] text-gray-400",children:"Sin precio"}):(0,r.jsx)("input",{type:"number",value:w,onChange:e=>S(e.target.value),onBlur:()=>{let e=parseFloat(w);isNaN(e)||e===a.price||(E.current&&clearTimeout(E.current),E.current=setTimeout(()=>d(a.id,e),600))},className:"w-full px-2 py-1 rounded text-sm bg-transparent border border-transparent hover:border-gray-300 dark:hover:border-[#48484A] focus:border-ind focus:outline-none text-right",step:"0.01"})}),(0,r.jsx)("td",{className:"px-2 py-2 w-12 text-center",children:(0,r.jsx)("button",{onClick:()=>g(a.id),title:"ACTIVE"===a.status?"Desactivar":"Activar",children:"ACTIVE"===a.status?(0,r.jsx)(p.A,{size:15,className:"text-[var(--grn)]"}):(0,r.jsx)(b.A,{size:15,className:"text-gray-400"})})}),(0,r.jsx)("td",{className:"px-2 pr-4 py-2 w-16 text-right",children:(0,r.jsxs)("div",{className:"flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity justify-end",children:[(0,r.jsx)("button",{onClick:()=>l(a),className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-[#48484A]",children:(0,r.jsx)(h,{size:13})}),(0,r.jsx)("button",{onClick:()=>o(a),className:"p-1 rounded hover:bg-red-50 dark:hover:bg-red-900/20 text-red-500",children:(0,r.jsx)(y.A,{size:13})})]})})]})}function X(e){let{sub:t,products:a,slug:s,categoryId:i,expanded:n,onToggle:l,onEditSub:o,onDeleteSub:g,onEditProduct:m,onDeleteProduct:p,onPriceChange:b,onToggleStatus:j,onProductDragEnd:k}=e,N=(0,d.FR)((0,d.MS)(d.AN,{activationConstraint:{distance:5}})),A=a.filter(e=>e.subcategoryId===t.id).sort((e,t)=>
1e.order-t.order),{attributes:C,listeners:w,setNodeRef:S,transform:E,transition:T,isDragging:P}=(0,c.gl)({id:t.id}),z={transform:u.Ks.Transform.toString(E),transition:T,opacity:P?.5:1};return(0,r.jsxs)("div",{ref:S,style:z,className:"rounded-ios-lg bg-white dark:bg-[#2C2C2E] border border-gray-200 dark:border-[#3A3A3C] overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 px-4 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-[#3A3A3C]/50 transition-colors",onClick:l,"data-testid":"subcategory-header-".concat(t.id),children:[(0,r.jsx)("button",{...C,...w,onClick:e=>e.stopPropagation(),className:"cursor-grab active:cursor-grabbing text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 -ml-1","aria-label":"Reordenar subcategor\xeda","data-testid":"subcategory-drag-".concat(t.id),children:(0,r.jsx)(x,{size:14})}),n?(0,r.jsx)(v.A,{size:16}):(0,r.jsx)(f.A,{size:16}),(0,r.jsxs)("span",{className:"text-sm font-semibold flex-1 flex items-center gap-2",children:[t.name,t.availabilityEnabled&&t.availableFrom&&t.availableUntil&&(0,r.jsxs)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-400",title:"Visible solo de ".concat(t.availableFrom," a ").concat(t.availableUntil," (AR)"),"data-testid":"subcategory-availability-badge-".concat(t.id),children:["\uD83D\uDD50 ",t.availableFrom,"â",t.availableUntil]})]}),(0,r.jsx)("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-medium ".concat("ACTIVE"===t.status?"bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-400":"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-400"),children:"ACTIVE"===t.status?"Activa":"Inactiva"}),(0,r.jsxs)("span",{className:"text-xs text-gray-400",children:[A.length," prod."]}),(0,r.jsxs)("div",{className:"flex gap-0.5",onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("button",{onClick:()=>o(t),className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-[#48484A]",children:(0,r.jsx)(h,{size:13})}),(0,r.jsx)("button",{onClick:()=>g(t),className:"p-1 rounded hover:bg-red-50 dark:hover:bg-red-900/20 text-red-500",children:(0,r.jsx)(y.A,{size:13})})]})]}),n&&(0,r.jsx)("div",{className:"border-t border-gray-100 dark:border-[#3A3A3C] px-4",children:A.length>0?(0,r.jsx)(d.Mp,{sensors:N,collisionDetection:d.fp,onDragEnd:e=>k(t.id,e),children:(0,r.jsx)(c.gB,{items:A.map(e=>e.id),strategy:c._G,children:(0,r.jsx)("table",{className:"w-full text-left",children:(0,r.jsx)("tbody",{children:A.map((e,t)=>(0,r.jsx)(Z,{product:e,slug:s,index:t,onEdit:m,onDelete:p,onPriceChange:b,onToggleStatus:j},e.id))})})})}):(0,r.jsx)("div",{className:"px-4 py-6 text-center text-sm text-gray-400",children:"Sin productos"})})]})}function $(e){var t,a,i,n,l,d,c,u,g,x,m;let{mode:p,initial:b,slug:h,subcategories:y,defaultSubId:v,onClose:f,onSaved:C}=e,[w,S]=(0,s.useState)({subcategoryId:null!=(t=null==b?void 0:b.subcategoryId)?t:v,name:null!=(a=null==b?void 0:b.name)?a:"",description:null!=(i=null==b?void 0:b.description)?i:"",price:(null==b?void 0:b.price)!==null?String(null!=(n=null==b?void 0:b.price)?n:""):"",hasNoPrice:null!=(l=null==b?void 0:b.hasNoPrice)&&l,spiceLevel:null!=(d=null==b?void 0:b.spiceLevel)?d:"NONE",restrictions:null!=(c=null==b?void 0:b.restrictions)?c:"",images:null!=(u=null==b?void 0:b.images)?u:[]}),[E,T]=(0,s.useState)(null!=(g=null==b?void 0:b.availabilityEnabled)&&g),[P,z]=(0,s.useState)(null!=(x=null==b?void 0:b.availableFrom)?x:"14:00"),[I,D]=(0,s.useState)(null!=(m=null==b?void 0:b.availableUntil)?m:"18:00"),O=q(E,P,I),[F,L]=(0,s.useState)(!1),[M,H]=(0,s.use
1State)(!1),J=(0,s.useRef)(null),R=(e,t)=>S(a=>({...a,[e]:t})),_=async e=>{let t=e.target.files;if(t){L(!0);try{for(let e of Array.from(t)){let{url:t}=await o.F.upload.image(e);S(e=>({...e,images:[...e.images,t]}))}}catch(e){console.error(e)}finally{L(!1)}}},V=async()=>{if(w.name.trim()&&O){H(!0);try{let e={subcategoryId:w.subcategoryId,name:w.name.trim(),description:w.description.trim()||null,hasNoPrice:w.hasNoPrice,spiceLevel:w.spiceLevel,restrictions:w.restrictions.trim()||null,images:w.images};!w.hasNoPrice&&w.price&&(e.price=parseFloat(w.price)),"edit"===p&&(e.availabilityEnabled=E,e.availableFrom=E?P:null,e.availableUntil=E?I:null),"create"===p?await o.F.products.create(h,e):b&&await o.F.products.update(h,b.id,e),C(),f()}catch(e){console.error(e)}finally{H(!1)}}};return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 overflow-y-auto py-8",onClick:f,children:(0,r.jsxs)("div",{className:"w-full max-w-lg mx-4 rounded-ios-lg bg-white dark:bg-[#2C2C2E] border border-gray-200 dark:border-[#3A3A3C] shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-gray-200 dark:border-[#3A3A3C]",children:[(0,r.jsx)("h2",{className:"text-base font-semibold",children:"create"===p?"Nuevo producto":"Editar producto"}),(0,r.jsx)("button",{onClick:f,className:"p-1 rounded-lg hover:bg-gray-100 dark:hover:bg-[#3A3A3C]",children:(0,r.jsx)(j.A,{size:18})})]}),(0,r.jsxs)("div",{className:"p-5 space-y-4 max-h-[65vh] overflow-y-auto",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Subcategor\xeda"}),(0,r.jsx)("select",{value:w.subcategoryId,onChange:e=>R("subcategoryId",e.target.value),className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind",children:y.map(e=>(0,r.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Nombre"}),(0,r.jsx)("input",{type:"text",value:w.name,onChange:e=>R("name",e.target.value),placeholder:"Ej: Milanesa napolitana",className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind"})]}),(0,r.jsxs)("div",{className:"flex gap-3 items-end",children:[(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Precio"}),(0,r.jsx)("input",{type:"number",value:w.price,onChange:e=>R("price",e.target.value),disabled:w.hasNoPrice,placeholder:"0.00",step:"0.01",className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm disabled:opacity-40 focus:outline-none focus:ring-2 focus:ring-ind"})]}),(0,r.jsxs)("button",{onClick:()=>R("hasNoPrice",!w.hasNoPrice),className:"mb-0.5 flex items-center gap-1.5 px-3 py-2.5 rounded-ios text-xs font-medium transition-colors ".concat(w.hasNoPrice?"bg-ind-bg text-ind dark:text-ind-dark":"bg-gray-100 dark:bg-[#3A3A3C] text-gray-500"),children:[w.hasNoPrice?(0,r.jsx)(k.A,{size:16}):(0,r.jsx)(N.A,{size:16}),"Sin precio"]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Nivel de picante"}),(0,r.jsx)("select",{value:w.spiceLevel,onChange:e=>R("spiceLevel",e.target.value),className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind",children:K.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Descripci\xf3n"}),(0,r.jsx)("textarea",{value:w.description,onChange:e=>R("description",e.target.value),rows:2,placeholder:"Descripci\xf3n opcional...",className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm resize-none focus:outline-none focus:ring-2 focus:ring-ind"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Restricciones"}),(0,r.jsx)("input",{type:"text",value:w.restrictions,onChange:e=>R("restrictions",e.target.value),placeholder:"Ej: sin TACC, vegano, apto cel\xedacos...",className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Im\xe1genes"}),(0,r.jsxs)("div",{className:"mt-1.5 flex gap-2 flex-wrap",children:[w.images.map((e,t)=>(0,r.jsxs)("div",{className:"relative w-16 h-16 rounded-ios overflow-hidden group/img",children:[(0,r.jsx)("img",{src:e,alt:"",className:"w-full h-full object-cover"}),(0,r.jsx)("button",{onClick:()=>{S(e=>({...e,images:e.images.filter((e,a)=>a!==t)}))},className:"absolute inset-0 bg-black/50 opacity-0 group-hover/img:opacity-100 flex items-center justify-center transition-opacity",children:(0,r.jsx)(j.A,{size:14,className:"text-white"})})]},t)),(0,r.jsx)("button",{onClick:()=>{var e;return null==(e=J.current)?void 0:e.click()},className:"w-16 h-16 rounded-ios border-2 border-dashed border-gray-300 dark:border-[#48484A] flex items-center justify-center hover:border-ind transition-colors",children:F?(0,r.jsx)("span",{className:"text-[10px] text-gray-400",children:"..."}):(0,r.jsx)(A.A,{size:16,className:"text-gray-400"})})]}),(0,r.jsx)("input",{ref:J,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:_})]}),"edit"===p&&(0,r.jsx)(B,{enabled:E,from:P,until:I,onChange:e=>{let{enabled:t,from:a,until:r}=e;T(t),z(a),D(r)}})]}),(0,r.jsxs)("div",{className:"flex gap-3 px-5 py-4 border-t border-gray-200 dark:border-[#3A3A3C]",children:[(0,r.jsx)("button",{onClick:f,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium bg-gray-100 dark:bg-[#3A3A3C] hover:bg-gray-200 dark:hover:bg-[#48484A]",children:"Cancelar"}),(0,r.jsx)("button",{onClick:V,disabled:!w.name.trim()||M||!O,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium text-white bg-ind dark:bg-ind-dark hover:opacity-90 disabled:opacity-50",children:M?"Guardando...":"create"===p?"Crear":"Guardar"})]})]})})}function Q(e){var t,a,i,n;let{mode:l,initial:d,slug:c,categoryId:u,onClose:g,onSaved:x}
1=e,[m,p]=(0,s.useState)(null!=(t=null==d?void 0:d.name)?t:""),[b,h]=(0,s.useState)(!1),[y,v]=(0,s.useState)(null!=(a=null==d?void 0:d.availabilityEnabled)&&a),[f,k]=(0,s.useState)(null!=(i=null==d?void 0:d.availableFrom)?i:"14:00"),[N,A]=(0,s.useState)(null!=(n=null==d?void 0:d.availableUntil)?n:"18:00"),C=q(y,f,N),w=async()=>{if(m.trim()&&C){h(!0);try{let e={name:m.trim()};"edit"===l&&(e.availabilityEnabled=y,e.availableFrom=y?f:null,e.availableUntil=y?N:null),"create"===l?await o.F.subcategories.create(c,u,e):d&&await o.F.subcategories.update(c,u,d.id,e),x(),g()}catch(e){console.error(e)}finally{h(!1)}}};return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:g,children:(0,r.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-ios-lg bg-white dark:bg-[#2C2C2E] border border-gray-200 dark:border-[#3A3A3C] shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-gray-200 dark:border-[#3A3A3C]",children:[(0,r.jsx)("h2",{className:"text-base font-semibold",children:"create"===l?"Nueva subcategor\xeda":"Editar subcategor\xeda"}),(0,r.jsx)("button",{onClick:g,className:"p-1 rounded-lg hover:bg-gray-100 dark:hover:bg-[#3A3A3C]",children:(0,r.jsx)(j.A,{size:18})})]}),(0,r.jsxs)("div",{className:"p-5 space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Nombre"}),(0,r.jsx)("input",{type:"text",value:m,onChange:e=>p(e.target.value),placeholder:"Ej: Calientes, Fr\xedos...",autoFocus:!0,className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind"})]}),"edit"===l&&(0,r.jsx)(B,{enabled:y,from:f,until:N,onChange:e=>{let{enabled:t,from:a,until:r}=e;v(t),k(a),A(r)}})]}),(0,r.jsxs)("div",{className:"flex gap-3 px-5 py-4 border-t border-gray-200 dark:border-[#3A3A3C]",children:[(0,r.jsx)("button",{onClick:g,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium bg-gray-100 dark:bg-[#3A3A3C] hover:bg-gray-200 dark:hover:bg-[#48484A]",children:"Cancelar"}),(0,r.jsx)("button",{onClick:w,disabled:!m.trim()||b||!C,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium text-white bg-ind dark:bg-ind-dark hover:opacity-90 disabled:opacity-50",children:b?"Guardando...":"create"===l?"Crear":"Guardar"})]})]})})}function Y(e){let{slug:t,onClose:a,onSaved:i}=e,[n,l]=(0,s.useState)("percent_increase"),[d,c]=(0,s.useState)(""),[u,g]=(0,s.useState)(!1),x=async()=>{let e=parseFloat(d);if(!isNaN(e)){g(!0);try{await o.F.products.bulkPrice(t,{type:n,value:e}),i(),a()}catch(e){console.error(e)}finally{g(!1)}}};return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:a,children:(0,r.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-ios-lg bg-white dark:bg-[#2C2C2E] border border-gray-200 dark:border-[#3A3A3C] shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-gray-200 dark:border-[#3A3A3C]",children:[(0,r.jsx)("h2",{className:"text-base font-semibold",children:"Modificar precios"}),(0,r.jsx)("button",{onClick:a,className:"p-1 rounded-lg hover:bg-gray-100 dark:hover:bg-[#3A3A3C]",children:(0,r.jsx)(j.A,{size:18})})]}),(0,r.jsxs)("div",{className:"p-5 space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Tipo"}),(0,r.jsx)("select",{value:n,onChange:e=>l(e.target.value),className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind",children:[{value:"percent_increase",label:"Aumentar %"},{value:"percent_discount",label:"Descuento %"},{value:"fixed",label:"Precio fijo"},{value:"fixed_add",label:"Sumar monto"}].map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:"Valor"}),(0,r.jsx)("input",{type:"number",value:d,onChange:e=>c(e.target.value),step:"0.01",placeholder:n.includes("percent")?"Ej: 10":"Ej: 500",className:"mt-1.5 w-full px-3 py-2.5 rounded-ios bg-gray-100 dark:bg-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind"})]})]}),(0,r.jsxs)("div",{className:"flex gap-3 px-5 py-4 border-t border-gray-200 dark:border-[#3A3A3C]",children:[(0,r.jsx)("button",{onClick:a,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium bg-gray-100 dark:bg-[#3A3A3C] hover:bg-gray-200 dark:hover:bg-[#48484A]",children:"Cancelar"}),(0,r.jsx)("button",{onClick:x,disabled:!d||u,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium text-white bg-ind dark:bg-ind-dark hover:opacity-90 disabled:opacity-50",children:u?"Aplicando...":"Aplicar"})]})]})})}function ee(e){let{title:t,message:a,onClose:i,onConfirm:n}
1=e,[l,o]=(0,s.useState)(!1),d=async()=>{o(!0),await n(),o(!1),i()};return(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:i,children:(0,r.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-ios-lg bg-white dark:bg-[#2C2C2E] border border-gray-200 dark:border-[#3A3A3C] shadow-xl p-5",onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("h2",{className:"text-base font-semibold mb-2",children:t}),(0,r.jsx)("p",{className:"text-sm text-gray-500 dark:text-gray-400 mb-4",children:a}),(0,r.jsxs)("div",{className:"flex gap-3",children:[(0,r.jsx)("button",{onClick:i,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium bg-gray-100 dark:bg-[#3A3A3C] hover:bg-gray-200 dark:hover:bg-[#48484A]",children:"Cancelar"}),(0,r.jsx)("button",{onClick:d,disabled:l,className:"flex-1 px-4 py-2.5 rounded-ios text-sm font-medium text-white bg-[var(--red)] hover:opacity-90 disabled:opacity-50",children:l?"Eliminando...":"Eliminar"})]})]})})}function et(){var e,t,a;let{slug:u,categoryId:g}=(0,i.useParams)(),x=(0,i.useRouter)(),{data:m}=(0,n.Ay)("/restaurants/".concat(u,"/categories"),l.G),p=null==m?void 0:m.find(e=>e.id===g),{data:b,mutate:h}=(0,n.Ay)("/restaurants/".concat(u,"/categories/").concat(g,"/subcategories"),l.G),{data:y,mutate:v}=(0,n.Ay)("/restaurants/".concat(u,"/products?subcategoryId="),l.G),[f,j]=(0,s.useState)({}),[k,N]=(0,s.useState)(""),[A,T]=(0,s.useState)(null),[P,z]=(0,s.useState)(null),[I,D]=(0,s.useState)(!1),[O,F]=(0,s.useState)(null);(0,s.useEffect)(()=>{(null==b?void 0:b.length)&&0===Object.keys(f).length&&j({[b[0].id]:!0})},[b]);let L=(null!=y?y:[]).filter(e=>!k||e.name.toLowerCase().includes(k.toLowerCase())),M=(0,d.FR)((0,d.MS)(d.AN,{activationConstraint:{distance:8}})),H=(0,s.useCallback)(async e=>{let{active:t,over:a}=e;if(!a||t.id===a.id||!b)return;let r=b.findIndex(e=>e.id===t.id),s=b.findIndex(e=>e.id===a.id),i=(0,c.be)(b,r,s);h(i,!1);try{await o.F.subcategories.reorder(u,g,i.map(e=>e.id))}catch(e){h()}},[b,u,g,h]),J=(0,s.useCallback)(async(e,t)=>{let{active:a,over:r}=t;if(!r||a.id===r.id||!y)return;let s=y.filter(t=>t.subcategoryId===e).sort((e,t)=>e.order-t.order),i=s.findIndex(e=>e.id===a.id),n=s.findIndex(e=>e.id===r.id);if(-1===i||-1===n)return;let l=(0,c.be)(s,i,n);v(y.map(e=>{let t=l.findIndex(t=>t.id===e.id);return -1!==t?{...e,order:t}:e}),!1);try{await Promise.all(l.map((e,t)=>o.F.products.update(u,e.id,{order:t})))}catch(e){v()}},[y,u,v]),R=(0,s.useCallback)(async(e,t)=>{try{await o.F.products.update(u,e,{price:t})}catch(e){console.error(e)}finally{v()}},[u,v]),_=(0,s.useCallback)(async e=>{try{await o.F.products.toggleStatus(u,e)}catch(e){console.error(e)}finally{v()}},[u,v]),V=async()=>{O&&("sub"===O.type?(await o.F.subcategories.remove(u,g,O.item.id),h()):await o.F.products.remove(u,O.item.id),v())};return(0,r.jsxs)("div",{className:"max-w-5xl mx-auto",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,r.jsx)("button",{onClick:()=>x.push("/admin/".concat(u,"/categories")),className:"p-2 rounded-ios hover:bg-gray-100 dark:hover:bg-[#3A3A3C] transition-colors",children:(0,r.jsx)(C,{size:18})}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("h1",{className:"text-xl font-bold",children:null!=(e=null==p?void 0:p.name)?e:"Categor\xeda"}),(0,r.jsxs)("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-0.5",children:[null!=(t=null==b?void 0:b.length)?t:0," subcategor\xedas \xb7 ",L.length," productos"]})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-4",children:[(0,r.jsxs)("div",{className:"relative flex-1 min-w-[180px]",children:[(0,r.jsx)(w.A,{size:15,className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"}),(0,r.jsx)("input",{type:"text",value:k,onChange:e=>N(e.target.value),placeholder:"Buscar productos...",className:"w-full pl-9 pr-3 py-2 rounded-ios bg-white dark:bg-[#2C2C2E] border border-gray-200 dark:border-[#3A3A3C] text-sm focus:outline-none focus:ring-2 focus:ring-ind"})]}),(0,r.jsxs)("button",{onClick:()=>T({mode:"create"}),className:"flex items-center gap-1.5 px-3 py-2 rounded-ios text-sm font-medium bg-gray-100 dark:bg-[#3A3A3C] hover:bg-gray-200 dark:hover:bg-[#48484A] transition-colors",children:[(0,r.jsx)(S.A,{size:14})," Subcategor\xeda"]}),(0,r.jsxs)("button",{onClick:()=>{var e;return z({mode:"create",subId:null==b||null==(e=b[0])?void 0:e.id})},className:"flex items-center gap-1.5 px-3 py-2 rounded-ios text-sm font-medium text-white bg-ind dark:bg-ind-dark hover:opacity-90 transition-opacity",children:[(0,r.jsx)(S.A,{size:14})," Producto"]}),(0,r.jsxs)("button",{onClick:()=>D(!0),className:"flex items-center gap-1.5 px-3 py-2 rounded-ios text-sm font-medium bg-gray-100 dark:bg-[#3A3A3C] hover:bg-gray-200 dark:hover:bg-[#48484A] transition-colors",children:[(0,r.jsx)(E,{size:14})," Precios"]})]}),b&&b.length>0?(0,r.jsx)(d.Mp,{sensors:M,collisionDetection:d.fp,onDragEnd:H,children:(0,r.jsx)(c.gB,{items:b.map(e=>e.id),strategy:c._G,children:(0,r.jsx)("div",{className:"space-y-3",children:b.map(e=>(0,r.jsx)(X,{sub:e,products:L,slug:u,categoryId:g,expanded:!!f[e.id],onToggle:()=>{let t;return t=e.id,j(e=>({...e,[t]:!e[t]}))},onEditSub:e=>T({mode:"edit",sub:e}),onDeleteSub:e=>F({type:"sub",item:e}),onEditProduct:e=>z({mode:"edit",product:e}),onDeleteProduct:e=>F({type:"product",item:e}),onPriceChange:R,onToggleStatus:_,onProductDragEnd:J},e.id))})})}):b?(0,r.jsxs)("div",{className:"text-center py-16",children:[(0,r.jsx)("p",{className:"text-gray-400 mb-4",children:"No hay subcategor\xedas todav\xeda"}),(0,r.jsxs)("button",{onClick:()=>T({mode:"create"}),className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-ios text-sm font-medium text-white bg-ind dark:bg-ind-dark hover:opacity-90",children:[(0,r.jsx)(S.A,{size:16})," Crear primera subcategor\xeda"]})]}):(0,r.jsx)("div",{className:"space-y-3",children:[1,2].map(e=>(0,r.jsx)("div",{className:"rounded-ios-lg bg-white dark:bg-[#2C2C2E] border border-gray-200 dark:border-[#3A3A3C] h-14 animate-pulse"},e))}),A&&(0,r.jsx)(Q,{mode:A.mode,initial:A.sub,slug:u,categoryId:g,onClose:()=>T(null),onSaved:()=>h()}),P&&b&&b.length>0&&(0,r.jsx)($,{mode:P.mode,initial:P.product,slug:u,subcategories:b,defaultSubId:null!=(a=P.subId)?a:b[0].id,onClose:()=>z(null),onSaved:()=>v()}),I&&(0,r.jsx)(Y,{slug:u,onClose:()=>D(!1),onSaved:()=>v()}),O&&(0,r.jsx)(ee,{title:"sub"===O.type?"Eliminar subcategor\xeda":"Eliminar producto",message:"sub"===O.type?'\xbfEliminar "'.concat(O.item.name,'"? Se eliminar\xe1n todos sus productos.'):'\xbfEliminar "'.concat(O.item.name,'"?'),onClose:()=>F(null),onConfirm:V}
1)]})}},33112:(e,t,a)=>{"use strict";a.d(t,{F:()=>n,n:()=>i});let r="https://menuapp-production-a723.up.railway.app/api/v1";function s(){let e=localStorage.getItem("access_token");return e?{Authorization:"Bearer ".concat(e)}:{}}async function i(e,t){let{headers:a,...i}=null!=t?t:{},n=await fetch("".concat(r).concat(e),{...i,headers:{"Content-Type":"application/json",...s(),...a}});if(!n.ok){if(401===n.status)throw localStorage.removeItem("access_token"),document.cookie="access_token=; path=/; max-age=0",window.location.href="/login",Error("Session expired");throw Error((await n.json().catch(()=>({message:n.statusText}))).message)}return n.json()}let n={auth:{login:e=>i("/auth/login",{method:"POST",body:JSON.stringify(e)}),register:e=>i("/auth/register",{method:"POST",body:JSON.stringify(e)})},restaurants:{list:()=>i("/restaurants"),create:e=>i("/restaurants",{method:"POST",body:JSON.stringify(e)}),update:(e,t)=>i("/restaurants/".concat(e),{method:"PATCH",body:JSON.stringify(t)})},categories:{list:e=>i("/restaurants/".concat(e,"/categories")),create:(e,t)=>i("/restaurants/".concat(e,"/categories"),{method:"POST",body:JSON.stringify(t)}),reorder:(e,t)=>i("/restaurants/".concat(e,"/categories/reorder"),{method:"PATCH",body:JSON.stringify({ids:t})}),update:(e,t,a)=>i("/restaurants/".concat(e,"/categories/").concat(t),{method:"PATCH",body:JSON.stringify(a)}),remove:(e,t)=>i("/restaurants/".concat(e,"/categories/").concat(t),{method:"DELETE"})},subcategories:{list:(e,t)=>i("/restaurants/".concat(e,"/categories/").concat(t,"/subcategories")),create:(e,t,a)=>i("/restaurants/".concat(e,"/categories/").concat(t,"/subcategories"),{method:"POST",body:JSON.stringify(a)}),reorder:(e,t,a)=>i("/restaurants/".concat(e,"/categories/").concat(t,"/subcategories/reorder"),{method:"PATCH",body:JSON.stringify({ids:a})}),update:(e,t,a,r)=>i("/restaurants/".concat(e,"/categories/").concat(t,"/subcategories/").concat(a),{method:"PATCH",body:JSON.stringify(r)}),remove:(e,t,a)=>i("/restaurants/".concat(e,"/categories/").concat(t,"/subcategories/").concat(a),{method:"DELETE"})},products:{list:(e,t)=>{let a=t?"?"+new URLSearchParams(t).toString():"";return i("/restaurants/".concat(e,"/products").concat(a))},create:(e,t)=>i("/restaurants/".concat(e,"/products"),{method:"POST",body:JSON.stringify(t)}),update:(e,t,a)=>i("/restaurants/".concat(e,"/products/").concat(t),{method:"PATCH",body:JSON.stringify(a)}),remove:(e,t)=>i("/restaurants/".concat(e,"/products/").concat(t),{method:"DELETE"}),toggleStatus:(e,t)=>i("/restaurants/".concat(e,"/products/").concat(t,"/status"),{method:"PATCH"}),bulkPrice:(e,t)=>i("/restaurants/".concat(e,"/products/bulk-price"),{method:"PATCH",body:JSON.stringify(t)}),reorder:(e,t,a)=>i("/restaurants/".concat(e,"/products/reorder"),{method:"PATCH",body:JSON.stringify({subcategoryId:t,ids:a})}),feature:(e,t,a)=>i("/restaurants/".concat(e,"/products/").concat(t,"/feature"),{method:"PATCH",body:JSON.stringify({featured:a})})},settings:{get:e=>i("/restaurants/".concat(e,"/settings")),general:(e,t)=>i("/restaurants/".concat(e,"/settings/general"),{method:"PATCH",body:JSON.stringify(t)}),details:(e,t)=>i("/restaurants/".concat(e,"/settings/details"),{method:"PATCH",body:JSON.stringify(t)}),advanced:(e,t)=>i("/restaurants/".concat(e,"/settings/advanced"),{method:"PATCH",body:JSON.stringify(t)})},customization:{get:e=>i("/restaurants/".concat(e,"/customization")),update:(e,t)=>i("/restaurants/".concat(e,"/customization"),{method:"PATCH",body:JSON.stringify(t)})},upload:{image:async e=>{let t=new FormData;t.append("file",e);let a=await fetch("".concat(r,"/upload/image"),{method:"POST",headers:s(),body:t});if(!a.ok){if(401===a.status)throw localStorage.removeItem("access_token"),document.cookie="access_token=; path=/; max-age=0",window.location.href="/login",Error("Session expired");throw Error((await a.json().catch(()=>({message:a.statusText}))).message)}return a.json()}},publicMenu:{get:e=>i("/public/".concat(e)),trackVisit:e=>i("/public/".concat(e,"/visit"),{method:"POST",body:"{}"}),postReview:(e,t)=>i("/public/".concat(e,"/reviews"),{method:"POST",body:JSON.stringify(t)})}}},35551:(e,t,a)=>{"use strict";a.d(t,{E:()=>s});var r=a(32829);function s(e){let{width:t="100%",height:a=16,radius:s=8,style:i}=e;
1return(0,r.jsx)("span",{"aria-hidden":!0,className:"mp-skeleton",style:{display:"block",width:t,height:a,borderRadius:s,...i}})}},39792:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},41303:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},44799:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("ToggleLeft",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"8",cy:"12",r:"2",key:"1nvbw3"}]])},45948:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},48999:(e,t,a)=>{Promise.resolve().then(a.bind(a,29926))},59872:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("EyeOff",[["path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24",key:"1jxqfv"}],["path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68",key:"9wicm4"}],["path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61",key:"1jreej"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]])},60451:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},66280:(e,t,a)=>{"use strict";a.d(t,{G:()=>s});var r=a(33112);let s=e=>(0,r.n)(e)},71785:(e,t,a)=>{"use strict";a.d(t,{a:()=>s});var r=a(25801);function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:767,[t,a]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let t=window.matchMedia("(max-width: ".concat(e,"px)")),r=()=>a(t.matches);return r(),t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e]),t}},73790:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]])},79959:(e,t,a)=>{"use strict";a.d(t,{y:()=>n});var r=a(32829),s=a(25801),i=a(5960);function n(e){let{message:t,onDone:a,duration:n=2600}=e;return(0,s.useEffect)(()=>{let e=setTimeout(a,n);return()=>clearTimeout(e)},[t,n,a]),(0,r.jsxs)("div",{role:"status","data-testid":"mobile-toast",style:{position:"fixed",left:16,right:16,bottom:"calc(70px + env(safe-area-inset-bottom))",zIndex:70,display:"flex",alignItems:"center",gap:10,padding:"12px 14px",borderRadius:"var(--mp-r-button)",background:"var(--mp-surface-2)",border:"0.5px solid var(--mp-hairline)",boxShadow:"0 12px 40px rgba(0,0,0,0.45)",color:"var(--mp-text)",fontSize:"0.9375rem"},children:[(0,r.jsx)(i.A,{size:18,strokeWidth:2,style:{color:"var(--mp-destructive)",flexShrink:0}}),(0,r.jsx)("span",{children:t})]})}},88166:(e,t,a)=>{"use strict";a.d(t,{V:()=>n});var r=a(32829),s=a(70605),i=a.n(s);function n(e){let{items:t}=e;return(0,r.jsx)("nav",{className:"mp-blur","data-testid":"mobile-tabbar",style:{position:"fixed",left:0,right:0,bottom:0,zIndex:50,display:"flex",alignItems:"stretch",borderTop:"0.5px solid var(--mp-hairline)",paddingBottom:"env(safe-area-inset-bottom)"},children:t.map(e=>{let t=e.icon,a=e.active?"var(--mp-accent)":"var(--mp-text-3)",s=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t,{size:24,strokeWidth:2}),(0,r.jsx)("span",{style:{fontSize:10,fontWeight:500,letterSpacing:"-0.01em"},children:e.label})]}),n={flex:1,minHeight:49,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:3,padding:"6px 0",color:a,background:"transparent",border:"none",textDecoration:"none",cursor:"pointer",WebkitTapHighlightColor:"transparent"};return e.href?(0,r.jsx)(i(),{href:e.href,style:n,"aria-current":e.active?"page":void 0,"data-testid":"tab-".concat(e.key),children:s},e.key):(0,r.jsx)("button",{type:"button",onClick:e.onClick,style:n,"aria-current":e.active?"page":void 0,"data-testid":"tab-".concat(e.key),children:s},e.key)})})}},93932:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},97133:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=(0,a(55771).A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])}},e=>{e.O(0,[672,605,898,713,361,358],()=>e(e.s=48999)),_N_E=e.O()}]);
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.