PageSourceSearch

https://vendor.dinesurf.com/assets/OpenTab.js

js dinesurf.com collected 2026-09-24 12:32:51 UTC 22,977 bytes, 6 lines download raw bytes

1import{L as ge,d as K,u as oe,b as M,w as de,j as i,F as w,g as u,N as fe,f as p,_ as ne,r as j,z as G,c as le,o as l,k as _,i as e,A as f,ab as se,e as P,am as ye,l as k,n as T,t as c,m as S,Z as ve,p as I,s as O,v as ie,bb as pe,a as be,df as xe,B as Z,C as re,a2 as ke,a1 as _e,al as he}from"./index.js";import{_ as ue}from"./Loading.vue_vue_type_style_index_0_lang.js";import{_ as H,a as B}from"./Option.vue_vue_type_script_setup_true_lang.js";import{N as $e}from"./NumberInput.js";import{M as ce}from"./minus.js";import{P as J}from"./plus2.js";import{B as we}from"./ban.js";import{m as Ce}from"./orderModifiers.js";import{A as Ie}from"./arrow-left.js";import{T as Ve}from"./trash-2.js";/**
2 * @license lucide-vue-next v0.469.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const Te=ge("SendIcon",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),ze={key:0,class:"fixed inset-0 z-50 flex justify-end"},Ne={class:"relative w-full max-w-lg bg-white dark:bg-gray-800 h-full flex flex-col shadow-xl"},je={class:"p-4 border-b dark:border-gray-700 flex items-center justify-between"},Se={class:"p-4 border-b dark:border-gray-700 space-y-3"},Me={class:"flex gap-2"},Ae={class:"flex-1 overflow-y-auto"},Oe={class:"grid grid-cols-2 gap-3 p-4"},Ue=["onClick"],Le={class:"font-medium text-sm dark:text-gray-100 truncate"},Be={class:"text-xs text-gray-500 dark:text-gray-400"},Pe={key:0,class:"border-t dark:border-gray-700"},De={class:"p-4 bg-gray-50 dark:bg-gray-700/50"},qe={class:"text-sm font-medium dark:text-gray-200 mb-2"},Ee={class:"space-y-2 max-h-32 overflow-y-auto"},Re={class:"dark:text-gray-300 truncate flex-1"},Fe={class:"flex items-center gap-2"},Ye=["onClick"],We={class:"w-6 text-center dark:text-gray-300"},Qe=["onClick"],Xe=["onClick"],Ze={class:"p-4 border-t dark:border-gray-700"},Ge={key:0,class:"w-full flex flex-col gap-4"},He={class:"border w-full flex flex-row justify-between items-center rounded-lg dark:border-gray-600 p-3"},Je={class:"max-w-[9rem]"},Ke={class:"text-base free block mb-2 dark:text-gray-100"},et={class:"flex flex-row flex-wrap gap-3 mb-5"},tt=["name","checked","onChange"],at={key:0,class:"free description"},st=K({__name:"TabItemsPanel",props:{modelValue:{type:Boolean},orderId:{}},emits:["update:modelValue","items-added"],setup(U,{emit:z}){const N=U,h=z,x=oe(),{$toast:r}=le(),o=G({search:"",category_id:"",menu_id:""}),$=j([]),C=j([]),b=j([]),V=j(!1),m=j(null),d=S(()=>{var t;return((t=$.value.find(s=>s.id===o.menu_id))==null?void 0:t.categories)||[]});M({fire:"immediately",action:async()=>x.menu.getAllMenu(["id","name"],["categories:id,name"]),onSuccess:t=>{$.value=t.data}});const{state:y,execute:ee}=M({fire:"immediately",action:async()=>x.menu.getMenuItemsWithModifiers({...o.search?{search:o.search}:o,per_page:50}),onSuccess:t=>{C.value=t.data.data}}),A=ye(()=>ee(),500),{state:D,execute:F}=M({fire:"on-demand",onError:r.error,action:async()=>{const t=b.value.map(a=>{var v;return{name:a.name,price:Number(a.price),quantity:a.count,menu_item_id:a.id,modifiers:(v=a.selectedOption)==null?void 0:v.map(g=>({option_id:g.id,option_price:Number(g.price)}))}}),s=await x.order.addItemsToTab(N.orderId,{items:t});return b.value=[],h("items-added",s.data.order),s}});function Y(t){return b.value.some(s=>s.id===t.id)}function W(t){if(t.modifiers&&t.modifiers.length)m.value={...t,count:1,selectedOption:[]},V.value=!0;else{const s=b.value.find(a=>a.id===t.id);s?s.count++:b.value.push({...t,count:1,selectedOption:[]})}}function Q(t,s){if(!m.value)return;const a=m.value.selectedOption.findIndex(v=>v.id===s.id);a===-1?(m.value.selectedOption=m.value.selectedOption.filter(v=>!t.options.some(g=>g.id===v.id)),m.value.selectedOption.push(s)):m.value.selectedOption.splice(a,1)}function q(){m.value&&(b.value.push({...m.value}),m.value=null,V.value=!1)}function E(t){t.count++}function X(t){t.count>1?t.count--:R(t)}function R(t){const s=b.value.indexOf(t);s!==-1&&b.value.splice(s,1)}async function n(){await F()}return de(()=>N.modelValue,t=>{t||(b.value=[],o.search="",o.category_id="",o.menu_id="")}),(t,s)=>(l(),i(w,null,[u(fe,{name:"slide"},{default:p(()=>[U.modelValue?(l(),i("div",ze,[e("div",{class:"absolute inset-0 bg-black/50",onClick:s[0]||(s[0]=a=>h("update:modelValue",!1))}),e("div",Ne,[e("div",je,[s[9]||(s[9]=e("h3",{class:"font-medium dark:text-gray-100"},"Add Items",-1)),e("button",{onClick:s[1]||(s[1]=a=>h("update:modelValue",!1)),class:"p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700"},[u(f(se),{class:"size-5 dark:text-gray-300"})])]),e("div",Se,[e("div",Me,[u(H,{modelValue:o.menu_id,"onUpdate:modelValue":[s[2]||(s[2]=a=>o.menu_id=a),s[3]||(s[3]=()=>{o.category_id="",f(A)()})],class:"flex-1",size:"sm"},{default:p(()=>[u(B,{value:""},{default:p(()=>[...s[10]||(s[10]=[k("All Menu",-1)])]),_:1}),(l(!0),i(w,null,T($.value,a=>(l(),P(B,{value:a.id,key:a.id},{default:p(()=>[k(c(a.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),o.menu_id?(l(),P(H,{key:0,modelValue:o.category_id,"onUpdate:modelValue":[s[4]||(s[4]=a=>o.category_id=a),f(A)],class:"flex-1",size:"sm"},{default:p(()=>[u(B,{value:""},{default:p(()=>[...s[11]||(s[11]=[k("All Categories",-1)])]),_:1}),(l(!0),i(w,null,T(d.value,a=>(l(),P(B,{value:a.id,key:a.id},{default:p(()=>[k(c(a.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"])):_("",!0)]),u(ve,{size:"sm",modelValue:o.search,"onUpdate:modelValue":s[5]||(s[5]=a=>o.search=a),type:"search",class:"w-full",onInput:f(A),placeholder:"Search items..."},null,8,["modelValue","onInput"])]),e("div",Ae,[u(ue,{"loading-class":"h-full flex items-center justify-center",loading:t.$u.isLoading(f(y)),result:C.value},{"not-found":p(()=>[...s[12]||(s[12]=[e("div",{class:"h-full flex items-center justify-center"},[e("p",{class:"text-gray-500 dark:text-gray-400"},"No items found")],-1)])]),default:p(()=>[e("div",Oe,[(l(!0),i(w,null,T(C.value,a=>(l(),i("button",{key:a.id,onClick:()=>W(a),class:I(["p-3 rounded-lg border dark:border-gray-600 text-left hover:border-dinesurf-green-400 dark:hover:border-dinesurf-green-400 transition-colors",{"border-dinesurf-green-400 bg-dinesurf-green-50 dark:bg-dinesurf-green-900/20":Y(a)}])},[e("p",Le,c(a.name),1),e("p",Be,c(t.$u.formatCurrency(Number(a.price))),1)],10,Ue))),128))])]),_:1},8,["loading","result"])]),b.value.length?(l(),i("div",Pe,[e("div",De,[e
6("p",qe," Selected Items ("+c(b.value.length)+") ",1),e("div",Ee,[(l(!0),i(w,null,T(b.value,a=>(l(),i("div",{key:a.id,class:"flex items-center justify-between text-sm"},[e("span",Re,c(a.name),1),e("div",Fe,[e("button",{onClick:v=>X(a),class:"p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-600"},[u(f(ce),{class:"size-3 dark:text-gray-300"})],8,Ye),e("span",We,c(a.count),1),e("button",{onClick:v=>E(a),class:"p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-600"},[u(f(J),{class:"size-3 dark:text-gray-300"})],8,Qe),e("button",{onClick:v=>R(a),class:"p-1 rounded hover:bg-red-100 dark:hover:bg-red-900/30 text-red-500"},[u(f(se),{class:"size-3"})],8,Xe)])]))),128))])])])):_("",!0),e("div",Ze,[u(O,{class:"w-full",disabled:!b.value.length||t.$u.isLoading(f(D)),loading:t.$u.isLoading(f(D)),onClick:n},{default:p(()=>[k(" Add "+c(b.value.length)+" Item"+c(b.value.length!==1?"s":"")+" to Tab ",1)]),_:1},8,["disabled","loading"])])])])):_("",!0)]),_:1}),u(ne,{size:"xl",modelValue:V.value,"onUpdate:modelValue":s[8]||(s[8]=a=>V.value=a)},{default:p(()=>{var a;return[u(ie,{title:(a=m.value)==null?void 0:a.name,"no-header-line":"",onClose:s[7]||(s[7]=v=>V.value=!1)},{default:p(()=>[m.value?(l(),i("section",Ge,[e("div",He,[s[13]||(s[13]=e("p",{class:"text-base free font-medium dark:text-gray-100"},"Quantity",-1)),e("div",Je,[u($e,{size:"sm",modelValue:m.value.count,"onUpdate:modelValue":s[6]||(s[6]=v=>m.value.count=v)},null,8,["modelValue"])])]),e("div",null,[(l(!0),i(w,null,T(m.value.modifiers||[],(v,g)=>(l(),i(w,{key:g},[e("label",Ke,c(v.name)+" modifiers ",1),e("div",et,[(l(!0),i(w,null,T(v.options,(L,me)=>{var te;return l(),i("label",{key:me,class:"text-base p-3 border dark:border-gray-600 gap-2.5 rounded-md flex free mb-2 dark:text-gray-100"},[e("div",null,[e("input",{type:"radio",name:v.name,checked:!!((te=m.value.selectedOption)!=null&&te.find(ae=>ae.id===L.id)),onChange:ae=>Q(v,L),class:"kit:checkbox border rounded-md size-5"},null,40,tt)]),e("div",null,[k(c(L.option)+" ",1),L.price?(l(),i("p",at,c(t.$u.formatCurrency(Number(L.price))),1)):_("",!0)])])}),128))])],64))),128))])])):_("",!0),u(O,{class:"w-full",onClick:q},{default:p(()=>[...s[14]||(s[14]=[k(" Add to selection ",-1)])]),_:1})]),_:1},8,["title"])]}),_:1},8,["modelValue"])],64))}}),rt=pe(st,[["__scopeId","data-v-e66d9dd4"]]),ot={class:"space-y-4"},dt={class:"grid grid-cols-3 gap-3"},nt={class:"flex items-center gap-3 mb-2"},lt={class:"flex items-center gap-3 mb-2"},it={class:"flex items-center gap-3 mb-2"},ut={key:0,class:"space-y-3"},ct={class:"flex items-center gap-2"},mt={key:1,class:"space-y-3"},gt={class:"flex items-center gap-2"},ft={class:"flex justify-end gap-3 pt-4 border-t dark:border-gray-700"},yt=K({__name:"CloseTabModal",props:{modelValue:{type:Boolean},orderId:{},loading:{type:Boolean}},emits:["update:modelValue","close-tab"],setup(U,{emit:z}){const N=U,h=z,x=be(),r=G({action:"pay_now",payment_method:null,agree:!1,void_reason:"",void_agree:!1}),o=G({payment_method:void 0}),$=S({get:()=>N.modelValue,set:m=>{h("update:modelValue",m)}}),C=S(()=>{var m;return((m=x.vendor)==null?void 0:m.payment_methods)||[]}),b=S(()=>r.action==="send_invoice"?!0:r.action==="void"?r.void_agree:r.payment_method!==null&&r.agree);function V(){if(o.payment_method=void 0,r.action==="pay_now"&&!r.payment_method){o.payment_method="Please select a payment method";return}h("close-tab",{action:r.action,...r.action==="pay_now"&&{payment_method:r.payment_method},...r.action==="void"&&r.void_reason&&{void_reason:r.void_reason}})}return de(()=>N.modelValue,m=>{m||(r.action="pay_now",r.payment_method=null,r.agree=!1,r.void_reason="",r.void_agree=!1,o.payment_method=void 0)}),(m,d)=>(l(),P(ne,{modelValue:$.value,"onUpdate:modelValue":d[9]||(d[9]=y=>$.value=y),size:"xl"},{default:p(()=>[u(ie,{title:"Close Tab",subtitle:"Choose how to close this tab",onClose:d[8]||(d[8]=y=>h("update:modelValue",!1))},{default:p(()=>[e("div",ot,[e("div",dt,[e("button",{onClick:d[0]||(d[0]=y=>r.action="pay_now"),class:I(["p-4 rounded-lg border-2 transition-all text-left",r.action==="pay_now"?"border-dinesurf-green-500 bg-dinesurf-green-50 dark:bg-dinesurf-green-900/20":"border-gray-200 dark:border-gray-600 hover:border-gray-300 dark:hover:border-gray-500"])},[e("div",nt,[e("div",{class:I(["w-10 h-10 rounded-full flex items-center justify-center",r.action==="pay_now"?"bg-dinesurf-green-100 dark:bg-dinesurf-green-800":"bg-gray-100 dark:bg-gray-700"])},[u(f(xe),{class:I(["size-5",r.action==="pay_now"?"text-dinesurf-green-600 dark:text-dinesurf-green-400":"text-gray-500 dark:text-gray-400"])},null,8,["class"])],2),d[10]||(d[10]=e("span",{class:"font-medium dark:text-gray-100"},"Pay Now",-1))]),d[11]||(d[11]=e("p",{class:"text-sm text-gray-500 dark:text-gray-400"}," Record payment and close the tab immediately ",-1))],2),e("button",{onClick:d[1]||(d[1]=y=>r.action="send_invoice"),class:I(["p-4 rounded-lg border-2 transition-all text-left",r.action==="send_invoice"?"border-dinesurf-green-500 bg-dinesurf-green-50 dark:bg-dinesurf-green-900/20":"border-gray-200 dark:border-gray-600 hover:border-gray-300 dark:hover:border-gray-500"])},[e("div",lt,[e("div",{class:I(["w-10 h-10 rounded-full flex items-center justify-center",r.action==="send_invoice"?"bg-dinesurf-green-100 dark:bg-dinesurf-green-800":"bg-gray-100 dark:bg-gray-700"])},[u(f(Te),{class:I(["size-5",r.action==="send_invoice"?"text-dinesurf-green-600 dark:text-dinesurf-green-400":"text-gray-500 dark:text-gray-400"])},null,8,["class"])],2),d[12]||(d[12]=e("span",{class:"font-medium dark:text-gray-100"},"Send Invoice",-1))]),d[13]||(d[13]=e("p",{class:"text-sm text-gray-500 dark:text-gray-400"}," Close the tab and send an invoice to the customer ",-1))],2),e("button",{onClick:d[2]||(d[2]=y=>r.action="void"),class:I(["p-4 rounded-lg border-2 transition-all text-left",r.action==="void"?"border-red-500 bg-red-50 dark:bg-red-900/20":"border-gray-200 dark:border-gray-600 hover:border-gray-300 dark:hover:border-gray-500"])},[e("div",it,[e("div",{class:I(["w-10 h-10 rounded-full flex items-center justify-center",r.action==="void"?"bg-red-100 dark:bg-red-800":"bg-gray-100 dark:bg-gray-700"])},[u(f(we),{class:I(["size-5",r.action==="void"?"text-red-600 dark:text-red-400":"text-gray-500 dark:text-gray-400"])},null,8,["class"])],2),d[14]||(d[14]=e("span",{class:"font-medium dark:text-gray-100"},"Void",-1))]),d[15]||(d[15]=e("p",{class:"text-sm text-gray-500 dark:text-gray-400"}," Void this tab without recording payment ",-1))],2)]),r.action==="pay_now"?(l(),i("div",ut,[d[17]||(d[17]=e("label",{class:"block text-sm font-medium dark:text-gray-200"}," Payment Method ",-1)),u(H,{modelValue:r.payment_method,"onUpdate:modelValue":d[3]||(d[3]=y=>r.payment_method=y),placeholder:"Select payment method",error:o.payment_method,size:"sm"},{default:p(()=>[(l(!0),i(w,null,T(C.value,y=>(l(),P(B,{value:y.id,key:y.id},{default:p(()=>[k(c(y.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","error"]),e("div",ct,[Z(e("input",{type:"checkbox","onUpdate:modelValue":d[4]||(d[4]=y=>r.agree=y),id:"payment-confirm",class:"rounded border-gray-300 dark:border-gray-600"},null,512),[[re,r.agree]]),d[16]||(d[16]=e("label",{for:"payment-confirm",class:"text-sm text-gray-600 dark:text-gray-400"}," I confirm that payment has been received ",-1))])])):_("",!0),r.action==="void"?(l(),i("div",mt,[d[19]||(d[19]=e("label",{class:"block text-sm font-medium dark:text-gray-200"}," Reason for Voiding (Optional) ",-1)),Z(e("input",{type:"text","onUpdate:modelValue":d[5]||(d[5]=y=>r.void_reason=y),placeholder:"e.g., Customer left without paying",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg text-sm dark:bg-gray-800 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-red-500 focus:border-transparent"},null,512),[[ke,r.void_reason]]),e("div",gt,[Z(e("input",{type:"checkbox","onUpdate:modelValue":d[6]||(d[6]=y=>r.void_agree=y),id:"void-confirm",class:"rounded border-gray-300 dark:border-gray-600"},null,512),[[re,r.void_agree]]),d[18]||(d[18]=e("label",{for:"void-confirm",class:"text-sm text-gray-600 dark:text-gray-400"}," I confirm that I want to void this tab ",-1))])])):_("",!0),e("div",ft,[u(O,{variant:"light",onClick:d[7]||(d[7]=y=>
6h("update:modelValue",!1))},{default:p(()=>[...d[20]||(d[20]=[k(" Cancel ",-1)])]),_:1}),u(O,{disabled:!b.value,loading:N.loading,onClick:V},{default:p(()=>[k(c(r.action==="pay_now"?"Record Payment":r.action==="send_invoice"?"Send Invoice":"Void Tab"),1)]),_:1},8,["disabled","loading"])])])]),_:1})]),_:1},8,["modelValue"]))}}),vt={class:"h-full flex flex-col"},pt={class:"mb-6 flex items-center justify-between"},bt={class:"flex items-center gap-3"},xt={class:"free description"},kt={class:"flex items-center gap-2"},_t={key:0,class:"flex-1 flex flex-col lg:flex-row gap-6"},ht={class:"flex-1 bg-white dark:bg-gray-700/30 rounded-lg border dark:border-gray-600"},$t={key:0,class:"divide-y dark:divide-gray-600"},wt={class:"flex-1"},Ct={class:"font-medium dark:text-gray-100"},It={class:"text-sm text-gray-500 dark:text-gray-400"},Vt={key:0,class:"text-xs text-gray-400 dark:text-gray-500 mt-1"},Tt={class:"flex items-center gap-4"},zt={class:"flex items-center gap-2"},Nt=["onClick","disabled"],jt={class:"w-8 text-center font-medium dark:text-gray-200"},St=["onClick","disabled"],Mt={class:"font-medium dark:text-gray-200 w-24 text-right"},At=["onClick","disabled"],Ot={key:1,class:"p-8 text-center"},Ut={class:"lg:w-80"},Lt={class:"bg-white dark:bg-gray-700/30 rounded-lg border dark:border-gray-600 p-4 sticky top-4"},Bt={class:"space-y-2 mb-4"},Pt={class:"flex justify-between text-sm"},Dt={class:"dark:text-gray-200"},qt={class:"text-gray-500 dark:text-gray-400"},Et={class:"dark:text-gray-200"},Rt={key:1,class:"flex justify-between text-sm"},Ft={class:"dark:text-gray-200"},Yt={key:2,class:"flex justify-between text-sm"},Wt={class:"text-dinesurf-green-600 dark:text-dinesurf-green-400"},Qt={class:"border-t dark:border-gray-600 pt-4 mb-6"},Xt={class:"flex justify-between"},Zt={class:"font-medium dark:text-gray-200"},Gt={class:"font-semibold text-lg text-dinesurf-green-600 dark:text-dinesurf-green-400"},Ht={class:"space-y-2"},Jt={class:"mt-6 pt-4 border-t dark:border-gray-600"},Kt={class:"space-y-1 text-sm"},ea={class:"dark:text-gray-300"},ta={key:0,class:"dark:text-gray-300"},aa={key:1,class:"dark:text-gray-300"},sa={key:1,class:"h-full flex items-center justify-center"},fa=K({__name:"OpenTab",setup(U){const z=oe(),N=_e(),h=he(),{$toast:x}=le(),r=S(()=>Number(N.params.id)),o=j(null),$=j(!1),C=j(!1),b=S(()=>o.value?o.value.table_number?`Table ${o.value.table_number}`:o.value.name?o.value.name:`Order #${o.value.id}`:"Loading..."),V=S(()=>o.value?o.value.items.reduce((n,t)=>n+d(t),0):0),m=S(()=>o.value?Number(o.value.deposit_credit||0):0);function d(n){var a;const t=Number(n.price)*n.quantity,s=((a=n.modifiers)==null?void 0:a.reduce((v,g)=>v+Number(g.option_price),0))||0;return t+s*n.quantity}const{state:y,execute:ee}=M({fire:"immediately",action:async()=>z.order.getOpenTab(r.value),onSuccess:n=>{o.value=n.data},onError:n=>{x.error(n.message||"Unable to fetch tab.")}}),{state:A,execute:D}=M({fire:"on-demand",onError:x.error,action:async(n,t)=>{const s=await z.order.updateTabItem(r.value,n,{quantity:t});return o.value=s.data.order,s}}),{state:F,execute:Y}=M({fire:"on-demand",onError:x.error,action:async n=>{const t=await z.order.removeTabItem(r.value,n);return o.value=t.data.order,x.success("Item removed"),t}}),{state:W,execute:Q}=M({fire:"on-demand",onError:x.error,action:async n=>{const t=await z.order.closeTab(r.value,n);return C.value=!1,n.action==="pay_now"?x.success("Tab closed and payment recorded"):n.action==="send_invoice"?x.success("Tab closed and invoice sent"):x.success("Tab voided successfully"),h.push({name:"dashboard.orders.open-tabs"}),t}});async function q(n,t){if(t<1){E(n);return}await D(n.id,t)}async function E(n){await Y(n.id)}function X(n){o.value=n,$.value=!1,x.success("Items added to tab")}async function R(n){await Q(n)}return(n,t)=>{var s;return l(),i("div",vt,[e("div",pt,[e("div",bt,[e("button",{onClick:t[0]||(t[0]=a=>f(h).push({name:"dashboard.orders.open-tabs"})),class:"p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"},[u(f(Ie),{class:"size-5 dark:text-gray-300"})]),e("div",null,[e("h3",null,c(b.value),1),e("p",xt,c((s=o.value)==null?void 0:s.order_type)+" order",1)])]),e("div",kt,[u(O,{variant:"light",size:"sm",onClick:t[1]||(t[1]=a=>$.value=!0)},{default:p(()=>[u(f(J),{class:"size-4 mr-1"}),t[5]||(t[5]=k(" Add Items ",-1))]),_:1})])]),u(ue,{"loading-class":"h-full flex-1",loading:n.$u.isLoading(f(y))},{default:p(()=>{var a,v;return[o.value?(l(),i("div",_t,[e("div",ht,[t[7]||(t[7]=e("div",{class:"p-4 border-b dark:border-gray-600"},[e("h4",{class:"font-medium dark:text-gray-200"},"Items")],-1)),o.value.items.length?(l(),i("div",$t,[(l(!0),i(w,null,T(o.value.items,g=>(l(),i("div",{key:g.id,class:"p-4 flex items-center justify-between"},[e("div",wt,[e("p",Ct,c(g.name),1),e("p",It,c(n.$u.formatCurrency(Number(g.price)))+" each ",1),g.modifiers&&g.modifiers.length?(l(),i("p",Vt," + "+c(g.modifiers.map(f(Ce)).join(", ")),1)):_("",!0)]),e("div",Tt,[e("div",zt,[e("button",{onClick:()=>q(g,g.quantity-1),disabled:n.$u.isLoading(f(A)),class:"p-1 rounded-md hover:bg-gray-100 dark:hover:bg-gray-600 disabled:opacity-50"},[u(f(ce),{class:"size-4 dark:text-gray-300"})],8,Nt),e("span",jt,c(g.quantity),1),e("button",{onClick:()=>q(g,g.quantity+1),disabled:n.$u.isLoading(f(A)),class:"p-1 rounded-md hover:bg-gray-100 dark:hover:bg-gray-600 disabled:opacity-50"},[u(f(J),{class:"size-4 dark:text-gray-300"})],8,St)]),e("p",Mt,c(n.$u.formatCurrency(d(g))),1),e("button",{onClick:()=>E(g),disabled:n.$u.isLoading(f(F)),class:"p-1 rounded-md text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20 disabled:opacity-50"},[u(f(Ve),{class:"size-4"})],8,At)])]))),128))])):(l(),i("div",Ot,[...t[6]||(t[6]=[e("p",{class:"text-gray-500 dark:text-gray-400"},"No items in this tab",-1)])]))]),e("div",Ut,[e("div",Lt,[t[16]||(t[16]=e("h4",{class:"font-medium dark:text-gray-200 mb-4"},"Summary",-1)),e("div",Bt,[e("div",Pt,[t[8]||(t[8]=e("span",{class:"text-gray-500 dark:text-gray-400"},"Subtotal",-1)),e("span",Dt,c(n.$u.formatCurrency(V.value)),1)]),(v=(a=o.value.transaction)==null?void 0:a.taxes)!=null&&v.length?(l(!0),i(w,{key:0},T(o.value.transaction.taxes,g=>(l(),i("div",{key:g.id,class:"flex justify-between text-sm"},[e("span",qt,c(g.name),1),e("span",Et,c(n.$u.formatCurrency(Number(g.amount))),1)]))),128)):_("",!0),o.value.delivery_price&&Number(o.value.delivery_price)>0?(l(),i("div",Rt,[t[9]||(t[9]=e("span",{class:"text-gray-500 dark:text-gray-400"},"Delivery",-1)),e("span",Ft,c(n.$u.formatCurrency(Number(o.value.delivery_price))),1)])):_("",!0),m.value>0?(l(),i("div",Yt,[t[10]||(t[10]=e("span",{class:"text-gray-500 dark:text-gray-400"},"Deposit Credit",-1)),e("span",Wt,"-"+c(n.$u.formatCurrency(m.value)),1)])):_("",!0)]),e("div",Qt,[e("div",Xt,[e("span",Zt,c(m.value>0?"Balance Due":"Total"),1),e("span",Gt,c(n.$u.formatCurrency(Number(o.value.amount))),1)])]),e("div",Ht,[u(O,{class:"w-full",onClick:t[2]||(t[2]=g=>C.value=!0),disabled:!o.value.items.length},{default:p(()=>[...t[11]||(t[11]=[k(" Close Tab ",-1)])]),_:1},8,["disabled"])]),e("div",Jt,[t[15]||(t[15]=e("p",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2"}," Tab Info ",-1)),e("div",Kt,[e("p",ea,[t[12]||(t[12]=e("span",{class:"text-gray-500 dark:text-gray-400"},"Created:",-1)),k(" "+c(n.$u.formatDate(o.value.created_at,"MMM D, YYYY h:mm a")),1)]),o.value.table_number?(l(),i("p",ta,[t[13]||(t[13]=e("span",{class:"text-gray-500 dark:text-gray-400"},"Table:",-1)),k(" "+c(o.value.table_number),1)])):_("",!0),o.value.name?(l(),i("p",aa,[t[14]||(t[14]=e("span",{class:"text-gray-500 dark:text-gray-400"},"Customer:",-1)),k(" "+c(o.value.name),1)])):_("",!0)])])])])])):(l(),i("div",sa,[...t[17]||(t[17]=[e("p",{class:"text-gray-500 dark:text-gray-400"},"Tab not found",-1)])]))]}),_:1},8,["loading"]),u(rt,{modelValue:$.value,"onUpdate:modelValue":t[3]||(t[3]=a=>$.value=a),"order-id":r.value,onItemsAdded:X},null,8,["modelValue","order-id"]),u(yt,{modelValue:C.value,"onUpdate:modelValue":t[4]||(t[4]=a=>C.value=a),"order-id":r.value,loading:n.$u.isLoading(f(W)),onCloseTab:R},null,8,["modelValue","order-id","loading"])])}}});
6export{fa as default};

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.