@feedmepos/mf-order-setting 0.0.21-beta.2 → 0.0.22

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.
Files changed (88) hide show
  1. package/dist/{KioskDevicesView-TgyDh8aI.js → KioskDevicesView-C6YmdLKc.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-CiYEoMoW.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-DiLHpWbm.js} +2 -2
  3. package/dist/{KioskSettingView-fbOxH9m8.js → KioskSettingView-D-muNxlb.js} +1 -1
  4. package/dist/KioskView-kcjjk4fF.js +371 -0
  5. package/dist/{OrderSettingsView-mYvRn7u9.js → OrderSettingsView-D_bGK-3J.js} +34007 -32820
  6. package/dist/{app-A306cfER.js → app-C5qwExhL.js} +41 -23
  7. package/dist/app.js +1 -1
  8. package/dist/common/convertor/index.d.ts +2 -0
  9. package/dist/common/sms/index.d.ts +1 -1
  10. package/dist/common/util/index.d.ts +6 -0
  11. package/dist/{dayjs.min-CLR5r0qf.js → dayjs.min-kEC9G7bx.js} +36 -36
  12. package/dist/frontend/mf-order/src/api/remoteOrder/index.d.ts +5 -2
  13. package/dist/frontend/mf-order/src/app.d.ts +18 -0
  14. package/dist/frontend/mf-order/src/helpers/menu.d.ts +1 -1
  15. package/dist/frontend/mf-order/src/stores/app/index.d.ts +14 -4
  16. package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +45 -35
  17. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +581 -716
  18. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +140 -174
  19. package/dist/frontend/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +1 -0
  20. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliverySetting.vue.d.ts +2 -2
  21. package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.d.ts +2 -1
  22. package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.data.d.ts +3 -0
  23. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +97 -0
  24. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +3 -3
  25. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  26. package/dist/{index-BJuGDir8.js → index-C_53CwBa.js} +2 -2
  27. package/dist/package/entity/booking/booking.do.d.ts +1516 -1276
  28. package/dist/package/entity/delivery/delivery.dto.d.ts +298 -251
  29. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +539 -0
  30. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +114 -9
  31. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +865 -4
  32. package/dist/package/entity/incoming-order/incoming-order.enum.d.ts +1 -1
  33. package/dist/package/entity/index.d.ts +34 -22
  34. package/dist/package/entity/kiosk/kiosk.do.d.ts +12 -12
  35. package/dist/package/entity/kiosk/kiosk.dto.d.ts +12 -12
  36. package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +1942 -1642
  37. package/dist/package/entity/member/member.dto.d.ts +33 -0
  38. package/dist/package/entity/order/order-item/order-item.dto.d.ts +15 -0
  39. package/dist/package/entity/order/order.do.d.ts +37 -0
  40. package/dist/package/entity/order/order.dto.d.ts +808 -17435
  41. package/dist/package/entity/order/order.enum.d.ts +2 -0
  42. package/dist/package/entity/order-platform/external/auth/external-auth.do.d.ts +12 -0
  43. package/dist/package/entity/order-platform/external/auth/external-auth.dto.d.ts +27 -0
  44. package/dist/package/entity/order-platform/external/menu/external-menu.do.d.ts +2868 -0
  45. package/dist/package/entity/order-platform/external/menu/external-menu.dto.d.ts +21 -0
  46. package/dist/package/entity/order-platform/external/menu/external-menu.enum.d.ts +3 -0
  47. package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +1373 -0
  48. package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +2834 -0
  49. package/dist/package/entity/order-platform/external/order/external-order.enum.d.ts +9 -0
  50. package/dist/package/entity/order-platform/external/setting/external-setting.do.d.ts +127 -0
  51. package/dist/package/entity/order-platform/external/setting/external-setting.dto.d.ts +95 -0
  52. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.do.d.ts +175 -82
  53. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +372 -291
  54. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.do.d.ts +4 -4
  55. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.dto.d.ts +3 -3
  56. package/dist/package/entity/order-platform/grabfood/grabfood-menu.do.d.ts +66 -65
  57. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +435 -263
  58. package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +2 -2
  59. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +47 -7
  60. package/dist/package/entity/order-platform/menu.dto.d.ts +126 -0
  61. package/dist/package/entity/order-platform/order-platform.dto.d.ts +4 -4
  62. package/dist/package/entity/order-platform/order-platform.enum.d.ts +1 -1
  63. package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +298 -250
  64. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +0 -41
  65. package/dist/package/entity/printer/printer.do.d.ts +2 -2
  66. package/dist/package/entity/pubsub/ably/ably.do.d.ts +60 -9
  67. package/dist/package/entity/pubsub/ably/ably.enum.d.ts +1 -1
  68. package/dist/package/entity/queue/queue.do.d.ts +40 -0
  69. package/dist/{auth.dto-C5PLip9a.js → queue.do-Vog69wnQ.js} +34049 -33284
  70. package/package.json +4 -3
  71. package/src/api/remoteOrder/index.ts +13 -2
  72. package/src/helpers/menu.ts +2 -2
  73. package/src/locales/en-US.json +11 -1
  74. package/src/locales/zh-CN.json +10 -1
  75. package/src/stores/restaurant/index.ts +4 -1
  76. package/src/views/kiosk/KioskSummary.vue +4 -3
  77. package/src/views/kiosk/KioskView.vue +36 -3
  78. package/src/views/order-settings/delivery/DeliverySetting.vue +83 -6
  79. package/src/views/order-settings/delivery/delivery.data.ts +16 -1
  80. package/src/views/order-settings/delivery/delivery.ts +1 -0
  81. package/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue +114 -0
  82. package/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue +23 -6
  83. package/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue +21 -16
  84. package/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue +58 -59
  85. package/src/views/order-settings/pickup/PickUpSetting.vue +1 -1
  86. package/src/views/order-settings/servicecharge/ServiceChargeRule.vue +214 -158
  87. package/src/views/order-settings/servicecharge/ServiceChargeSetting.vue +1 -0
  88. package/dist/KioskView-C0Vn5S89.js +0 -334
