@oneclick.dev/cms-core-modules 0.0.122 → 0.0.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ContentEditor-CoJjsV-m.js → ContentEditor-BcIUumah.js} +63 -59
- package/dist/{ContentEditor-DIwqplfB.mjs → ContentEditor-DX1bTQKs.mjs} +27894 -26319
- package/dist/{Detail-Dk8E6_uF.mjs → Detail-B7pe808q.mjs} +15 -14
- package/dist/Detail-BESGmY7z.js +1 -0
- package/dist/{Detail-Cn9Bk0u0.mjs → Detail-B_Q7Qkuz.mjs} +26 -25
- package/dist/Detail-CNiLIEh9.js +1 -0
- package/dist/{Detail-B_scnidb.mjs → Detail-DNxAzeCs.mjs} +35 -34
- package/dist/Detail-t3tOcy3X.js +1 -0
- package/dist/Editor-D4evcdhv.mjs +768 -0
- package/dist/Editor-gLLtuJbY.js +1 -0
- package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-BjKpsqT9.js +1 -0
- package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-D5v5AhLe.mjs +76 -0
- package/dist/Knowledge-B66vxz--.js +1 -0
- package/dist/Knowledge-BnMTTuJ7.mjs +742 -0
- package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-bZidw6RT.mjs → NewReservationDialog.vue_vue_type_script_setup_true_lang-8I_Z9cD_.mjs} +530 -530
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BVE_uURZ.js +1 -0
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BdFa-xNf.mjs +3566 -0
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DzPOadcU.js +925 -0
- package/dist/Overview-BE4uYPx0.mjs +745 -0
- package/dist/Overview-CQRpFhbJ.mjs +286 -0
- package/dist/Overview-CTs7sX4d.js +1 -0
- package/dist/Overview-Cj89XXKN.js +1 -0
- package/dist/Overview-D_c18mbR.mjs +248 -0
- package/dist/Overview-g4Rcj245.js +1 -0
- package/dist/TableCalculationWidget-CkQPrVUd.js +59 -0
- package/dist/TableCalculationWidget-CrqcLGfU.mjs +254 -0
- package/dist/TableDataWidget-7qvC3Egd.js +1 -0
- package/dist/TableDataWidget-DMTSoGRO.mjs +121 -0
- package/dist/TableOverviewCard-AFq-puJs.js +1 -0
- package/dist/TableOverviewCard-Ci0d4o4w.mjs +391 -0
- package/dist/TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs +534 -0
- package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C_Lv-SmJ.js +1 -0
- package/dist/TableRowActionCard-BhdnnPaq.mjs +266 -0
- package/dist/TableRowActionCard-IzB6tNN-.js +1 -0
- package/dist/TableView-6mdrL3zx.js +4 -0
- package/dist/TableView-Du5nOE6R.mjs +8228 -0
- package/dist/Test-CzmOmi53.mjs +447 -0
- package/dist/Test-USDtNFY1.js +1 -0
- package/dist/UserDetail-DpUL3mhk.mjs +1483 -0
- package/dist/UserDetail-KRIfxaYd.js +1 -0
- package/dist/{agenda-BCKDYOeF.mjs → agenda-DWdbWUbb.mjs} +10 -9
- package/dist/agenda-r9Gl85GL.js +1 -0
- package/dist/cms-core-modules.css +1 -1
- package/dist/dateRangePresets-B-l5b_wR.mjs +48 -0
- package/dist/dateRangePresets-CPWqst_x.js +1 -0
- package/dist/fuse-Deb-Iq39.mjs +1473 -0
- package/dist/fuse-_CGUd5Zq.js +1 -0
- package/dist/{index-DU3Ib10Z.mjs → index-B_qaX29C.mjs} +7 -6
- package/dist/index-CQuN5rKx.js +1 -0
- package/dist/index-CnDGeInm.js +1 -0
- package/dist/index-CqDTc5Ig.mjs +20 -0
- package/dist/index-CyvvAdt4.js +1 -0
- package/dist/index-DIRD7t5_.mjs +20 -0
- package/dist/index-OJuBYR60.mjs +57 -0
- package/dist/{index-Bk3yLv_G.js → index-yHLT6gaZ.js} +3 -3
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +671 -118
- package/dist/{orders-CElKNc1v.mjs → orders-BfTLIm7U.mjs} +10 -9
- package/dist/orders-DUa2PVoa.js +1 -0
- package/dist/reports-ChCsd1Gk.mjs +1107 -0
- package/dist/reports-DmJPm8uP.js +158 -0
- package/dist/row-item-C1dUyimV.mjs +204 -0
- package/dist/row-item-Cyo3m3MZ.js +1 -0
- package/dist/server-handlers.cjs.js +1 -1
- package/dist/server-handlers.mjs +1764 -605
- package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +9 -3
- package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +2 -0
- package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +4 -2
- package/dist/src/appointments/components/edit/dashboard/BookingsList.vue.d.ts +9 -3
- package/dist/src/appointments/pages/edit/orders.vue.d.ts +9 -3
- package/dist/src/appointments/pages/edit/reports.vue.d.ts +229 -1
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.d.ts +1 -1
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.d.ts +7 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.d.ts +7 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/resizeHistory.d.ts +9 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +3 -1
- package/dist/src/firebaseAuthManager/components/DeleteUserDialog.vue.d.ts +25 -0
- package/dist/src/firebaseAuthManager/components/ReasonActionDialog.vue.d.ts +23 -0
- package/dist/src/firebaseAuthManager/components/UserStatusBadge.vue.d.ts +5 -0
- package/dist/src/firebaseAuthManager/config.d.ts +151 -0
- package/dist/src/firebaseAuthManager/index.d.ts +163 -0
- package/dist/src/firebaseAuthManager/index.vue.d.ts +14 -0
- package/dist/src/firebaseAuthManager/metadata.d.ts +2 -0
- package/dist/src/firebaseAuthManager/pages/Overview.vue.d.ts +2 -0
- package/dist/src/firebaseAuthManager/pages/UserDetail.vue.d.ts +2 -0
- package/dist/src/firebaseAuthManager/permissions.d.ts +5 -0
- package/dist/src/firebaseAuthManager/routes.d.ts +5 -0
- package/dist/src/firebaseAuthManager/server.d.ts +162 -0
- package/dist/src/firebaseAuthManager/types.d.ts +84 -0
- package/dist/src/formBuilder/components/FormPreviewDialog.vue.d.ts +12 -0
- package/dist/src/formBuilder/components/FormStatusBadge.vue.d.ts +9 -0
- package/dist/src/formBuilder/config.d.ts +31 -0
- package/dist/src/formBuilder/index.d.ts +44 -0
- package/dist/src/formBuilder/index.vue.d.ts +14 -0
- package/dist/src/formBuilder/lib/forms.d.ts +11 -0
- package/dist/src/formBuilder/metadata.d.ts +2 -0
- package/dist/src/formBuilder/pages/Editor.vue.d.ts +2 -0
- package/dist/src/formBuilder/pages/Overview.vue.d.ts +2 -0
- package/dist/src/formBuilder/permissions.d.ts +5 -0
- package/dist/src/formBuilder/routes.d.ts +5 -0
- package/dist/src/formBuilder/server.d.ts +87 -0
- package/dist/src/formBuilder/tools.d.ts +1 -0
- package/dist/src/formBuilder/types.d.ts +46 -0
- package/dist/src/helpbot/composables/useHelpbotApi.d.ts +18 -0
- package/dist/src/helpbot/config.d.ts +17 -0
- package/dist/src/helpbot/index.d.ts +29 -0
- package/dist/src/helpbot/index.vue.d.ts +2 -0
- package/dist/src/helpbot/metadata.d.ts +2 -0
- package/dist/src/helpbot/pages/Knowledge.vue.d.ts +4 -0
- package/dist/src/helpbot/pages/Overview.vue.d.ts +2 -0
- package/dist/src/helpbot/pages/Test.vue.d.ts +4 -0
- package/dist/src/helpbot/permissions.d.ts +5 -0
- package/dist/src/helpbot/routes.d.ts +5 -0
- package/dist/src/helpbot/types.d.ts +42 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/server-handlers.d.ts +2 -0
- package/dist/src/table/chat-components/TableCalculationWidget.vue.d.ts +15 -0
- package/dist/src/table/chat-components/TableDataWidget.vue.d.ts +15 -0
- package/dist/src/table/chat-components/TableOverviewCard.vue.d.ts +61 -0
- package/dist/src/table/chat-components/TableResultView.vue.d.ts +48 -0
- package/dist/src/table/chat-components/TableRowActionCard.vue.d.ts +15 -0
- package/dist/src/table/components/filters/DialogTableFilterOptionItem.vue.d.ts +16 -0
- package/dist/src/table/components/filters/NumberComparisonFilter.vue.d.ts +12 -0
- package/dist/src/table/components/filters/NumberComparisonFilterSettings.vue.d.ts +12 -0
- package/dist/src/table/components/filters/NumberRangeFilter.vue.d.ts +12 -0
- package/dist/src/table/components/filters/NumberRangeFilterSettings.vue.d.ts +12 -0
- package/dist/src/table/components/filters/filter-utils.d.ts +14 -0
- package/dist/src/table/composables/useTableAgentTools.d.ts +33 -0
- package/dist/src/table/index.d.ts +339 -0
- package/dist/src/table/tool-sandbox.d.ts +13 -0
- package/dist/src/table/tool-utils.d.ts +11 -0
- package/dist/src/table/tools.d.ts +333 -1
- package/dist/src/table/types.d.ts +79 -0
- package/dist/tool-sandbox-DdkMLkDK.mjs +182 -0
- package/dist/tool-sandbox-DoF1PsyS.js +115 -0
- package/dist/types-9N-DKxNj.mjs +250 -0
- package/dist/types-BMraG1kN.js +1 -0
- package/dist/types-Cem0vPo_.js +1 -0
- package/dist/types-ibC3-e1N.mjs +2630 -0
- package/dist/useHelpbotApi-BIIungOh.js +1 -0
- package/dist/useHelpbotApi-HC9JSiSn.mjs +229 -0
- package/dist/useTableAgentTools-D5mzGf3A.js +1 -0
- package/dist/useTableAgentTools-DcN3kYRL.mjs +131 -0
- package/dist/vee-validate-zod-BQElPD0m.js +1 -0
- package/dist/vee-validate-zod-CN16K2x9.mjs +1780 -0
- package/package.json +17 -17
- package/src/formBuilder/tools.ts +1 -0
- package/src/table/tools.ts +304 -1
- package/dist/Detail-BCUUNWvp.js +0 -1
- package/dist/Detail-DGg_xXZc.js +0 -1
- package/dist/Detail-Sc2qZdxj.js +0 -1
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BdZbcubW.js +0 -1
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js +0 -925
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DwAUYR8p.mjs +0 -5021
- package/dist/TableView-Ctnep-Qu.mjs +0 -6247
- package/dist/TableView-DJqyJL9L.js +0 -4
- package/dist/agenda-B54F8cEr.js +0 -1
- package/dist/orders-BMosTk6r.js +0 -1
- package/dist/reports-BQT_GZzU.js +0 -158
- package/dist/reports-DksZCTOw.mjs +0 -837
- package/dist/vee-validate-zod-SjDT8X35.mjs +0 -4404
- package/dist/vee-validate-zod-VCmLnrtQ.js +0 -1
package/dist/orders-BMosTk6r.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),g=require("@oneclick.dev/cms-kit"),c=require("lucide-vue-next"),x=require("./OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js"),oe=require("./EditLayout.vue_vue_type_script_setup_true_lang-D1b9_iiN.js"),ne=require("./_plugin-vue_export-helper-BHFhmbuH.js"),ae={class:"space-y-6"},re={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},se={class:"text-2xl font-semibold tracking-tight flex items-center gap-2"},le={class:"flex gap-1 border rounded-lg p-1 w-fit bg-card"},ce={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},de={class:"flex items-center gap-1"},ie={class:"flex items-center gap-1"},ue={class:"flex items-center gap-2"},me={class:"flex items-center gap-1"},pe={class:"mt-2 text-sm text-muted-foreground"},fe={class:"orders-date-trigger"},xe={class:"relative mb-4"},ve={key:0,class:"mb-3 text-sm text-muted-foreground"},ge={key:1,class:"flex items-center justify-center py-8"},ke={key:2,class:"text-center py-8 text-muted-foreground"},_e={key:3,class:"text-center py-8 text-muted-foreground"},ye={key:4,class:"-mx-6 @5xl:mx-0 @5xl:space-y-2"},he=["onClick"],Ne={class:"flex items-start justify-between"},Ve={class:"flex-1"},be={class:"font-medium"},we={class:"text-sm text-muted-foreground"},Ee={class:"text-sm text-muted-foreground"},De={class:"flex items-center gap-4 flex-wrap mt-1"},Ce={class:"flex items-center gap-2 text-xs text-muted-foreground"},Be={class:"flex items-center gap-2 text-xs text-muted-foreground"},Se={key:0,class:"flex items-center gap-1 text-xs text-muted-foreground"},Ie={class:"flex items-center gap-2 mt-1 text-xs text-muted-foreground"},Pe={class:"text-right"},Ae={key:0,class:"inline-block px-2 py-1 text-xs rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"},Te={key:1,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},ze={key:2,class:"inline-block px-2 py-1 text-xs rounded-full bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},Oe={key:3,class:"inline-block px-2 py-1 text-xs rounded-full bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},je={key:4,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},Re={key:5,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},Fe={key:6,class:"inline-block px-2 py-1 text-xs rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"},Le={key:7,class:"text-sm font-medium mt-1"},Me={key:1},Ue=["onClick"],qe={class:"flex items-start justify-between"},$e={class:"flex-1"},He={class:"flex items-center flex-wrap gap-x-2"},Ke={class:"font-medium"},Qe={class:"text-sm text-muted-foreground"},Xe={class:"text-sm text-muted-foreground"},Ye={class:"flex items-center gap-2 mt-1 text-xs text-muted-foreground"},Ge={class:"text-right"},Je={key:0,class:"inline-block px-2 py-1 text-xs rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"},We={key:1,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},Ze={key:2,class:"inline-block px-2 py-1 text-xs rounded-full bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},et={class:"text-sm font-medium mt-1"},tt=["onClick"],ot={class:"flex items-center justify-between"},nt={class:"flex items-center gap-4 flex-wrap"},at={class:"flex items-center gap-2 text-xs text-muted-foreground"},rt={class:"flex items-center gap-2 text-xs text-muted-foreground"},st={key:0,class:"flex items-center gap-1 text-xs text-muted-foreground"},lt={key:0,class:"text-right flex items-center gap-2"},ct={key:0,class:"inline-block px-2 py-1 text-xs rounded-full bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},dt={key:1,class:"inline-block px-2 py-1 text-xs rounded-full bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},it={key:2,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},ut={key:3,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},mt={key:4,class:"inline-block px-2 py-1 text-xs rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"},pt={key:5,class:"text-sm font-medium"},ft=e.defineComponent({__name:"orders",setup(vt){const P=g.useRoute();g.useRouter();const A=g.useOverlayParams(),{params:V}=g.useModuleRoute(),{config:h}=g.useModule(),b=g.useFirebaseIntegration(h.project),T=e.computed(()=>V.value?.id??V.id??""),{metadataSchema:w}=x.useAgendaMetadataSchema(T),u=e.ref([]),k=e.ref([]),_=e.ref(!0),E=e.ref(null),p=e.ref(""),y=e.ref(null),D=e.ref(null),v=e.ref("confirmed"),z=new Date,d=e.ref(new Date),O=e.ref(null),q=e.computed(()=>({date:j(d.value),resource:null}));e.provide("event",q);const C=e.computed({get:()=>j(d.value),set:o=>{if(!o){d.value=new Date;return}d.value=new Date(`${o}T00:00:00`)}}),$=()=>{const o=O.value;if(o){if(typeof o.showPicker=="function"){o.showPicker();return}o.focus(),o.click()}},H=e.computed(()=>d.value.toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"})),K=()=>{const o=new Date(d.value);o.setDate(o.getDate()-1),d.value=o},Q=()=>{const o=new Date(d.value);o.setDate(o.getDate()+1),o<=z&&(d.value=o)},X=e.computed(()=>{const o=new Date(d.value);return o.setDate(o.getDate()+1),o<=z}),Y=()=>{d.value=new Date},j=o=>{const t=o.getFullYear(),a=String(o.getMonth()+1).padStart(2,"0"),s=String(o.getDate()).padStart(2,"0");return`${t}-${a}-${s}`},R=o=>o?new Date(o).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):"",F=o=>o?new Date(o).toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"}):"",L=(o,t)=>{const a=k.value.find(i=>i.id===t.resourceId),s=o.id||o.orderId||t.orderId||"";return{customerInfo:o.customerInfo,amountDue:o.amountDue,amountPaid:o.amountPaid,status:o.status,reservationStatus:t.status,subtotal:o.subtotal,total:o.total,discount:o.discount,id:s,res_id:t.id,resourceId:t.resourceId,spots:t.spots,date:t.date,createdAt:o.createdAt,startTime:t.timeslot?.startTime,endTime:t.timeslot?.endTime,reservationPrice:t.totalPrice,reservationBasePrice:t.basePrice,reservationAddOnsPrice:t.addOnsPrice,pricingOptionId:t.pricingOptionId,pricingOption:t.pricingOption,resourceName:a?.name,resourceColor:a?.color,metadata:o.metadata||{},reservationMetadata:t.metadata||{},refundStatus:t.refundStatus,refundedAt:t.refundedAt,refundedAmount:t.refundedAmount,refunds:Array.isArray(t.refunds)?t.refunds:[],adjustments:o.adjustments||[],reservationAdjustments:t.adjustments||[]}},B=async()=>{await e.nextTick(),await new Promise(o=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>o());return}o()})},S=e.computed(()=>p.value.trim()?new x.Fuse(u.value,{keys:["customerInfo.firstName","customerInfo.lastName","customerInfo.email","customerInfo.phone","resourceName"],threshold:.3,ignoreLocation:!0}).search(p.value).map(t=>t.item):u.value),M=e.computed(()=>{const o=new Map;for(const t of S.value){o.has(t.id)||o.set(t.id,{id:t.id,customerInfo:t.customerInfo,status:t.status,createdAt:t.createdAt,metadata:t.metadata||{},reservations:[],adjustments:t.adjustments||[],totalPrice:0,totalSpots:0});const a=o.get(t.id);a.reservations.push(t),a.totalPrice=typeof t.total=="number"?t.total:a.totalPrice+(t.reservationPrice||0),a.totalSpots+=t.spots||0}return Array.from(o.values())}),N=e.computed(()=>(console.log("orderssss",u.value),{spots:u.value.reduce((o,t)=>o+(t.spots||0),0),bookings:u.value.length,revenue:M.value.reduce((o,t)=>o+(t.totalPrice||0),0)})),G=()=>{p.value=""},J=async()=>{try{const o=await b.get(h.agendaCollection,T.value);E.value=o,k.value=o?.resources?.filter(t=>t.isActive)||[]}catch(o){console.error("Error loading resources:",o),k.value=[]}},f=async()=>{_.value=!0,u.value=[];try{const o=V.value.id,t=new Date(d.value);t.setHours(0,0,0,0);const a=new Date(d.value);a.setHours(23,59,59,999);const s=await b.find(h.reservationsCollection,{filters:[{field:"agendaId",operator:"==",value:o},{field:"createdAt",operator:">=",value:t.toISOString()},{field:"createdAt",operator:"<=",value:a.toISOString()},{field:"status",operator:"==",value:v.value}]});let i=[];s.forEach(l=>{(l.reservations||[]).forEach(I=>{i.push(L(l,I))})}),u.value=i.sort((l,m)=>(m.createdAt||"").localeCompare(l.createdAt||""))}catch(o){console.error("Error loading orders:",o),u.value=[]}finally{_.value=!1}},W=async()=>{await J(),await f()},U=async(o,t)=>{const a=await b.get(h.reservationsCollection,o);if(!a)return;const s={...a,id:a.id||o},i=(s.reservations||[]).map(l=>L(s,l));if(t){const l=i.find(m=>m.res_id===t);if(!l)return;await B(),y.value?.openDialog(l);return}i.length&&(await B(),D.value?.openDialog({id:s.id,customerInfo:s.customerInfo,status:s.status,createdAt:s.createdAt,metadata:s.metadata||{},reservations:i,adjustments:s.adjustments||[],totalPrice:typeof s.total=="number"?s.total:i.reduce((l,m)=>l+(m.reservationPrice||0),0),totalSpots:i.reduce((l,m)=>l+(m.spots||0),0)}))},Z=async o=>{await B(),y.value?.openDialog(o)};return W(),e.onMounted(async()=>{const o=A.value.orderId||P.query.orderId,t=A.value.reservationId||P.query.reservationId;if(o){const a=new URL(window.location.href);a.searchParams.delete("orderId"),a.searchParams.delete("reservationId"),window.history.replaceState(window.history.state,"",a.toString()),await U(o,t)}}),e.watch(d,()=>{f()}),e.watch(v,()=>{f()}),(o,t)=>{const a=e.resolveComponent("Button"),s=e.resolveComponent("Badge"),i=e.resolveComponent("CardTitle"),l=e.resolveComponent("CardDescription"),m=e.resolveComponent("CardHeader"),I=e.resolveComponent("Input"),ee=e.resolveComponent("CardContent"),te=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(oe._sfc_main,null,{default:e.withCtx(()=>[e.createElementVNode("div",ae,[e.createElementVNode("div",re,[e.createElementVNode("div",null,[e.createElementVNode("h1",se,[e.createVNode(e.unref(c.ShoppingBag),{class:"size-6"}),t[4]||(t[4]=e.createTextVNode(" Orders ",-1))]),t[5]||(t[5]=e.createElementVNode("p",{class:"text-muted-foreground text-sm mt-1"}," View orders by when they were placed ",-1))])]),e.createElementVNode("div",le,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["confirmed","pending","cancelled"],n=>e.createVNode(a,{key:n,variant:e.unref(v)===n?"default":"ghost",size:"sm",class:"capitalize",onClick:r=>v.value=n},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n),1)]),_:2},1032,["variant","onClick"])),64))]),e.createVNode(te,{class:"-mx-6 rounded-none border-x-0 @5xl:mx-0 @5xl:rounded-xl @5xl:border-x-[1px]"},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createElementVNode("div",ce,[e.createElementVNode("div",null,[e.createVNode(i,{class:"flex items-center gap-2"},{default:e.withCtx(()=>[t[6]||(t[6]=e.createTextVNode(" Orders received ",-1)),e.unref(N).bookings>0?(e.openBlock(),e.createBlock(s,{key:0,variant:"secondary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(N).bookings),1)]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(l,{class:"flex items-center gap-4 mt-1"},{default:e.withCtx(()=>[e.createElementVNode("span",de,[e.createVNode(e.unref(c.Users),{size:14}),e.createTextVNode(" "+e.toDisplayString(e.unref(N).spots)+" spots ",1)]),e.createElementVNode("span",ie," €"+e.toDisplayString(e.unref(N).revenue.toFixed(2))+e.toDisplayString(e.unref(v)==="pending"?" pending ":e.unref(v)==="cancelled"?" cancelled ":" ")+"revenue ",1)]),_:1})]),e.createElementVNode("div",ue,[e.createElementVNode("div",me,[e.createVNode(a,{variant:"outline",size:"icon",class:"size-8",onClick:K},{default:e.withCtx(()=>[e.createVNode(e.unref(c.ChevronLeft),{size:16})]),_:1}),e.createVNode(a,{variant:"outline",size:"sm",class:"h-8 px-3 text-xs",onClick:Y},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Today ",-1)])]),_:1}),e.createVNode(a,{variant:"outline",size:"icon",class:"size-8",onClick:Q,disabled:!e.unref(X)},{default:e.withCtx(()=>[e.createVNode(e.unref(c.ChevronRight),{size:16})]),_:1},8,["disabled"])]),e.createVNode(a,{variant:"outline",size:"icon",onClick:f,disabled:e.unref(_)},{default:e.withCtx(()=>[e.createVNode(e.unref(c.RefreshCw),{size:16,class:e.normalizeClass({"animate-spin":e.unref(_)})},null,8,["class"])]),_:1},8,["disabled"])])]),e.createElementVNode("div",pe,[e.createElementVNode("div",fe,[e.createVNode(a,{type:"button",variant:"outline",onClick:$},{default:e.withCtx(()=>[e.createVNode(e.unref(c.CalendarIcon),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(e.unref(H)),1)]),_:1}),e.withDirectives(e.createElementVNode("input",{ref_key:"dateInputRef",ref:O,"onUpdate:modelValue":t[0]||(t[0]=n=>e.isRef(C)?C.value=n:null),type:"date",class:"orders-date-picker","aria-label":"Select order date"},null,512),[[e.vModelText,e.unref(C)]])])])]),_:1}),e.createVNode(ee,null,{default:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(c.Search),{size:16,class:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),e.createVNode(I,{modelValue:e.unref(p),"onUpdate:modelValue":t[1]||(t[1]=n=>e.isRef(p)?p.value=n:null),placeholder:"Search by name, email, or phone...",class:"pl-9 pr-9"},null,8,["modelValue"]),e.unref(p)?(e.openBlock(),e.createBlock(a,{key:0,variant:"ghost",size:"icon",class:"absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7",onClick:G},{default:e.withCtx(()=>[e.createVNode(e.unref(c.X),{size:14})]),_:1})):e.createCommentVNode("",!0)]),e.unref(p)?(e.openBlock(),e.createElementBlock("div",ve," Showing "+e.toDisplayString(e.unref(S).length)+" of "+e.toDisplayString(e.unref(u).length)+" orders ",1)):e.createCommentVNode("",!0),e.unref(_)?(e.openBlock(),e.createElementBlock("div",ge,[...t[8]||(t[8]=[e.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"},null,-1)])])):e.unref(u).length===0?(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(e.unref(c.ShoppingBag),{class:"size-12 mx-auto mb-3 opacity-50"}),t[9]||(t[9]=e.createElementVNode("p",null,"No orders received on this day",-1))])):e.unref(S).length===0?(e.openBlock(),e.createElementBlock("div",_e," No orders match your search ")):(e.openBlock(),e.createElementBlock("div",ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M),n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,class:"border-t last:border-b @5xl:border @5xl:rounded-lg overflow-hidden @5xl:shadow-sm"},[n.reservations.length===1?(e.openBlock(),e.createElementBlock("div",{key:0,class:"px-6 py-3 @5xl:px-3 hover:bg-muted/50 transition-colors cursor-pointer",onClick:r=>e.unref(y)?.openDialog(n.reservations[0])},[e.createElementVNode("div",Ne,[e.createElementVNode("div",Ve,[e.createElementVNode("div",be,e.toDisplayString(n.customerInfo?.firstName||n.customerInfo?.lastName?[n.customerInfo?.firstName,n.customerInfo?.lastName].filter(Boolean).join(" "):"Unknown Customer"),1),e.createElementVNode("div",we,e.toDisplayString(n.customerInfo?.email),1),e.createElementVNode("div",Ee,e.toDisplayString(n.customerInfo?.phone),1),e.createElementVNode("div",De,[e.createElementVNode("div",Ce,[e.createVNode(e.unref(c.CalendarIcon),{size:12}),e.createElementVNode("span",null,e.toDisplayString(F(n.reservations[0].date))+" · "+e.toDisplayString(n.reservations[0].startTime)+" - "+e.toDisplayString(n.reservations[0].endTime),1)]),e.createElementVNode("div",Be,[e.createVNode(e.unref(c.Users),{size:12}),e.createElementVNode("span",null,e.toDisplayString(n.reservations[0].spots)+" spots",1)]),n.reservations[0].resourceName?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",{class:"w-3 h-3 rounded-full",style:e.normalizeStyle({backgroundColor:n.reservations[0].resourceColor||"#6b7280"})},null,4),e.createElementVNode("span",null,e.toDisplayString(n.reservations[0].resourceName),1)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ie,[e.createVNode(e.unref(c.Clock),{size:12}),e.createElementVNode("span",null,"Ordered at "+e.toDisplayString(R(n.createdAt)),1)]),e.createVNode(x._sfc_main,{metadata:{...n.reservations[0].metadata,...n.reservations[0].reservationMetadata},schema:e.unref(w),"display-filter":["highlight","badge"],compact:"",class:"mt-1"},null,8,["metadata","schema"])]),e.createElementVNode("div",Pe,[n.reservations[0].status==="pending"?(e.openBlock(),e.createElementBlock("span",Ae,"Pending")):n.reservations[0].status==="cancelled"?(e.openBlock(),e.createElementBlock("span",Te,"Cancelled")):n.reservations[0].reservationStatus==="needs_approval"?(e.openBlock(),e.createElementBlock("span",ze,"Needs Approval")):n.reservations[0].reservationStatus==="approved"?(e.openBlock(),e.createElementBlock("span",Oe,"Approved")):n.reservations[0].reservationStatus==="cancelled"?(e.openBlock(),e.createElementBlock("span",je,"Cancelled")):n.reservations[0].reservationStatus==="rejected"?(e.openBlock(),e.createElementBlock("span",Re,"Rejected")):(e.openBlock(),e.createElementBlock("span",Fe,"Pending")),n.reservations[0].reservationPrice||n.reservations[0].reservationPrice===0?(e.openBlock(),e.createElementBlock("div",Le," €"+e.toDisplayString(n.totalPrice.toFixed(2)),1)):e.createCommentVNode("",!0)])])],8,he)):(e.openBlock(),e.createElementBlock("div",Me,[e.createElementVNode("div",{class:"px-6 py-3 @5xl:px-3 bg-muted/30 hover:bg-muted/50 transition-colors cursor-pointer",onClick:r=>e.unref(D)?.openDialog(n)},[e.createElementVNode("div",qe,[e.createElementVNode("div",$e,[e.createElementVNode("div",He,[e.createElementVNode("div",Ke,e.toDisplayString(n.customerInfo?.firstName||n.customerInfo?.lastName?[n.customerInfo?.firstName,n.customerInfo?.lastName].filter(Boolean).join(" "):"Unknown Customer"),1),e.createVNode(s,{variant:"secondary",class:"text-xs whitespace-nowrap"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.reservations.length)+" reservations ",1)]),_:2},1024)]),e.createElementVNode("div",Qe,e.toDisplayString(n.customerInfo?.email),1),e.createElementVNode("div",Xe,e.toDisplayString(n.customerInfo?.phone),1),e.createElementVNode("div",Ye,[e.createVNode(e.unref(c.Clock),{size:12}),e.createElementVNode("span",null,"Ordered at "+e.toDisplayString(R(n.createdAt)),1)]),e.createVNode(x._sfc_main,{metadata:n.metadata,schema:e.unref(w),"display-filter":["highlight","badge"],compact:"",class:"mt-1"},null,8,["metadata","schema"])]),e.createElementVNode("div",Ge,[n.status==="pending"?(e.openBlock(),e.createElementBlock("span",Je,"Pending")):n.status==="cancelled"?(e.openBlock(),e.createElementBlock("span",We,"Cancelled")):(e.openBlock(),e.createElementBlock("span",Ze,"Confirmed")),e.createElementVNode("div",et," €"+e.toDisplayString(n.totalPrice.toFixed(2)),1)])])],8,Ue),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.reservations,r=>(e.openBlock(),e.createElementBlock("div",{key:r.res_id,class:"px-6 py-3 @5xl:px-3 border-t bg-muted/50 dark:bg-transparent dark:hover:bg-muted/50 transition-colors cursor-pointer",onClick:gt=>e.unref(y)?.openDialog(r)},[e.createElementVNode("div",ot,[e.createElementVNode("div",nt,[e.createElementVNode("div",at,[e.createVNode(e.unref(c.CalendarIcon),{size:12}),e.createElementVNode("span",null,e.toDisplayString(F(r.date))+" · "+e.toDisplayString(r.startTime)+" - "+e.toDisplayString(r.endTime),1)]),e.createElementVNode("div",rt,[e.createVNode(e.unref(c.Users),{size:12}),e.createElementVNode("span",null,e.toDisplayString(r.spots)+" spots",1)]),r.resourceName?(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",{class:"w-3 h-3 rounded-full",style:e.normalizeStyle({backgroundColor:r.resourceColor||"#6b7280"})},null,4),e.createElementVNode("span",null,e.toDisplayString(r.resourceName),1)])):e.createCommentVNode("",!0)]),r.status==="confirmed"?(e.openBlock(),e.createElementBlock("div",lt,[r.reservationStatus==="needs_approval"?(e.openBlock(),e.createElementBlock("span",ct,"Needs Approval")):r.reservationStatus==="approved"?(e.openBlock(),e.createElementBlock("span",dt,"Approved")):r.reservationStatus==="cancelled"?(e.openBlock(),e.createElementBlock("span",it,"Cancelled")):r.reservationStatus==="rejected"?(e.openBlock(),e.createElementBlock("span",ut,"Rejected")):(e.openBlock(),e.createElementBlock("span",mt,"Pending")),r.reservationPrice||r.reservationPrice===0?(e.openBlock(),e.createElementBlock("div",pt," €"+e.toDisplayString(r.reservationPrice.toFixed(2)),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createVNode(x._sfc_main,{metadata:r.reservationMetadata,schema:e.unref(w),"display-filter":["highlight","badge"],compact:"",class:"mt-1"},null,8,["metadata","schema"])],8,tt))),128))]))]))),128))]))]),_:1})]),_:1})])]),_:1}),e.createVNode(x._sfc_main$1,{ref_key:"reservationDetailDialog",ref:y,"agenda-data":e.unref(E),resources:e.unref(k),"show-order-link":"",onCancelled:f,onConfirmed:f,onRejected:f,onTransferred:f,onOpenOrder:t[2]||(t[2]=n=>U(n))},null,8,["agenda-data","resources"]),e.createVNode(x._sfc_main$2,{ref_key:"orderDetailDialog",ref:D,"agenda-data":e.unref(E),resources:e.unref(k),onOpenReservation:t[3]||(t[3]=n=>Z(n))},null,8,["agenda-data","resources"])],64)}}}),xt=ne._export_sfc(ft,[["__scopeId","data-v-5178678e"]]);exports.default=xt;
|
package/dist/reports-BQT_GZzU.js
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),A=require("@oneclick.dev/cms-kit"),V=require("lucide-vue-next"),se=require("./EditLayout.vue_vue_type_script_setup_true_lang-D1b9_iiN.js"),ae={class:"space-y-6"},de={class:"flex flex-col gap-4 @3xl:flex-row @3xl:items-start @3xl:justify-between"},le={class:"text-2xl font-semibold tracking-tight flex items-center gap-2"},ue={class:"flex flex-col gap-2 sm:flex-row sm:items-center"},ie={class:"grid grid-cols-1 gap-3 @xl:grid-cols-3 md:items-end"},ce={class:"grid gap-1.5"},me={class:"grid gap-1.5"},fe={key:0,class:"text-sm text-destructive"},pe={class:"flex flex-wrap gap-2"},xe={key:0,class:"flex items-center justify-center py-12"},ve={key:1,class:"text-center py-12 text-muted-foreground"},ge={class:"grid grid-cols-1 gap-4 @3xl:grid-cols-2 @7xl:grid-cols-4"},Ne={class:"text-2xl font-semibold"},Ve={class:"text-xs text-muted-foreground mt-1"},be={class:"text-2xl font-semibold"},he={class:"text-xs text-muted-foreground mt-1"},Ce={class:"text-2xl font-semibold"},ye={class:"text-xs text-muted-foreground mt-1"},we={class:"text-2xl font-semibold"},_e={class:"text-xs text-muted-foreground mt-1"},Ee={class:"grid grid-cols-1 gap-4 @5xl:grid-cols-2"},Re={class:"flex items-center justify-between gap-4"},De={class:"font-medium"},Se={class:"flex items-center justify-between gap-4"},Te={class:"font-medium text-destructive"},ke={class:"flex items-center justify-between gap-4"},$e={class:"font-semibold"},Be={class:"flex items-center justify-between gap-4"},Ae={class:"font-medium"},Oe={class:"flex items-center justify-between gap-4"},je={class:"font-medium"},ze={class:"flex items-center justify-between gap-4"},Me={class:"font-medium"},Fe={class:"flex items-center justify-between gap-4"},Ue={class:"font-medium"},Le={class:"flex items-center justify-between gap-4"},Pe={class:"font-medium"},Ie={class:"flex items-center justify-between gap-4"},qe={class:"font-medium"},Ye={class:"flex items-center gap-2 text-sm font-medium mb-3"},He={class:"space-y-2 text-sm"},Ge={class:"text-muted-foreground"},Qe={class:"font-medium"},Ke={class:"flex items-center gap-2 text-sm font-medium mb-3"},Je={class:"space-y-2 text-sm"},We={class:"text-muted-foreground"},Xe={class:"font-medium"},Ze={class:"overflow-x-auto"},et=e.defineComponent({__name:"reports",setup(tt){const{params:O}=A.useModuleRoute(),{config:j}=A.useModule(),H=A.useFirebaseIntegration(j.project),G=e.computed(()=>O.value?.id??O.id??""),y=e.ref(!1),N=e.ref([]),h=o=>{const t=o.getFullYear(),n=String(o.getMonth()+1).padStart(2,"0"),s=String(o.getDate()).padStart(2,"0");return`${t}-${n}-${s}`},$=o=>{const t=Math.floor(o.getMonth()/3)*3;return new Date(o.getFullYear(),t,1)},Q=o=>{const t=Math.floor(o.getMonth()/3)*3;return new Date(o.getFullYear(),t+3,0)},z=new Date,x=e.ref(h($(z))),v=e.ref(h(z)),_=e.computed(()=>!x.value||!v.value?"Select a start and end date.":x.value>v.value?"Start date must be before end date.":""),K=()=>{const o=new Date(`${x.value}T00:00:00`),t=new Date(`${v.value}T23:59:59.999`);return{start:o,end:t}},M=e.computed(()=>{if(!x.value||!v.value)return"";const o=new Date(`${x.value}T00:00:00`),t=new Date(`${v.value}T00:00:00`);return`${o.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})} - ${t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}`}),J=()=>{const o=new Date;x.value=h($(o)),v.value=h(o)},W=()=>{const o=new Date,t=new Date(o.getFullYear(),Math.floor(o.getMonth()/3)*3-1,1);x.value=h($(t)),v.value=h(Q(t))},X=()=>{const o=new Date;x.value=h(new Date(o.getFullYear(),0,1)),v.value=h(o)},C=o=>{const t=Number(o);return Number.isFinite(t)?t:0},B=o=>{if(!o)return null;if(o instanceof Date)return o;if(typeof o=="string"||typeof o=="number"){const t=new Date(o);return Number.isNaN(t.getTime())?null:t}return typeof o.toDate=="function"?o.toDate():null},w=o=>typeof o.total=="number"?o.total:(o.reservations||[]).reduce((t,n)=>t+C(n.totalPrice),0),Z=o=>typeof o.amountPaid=="number"?o.amountPaid:w(o),F=o=>o.status==="confirmed",E=e.computed(()=>N.value.flatMap(o=>{const t=o.id,n=o.status||"unknown",s=w(o);return(o.reservations||[]).map(c=>({...c,orderId:t,orderStatus:n,orderCreatedAt:o.createdAt,orderTotal:s,orderAmountPaid:o.amountPaid}))})),U=o=>Array.isArray(o.refunds)?o.refunds:[],L=o=>{const t=U(o);return t.length>0?t.reduce((n,s)=>n+C(s.amount),0):C(o.refundedAmount)},ee=o=>{const t=U(o);return t.length>0?t.length:!!(o.refundStatus||o.refundedAt||C(o.refundedAmount)>0)?1:0},R=e.computed(()=>N.value.filter(F)),r=e.computed(()=>{const o=R.value.reduce((d,f)=>d+w(f),0),t=R.value.reduce((d,f)=>d+Z(f),0),n=E.value.filter(d=>d.orderStatus==="confirmed").length,s=N.value.filter(d=>d.status==="pending").reduce((d,f)=>d+w(f),0),c=N.value.filter(d=>d.status==="cancelled").reduce((d,f)=>d+w(f),0),m=E.value.reduce((d,f)=>d+L(f),0),l=E.value.reduce((d,f)=>d+ee(f),0),b=E.value.reduce((d,f)=>d+C(f.spots),0),p=R.value.reduce((d,f)=>d+C(f.amountDue),0);return{grossRevenue:o,moneyCollected:t,pendingRevenue:s,cancelledRevenue:c,netRevenue:o-m,refundAmount:m,refundCount:l,orders:N.value.length,confirmedOrders:R.value.length,reservations:E.value.length,spots:b,amountDue:p,averageOrder:R.value.length?o/R.value.length:0,averageReservation:n?o/n:0}}),P=e.computed(()=>{const o=new Map;return N.value.forEach(t=>{const n=t.status||"unknown",s=o.get(n)||{status:n,count:0,revenue:0};s.count+=1,s.revenue+=w(t),o.set(n,s)}),Array.from(o.values()).sort((t,n)=>n.count-t.count)}),I=e.computed(()=>{const o=new Map;return E.value.forEach(t=>{const n=t.status||"unknown",s=o.get(n)||{status:n,count:0,spots:0,revenue:0};s.count+=1,s.spots+=C(t.spots),s.revenue+=C(t.totalPrice),o.set(n,s)}),Array.from(o.values()).sort((t,n)=>n.count-t.count)}),q=e.computed(()=>{const o=new Map;return N.value.forEach(t=>{const n=B(t.createdAt),s=n?h(n):"Unknown date",c=o.get(s)||{date:s,orders:0,reservations:0,grossRevenue:0,refunds:0,netRevenue:0},m=t.reservations||[],l=m.reduce((p,d)=>p+L(d),0),b=F(t)?w(t):0;c.orders+=1,c.reservations+=m.length,c.grossRevenue+=b,c.refunds+=l,c.netRevenue=c.grossRevenue-c.refunds,o.set(s,c)}),Array.from(o.values()).sort((t,n)=>n.date.localeCompare(t.date))}),a=o=>new Intl.NumberFormat("nl-BE",{style:"currency",currency:"EUR"}).format(o),i=o=>new Intl.NumberFormat("nl-BE").format(o),k=o=>o.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" "),g=o=>String(o??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),te=()=>{if(!N.value.length)return;const o=[["Money made",a(r.value.netRevenue),`${a(r.value.grossRevenue)} gross - ${a(r.value.refundAmount)} refunds`],["Orders",i(r.value.orders),`${i(r.value.confirmedOrders)} confirmed`],["Reservations",i(r.value.reservations),`${i(r.value.spots)} spots booked`],["Refunds",i(r.value.refundCount),`${a(r.value.refundAmount)} refunded`]],t=[["Gross revenue",a(r.value.grossRevenue)],["Refunds",a(r.value.refundAmount)],["Net revenue",a(r.value.netRevenue)],["Money collected",a(r.value.moneyCollected)],["Amount due",a(r.value.amountDue)],["Pending order value",a(r.value.pendingRevenue)],["Cancelled order value",a(r.value.cancelledRevenue)],["Average confirmed order",a(r.value.averageOrder)],["Average reservation",a(r.value.averageReservation)]],n=l=>l.map(b=>`<tr>${b.map(p=>`<td>${g(p)}</td>`).join("")}</tr>`).join(""),s=`<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Appointments Report ${g(x.value)} - ${g(v.value)}</title>
|
|
7
|
-
<style>
|
|
8
|
-
* { box-sizing: border-box; }
|
|
9
|
-
body {
|
|
10
|
-
margin: 0;
|
|
11
|
-
padding: 40px;
|
|
12
|
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
|
|
13
|
-
color: #111827;
|
|
14
|
-
background: #f8fafc;
|
|
15
|
-
}
|
|
16
|
-
.report {
|
|
17
|
-
max-width: 1040px;
|
|
18
|
-
margin: 0 auto;
|
|
19
|
-
background: #ffffff;
|
|
20
|
-
border: 1px solid #e5e7eb;
|
|
21
|
-
border-radius: 8px;
|
|
22
|
-
padding: 32px;
|
|
23
|
-
}
|
|
24
|
-
h1, h2 { margin: 0; }
|
|
25
|
-
h1 { font-size: 28px; letter-spacing: 0; }
|
|
26
|
-
h2 { font-size: 16px; margin-bottom: 12px; }
|
|
27
|
-
.muted { color: #6b7280; }
|
|
28
|
-
.header {
|
|
29
|
-
display: flex;
|
|
30
|
-
justify-content: space-between;
|
|
31
|
-
gap: 24px;
|
|
32
|
-
border-bottom: 1px solid #e5e7eb;
|
|
33
|
-
padding-bottom: 24px;
|
|
34
|
-
margin-bottom: 24px;
|
|
35
|
-
}
|
|
36
|
-
.cards {
|
|
37
|
-
display: grid;
|
|
38
|
-
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
39
|
-
gap: 12px;
|
|
40
|
-
margin-bottom: 24px;
|
|
41
|
-
}
|
|
42
|
-
.card {
|
|
43
|
-
border: 1px solid #e5e7eb;
|
|
44
|
-
border-radius: 8px;
|
|
45
|
-
padding: 16px;
|
|
46
|
-
background: #ffffff;
|
|
47
|
-
}
|
|
48
|
-
.card-label { font-size: 12px; color: #6b7280; margin-bottom: 8px; }
|
|
49
|
-
.card-value { font-size: 22px; font-weight: 700; }
|
|
50
|
-
.card-note { font-size: 12px; color: #6b7280; margin-top: 6px; }
|
|
51
|
-
.grid {
|
|
52
|
-
display: grid;
|
|
53
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
54
|
-
gap: 24px;
|
|
55
|
-
margin-bottom: 24px;
|
|
56
|
-
}
|
|
57
|
-
table {
|
|
58
|
-
width: 100%;
|
|
59
|
-
border-collapse: collapse;
|
|
60
|
-
font-size: 13px;
|
|
61
|
-
}
|
|
62
|
-
th, td {
|
|
63
|
-
border-bottom: 1px solid #e5e7eb;
|
|
64
|
-
padding: 10px 8px;
|
|
65
|
-
text-align: left;
|
|
66
|
-
}
|
|
67
|
-
th {
|
|
68
|
-
color: #6b7280;
|
|
69
|
-
font-weight: 600;
|
|
70
|
-
background: #f9fafb;
|
|
71
|
-
}
|
|
72
|
-
td:last-child, th:last-child { text-align: right; }
|
|
73
|
-
@media print {
|
|
74
|
-
body { background: #ffffff; padding: 0; }
|
|
75
|
-
.report { border: 0; }
|
|
76
|
-
}
|
|
77
|
-
</style>
|
|
78
|
-
</head>
|
|
79
|
-
<body>
|
|
80
|
-
<main class="report">
|
|
81
|
-
<section class="header">
|
|
82
|
-
<div>
|
|
83
|
-
<h1>Appointments Report</h1>
|
|
84
|
-
<p class="muted">${g(M.value)}</p>
|
|
85
|
-
</div>
|
|
86
|
-
<div class="muted">Generated ${g(new Date().toLocaleString("en-US"))}</div>
|
|
87
|
-
</section>
|
|
88
|
-
|
|
89
|
-
<section class="cards">
|
|
90
|
-
${o.map(([l,b,p])=>`
|
|
91
|
-
<div class="card">
|
|
92
|
-
<div class="card-label">${g(l)}</div>
|
|
93
|
-
<div class="card-value">${g(b)}</div>
|
|
94
|
-
<div class="card-note">${g(p)}</div>
|
|
95
|
-
</div>
|
|
96
|
-
`).join("")}
|
|
97
|
-
</section>
|
|
98
|
-
|
|
99
|
-
<section class="grid">
|
|
100
|
-
<div>
|
|
101
|
-
<h2>Finance</h2>
|
|
102
|
-
<table><tbody>${n(t)}</tbody></table>
|
|
103
|
-
</div>
|
|
104
|
-
<div>
|
|
105
|
-
<h2>Order Status</h2>
|
|
106
|
-
<table>
|
|
107
|
-
<tbody>
|
|
108
|
-
${n(P.value.map(l=>[k(l.status),`${i(l.count)} - ${a(l.revenue)}`]))}
|
|
109
|
-
</tbody>
|
|
110
|
-
</table>
|
|
111
|
-
</div>
|
|
112
|
-
</section>
|
|
113
|
-
|
|
114
|
-
<section class="grid">
|
|
115
|
-
<div>
|
|
116
|
-
<h2>Reservation Status</h2>
|
|
117
|
-
<table>
|
|
118
|
-
<tbody>
|
|
119
|
-
${n(I.value.map(l=>[k(l.status),`${i(l.count)} - ${i(l.spots)} spots - ${a(l.revenue)}`]))}
|
|
120
|
-
</tbody>
|
|
121
|
-
</table>
|
|
122
|
-
</div>
|
|
123
|
-
<div>
|
|
124
|
-
<h2>Period Totals</h2>
|
|
125
|
-
<table><tbody>${n([["Start date",x.value],["End date",v.value],["Orders",i(r.value.orders)],["Reservations",i(r.value.reservations)]])}</tbody></table>
|
|
126
|
-
</div>
|
|
127
|
-
</section>
|
|
128
|
-
|
|
129
|
-
<section>
|
|
130
|
-
<h2>Daily Breakdown</h2>
|
|
131
|
-
<table>
|
|
132
|
-
<thead>
|
|
133
|
-
<tr>
|
|
134
|
-
<th>Date</th>
|
|
135
|
-
<th>Orders</th>
|
|
136
|
-
<th>Reservations</th>
|
|
137
|
-
<th>Gross</th>
|
|
138
|
-
<th>Refunds</th>
|
|
139
|
-
<th>Net</th>
|
|
140
|
-
</tr>
|
|
141
|
-
</thead>
|
|
142
|
-
<tbody>
|
|
143
|
-
${q.value.map(l=>`
|
|
144
|
-
<tr>
|
|
145
|
-
<td>${g(l.date)}</td>
|
|
146
|
-
<td>${g(i(l.orders))}</td>
|
|
147
|
-
<td>${g(i(l.reservations))}</td>
|
|
148
|
-
<td>${g(a(l.grossRevenue))}</td>
|
|
149
|
-
<td>${g(a(l.refunds))}</td>
|
|
150
|
-
<td>${g(a(l.netRevenue))}</td>
|
|
151
|
-
</tr>
|
|
152
|
-
`).join("")}
|
|
153
|
-
</tbody>
|
|
154
|
-
</table>
|
|
155
|
-
</section>
|
|
156
|
-
</main>
|
|
157
|
-
</body>
|
|
158
|
-
</html>`,c=new Blob([s],{type:"text/html;charset=utf-8"}),m=document.createElement("a");m.href=URL.createObjectURL(c),m.setAttribute("download",`appointments-report-${x.value}-to-${v.value}.html`),document.body.appendChild(m),m.click(),URL.revokeObjectURL(m.href),m.remove()},D=async()=>{if(!_.value){y.value=!0,N.value=[];try{const{start:o,end:t}=K(),n=await H.find(j.reservationsCollection,{filters:[{field:"agendaId",operator:"==",value:G.value},{field:"createdAt",operator:">=",value:o.toISOString()},{field:"createdAt",operator:"<=",value:t.toISOString()}]});N.value=n.map(s=>({...s,id:s.id||s.orderId||""})).sort((s,c)=>(B(c.createdAt)?.getTime()||0)-(B(s.createdAt)?.getTime()||0))}catch(o){console.error("Error loading report:",o),N.value=[]}finally{y.value=!1}}};return D(),(o,t)=>{const n=e.resolveComponent("Button"),s=e.resolveComponent("CardTitle"),c=e.resolveComponent("CardDescription"),m=e.resolveComponent("CardHeader"),l=e.resolveComponent("Label"),b=e.resolveComponent("Input"),p=e.resolveComponent("CardContent"),d=e.resolveComponent("Card"),f=e.resolveComponent("Separator"),S=e.resolveComponent("TableHead"),Y=e.resolveComponent("TableRow"),oe=e.resolveComponent("TableHeader"),T=e.resolveComponent("TableCell"),ne=e.resolveComponent("TableBody"),re=e.resolveComponent("Table");return e.openBlock(),e.createBlock(se._sfc_main,null,{default:e.withCtx(()=>[e.createElementVNode("div",ae,[e.createElementVNode("div",de,[e.createElementVNode("div",null,[e.createElementVNode("h1",le,[e.createVNode(e.unref(V.BarChart3),{class:"size-6"}),t[5]||(t[5]=e.createTextVNode(" Reports ",-1))]),t[6]||(t[6]=e.createElementVNode("p",{class:"text-muted-foreground text-sm mt-1"}," Financial statistics for orders placed in a selected period. ",-1))]),e.createElementVNode("div",ue,[e.createVNode(n,{variant:"outline",onClick:te,disabled:e.unref(y)||!!e.unref(_)||e.unref(N).length===0},{default:e.withCtx(()=>[e.createVNode(e.unref(V.Download),{class:"size-4"}),t[7]||(t[7]=e.createTextVNode(" Download Report ",-1))]),_:1},8,["disabled"]),e.createVNode(n,{variant:"outline",onClick:D,disabled:e.unref(y)||!!e.unref(_)},{default:e.withCtx(()=>[e.createVNode(e.unref(V.RefreshCw),{class:e.normalizeClass(["size-4",{"animate-spin":e.unref(y)}])},null,8,["class"]),t[8]||(t[8]=e.createTextVNode(" Refresh ",-1))]),_:1},8,["disabled"])])]),e.createVNode(d,{class:"-mx-6 rounded-none border-x-0 @5xl:mx-0 @5xl:rounded-xl @5xl:border-x-[1px]"},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(s,{class:"flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.CalendarIcon),{class:"size-5"}),t[9]||(t[9]=e.createTextVNode(" Period ",-1))]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(M)),1)]),_:1})]),_:1}),e.createVNode(p,{class:"space-y-4"},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[e.createElementVNode("div",ce,[e.createVNode(l,{for:"report-start-date"},{default:e.withCtx(()=>[...t[10]||(t[10]=[e.createTextVNode("Start date",-1)])]),_:1}),e.createVNode(b,{id:"report-start-date",modelValue:e.unref(x),"onUpdate:modelValue":t[0]||(t[0]=u=>e.isRef(x)?x.value=u:null),type:"date"},null,8,["modelValue"])]),e.createElementVNode("div",me,[e.createVNode(l,{for:"report-end-date"},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode("End date",-1)])]),_:1}),e.createVNode(b,{id:"report-end-date",modelValue:e.unref(v),"onUpdate:modelValue":t[1]||(t[1]=u=>e.isRef(v)?v.value=u:null),type:"date"},null,8,["modelValue"])]),e.createVNode(n,{class:"md:whitespace-nowrap",onClick:D,disabled:e.unref(y)||!!e.unref(_)},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode(" Generate Report ",-1)])]),_:1},8,["disabled"])]),e.unref(_)?(e.openBlock(),e.createElementBlock("p",fe,e.toDisplayString(e.unref(_)),1)):e.createCommentVNode("",!0),e.createElementVNode("div",pe,[e.createVNode(n,{variant:"outline",size:"sm",onClick:t[2]||(t[2]=u=>{J(),D()})},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode(" This quarter ",-1)])]),_:1}),e.createVNode(n,{variant:"outline",size:"sm",onClick:t[3]||(t[3]=u=>{W(),D()})},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" Previous quarter ",-1)])]),_:1}),e.createVNode(n,{variant:"outline",size:"sm",onClick:t[4]||(t[4]=u=>{X(),D()})},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode(" Year to date ",-1)])]),_:1})])]),_:1})]),_:1}),e.unref(y)?(e.openBlock(),e.createElementBlock("div",xe,[...t[16]||(t[16]=[e.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"},null,-1)])])):e.unref(N).length===0?(e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(e.unref(V.BarChart3),{class:"size-12 mx-auto mb-3 opacity-50"}),t[17]||(t[17]=e.createElementVNode("p",null,"No orders found for this period",-1))])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",ge,[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(m,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(s,{class:"text-sm font-medium text-muted-foreground flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.BadgeEuro),{class:"size-4"}),t[18]||(t[18]=e.createTextVNode(" Money made ",-1))]),_:1})]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",Ne,e.toDisplayString(a(e.unref(r).netRevenue)),1),e.createElementVNode("p",Ve,e.toDisplayString(a(e.unref(r).grossRevenue))+" gross - "+e.toDisplayString(a(e.unref(r).refundAmount))+" refunds ",1)]),_:1})]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(m,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(s,{class:"text-sm font-medium text-muted-foreground flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.ShoppingBag),{class:"size-4"}),t[19]||(t[19]=e.createTextVNode(" Orders ",-1))]),_:1})]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",be,e.toDisplayString(i(e.unref(r).orders)),1),e.createElementVNode("p",he,e.toDisplayString(i(e.unref(r).confirmedOrders))+" confirmed ",1)]),_:1})]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(m,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(s,{class:"text-sm font-medium text-muted-foreground flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.Users),{class:"size-4"}),t[20]||(t[20]=e.createTextVNode(" Reservations ",-1))]),_:1})]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",Ce,e.toDisplayString(i(e.unref(r).reservations)),1),e.createElementVNode("p",ye,e.toDisplayString(i(e.unref(r).spots))+" spots booked ",1)]),_:1})]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(m,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(s,{class:"text-sm font-medium text-muted-foreground flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(V.Undo2),{class:"size-4"}),t[21]||(t[21]=e.createTextVNode(" Refunds ",-1))]),_:1})]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",we,e.toDisplayString(i(e.unref(r).refundCount)),1),e.createElementVNode("p",_e,e.toDisplayString(a(e.unref(r).refundAmount))+" refunded ",1)]),_:1})]),_:1})]),e.createElementVNode("div",Ee,[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[...t[22]||(t[22]=[e.createTextVNode("Finance",-1)])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode("Confirmed orders are counted as revenue.",-1)])]),_:1})]),_:1}),e.createVNode(p,{class:"space-y-3 text-sm"},{default:e.withCtx(()=>[e.createElementVNode("div",Re,[t[24]||(t[24]=e.createElementVNode("span",{class:"text-muted-foreground"},"Gross revenue",-1)),e.createElementVNode("span",De,e.toDisplayString(a(e.unref(r).grossRevenue)),1)]),e.createElementVNode("div",Se,[t[25]||(t[25]=e.createElementVNode("span",{class:"text-muted-foreground"},"Refunds",-1)),e.createElementVNode("span",Te,e.toDisplayString(a(e.unref(r).refundAmount)),1)]),e.createVNode(f),e.createElementVNode("div",ke,[t[26]||(t[26]=e.createElementVNode("span",{class:"text-muted-foreground"},"Net revenue",-1)),e.createElementVNode("span",$e,e.toDisplayString(a(e.unref(r).netRevenue)),1)]),e.createElementVNode("div",Be,[t[27]||(t[27]=e.createElementVNode("span",{class:"text-muted-foreground"},"Money collected",-1)),e.createElementVNode("span",Ae,e.toDisplayString(a(e.unref(r).moneyCollected)),1)]),e.createElementVNode("div",Oe,[t[28]||(t[28]=e.createElementVNode("span",{class:"text-muted-foreground"},"Amount due",-1)),e.createElementVNode("span",je,e.toDisplayString(a(e.unref(r).amountDue)),1)]),e.createElementVNode("div",ze,[t[29]||(t[29]=e.createElementVNode("span",{class:"text-muted-foreground"},"Pending order value",-1)),e.createElementVNode("span",Me,e.toDisplayString(a(e.unref(r).pendingRevenue)),1)]),e.createElementVNode("div",Fe,[t[30]||(t[30]=e.createElementVNode("span",{class:"text-muted-foreground"},"Cancelled order value",-1)),e.createElementVNode("span",Ue,e.toDisplayString(a(e.unref(r).cancelledRevenue)),1)]),e.createElementVNode("div",Le,[t[31]||(t[31]=e.createElementVNode("span",{class:"text-muted-foreground"},"Average confirmed order",-1)),e.createElementVNode("span",Pe,e.toDisplayString(a(e.unref(r).averageOrder)),1)]),e.createElementVNode("div",Ie,[t[32]||(t[32]=e.createElementVNode("span",{class:"text-muted-foreground"},"Average reservation",-1)),e.createElementVNode("span",qe,e.toDisplayString(a(e.unref(r).averageReservation)),1)])]),_:1})]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[...t[33]||(t[33]=[e.createTextVNode("Status Breakdown",-1)])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[...t[34]||(t[34]=[e.createTextVNode("Orders and reservation lines in this period.",-1)])]),_:1})]),_:1}),e.createVNode(p,{class:"space-y-5"},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",Ye,[e.createVNode(e.unref(V.Receipt),{class:"size-4"}),t[35]||(t[35]=e.createTextVNode(" Orders ",-1))]),e.createElementVNode("div",He,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(P),u=>(e.openBlock(),e.createElementBlock("div",{key:u.status,class:"flex items-center justify-between gap-4"},[e.createElementVNode("span",Ge,e.toDisplayString(k(u.status)),1),e.createElementVNode("span",Qe,e.toDisplayString(i(u.count))+" · "+e.toDisplayString(a(u.revenue)),1)]))),128))])]),e.createVNode(f),e.createElementVNode("div",null,[e.createElementVNode("div",Ke,[e.createVNode(e.unref(V.Users),{class:"size-4"}),t[36]||(t[36]=e.createTextVNode(" Reservations ",-1))]),e.createElementVNode("div",Je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(I),u=>(e.openBlock(),e.createElementBlock("div",{key:u.status,class:"flex items-center justify-between gap-4"},[e.createElementVNode("span",We,e.toDisplayString(k(u.status)),1),e.createElementVNode("span",Xe,e.toDisplayString(i(u.count))+" · "+e.toDisplayString(i(u.spots))+" spots · "+e.toDisplayString(a(u.revenue)),1)]))),128))])])]),_:1})]),_:1})]),e.createVNode(d,{class:"-mx-6 rounded-none border-x-0 @5xl:mx-0 @5xl:rounded-xl @5xl:border-x-[1px]"},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[...t[37]||(t[37]=[e.createTextVNode("Daily Breakdown",-1)])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[...t[38]||(t[38]=[e.createTextVNode("Revenue is based on orders placed on each day.",-1)])]),_:1})]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",Ze,[e.createVNode(re,null,{default:e.withCtx(()=>[e.createVNode(oe,null,{default:e.withCtx(()=>[e.createVNode(Y,null,{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[...t[39]||(t[39]=[e.createTextVNode("Date",-1)])]),_:1}),e.createVNode(S,{class:"text-right"},{default:e.withCtx(()=>[...t[40]||(t[40]=[e.createTextVNode("Orders",-1)])]),_:1}),e.createVNode(S,{class:"text-right"},{default:e.withCtx(()=>[...t[41]||(t[41]=[e.createTextVNode("Reservations",-1)])]),_:1}),e.createVNode(S,{class:"text-right"},{default:e.withCtx(()=>[...t[42]||(t[42]=[e.createTextVNode("Gross",-1)])]),_:1}),e.createVNode(S,{class:"text-right"},{default:e.withCtx(()=>[...t[43]||(t[43]=[e.createTextVNode("Refunds",-1)])]),_:1}),e.createVNode(S,{class:"text-right"},{default:e.withCtx(()=>[...t[44]||(t[44]=[e.createTextVNode("Net",-1)])]),_:1})]),_:1})]),_:1}),e.createVNode(ne,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(q),u=>(e.openBlock(),e.createBlock(Y,{key:u.date},{default:e.withCtx(()=>[e.createVNode(T,{class:"font-medium"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.date),1)]),_:2},1024),e.createVNode(T,{class:"text-right"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i(u.orders)),1)]),_:2},1024),e.createVNode(T,{class:"text-right"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i(u.reservations)),1)]),_:2},1024),e.createVNode(T,{class:"text-right"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a(u.grossRevenue)),1)]),_:2},1024),e.createVNode(T,{class:"text-right"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a(u.refunds)),1)]),_:2},1024),e.createVNode(T,{class:"text-right font-medium"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a(u.netRevenue)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1})]),_:1})],64))])]),_:1})}}});exports.default=et;
|