1import"../chunks/CuOgnXdt.js";import{p as Fe,i as it,h as Ue,a as g,b as Ie,c as r,s as o,r as t,t as E,f as h,g as s,u as ie,n as dt,q as Xe,j as me,k as Je,l as w,w as lt,d as ct,$ as vt}from"../chunks/DXN_rciI.js";import{s as Le,a as je}from"../chunks/DnE_0yvS.js";import{d as Re,s as c,a as y}from"../chunks/Dhs1PqO2.js";import{i as J}from"../chunks/B_reJdki.js";import{t as Se}from"../chunks/DxFPQvQA.js";import{h as ut}from"../chunks/BHKw1Ydb.js";import{s as F,r as bt}from"../chunks/Cxz7eCdv.js";import{s as re}from"../chunks/DLYa3ulr.js";import{b as mt}from"../chunks/BfayF9Eg.js";import{b as pt}from"../chunks/BDcjgu6h.js";import{a as Ne}from"../chunks/Dc0d9q00.js";import{t as _e}from"../chunks/C86oACs3.js";import{g as Qe}from"../chunks/Cp5e8Dak.js";import{s as ft,f as Me}from"../chunks/oqEWliPR.js";import{p as xt}from"../chunks/B9DdB3EJ.js";import{X as gt}from"../chunks/D_iEPM9u.js";import{T as We}from"../chunks/BxMyg-DO.js";import{P as He}from"../chunks/BI2dnHbX.js";import{e as Ke}from"../chunks/BkNvGB5n.js";import{P as Ze}from"../chunks/Fn9I_7F-.js";import{T as Ye}from"../chunks/ChjiF1e5.js";import{P as Be}from"../chunks/BMnjP_hH.js";import{P as Ge}from"../chunks/CrcGFaHh.js";import{L as et}from"../chunks/uFj3_mcV.js";import{E as ht}from"../chunks/AVpMVReJ.js";import{E as _t}from"../chunks/B5nvRJXo.js";import{c as yt}from"../chunks/Blq4ULkl.js";import{c as Ae,O as he}from"../chunks/DEytQslP.js";import{C as tt}from"../chunks/B1YHaUHM.js";import{U as wt}from"../chunks/B9ewbnXm.js";import{C as Et}from"../chunks/BkzgdGBM.js";import{G as Tt}from"../chunks/BTqOmmsf.js";import{T as kt}from"../chunks/ZeokGoFw.js";import{D as At}from"../chunks/DDEPkOAC.js";import{P as $t}from"../chunks/DbyYV65T.js";import{S as Ct}from"../chunks/B1T0rJF9.js";import{L as Pt}from"../chunks/C7i1dE-a.js";import{L as Dt}from"../chunks/CxlK3pqM.js";import{P as ze}from"../chunks/_8LYn_Bh.js";(function(){try{var I=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};I.SENTRY_RELEASE={id:"e6477a3dc0969721ce553fb9ccfd038301828980"};var m=new I.Error().stack;m&&(I._sentryDebugIds=I._sentryDebugIds||{},I._sentryDebugIds[m]="9605c6ce-3647-4431-805b-11d51c9cca96",I._sentryDebugIdIdentifier="sentry-dbid-9605c6ce-3647-4431-805b-11d51c9cca96")}catch{}})();var Ot=h('<div class="fixed inset-0 z-50 flex items-end sm:items-center justify-center p-0 sm:p-4"><button class="absolute inset-0 bg-stone-900/40 backdrop-blur-sm"></button> <div class="relative w-full sm:max-w-lg bg-white rounded-t-3xl sm:rounded-3xl shadow-xl p-6" role="dialog" aria-modal="true"><div class="flex items-start justify-between mb-1"><h2 class="text-lg font-bold text-stone-900"> </h2> <button class="p-1.5 -mt-1 -me-1 rounded-lg hover:bg-stone-100 text-stone-400 transition-colors"><!></button></div> <p class="text-sm text-stone-500 mb-5"> </p> <div class="grid grid-cols-1 sm:grid-cols-2 gap-3"><button class="flex flex-col items-start gap-3 p-5 rounded-2xl border border-stone-200 bg-white hover:border-red-300 hover:bg-red-50/40 text-start transition-all"><div class="w-11 h-11 rounded-xl bg-red-100 text-red-600 flex items-center justify-center"><!></div> <div><p class="font-semibold text-stone-900"> </p> <p class="text-xs text-stone-500 mt-0.5"> </p></div></button> <button class="flex flex-col items-start gap-3 p-5 rounded-2xl border border-stone-200 bg-white hover:border-red-300 hover:bg-red-50/40 text-start transition-all"><div class="w-11 h-11 rounded-xl bg-amber-100 text-amber-600 flex items-center justify-center"><!></div> <div><p class="font-semibold text-stone-900"> </p> <p class="text-xs text-stone-500 mt-0.5"> </p></div></button></div></div></div>');function St(I,m){Fe(m,!0);const a=()=>je(Ne,"$_",ye),[ye,we]=Le(),P="/dashboard/menu/offers/create-simple",G="/dashboard/menu/offers/create";let f=xt(m,"open",15,!1);function d(D){f(!1),Qe(D)}var L=it(),T=Ue(L);{var de=D=>{var Q=Ot(),N=r(Q),M=o(N,2),j=r(M),se=r(j),ge=r(se,!0);t(se);var O=o(se,2),x=r(O);gt(x,{class:"w-5 h-5"}),t(O),t(j);var S=o(j,2),l=r(S,!0);t(S);var v=o(S,2),_=r(v),k=r(_),H=r(k);We(H,{class:"w-5 h-5"}),t(k);var V=o(k,2),W=r(V),q=r(W,!0);t(W);var R=o(W,2),Ee=r(R,!0);t(R),t(V),t(_);var K=o(_,2),Z=r(K),le=r(Z);He(le,{class:"w-5 h-5"}),t(Z);var pe=o(Z,2),ce=r(pe),ve=r(ce,!0);t(ce);var Y=o(ce,2),ae=r(Y,!0);t(Y),t(pe),t(K),t(v),t(M),t(Q),E((ee,B,oe,ne,z,b,u,A)=>
1{F(N,"aria-label",ee),c(ge,B),F(O,"aria-label",oe),c(l,ne),c(q,z),c(Ee,b),c(ve,u),c(ae,A)},[()=>a()("common.cancel"),()=>a()("dashboard.offers.chooserTitle"),()=>a()("common.cancel"),()=>a()("dashboard.offers.chooserSubtitle"),()=>a()("dashboard.offers.typeOffer"),()=>a()("dashboard.offers.typeOfferDesc"),()=>a()("dashboard.offers.typeCombo"),()=>a()("dashboard.offers.typeComboDesc")]),y("click",N,()=>f(!1)),y("click",O,()=>f(!1)),y("click",_,()=>d(P)),y("click",K,()=>d(G)),Se(3,M,()=>ft,()=>({duration:180,start:.96})),Se(3,Q,()=>Me,()=>({duration:150})),g(D,Q)};J(T,D=>{f()&&D(de)})}g(I,L),Ie(),we()}Re(["click"]);const Ft=Object.freeze({labelKey:"dashboard.common.inactive",dot:"bg-stone-300",badge:"bg-stone-100 text-stone-500 border-stone-200"}),It=Object.freeze({labelKey:"dashboard.offers.statusHidden",dot:"bg-amber-400",badge:"bg-amber-50 text-amber-700 border-amber-200"}),Lt=Object.freeze({labelKey:"dashboard.offers.statusLive",dot:"bg-green-500",badge:"bg-green-50 text-green-700 border-green-200"});function rt(I){return I.isActive?I.isAvailable?Lt:It:Ft}var jt=h('<img class="w-full h-full object-cover"/>'),Rt=h('<div class="w-full h-full flex items-center justify-center"><!></div>'),Nt=h('<button class="p-1.5 rounded hover:bg-amber-50 text-stone-500 hover:text-amber-600 transition-colors"><!></button>'),Ut=h('<button class="p-1.5 rounded hover:bg-green-50 text-stone-500 hover:text-green-600 transition-colors"><!></button>'),Mt=h('<p class="text-xs text-stone-400 mb-2 line-clamp-1"> </p>'),Ht=h('<span class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-stone-50 border border-stone-100"><!> </span>'),Vt=h('<div class="bg-white rounded-2xl border border-stone-200 overflow-hidden shadow-sm hover:shadow-md transition-shadow group cursor-pointer" role="button" tabindex="0"><div class="relative h-40 bg-stone-100"><!> <div class="absolute top-3 left-3"><span><span></span> </span></div> <div class="absolute top-3 right-3 opacity-0 group-hover:opacity-100 transition-opacity" role="presentation"><div class="flex items-center gap-0.5 bg-white/90 backdrop-blur-sm shadow-sm rounded-lg p-1"><button class="p-1.5 rounded hover:bg-stone-100 text-stone-500 hover:text-stone-700 transition-colors"><!></button> <!> <button class="p-1.5 rounded hover:bg-red-50 text-stone-500 hover:text-red-600 transition-colors"><!></button></div></div></div> <div class="p-4"><div class="flex items-start justify-between gap-2 mb-1"><h3 class="font-bold text-stone-900 text-sm truncate"> </h3> <span class="font-bold text-stone-900 shrink-0 text-sm"> <span class="text-[10px] text-stone-400 font-normal"> </span></span></div> <!> <div class="flex items-center gap-2 text-[11px] text-stone-400"><!> <span> </span> <span>·</span> <span> </span></div></div></div>'),Kt=h('<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4"></div>');function Yt(I,m){Fe(m,!0);const a=()=>je(Ne,"$_",ye),[ye,we]=Le(),P="dashboard.offers";var G=Kt();Ke(G,21,()=>m.offers,f=>f.id,(f,d)=>{const L=ie(()=>rt(s(d)));var T=Vt(),de=r(T),D=r(de);{var Q=b=>{var u=jt();E(()=>{F(u,"src",s(d).imageUrl),F(u,"alt",s(d).name)}),g(b,u)},N=b=>{var u=Rt(),A=r(u);He(A,{class:"w-12 h-12 text-stone-300"}),t(u),g(b,u)};J(D,b=>{s(d).imageUrl?b(Q):b(N,-1)})}var M=o(D,2),j=r(M),se=r(j),ge=o(se);t(j),t(M);var O=o(M,2),x=r(O),S=r(x),l=r(S);Ze(l,{class:"w-3.5 h-3.5"}),t(S);var v=o(S,2);{var _=b=>{var u=Nt(),A=r(u);Be(A,{class:"w-3.5 h-3.5"}),t(u),E(X=>F(u,"title",X),[()=>a()(`${P}.actionDeactivate`)]),y("click",u,()=>m.onToggleActive(s(d))),g(b,u)},k=b=>{var u=Ut(),A=r(u);Ge(A,{class:"w-3.5 h-3.5"}),t(u),E(X=>F(u,"title",X),[()=>a()(`${P}.actionActivate`)]),y("click",u,()=>m.onToggleActive(s(d))),g(b,u)};J(v,b=>{s(d).isActive?b(_):b(k,-1)})}var H=o(v,2),V=r(H);Ye(V,{class:"w-3.5 h-3.5"}),t(H),t(x),t(O),t(de);var W=o(de,2),q=r(W),R=r(q),Ee=r(R,!0);t(R);var K=o(R,2),Z=r(K),le=o(Z),pe=r(le,!0);t(le),t(K),t(q);var ce=o(q,2);{var ve=b=>{var u=Mt(),A=r(u,!0);t(u),E(()=>c(A,s(d).description)),g(b,u)};J(ce,b=>{s(d).description&&b(ve)})}var Y=o(ce,2),ae=r(Y);{var ee=b=>{var u=Ht(),A=r(u);et(A,{class:"w-3 h-3"});var X=o(A);t(u),E(()=>c(X,` ${s(d).categoryName??""}`)),g(b,u)}
1;J(ae,b=>{s(d).categoryName&&b(ee)})}var B=o(ae,2),oe=r(B,!0);t(B);var ne=o(B,4),z=r(ne,!0);t(ne),t(Y),t(W),t(T),E((b,u,A,X,fe,ue)=>{re(j,1,`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-bold border bg-white/95 backdrop-blur-sm ${s(L).badge??""}`),re(se,1,`w-1.5 h-1.5 rounded-full ${s(L).dot??""}`),c(ge,` ${b??""}`),F(S,"title",u),F(H,"title",A),c(Ee,s(d).name),c(Z,`${X??""} `),c(pe,m.currency),c(oe,fe),c(z,ue)},[()=>a()(s(L).labelKey),()=>a()("common.edit"),()=>a()("common.delete"),()=>s(d).basePrice.toFixed(2),()=>a()(`${P}.countItems`,{values:{count:s(d).componentCount}}),()=>a()(`${P}.countGroups`,{values:{count:s(d).groupCount}})]),y("click",T,()=>m.onEdit(s(d))),y("keydown",T,b=>b.key==="Enter"&&m.onEdit(s(d))),y("click",O,b=>b.stopPropagation()),y("click",S,()=>m.onEdit(s(d))),y("click",H,()=>m.onDelete(s(d))),Se(1,T,()=>Me),g(f,T)}),t(G),g(I,G),Ie(),we()}Re(["click","keydown"]);var Bt=h('<img class="w-12 h-12 rounded-xl object-cover border border-stone-100"/>'),Gt=h('<div class="w-12 h-12 rounded-xl bg-stone-100 flex items-center justify-center border border-stone-100"><!></div>'),qt=h('<span class="inline-flex items-center gap-1.5 px-2 py-1 rounded-lg bg-stone-50 border border-stone-100 text-xs text-stone-600"><!> </span>'),zt=h('<span class="text-xs text-stone-300">â</span>'),Xt=h('<button class="p-2 sm:p-1.5 rounded-lg hover:bg-amber-50 text-stone-400 hover:text-amber-600 transition-colors"><!></button>'),Jt=h('<button class="p-2 sm:p-1.5 rounded-lg hover:bg-green-50 text-stone-400 hover:text-green-600 transition-colors"><!></button>'),Qt=h('<button class="p-2 sm:p-1.5 rounded-lg hover:bg-stone-100 text-stone-400 hover:text-stone-700 transition-colors"><!></button>'),Wt=h('<button class="p-2 sm:p-1.5 rounded-lg hover:bg-blue-50 text-stone-400 hover:text-blue-600 transition-colors"><!></button>'),Zt=h('<tr class="group hover:bg-stone-50/60 transition-colors cursor-pointer" role="button" tabindex="0"><td class="px-5 py-4"><div class="flex items-center gap-4"><div class="relative shrink-0"><!></div> <div class="min-w-0"><p class="font-semibold text-stone-900 text-sm"> </p> <p class="text-xs text-stone-400"> </p></div></div></td><td class="hidden sm:table-cell px-5 py-4"><!></td><td class="px-5 py-4 text-end"><span class="font-bold text-stone-900"> </span> <span class="text-xs text-stone-400"> </span></td><td class="hidden sm:table-cell px-5 py-4 text-center"><span><span></span> </span></td><td class="px-5 py-4"><div class="flex items-center gap-0.5"><button class="p-2 sm:p-1.5 rounded-lg hover:bg-stone-100 text-stone-400 hover:text-stone-700 transition-colors"><!></button> <!> <!> <button class="p-2 sm:p-1.5 rounded-lg hover:bg-red-50 text-stone-400 hover:text-red-600 transition-colors"><!></button></div></td></tr>'),er=h('<div class="bg-white rounded-2xl border border-stone-200 overflow-hidden shadow-sm"><table><thead><tr class="border-b border-stone-100 bg-stone-50/80"><th> </th><th> </th><th> </th><th> </th><th class="px-5 py-3.5 w-12"></th></tr></thead><tbody class="divide-y divide-stone-100"></tbody></table></div>');function tr(I,m){Fe(m,!0);const a=()=>je(Ne,"$_",ye),[ye,we]=Le(),P="dashboard.offers";var G=er(),f=r(G);re(f,1,"min-w-[500px] w-full text-sm");var d=r(f),L=r(d),T=r(L);re(T,1,"text-start px-5 py-3.5 text-xs font-semibold text-stone-500 uppercase tracking-wider");var de=r(T,!0);t(T);var D=o(T);re(D,1,"hidden sm:table-cell text-start px-5 py-3.5 text-xs font-semibold text-stone-500 uppercase tracking-wider");var Q=r(D,!0);t(D);var N=o(D);re(N,1,"text-end px-5 py-3.5 text-xs font-semibold text-stone-500 uppercase tracking-wider");var M=r(N,!0);t(N);var j=o(N);re(j,1,"hidden sm:table-cell text-center px-5 py-3.5 text-xs font-semibold text-stone-500 uppercase tracking-wider");var se=r(j,!0);t(j),dt(),t(L),t(d);var ge=o(d);Ke(ge,21,()=>m.offers,O=>O.id,(O,x)=>{const S=ie(()=>rt(s(x)));var l=Zt(),v=r(l),_=r(v),k=r(_),H=r(k);{var V=p=>{var e=Bt();E(()=>{F(e,"src",s(x).imageUrl),F(e,"alt",s(x).name)}),g(p,e)},W=p=>{var e=Gt(),n=r(e);He(n,{class:"w-5 h-5 text-stone-300"}),t(e),g(p,e)};J(H,p=>{s(x).imageUrl?p(V):p(W,-1)})}t(k);var q=o(k,2),R=r(q),Ee=r(R,!0);t(R);var K=o(R,2),Z=r(K,!0);t(K),t(q),t(_),t(v);var le=o(v),pe=r(le);{var ce=p=>{var e=qt(),n=r(e);et(n,{class:"w-3 h-3 text-stone-400"});var i=o(n,1,!0);t(e),E(()=>c(i,s(x).categoryName)),g(p,e)},ve=p=>{var e=zt();g(p,e)};J(pe,p=>{s(x).categoryName?p(ce):p(ve,-1)})}t(le);var Y=o(le),ae=r(Y),ee=r(ae,!0);t(ae);var B=o(ae,2),oe=r(B,!0);t(B),t(Y);var ne=o(Y),z=r(ne),b=r(z),u=o(b,1,!0);t(z),t(ne);var A=o(ne),X=r(A),fe=r(X),ue=r(fe);Ze(ue,{class:"w-3.5 h-3.5"}),t(fe);var $e=o(fe,2);{var Pe=p=>{var e=Xt(),n=r(e);Be(n,{class:"w-3.5 h-3.5"}),t(e),E(i=>F(e,"title",i),[()=>a()(`${P}.actionDeactivate`)]),y("click",e,()=>m.onToggleActive(s(x))),g(p,e)},te=p=>{var e=Jt(),n=r(e);Ge(n,{class:"w-3.5 h-3.5"}),t(e),E(i=>F(e,"title",i),[()=>a()(`${P}.actionActivate`)]),y("click",e,()=>m.onToggleActive(s(x))),g(p,e)};J($e,p=>{s(x).isActive?p(Pe):p(te,-1)})}var $=o($e,2);{var xe=p=>{var e=Qt(),n=r(e);ht(n,{class:"w-3.5 h-3.5"}),t(e),E(i=>F(e,"title",i),[()=>a()(`${P}.actionHide`)]),y("click",e,()=>m.onToggleAvailable(s(x))),g(p,e)},Te=p=>{var e=Wt(),n=r(e);_t(n,{class:"w-3.5 h-3.5"}),t(e),E(i=>F(e,"title",i),[()=>a()(`${P}.actionShow`)]),y("click",e,()=>m.onToggleAvailable(s(x))),g(p,e)};J($,p=>{s(x).isAvailable?p(xe):p(Te,-1)})}var be=o($,2),ke=r(be);Ye(ke,{class:"w-3.5 h-3.5"}),t(be),t(X),t(A),t(l),E((p,e,n,i,C)=>{c(Ee,s(x).name),c(Z,p),c(ee,e),c(oe,m.currency),re(z,1,`inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-full text-xs font-semibold border ${s(S).badge??""}`),re(b,1,`w-1.5 h-1.5 rounded-full ${s(S).dot??""}`),c(u,n),F(fe,"title",i),F(be,"title",C)},[()=>a()(`${P}.groupsAndItems`,{values:{groups:s(x).groupCount,items:s(x).componentCount}}
1),()=>s(x).basePrice.toFixed(2),()=>a()(s(S).labelKey),()=>a()("common.edit"),()=>a()("common.delete")]),y("click",l,()=>m.onEdit(s(x))),y("keydown",l,p=>p.key==="Enter"&&m.onEdit(s(x))),y("click",A,p=>p.stopPropagation()),y("click",fe,()=>m.onEdit(s(x))),y("click",be,()=>m.onDelete(s(x))),g(O,l)}),t(ge),t(f),t(G),E((O,x,S,l)=>{c(de,O),c(Q,x),c(M,S),c(se,l)},[()=>a()(`${P}.colCombo`),()=>a()("dashboard.common.category"),()=>a()("dashboard.common.price"),()=>a()(`${P}.colStatus`)]),g(I,G),Ie(),we()}Re(["click","keydown"]);var rr=h('<button class="flex items-center gap-1.5 px-2 py-1.5 rounded-lg hover:bg-amber-50 text-stone-500 hover:text-amber-600 transition-colors text-xs font-medium disabled:opacity-40"><!> </button>'),sr=h('<button class="flex items-center gap-1.5 px-2 py-1.5 rounded-lg hover:bg-green-50 text-stone-500 hover:text-green-600 transition-colors text-xs font-medium disabled:opacity-40"><!> </button>'),ar=h('<div class="bg-white rounded-2xl border border-stone-200 shadow-sm p-4 flex flex-col gap-3"><div class="flex items-start justify-between gap-2"><div class="flex items-center gap-2.5 min-w-0"><div><!></div> <div class="min-w-0"><p class="font-semibold text-stone-900 text-sm truncate"> </p> <p class="text-xs text-stone-400"> </p></div></div> <span><span></span> </span></div> <div class="flex items-center justify-between"><span class="text-lg font-bold text-stone-900"> </span> <span class="inline-flex items-center gap-1 text-xs text-stone-500"><!> </span></div> <div class="flex items-center gap-0.5 pt-2 border-t border-stone-100 -mx-1"><!> <button class="flex items-center gap-1.5 px-2 py-1.5 rounded-lg hover:bg-red-50 text-stone-500 hover:text-red-600 transition-colors text-xs font-medium ms-auto disabled:opacity-40"><!> </button></div></div>'),or=h('<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4"></div> <!>',1);function nr(I,m){Fe(m,!0);const a=()=>je(Ne,"$_",ye),[ye,we]=Le(),P="/api/v1/promotions",G=Xe(()=>m.promotions);let f=me(Je(G)),d=me(null),L=me(!1),T=me(null);const de={[he.PERCENT_OFF]:{icon:$t,badge:"dashboard.offers.badgeDiscount",tone:"bg-red-50 text-red-600"},[he.FLAT_OFF]:{icon:At,badge:"dashboard.offers.badgeDiscount",tone:"bg-red-50 text-red-600"},[he.FREE_DELIVERY]:{icon:kt,badge:"dashboard.offers.badgeFreeDelivery",tone:"bg-blue-50 text-blue-600"},[he.FREE_ITEM]:{icon:Tt,badge:"dashboard.offers.badgeFreeItem",tone:"bg-purple-50 text-purple-600"},[he.BXGY]:{icon:Et,badge:"dashboard.offers.badgeBxgy",tone:"bg-emerald-50 text-emerald-600"}},D={icon:We,badge:"dashboard.offers.badgeCombo",tone:"bg-amber-50 text-amber-600"};function Q(l){return de[l]??D}function N(l){var _,k;const v=l.rewards;if(l.type===he.PERCENT_OFF&&typeof v.percent=="number")return`${v.percent}%`;if(l.type===he.FLAT_OFF&&typeof v.amount=="number")return`${v.amount.toFixed(2)} ${m.currency}`;if(l.type===he.FREE_DELIVERY)return a()("dashboard.offers.badgeFreeDelivery");if(l.type===he.FREE_ITEM)return a()("dashboard.offers.badgeFreeItem");if(l.type===he.BXGY){const H=((_=v.buy)==null?void 0:_.qty)??0,V=((k=v.get)==null?void 0:k.qty)??0;return a()("dashboard.offers.bxgyShort",{values:{buy:H,get:V}})}return""}function M(l){return l===Ae.ACTIVE?{label:a()("dashboard.offers.statusLive"),dot:"bg-green-500",cls:"bg-green-50 text-green-700 border-green-200"}:l===Ae.PAUSED?{label:a()("dashboard.offers.statusPaused"),dot:"bg-amber-400",cls:"bg-amber-50 text-amber-700 border-amber-200"}:l===Ae.SCHEDULED?{label:a()("dashboard.offers.statusScheduled"),dot:"bg-blue-400",cls:"bg-blue-50 text-blue-700 border-blue-200"}:{label:a()("dashboard.offers.statusDraft"),dot:"bg-stone-300",cls:"bg-stone-100 text-stone-500 border-stone-200"}}async function j(l){const v=l.status===Ae.ACTIVE?Ae.PAUSED:Ae.ACTIVE;w(d,l.id,!0);try{if(!(await fetch(`${P}/${l.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:v})})).ok)throw new Error;w(f,s(f).map(k=>k.id===l.id?{...k,status:v}:k),!0),_e.success(a()(v===Ae.PAUSED?"dashboard.offers.paused":"dashboard.offers.resumed",{values:{name:l.name}}))}catch{_e.error(a()("dashboard.offers.updateFailed"))}finally{w(d,null)}}function se(l){w(T,l,!0),w(L,!0)}async function ge(){const l=s(T);if(l){w(d,l.id,!0);try{if(!(await fetch(`${P}/${l.id}`,{method:"DELETE"})).ok)throw new Error;w(f,s(f).filter(_=>_.id!==l.id),!0),_e.success(a()("dashboard.offers.deleted",{values:{name:l.name}}))}catch{_e.error(a()("dashboard.offers.deleteFailed"))}finally{w(d,null)}}}var O=or(),x=Ue(O);Ke(x,21,()=>s(f),l=>l.id,(l,v)=>{const _=ie(()=>Q(s(v).type)),k=ie(()=>M(s(v).status)),H=ie(()=>s(v).status===Ae.ACTIVE);var V=ar(),W=r(V),q=r(W),R=r(q),Ee=r(R);yt(Ee,()=>s(_).icon,(te,$)=>{$(te,{class:"w-4 h-4"})}),t(R);var K=o(R,2),Z=r(K),le=r(Z,!0);t(Z);var pe=o(Z,2),ce=r(pe,!0);t(pe),t(K),t(q);var ve=o(q,2),Y=r(ve),ae=o(Y,1,!0);t(ve),t(W);var ee=o(W,2),B=r(ee),oe=r(B,!0);t(B);var ne=o(B,2),z=r(ne);wt(z,{class:"w-3.5 h-3.5"});var b=o(z);t(ne),t(ee);var u=o(ee,2),A=r(u);{var X=te=>{var $=rr(),xe=r($);Be(xe,{class:"w-3.5 h-3.5"});var Te=o(xe,1,!0);t($),E((be,ke)=>{$.disabled=s(d)===s(v).id,F($,"title",be),c(Te,ke)},[()=>a()("dashboard.offers.actionPause"),()=>a()("dashboard.offers.actionPause")]),y("click",$,()=>j(s(v))),g(te,$)},fe=te=>{var $=sr(),xe=r($);Ge(xe,{class:"w-3.5 h-3.5"});var Te=o(xe,1,!0);t($),E((be,ke)=>{$.disabled=s(d)===s(v).id,F($,"title",be),c(Te,ke)},[()=>a()("dashboard.offers.actionResume"),()=>a()("dashboard.offers.actionResume")]),y("click",$,()=>j(s(v))),g(te,$)};
1J(A,te=>{s(H)?te(X):te(fe,-1)})}var ue=o(A,2),$e=r(ue);Ye($e,{class:"w-3.5 h-3.5"});var Pe=o($e,1,!0);t(ue),t(u),t(V),E((te,$,xe,Te,be)=>{re(R,1,`w-9 h-9 rounded-xl flex items-center justify-center shrink-0 ${s(_).tone??""}`),c(le,s(v).name),c(ce,te),re(ve,1,`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-bold border shrink-0 ${s(k).cls??""}`),re(Y,1,`w-1.5 h-1.5 rounded-full ${s(k).dot??""}`),c(ae,s(k).label),c(oe,$),c(b,` ${xe??""}`),ue.disabled=s(d)===s(v).id,F(ue,"title",Te),c(Pe,be)},[()=>a()(s(_).badge),()=>N(s(v)),()=>a()("dashboard.offers.redeemed",{values:{count:s(v).usedCount}}),()=>a()("common.delete"),()=>a()("common.delete")]),y("click",ue,()=>se(s(v))),g(l,V)}),t(x);var S=o(x,2);{let l=ie(()=>{var _;return a()("dashboard.offers.deleteConfirm",{values:{name:((_=s(T))==null?void 0:_.name)??""}})}),v=ie(()=>a()("common.delete"));tt(S,{get title(){return s(l)},message:"It will be removed from your menu but kept in past orders.",variant:"danger",get confirmText(){return s(v)},cancelText:"Cancel",onConfirm:ge,onCancel:()=>{w(T,null)},get open(){return s(L)},set open(_){w(L,_,!0)}})}g(I,O),Ie(),we()}Re(["click"]);var ir=h('<span class="text-stone-300">·</span> <span class="text-sm text-green-600 font-medium"> </span>',1),dr=h('<button class="flex items-center gap-1.5 px-4 py-2 rounded-lg bg-red-600 hover:bg-red-700 text-white font-semibold text-sm shadow-sm transition-colors"><!> <span class="hidden sm:inline"> </span> <span class="sm:hidden"> </span></button>'),lr=h('<section class="space-y-3"><h2 class="text-xs font-semibold text-stone-500 uppercase tracking-wider"> </h2> <!></section>'),cr=h('<h2 class="text-xs font-semibold text-stone-500 uppercase tracking-wider"> </h2>'),vr=h('<div class="flex flex-col items-center justify-center py-20 rounded-2xl border border-dashed border-stone-200 bg-stone-50/50 text-center"><div class="w-16 h-16 rounded-2xl bg-stone-100 flex items-center justify-center mb-4"><!></div> <h3 class="text-stone-700 font-semibold mb-1"> </h3> <p class="text-sm text-stone-400 mb-5 max-w-xs"> </p> <button class="flex items-center gap-2 px-5 py-2.5 rounded-xl bg-red-600 hover:bg-red-700 text-white font-semibold text-sm transition-colors"><!> </button></div>'),ur=h('<div class="text-center py-16 text-stone-400 text-sm"> </div>'),br=h('<div class="space-y-5"><div class="flex flex-col sm:flex-row sm:items-center gap-3"><div class="min-w-0 flex-1"><h1 class="text-2xl font-bold text-stone-900"> </h1> <div class="flex items-center gap-2 mt-0.5"><p class="text-sm text-stone-500"> </p> <span class="text-stone-300">·</span> <span class="text-sm text-stone-500"> </span> <!></div></div> <div class="flex items-center gap-2 shrink-0"><div class="relative"><!> <input type="text" class="w-40 sm:w-52 ps-9 pe-3 py-2 rounded-lg border border-stone-200 bg-white text-stone-900 placeholder:text-stone-400 focus:outline-none focus:border-red-400 focus:ring-2 focus:ring-red-100 transition-all text-sm"/></div> <div class="flex items-center bg-white rounded-lg border border-stone-200 overflow-hidden"><button><!></button> <button><!></button></div> <!></div></div> <!> <!> <!></div> <!> <!>',1);function es(I,m){Fe(m,!0);const a=()=>je(Ne,"$_",ye),[ye,we]=Le(),P=Xe(()=>m.data),G=P.currency||"USD",f="dashboard.offers";let d=me(Je(P.offers));const L=P.promotions??[];let T=me(""),de=me(null),D=me("list"),Q=me(!1),N=me(null),M=me(!1);const j=ie(()=>s(d).filter(e=>e.name.toLowerCase().includes(s(T).toLowerCase())||e.description&&e.description.toLowerCase().includes(s(T).toLowerCase())));async function se(e){try{if(!(await fetch(`/api/v1/combos/${e.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:!e.isActive})})).ok)throw new Error;w(d,s(d).map(i=>i.id===e.id?{...i,isActive:!i.isActive}:i),!0),_e.success(a()(e.isActive?`${f}.deactivated`:`${f}.activated`,{values:{name:e.name}}))}catch{_e.error(a()(`${f}.updateFailed`))}}async function ge(e){try{if(!(await fetch(`/api/v1/combos/${e.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({isAvailable:!e.isAvailable})})).ok)throw new Error;w(d,s(d).map(i=>i.id===e.id?{...i,isAvailable:!i.isAvailable}:i),!0),_e.success(a()(e.isAvailable?`${f}.hidden`:`${f}.shown`,{values:{name:e.name}}))}catch{_e.error(a()(`${f}.updateFailed`))}}async function O(e){w(N,e,!0),w(Q,!0)}async function x(){const e=s(N);if(e){w(de,e.id,!0);try{if(!(await fetch(`/api/v1/combos/${e.id}`,{method:"DELETE"})).ok)throw new Error;w(d,s(d).filter(i=>i.id!==e.id),!0),_e.success(a()(`${f}.deleted`,{values:{name:e.name}}))}catch{_e.error(a()(`${f}.deleteFailed`))}finally{w(de,null)}}}function S(e){Qe(`/dashboard/menu/offers/${e.id}/edit`)}let l=me(null);lt(()=>{function e(n){var i,C,U;
1n.key==="/"&&((i=document.activeElement)==null?void 0:i.tagName)!=="INPUT"&&((C=document.activeElement)==null?void 0:C.tagName)!=="TEXTAREA"&&(n.preventDefault(),(U=s(l))==null||U.focus())}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)});var v=br();ut("m5dms2",e=>{ct(n=>{var i;vt.title=`${n??""} â ${(((i=m.data.restaurant)==null?void 0:i.name)||"FoodFlow")??""}`},[()=>a()("dashboard.nav.offers")])});var _=Ue(v),k=r(_),H=r(k),V=r(H),W=r(V,!0);t(V);var q=o(V,2),R=r(q),Ee=r(R,!0);t(R);var K=o(R,4),Z=r(K,!0);t(K);var le=o(K,2);{var pe=e=>{var n=ir(),i=o(Ue(n),2),C=r(i,!0);t(i),E(U=>c(C,U),[()=>a()(`${f}.countLive`,{values:{count:s(d).filter(U=>U.isActive&&U.isAvailable).length}})]),g(e,n)},ce=ie(()=>s(d).filter(e=>e.isActive&&e.isAvailable).length>0);J(le,e=>{s(ce)&&e(pe)})}t(q),t(H);var ve=o(H,2),Y=r(ve),ae=r(Y);Ct(ae,{class:"absolute start-3 top-1/2 -translate-y-1/2 w-4 h-4 text-stone-400 pointer-events-none"});var ee=o(ae,2);bt(ee),pt(ee,e=>w(l,e),()=>s(l)),t(Y);var B=o(Y,2),oe=r(B),ne=r(oe);Pt(ne,{class:"w-4 h-4"}),t(oe);var z=o(oe,2),b=r(z);Dt(b,{class:"w-4 h-4"}),t(z),t(B);var u=o(B,2);{var A=e=>{var n=dr(),i=r(n);ze(i,{class:"w-4 h-4"});var C=o(i,2),U=r(C,!0);t(C);var Ce=o(C,2),De=r(Ce,!0);t(Ce),t(n),E((Ve,Oe)=>{c(U,Ve),c(De,Oe)},[()=>a()("dashboard.offers.newOffer"),()=>a()("dashboard.offers.newShort")]),y("click",n,()=>w(M,!0)),g(e,n)};J(u,e=>{(s(d).length>0||L.length>0)&&e(A)})}t(ve),t(k);var X=o(k,2);{var fe=e=>{var n=lr(),i=r(n),C=r(i,!0);t(i);var U=o(i,2);nr(U,{get promotions(){return L},get currency(){return G}}),t(n),E(Ce=>c(C,Ce),[()=>a()("dashboard.offers.typeDiscount")]),Se(1,n,()=>Me),g(e,n)};J(X,e=>{L.length>0&&e(fe)})}var ue=o(X,2);{var $e=e=>{var n=cr(),i=r(n,!0);t(n),E(C=>c(i,C),[()=>a()("dashboard.offers.typeCombo")]),g(e,n)};J(ue,e=>{L.length>0&&s(d).length>0&&e($e)})}var Pe=o(ue,2);{var te=e=>{var n=vr(),i=r(n),C=r(i);He(C,{class:"w-8 h-8 text-stone-300"}),t(i);var U=o(i,2),Ce=r(U,!0);t(U);var De=o(U,2),Ve=r(De,!0);t(De);var Oe=o(De,2),qe=r(Oe);ze(qe,{class:"w-4 h-4"});var st=o(qe);t(Oe),t(n),E((at,ot,nt)=>{c(Ce,at),c(Ve,ot),c(st,` ${nt??""}`)},[()=>a()("dashboard.offers.chooserTitle"),()=>a()("dashboard.offers.chooserSubtitle"),()=>a()("dashboard.offers.newOffer")]),y("click",Oe,()=>w(M,!0)),Se(1,n,()=>Me),g(e,n)},$=e=>{},xe=e=>{var n=ur(),i=r(n,!0);t(n),E(C=>c(i,C),[()=>a()(`${f}.noMatch`,{values:{query:s(T)}})]),g(e,n)},Te=e=>{Yt(e,{get offers(){return s(j)},get currency(){return G},onEdit:S,onToggleActive:se,onDelete:O})},be=e=>{tr(e,{get offers(){return s(j)},get currency(){return G},onEdit:S,onToggleActive:se,onToggleAvailable:ge,onDelete:O})};J(Pe,e=>{s(d).length===0&&L.length===0?e(te):s(d).length===0?e($,1):s(j).length===0?e(xe,2):s(D)==="grid"?e(Te,3):e(be,-1)})}t(_);var ke=o(_,2);{let e=ie(()=>a()(`${f}.deleteTitle`)),n=ie(()=>s(N)?a()(`${f}.deleteMessage`,{values:{name:s(N).name}}):""),i=ie(()=>a()("common.delete")),C=ie(()=>a()("common.cancel"));tt(ke,{get title(){return s(e)},get message(){return s(n)},variant:"danger",get confirmText(){return s(i)},get cancelText(){return s(C)},onConfirm:x,onCancel:()=>{w(N,null)},get open(){return s(Q)},set open(U){w(Q,U,!0)}})}var p=o(ke,2);St(p,{get open(){return s(M)},set open(e){w(M,e,!0)}}),E((e,n,i,C)=>{c(W,e),c(Ee,n),c(Z,i),F(ee,"placeholder",C),re(oe,1,`p-2.5 sm:p-2 transition-colors ${s(D)==="grid"?"bg-stone-100 text-stone-900":"text-stone-400 hover:text-stone-700"}`),re(z,1,`p-2.5 sm:p-2 transition-colors ${s(D)==="list"?"bg-stone-100 text-stone-900":"text-stone-400 hover:text-stone-700"}`)},[()=>a()("dashboard.nav.offers"),()=>a()(`${f}.subtitle`),()=>a()(`${f}.countTotal`,{values:{count:s(j).length}}),()=>a()(`${f}.searchPlaceholder`)]),mt(ee,()=>s(T),e=>w(T,e)),y("click",oe,()=>w(D,"grid")),y("click",z,()=>w(D,"list")),g(I,v),Ie(),we()}Re(["click"]);export{es as component}; 2//# sourceMappingURL=71.BRni7-F3.js.map
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.