@@ -195,6 +195,7 @@ const D = {
195
195
  scanPay: "Scan Pay",
196
196
  search: "Search",
197
197
  searchRestaurant: "Search restaurants",
198
+ selectAllItemsIncludeCustomItem: "All (Including custom item)",
198
199
  selectItem: "Select item",
199
200
  selectRestaurant: "Select Restaurant",
200
201
  selectServiceChargeType: "Select service charge type",
@@ -215,6 +216,7 @@ const D = {
215
216
  success: "SUCCESS",
216
217
  sunday: "Sunday",
217
218
  syncMenu: "Sync Menu",
219
+ syncMenuSuccess: "Sync menu successfully",
218
220
  table: "Table",
219
221
  tableSelected: "table(s) selected",
220
222
  tableService: "Table Service",
@@ -246,7 +248,14 @@ const D = {
246
248
  updatePickupSetting: "Update Pickup Setting",
247
249
  updateSetting: "Update setting",
248
250
  vendorBearPercentage: "Vendor bear percentage",
249
- wednesday: "Wednesday"
251
+ wednesday: "Wednesday",
252
+ externalDelivery: "External Delivery",
253
+ manageExternalDelivery: "Manage external delivery",
254
+ deliveryCatalog: "Delivery catalog",
255
+ pickupCatalog: "Pickup catalog",
256
+ DeliverySettingUpdated: "Delivery setting updated.",
257
+ selectPlatform: "Select Platform",
258
+ platform: "Platform"
250
259
  }, C = {
251
260
  order: D
252
261
  }, A = {
@@ -444,6 +453,7 @@ const D = {
444
453
  scanPay: "扫码支付",
445
454
  search: "搜索",
446
455
  searchRestaurant: "搜索餐厅",
456
+ selectAllItemsIncludeCustomItem: "全部 (包括自定义商品)",
447
457
  selectItem: "请选择",
448
458
  selectRestaurant: "选择餐厅",
449
459
  selectServiceChargeType: "选择服务费类型",
@@ -464,6 +474,7 @@ const D = {
464
474
  success: "成功",
465
475
  sunday: "星期日",
466
476
  syncMenu: "同步菜单",
477
+ syncMenuSuccess: "同步菜单成功",
467
478
  table: "餐桌",
468
479
  tableSelected: "已选择餐桌",
469
480
  tableService: "餐桌服务",
@@ -495,11 +506,18 @@ const D = {
495
506
  updatePickupSetting: "更新自取设置",
496
507
  updateSetting: "更新设置",
497
508
  vendorBearPercentage: "供应商承担百分比",
498
- wednesday: "星期三"
499
- }, w = {
509
+ wednesday: "星期三",
510
+ externalDelivery: "External 配送",
511
+ manageExternalDelivery: "管理外部配送",
512
+ deliveryCatalog: "配送目录",
513
+ pickupCatalog: "自取目录",
514
+ DeliverySettingUpdated: "配送设置已更新",
515
+ selectPlatform: "选择平台",
516
+ platform: "平台"
517
+ }, I = {
500
518
  order: A
501
519
  }, m = g(null), v = () => m.value;
502
- function I(t) {
520
+ function w(t) {
503
521
  m.value || (m.value = t);
504
522
  }
505
523
  const _ = Object.freeze({
@@ -524,14 +542,14 @@ function U({
524
542
  }) {
525
543
  const e = [], a = n / 6371 * (180 / Math.PI), r = a / Math.cos(t.lat * (Math.PI / 180));
526
544
  for (let o = 0; o < 361; o += 45) {
527
- const d = o * (Math.PI / 180), i = t.lng + r * Math.cos(d), p = t.lat + a * Math.sin(d), s = v(), l = new s.maps.LatLng(p, i, !0);
545
+ const c = o * (Math.PI / 180), i = t.lng + r * Math.cos(c), p = t.lat + a * Math.sin(c), s = v(), l = new s.maps.LatLng(p, i, !0);
528
546
  e.push(l);
529
547
  }
530
548
  return e.map((o) => ({ lat: o.lat(), lng: o.lng() }));
531
549
  }
532
550
  function V(t) {
533
551
  if (!t.length) return;
534
- const { lat: n, lng: e } = y(t[0]), { maxLng: a, minLng: r, maxLat: o, minLat: d } = t.reduce((i, p) => {
552
+ const { lat: n, lng: e } = y(t[0]), { maxLng: a, minLng: r, maxLat: o, minLat: c } = t.reduce((i, p) => {
535
553
  const { lng: s, lat: l } = y(p);
536
554
  return s > i.maxLng && (i.maxLng = s), s < i.minLng && (i.minLng = s), l > i.maxLat && (i.maxLat = l), l < i.minLat && (i.minLat = l), i;
537
555
  }, {
@@ -542,16 +560,16 @@ function V(t) {
542
560
  });
543
561
  return {
544
562
  lng: r + (a - r) / 2,
545
- lat: d + (o - d) / 2
563
+ lat: c + (o - c) / 2
546
564
  };
547
565
  }
548
- class c {
566
+ class d {
549
567
  constructor(n = null, e = {}) {
550
568
  if (this.apiKey = n, this.options = e, typeof window > "u")
551
569
  throw new Error("google-maps is supported only in browser environment");
552
570
  }
553
571
  load() {
554
- return typeof this.api < "u" ? Promise.resolve(this.api) : typeof this.loader < "u" ? this.loader : (window[c.CALLBACK_NAME] = () => {
572
+ return typeof this.api < "u" ? Promise.resolve(this.api) : typeof this.loader < "u" ? this.loader : (window[d.CALLBACK_NAME] = () => {
555
573
  if (this.api = window.google, typeof this.resolve > "u")
556
574
  throw new Error("Should not happen");
557
575
  this.resolve(this.api);
@@ -567,7 +585,7 @@ class c {
567
585
  }
568
586
  createUrl() {
569
587
  const n = [
570
- `callback=${c.CALLBACK_NAME}`
588
+ `callback=${d.CALLBACK_NAME}`
571
589
  ];
572
590
  this.apiKey && n.push(`key=${this.apiKey}`);
573
591
  for (let e in this.options)
@@ -578,17 +596,17 @@ class c {
578
596
  return `https://maps.googleapis.com/maps/api/js?${n.join("&")}`;
579
597
  }
580
598
  }
581
- c.CALLBACK_NAME = "_dk_google_maps_loader_cb";
582
- var T = { googleMap: "AIzaSyA_isPR1-9bX7UmRiJIhsIRNNwdn6DdmW4", firebase: {}, gtm: { debug: !1 }, r2: null };
599
+ d.CALLBACK_NAME = "_dk_google_maps_loader_cb";
600
+ var x = { googleMap: "AIzaSyA_isPR1-9bX7UmRiJIhsIRNNwdn6DdmW4", firebase: {}, gtm: { debug: !1 }, r2: null };
583
601
  const M = { class: "flex-1 overflow-auto" }, W = /* @__PURE__ */ S({
584
602
  __name: "App",
585
603
  setup(t) {
586
604
  async function n() {
587
605
  if (v()) return;
588
- const a = await new c(T.googleMap, {
606
+ const a = await new d(x.googleMap, {
589
607
  libraries: ["places"]
590
608
  }).load();
591
- I(a);
609
+ w(a);
592
610
  }
593
611
  return h(async () => {
594
612
  await n();
@@ -599,37 +617,37 @@ const M = { class: "flex-1 overflow-auto" }, W = /* @__PURE__ */ S({
599
617
  ]);
600
618
  };
601
619
  }
602
- }), x = "/kiosk", O = "/kiosk/device", R = "/kiosk/order-setting", E = "/order-settings", F = "/delivery-settings", N = "/orders", u = {
603
- KioskRoute: x,
620
+ }), T = "/kiosk", O = "/kiosk/device", E = "/kiosk/order-setting", R = "/order-settings", F = "/delivery-settings", N = "/orders", u = {
621
+ KioskRoute: T,
604
622
  KioskDeviceRoute: O,
605
- KioskOrderSettingRoute: R,
606
- OrderSettingView: E,
623
+ KioskOrderSettingRoute: E,
624
+ OrderSettingView: R,
607
625
  FeedMeExpressView: F,
608
626
  AllOrdersView: N
609
627
  }, Q = [
610
628
  {
611
629
  path: u.KioskRoute,
612
630
  name: "Kiosk",
613
- component: () => import("./KioskView-C0Vn5S89.js")
631
+ component: () => import("./KioskView-kcjjk4fF.js")
614
632
  },
615
633
  {
616
634
  path: u.KioskDeviceRoute,
617
635
  name: "Kiosk Device",
618
- component: () => import("./KioskDevicesView-TgyDh8aI.js")
636
+ component: () => import("./KioskDevicesView-C6YmdLKc.js")
619
637
  },
620
638
  {
621
639
  path: u.KioskOrderSettingRoute,
622
640
  name: "Kiosk Order Setting",
623
- component: () => import("./KioskSettingView-fbOxH9m8.js")
641
+ component: () => import("./KioskSettingView-D-muNxlb.js")
624
642
  },
625
643
  {
626
644
  path: u.OrderSettingView,
627
645
  name: "Order Setting View",
628
- component: () => import("./OrderSettingsView-mYvRn7u9.js")
646
+ component: () => import("./OrderSettingsView-D_bGK-3J.js")
629
647
  }
630
648
  ], q = {
631
649
  "en-US": C,
632
- "zh-CN": w
650
+ "zh-CN": I
633
651
  };
634
652
  export {
635
653
  W as _,
package/dist/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as a, i as e, r as o } from "./app-A306cfER.js";
1
+ import { _ as a, i as e, r as o } from "./app-C5qwExhL.js";
2
2
  export {
3
3
  a as FmApp,
4
4
  e as i18nMessages,
@@ -2,6 +2,7 @@ import { FdoDecimal } from "@feedmepos/core/entity";
2
2
  declare function toCouchDbName(id: string): string;
3
3
  declare function billIdToDate(id: string): Date;
4
4
  declare function objectIdToDate(id: string): Date;
5
+ declare function dateToObjectId(date: Date): string;
5
6
  declare function percentageToFdoDecimal(rate: number): FdoDecimal;
6
7
  declare function objectToArray<T>(obj: {
7
8
  [key: string]: T;
@@ -18,6 +19,7 @@ export declare const Convertor: {
18
19
  toCouchDbName: typeof toCouchDbName;
19
20
  billIdToDate: typeof billIdToDate;
20
21
  objectIdToDate: typeof objectIdToDate;
22
+ dateToObjectId: typeof dateToObjectId;
21
23
  percentageToFdoDecimal: typeof percentageToFdoDecimal;
22
24
  objectToArray: typeof objectToArray;
23
25
  };
@@ -1,6 +1,6 @@
1
1
  import { F_ORDER_TYPE, FdoBill, FdoRestaurant } from '@feedmepos/core/entity';
2
2
  import { F_ORDER_DINE_IN_TYPE } from '../../package/entity/order/order.enum';
3
- import { F_SMS_KEY, type F_SMS_ACTION, type FdoOrder, type OrderSmsMessageSettingDto, type OrderSmsSettingDto } from '@entity';
3
+ import { F_SMS_KEY, type F_SMS_ACTION, type FdoOrder, type OrderSmsMessageSettingDto, type OrderSmsSettingDto } from '../../package/entity';
4
4
  export declare function formatAddress(address?: any): string;
5
5
  declare function readKeyByType(type: F_ORDER_TYPE | F_ORDER_DINE_IN_TYPE): F_SMS_KEY[];
6
6
  declare function generateSms(message: OrderSmsMessageSettingDto, payload?: {
@@ -12,6 +12,11 @@ declare function objectToArray<T>(obj: {
12
12
  declare function retry(cb: () => Promise<any>, retryCount?: number): Promise<any>;
13
13
  declare function addItemToArray<T>(v: T, arr?: T[] | null): T[];
14
14
  declare function capitalize(str: string): string;
15
+ export declare function isDeepEql(a: any, b: any): boolean;
16
+ export type DeepPartial<T> = T extends object ? {
17
+ [P in keyof T]?: DeepPartial<T[P]>;
18
+ } : T;
19
+ export declare function isObjectDeepEqual<T extends object>(oldV: T, newV: T): DeepPartial<T>;
15
20
  export declare const Util: {
16
21
  randomString: typeof randomString;
17
22
  arrayToObject: typeof arrayToObject;
@@ -19,5 +24,6 @@ export declare const Util: {
19
24
  retry: typeof retry;
20
25
  addItemToArray: typeof addItemToArray;
21
26
  capitalize: typeof capitalize;
27
+ isObjectDeepEqual: typeof isObjectDeepEqual;
22
28
  };
23
29
  export {};
@@ -1,4 +1,4 @@
1
- import { g as rt, p as _t, m as kt } from "./auth.dto-C5PLip9a.js";
1
+ import { g as rt, q as _t, m as kt } from "./queue.do-Vog69wnQ.js";
2
2
  import { useCoreStore as Z } from "@feedmepos/mf-common";
3
3
  function st(e, t) {
4
4
  return function() {
@@ -22,11 +22,11 @@ const Ut = ge("string"), I = ge("function"), it = ge("number"), Se = (e) => e !=
22
22
  return !1;
23
23
  const t = Be(e);
24
24
  return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(Symbol.toStringTag in e) && !(Symbol.iterator in e);
25
- }, Lt = z("Date"), Mt = z("File"), vt = z("Blob"), jt = z("FileList"), It = (e) => Se(e) && I(e.pipe), Ht = (e) => {
25
+ }, Lt = z("Date"), Mt = z("File"), vt = z("Blob"), jt = z("FileList"), It = (e) => Se(e) && I(e.pipe), qt = (e) => {
26
26
  let t;
27
27
  return e && (typeof FormData == "function" && e instanceof FormData || I(e.append) && ((t = be(e)) === "formdata" || // detect form-data instance
28
28
  t === "object" && I(e.toString) && e.toString() === "[object FormData]"));
29
- }, qt = z("URLSearchParams"), [zt, Jt, Wt, Vt] = ["ReadableStream", "Request", "Response", "Headers"].map(z), Kt = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
29
+ }, Ht = z("URLSearchParams"), [zt, Jt, Wt, Vt] = ["ReadableStream", "Request", "Response", "Headers"].map(z), Kt = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
30
30
  function le(e, t, { allOwnKeys: n = !1 } = {}) {
31
31
  if (e === null || typeof e > "u")
32
32
  return;
@@ -178,7 +178,7 @@ const pn = (e) => {
178
178
  isArray: se,
179
179
  isArrayBuffer: ot,
180
180
  isBuffer: Pt,
181
- isFormData: Ht,
181
+ isFormData: qt,
182
182
  isArrayBufferView: Bt,
183
183
  isString: Ut,
184
184
  isNumber: it,
@@ -196,7 +196,7 @@ const pn = (e) => {
196
196
  isRegExp: an,
197
197
  isFunction: I,
198
198
  isStream: It,
199
- isURLSearchParams: qt,
199
+ isURLSearchParams: Ht,
200
200
  isTypedArray: tn,
201
201
  isFileList: jt,
202
202
  forEach: le,
@@ -291,7 +291,7 @@ function Ce(e) {
291
291
  function pt(e) {
292
292
  return a.endsWith(e, "[]") ? e.slice(0, -2) : e;
293
293
  }
294
- function He(e, t, n) {
294
+ function qe(e, t, n) {
295
295
  return e ? e.concat(t).map(function(s, o) {
296
296
  return s = pt(s), !n && o ? "[" + s + "]" : s;
297
297
  }).join(n ? "." : "") : t;
@@ -329,15 +329,15 @@ function Ee(e, t, n) {
329
329
  if (a.endsWith(S, "{}"))
330
330
  S = r ? S : S.slice(0, -2), y = JSON.stringify(y);
331
331
  else if (a.isArray(y) && gn(y) || (a.isFileList(y) || a.endsWith(S, "[]")) && (C = a.toArray(y)))
332
- return S = pt(S), C.forEach(function(D, q) {
332
+ return S = pt(S), C.forEach(function(D, H) {
333
333
  !(a.isUndefined(D) || D === null) && t.append(
334
334
  // eslint-disable-next-line no-nested-ternary
335
- i === !0 ? He([S], q, o) : i === null ? S : S + "[]",
335
+ i === !0 ? qe([S], H, o) : i === null ? S : S + "[]",
336
336
  u(D)
337
337
  );
338
338
  }), !1;
339
339
  }
340
- return Ce(y) ? !0 : (t.append(He(w, S, o), u(y)), !1);
340
+ return Ce(y) ? !0 : (t.append(qe(w, S, o), u(y)), !1);
341
341
  }
342
342
  const p = [], x = Object.assign(Sn, {
343
343
  defaultVisitor: l,
@@ -363,7 +363,7 @@ function Ee(e, t, n) {
363
363
  throw new TypeError("data must be an object");
364
364
  return T(e), t;
365
365
  }
366
- function qe(e) {
366
+ function He(e) {
367
367
  const t = {
368
368
  "!": "%21",
369
369
  "'": "%27",
@@ -386,8 +386,8 @@ mt.append = function(t, n) {
386
386
  };
387
387
  mt.toString = function(t) {
388
388
  const n = t ? function(r) {
389
- return t.call(this, r, qe);
390
- } : qe;
389
+ return t.call(this, r, He);
390
+ } : He;
391
391
  return this._pairs.map(function(s) {
392
392
  return n(s[0]) + "=" + n(s[1]);
393
393
  }, "").join("&");
@@ -836,7 +836,7 @@ function In(e, t) {
836
836
  return T ? Math.round(x * 1e3 / T) : void 0;
837
837
  };
838
838
  }
839
- function Hn(e, t) {
839
+ function qn(e, t) {
840
840
  let n = 0, r = 1e3 / t, s, o;
841
841
  const i = (u, l = Date.now()) => {
842
842
  n = l, s = null, o && (clearTimeout(o), o = null), e.apply(null, u);
@@ -851,7 +851,7 @@ function Hn(e, t) {
851
851
  const ye = (e, t, n = 3) => {
852
852
  let r = 0;
853
853
  const s = In(50, 250);
854
- return Hn((o) => {
854
+ return qn((o) => {
855
855
  const i = o.loaded, c = o.lengthComputable ? o.total : void 0, d = i - r, u = s(d), l = i <= c;
856
856
  r = i;
857
857
  const p = {
@@ -874,7 +874,7 @@ const ye = (e, t, n = 3) => {
874
874
  total: e,
875
875
  loaded: r
876
876
  }), t[1]];
877
- }, Ve = (e) => (...t) => a.asap(() => e(...t)), qn = v.hasStandardBrowserEnv ? (
877
+ }, Ve = (e) => (...t) => a.asap(() => e(...t)), Hn = v.hasStandardBrowserEnv ? (
878
878
  // Standard browser envs have full support of the APIs needed to test
879
879
  // whether the request URL is of the same origin as current location.
880
880
  function() {
@@ -1022,7 +1022,7 @@ const Rt = (e) => {
1022
1022
  i.setContentType([u || "multipart/form-data", ...l].join("; "));
1023
1023
  }
1024
1024
  }
1025
- if (v.hasStandardBrowserEnv && (r && a.isFunction(r) && (r = r(t)), r || r !== !1 && qn(t.url))) {
1025
+ if (v.hasStandardBrowserEnv && (r && a.isFunction(r) && (r = r(t)), r || r !== !1 && Hn(t.url))) {
1026
1026
  const u = s && o && zn.read(o);
1027
1027
  u && i.set(s, u);
1028
1028
  }
@@ -1064,16 +1064,16 @@ const Rt = (e) => {
1064
1064
  }, w.onerror = function() {
1065
1065
  r(new E("Network Error", E.ERR_NETWORK, e, w)), w = null;
1066
1066
  }, w.ontimeout = function() {
1067
- let q = s.timeout ? "timeout of " + s.timeout + "ms exceeded" : "timeout exceeded";
1067
+ let H = s.timeout ? "timeout of " + s.timeout + "ms exceeded" : "timeout exceeded";
1068
1068
  const P = s.transitional || wt;
1069
- s.timeoutErrorMessage && (q = s.timeoutErrorMessage), r(new E(
1070
- q,
1069
+ s.timeoutErrorMessage && (H = s.timeoutErrorMessage), r(new E(
1070
+ H,
1071
1071
  P.clarifyTimeoutError ? E.ETIMEDOUT : E.ECONNABORTED,
1072
1072
  e,
1073
1073
  w
1074
1074
  )), w = null;
1075
- }, o === void 0 && i.setContentType(null), "setRequestHeader" in w && a.forEach(i.toJSON(), function(q, P) {
1076
- w.setRequestHeader(P, q);
1075
+ }, o === void 0 && i.setContentType(null), "setRequestHeader" in w && a.forEach(i.toJSON(), function(H, P) {
1076
+ w.setRequestHeader(P, H);
1077
1077
  }), a.isUndefined(s.withCredentials) || (w.withCredentials = !!s.withCredentials), c && c !== "json" && (w.responseType = s.responseType), u && ([x, y] = ye(u, !0), w.addEventListener("progress", x)), d && w.upload && ([p, T] = ye(d), w.upload.addEventListener("progress", p), w.upload.addEventListener("loadend", T)), (s.cancelToken || s.signal) && (l = (D) => {
1078
1078
  w && (r(!D || D.type ? new oe(null, e, w) : D), w.abort(), w = null);
1079
1079
  }, s.cancelToken && s.cancelToken.subscribe(l), s.signal && (s.signal.aborted ? l() : s.signal.addEventListener("abort", l)));
@@ -1273,10 +1273,10 @@ const tr = async (e) => {
1273
1273
  );
1274
1274
  }
1275
1275
  u = u || "text";
1276
- let q = await we[a.findKey(we, u) || "text"](_, e);
1276
+ let H = await we[a.findKey(we, u) || "text"](_, e);
1277
1277
  return !D && S && S(), await new Promise((P, F) => {
1278
1278
  St(P, F, {
1279
- data: q,
1279
+ data: H,
1280
1280
  headers: j.from(_.headers),
1281
1281
  status: _.status,
1282
1282
  statusText: _.statusText,
@@ -1831,7 +1831,7 @@ var Dt = { exports: {} };
1831
1831
  } }, D = function(g, m, f) {
1832
1832
  var b = String(g);
1833
1833
  return !b || b.length >= m ? g : "" + Array(m + 1 - b.length).join(f) + g;
1834
- }, q = { s: D, z: function(g) {
1834
+ }, H = { s: D, z: function(g) {
1835
1835
  var m = -g.utcOffset(), f = Math.abs(m), b = Math.floor(f / 60), h = f % 60;
1836
1836
  return (m <= 0 ? "+" : "-") + D(b, 2, "0") + ":" + D(h, 2, "0");
1837
1837
  }, m: function g(m, f) {
@@ -1865,7 +1865,7 @@ var Dt = { exports: {} };
1865
1865
  if (W(g)) return g.clone();
1866
1866
  var f = typeof m == "object" ? m : {};
1867
1867
  return f.date = g, f.args = arguments, new de(f);
1868
- }, A = q;
1868
+ }, A = H;
1869
1869
  A.l = Y, A.i = W, A.w = function(g, m) {
1870
1870
  return B(g, { locale: m.$L, utc: m.$u, x: m.$x, $offset: m.$offset });
1871
1871
  };
@@ -1915,7 +1915,7 @@ var Dt = { exports: {} };
1915
1915
  return R ? V : V.endOf(u);
1916
1916
  }, k = function(X, M) {
1917
1917
  return A.w(h.toDate()[X].apply(h.toDate("s"), (R ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(M)), h);
1918
- }, U = this.$W, L = this.$M, H = this.$D, re = "set" + (this.$u ? "UTC" : "");
1918
+ }, U = this.$W, L = this.$M, q = this.$D, re = "set" + (this.$u ? "UTC" : "");
1919
1919
  switch (O) {
1920
1920
  case T:
1921
1921
  return R ? $(1, 0) : $(31, 11);
@@ -1923,7 +1923,7 @@ var Dt = { exports: {} };
1923
1923
  return R ? $(1, L) : $(0, L + 1);
1924
1924
  case l:
1925
1925
  var G = this.$locale().weekStart || 0, ie = (U < G ? U + 7 : U) - G;
1926
- return $(R ? H - ie : H + (6 - ie), L);
1926
+ return $(R ? q - ie : q + (6 - ie), L);
1927
1927
  case u:
1928
1928
  case y:
1929
1929
  return k(re + "Hours", 0);
@@ -1953,8 +1953,8 @@ var Dt = { exports: {} };
1953
1953
  var h, R = this;
1954
1954
  f = Number(f);
1955
1955
  var O = A.p(b), $ = function(L) {
1956
- var H = B(R);
1957
- return A.w(H.date(H.date() + Math.round(L * f)), R);
1956
+ var q = B(R);
1957
+ return A.w(q.date(q.date() + Math.round(L * f)), R);
1958
1958
  };
1959
1959
  if (O === p) return this.set(p, this.$M + f);
1960
1960
  if (O === T) return this.set(T, this.$y + f);
@@ -1967,7 +1967,7 @@ var Dt = { exports: {} };
1967
1967
  }, m.format = function(f) {
1968
1968
  var b = this, h = this.$locale();
1969
1969
  if (!this.isValid()) return h.invalidDate || S;
1970
- var R = f || "YYYY-MM-DDTHH:mm:ssZ", O = A.z(this), $ = this.$H, k = this.$m, U = this.$M, L = h.weekdays, H = h.months, re = h.meridiem, G = function(M, V, ae, he) {
1970
+ var R = f || "YYYY-MM-DDTHH:mm:ssZ", O = A.z(this), $ = this.$H, k = this.$m, U = this.$M, L = h.weekdays, q = h.months, re = h.meridiem, G = function(M, V, ae, he) {
1971
1971
  return M && (M[V] || M(b, R)) || ae[V].slice(0, he);
1972
1972
  }, ie = function(M) {
1973
1973
  return A.s($ % 12 || 12, M, "0");
@@ -1987,9 +1987,9 @@ var Dt = { exports: {} };
1987
1987
  case "MM":
1988
1988
  return A.s(U + 1, 2, "0");
1989
1989
  case "MMM":
1990
- return G(h.monthsShort, U, H, 3);
1990
+ return G(h.monthsShort, U, q, 3);
1991
1991
  case "MMMM":
1992
- return G(H, U);
1992
+ return G(q, U);
1993
1993
  case "D":
1994
1994
  return b.$D;
1995
1995
  case "DD":
@@ -2033,18 +2033,18 @@ var Dt = { exports: {} };
2033
2033
  }, m.utcOffset = function() {
2034
2034
  return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
2035
2035
  }, m.diff = function(f, b, h) {
2036
- var R, O = this, $ = A.p(b), k = B(f), U = (k.utcOffset() - this.utcOffset()) * r, L = this - k, H = function() {
2036
+ var R, O = this, $ = A.p(b), k = B(f), U = (k.utcOffset() - this.utcOffset()) * r, L = this - k, q = function() {
2037
2037
  return A.m(O, k);
2038
2038
  };
2039
2039
  switch ($) {
2040
2040
  case T:
2041
- R = H() / 12;
2041
+ R = q() / 12;
2042
2042
  break;
2043
2043
  case p:
2044
- R = H();
2044
+ R = q();
2045
2045
  break;
2046
2046
  case x:
2047
- R = H() / 3;
2047
+ R = q() / 3;
2048
2048
  break;
2049
2049
  case l:
2050
2050
  R = (L - U) / 6048e5;
@@ -1,7 +1,7 @@
1
1
  import type { DeliveryCompany, LinkedDeliveryDoc } from '../../views/order-settings/delivery/delivery';
2
2
  import { FdoFoodpandaSettings, FdoLinkedDelivery, FdoRestaurant, FdoRestaurantFeedmeDelivery, FdoRestaurantInHouseDelivery, FdoShopeeFoodOrder } from '@feedmepos/core/entity';
3
- import type { FdoFoodpandaOrderOutput, FdoGrabfoodOrderOutput, FdoGrabfoodSettings, FdoShopeeFoodOrderOutput, FdoShopeeFoodSettings, FdtoGetOrderReq } from '@entity';
4
- type DeliveryCompanyUrl = 'foodpanda' | 'grabfood' | 'shopeefood';
3
+ import type { FdoExternalSetting, FdoFoodpandaOrderOutput, FdoGrabfoodOrderOutput, FdoGrabfoodSettings, FdoShopeeFoodOrderOutput, FdoShopeeFoodSettings, FdtoGetOrderReq } from '@entity';
4
+ type DeliveryCompanyUrl = 'foodpanda' | 'grabfood' | 'shopeefood' | 'external';
5
5
  export declare const remoteOrderApi: {
6
6
  readLinkedDeliveryCompanies(): Promise<LinkedDeliveryDoc[]>;
7
7
  readLocalDeliveryCompanies(): Promise<DeliveryCompany[]>;
@@ -29,6 +29,9 @@ export declare const remoteOrderApi: {
29
29
  rejectShopeefoodOrders(orderId: string): Promise<FdoShopeeFoodOrderOutput>;
30
30
  updateShopeefood(restaurantId: string, dto: FdoShopeeFoodSettings): Promise<FdoRestaurant>;
31
31
  syncShopeefoodMenu(storeId: string): Promise<FdoShopeeFoodSettings>;
32
+ readExternal(restaurantId: string): Promise<FdoExternalSetting | null>;
33
+ updateExternal(restaurantId: string, dto: FdoExternalSetting): Promise<FdoExternalSetting>;
34
+ syncExternalMenu(restaurantId: string): Promise<FdoExternalSetting>;
32
35
  flowTestOrder(restaurantId: string, platform: DeliveryCompanyUrl): Promise<void>;
33
36
  cancelTestOrder(restaurantId: string, platform: DeliveryCompanyUrl): Promise<void>;
34
37
  reflowFpOrderNotInDb(payload: {
@@ -197,6 +197,7 @@ export declare const i18nMessages: {
197
197
  scanPay: string;
198
198
  search: string;
199
199
  searchRestaurant: string;
200
+ selectAllItemsIncludeCustomItem: string;
200
201
  selectItem: string;
201
202
  selectRestaurant: string;
202
203
  selectServiceChargeType: string;
@@ -217,6 +218,7 @@ export declare const i18nMessages: {
217
218
  success: string;
218
219
  sunday: string;
219
220
  syncMenu: string;
221
+ syncMenuSuccess: string;
220
222
  table: string;
221
223
  tableSelected: string;
222
224
  tableService: string;
@@ -249,6 +251,13 @@ export declare const i18nMessages: {
249
251
  updateSetting: string;
250
252
  vendorBearPercentage: string;
251
253
  wednesday: string;
254
+ externalDelivery: string;
255
+ manageExternalDelivery: string;
256
+ deliveryCatalog: string;
257
+ pickupCatalog: string;
258
+ DeliverySettingUpdated: string;
259
+ selectPlatform: string;
260
+ platform: string;
252
261
  };
253
262
  };
254
263
  "zh-CN": {
@@ -447,6 +456,7 @@ export declare const i18nMessages: {
447
456
  scanPay: string;
448
457
  search: string;
449
458
  searchRestaurant: string;
459
+ selectAllItemsIncludeCustomItem: string;
450
460
  selectItem: string;
451
461
  selectRestaurant: string;
452
462
  selectServiceChargeType: string;
@@ -467,6 +477,7 @@ export declare const i18nMessages: {
467
477
  success: string;
468
478
  sunday: string;
469
479
  syncMenu: string;
480
+ syncMenuSuccess: string;
470
481
  table: string;
471
482
  tableSelected: string;
472
483
  tableService: string;
@@ -499,6 +510,13 @@ export declare const i18nMessages: {
499
510
  updateSetting: string;
500
511
  vendorBearPercentage: string;
501
512
  wednesday: string;
513
+ externalDelivery: string;
514
+ manageExternalDelivery: string;
515
+ deliveryCatalog: string;
516
+ pickupCatalog: string;
517
+ DeliverySettingUpdated: string;
518
+ selectPlatform: string;
519
+ platform: string;
502
520
  };
503
521
  };
504
522
  };
@@ -4,7 +4,7 @@ export interface Option {
4
4
  label: string;
5
5
  value: string | null;
6
6
  }
7
- type Item = Omit<FdoMenuV4Item, 'variant'> & {
7
+ export type Item = Omit<FdoMenuV4Item, 'variant'> & {
8
8
  codeName: string;
9
9
  variant?: Omit<FdoItemVariant, 'variantCombinations'> & {
10
10
  variantCombinations: (VariantItem & {
@@ -67,12 +67,17 @@ export declare const useAppStore: import("pinia").StoreDefinition<"app", AppStat
67
67
  };
68
68
  assets: {
69
69
  groups: {
70
- key: "pos";
70
+ key: "pos" | "portal";
71
71
  assets: {
72
72
  type: "image" | "lottie";
73
- key: "activeMascotDark" | "activeMascotLight" | "inactiveMascotDark" | "inactiveMascotLight" | "odsMascot";
73
+ key: "activeMascotDark" | "activeMascotLight" | "inactiveMascotDark" | "inactiveMascotLight" | "odsMascot" | "advertisement";
74
74
  path: string;
75
75
  files: {
76
+ responsive?: {
77
+ mobile?: string | null | undefined;
78
+ tablet?: string | null | undefined;
79
+ desktop?: string | null | undefined;
80
+ } | null | undefined;
76
81
  url: string;
77
82
  createdAt: string;
78
83
  config: {
@@ -154,12 +159,17 @@ export declare const useAppStore: import("pinia").StoreDefinition<"app", AppStat
154
159
  };
155
160
  assets: {
156
161
  groups: {
157
- key: "pos";
162
+ key: "pos" | "portal";
158
163
  assets: {
159
164
  type: "image" | "lottie";
160
- key: "activeMascotDark" | "activeMascotLight" | "inactiveMascotDark" | "inactiveMascotLight" | "odsMascot";
165
+ key: "activeMascotDark" | "activeMascotLight" | "inactiveMascotDark" | "inactiveMascotLight" | "odsMascot" | "advertisement";
161
166
  path: string;
162
167
  files: {
168
+ responsive?: {
169
+ mobile?: string | null | undefined;
170
+ tablet?: string | null | undefined;
171
+ desktop?: string | null | undefined;
172
+ } | null | undefined;
163
173
  url: string;
164
174
  createdAt: string;
165
175
  config: {