@feedmepos/mf-order-setting 0.0.21-beta.3 → 0.0.23

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 (109) hide show
  1. package/dist/{KioskDevicesView-Cb7Rw7t8.js → KioskDevicesView-BdJCcotz.js} +1 -1
  2. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-raPhhBpi.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-DUPfN7ti.js} +2 -2
  3. package/dist/KioskSettingView-BChhriPk.js +782 -0
  4. package/dist/KioskView-DPU-oQ1H.js +426 -0
  5. package/dist/{OrderSettingsView-BJ1b1Qjg.js → OrderSettingsView-BOiflwB_.js} +34011 -32822
  6. package/dist/{app-BY258ajB.js → app-CaYWSLe1.js} +39 -17
  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-4COVK72W.js → dayjs.min-8NyoNely.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 +22 -0
  14. package/dist/frontend/mf-order/src/helpers/menu.d.ts +1 -1
  15. package/dist/frontend/mf-order/src/modules/order-setting/kiosk/interface.d.ts +13 -0
  16. package/dist/frontend/mf-order/src/stores/app/index.d.ts +14 -4
  17. package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +45 -35
  18. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +168 -12
  19. package/dist/frontend/mf-order/src/stores/order-setting/mapper.d.ts +2 -1
  20. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +581 -716
  21. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +140 -174
  22. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskInstructionSection.vue.d.ts +15 -0
  23. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +4 -3
  24. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliverySetting.vue.d.ts +2 -2
  25. package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.d.ts +2 -1
  26. package/dist/frontend/mf-order/src/views/order-settings/delivery/delivery.data.d.ts +3 -0
  27. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +97 -0
  28. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +3 -3
  29. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  30. package/dist/{index-t_7ThPjm.js → index-B7GFhkAE.js} +2 -2
  31. package/dist/package/entity/booking/booking.do.d.ts +1516 -1276
  32. package/dist/package/entity/delivery/delivery.dto.d.ts +298 -251
  33. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +539 -0
  34. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +114 -9
  35. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +862 -4
  36. package/dist/package/entity/incoming-order/incoming-order.enum.d.ts +1 -1
  37. package/dist/package/entity/index.d.ts +34 -22
  38. package/dist/package/entity/kiosk/kiosk.do.d.ts +12 -12
  39. package/dist/package/entity/kiosk/kiosk.dto.d.ts +12 -12
  40. package/dist/package/entity/kiosk/marketing/marketing.dto.d.ts +1942 -1642
  41. package/dist/package/entity/member/member.dto.d.ts +33 -0
  42. package/dist/package/entity/order/order-item/order-item.dto.d.ts +15 -0
  43. package/dist/package/entity/order/order.do.d.ts +37 -0
  44. package/dist/package/entity/order/order.dto.d.ts +808 -17435
  45. package/dist/package/entity/order/order.enum.d.ts +2 -0
  46. package/dist/package/entity/order-platform/external/auth/external-auth.do.d.ts +12 -0
  47. package/dist/package/entity/order-platform/external/auth/external-auth.dto.d.ts +27 -0
  48. package/dist/package/entity/order-platform/external/menu/external-menu.do.d.ts +2868 -0
  49. package/dist/package/entity/order-platform/external/menu/external-menu.dto.d.ts +21 -0
  50. package/dist/package/entity/order-platform/external/menu/external-menu.enum.d.ts +3 -0
  51. package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +1373 -0
  52. package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +2834 -0
  53. package/dist/package/entity/order-platform/external/order/external-order.enum.d.ts +9 -0
  54. package/dist/package/entity/order-platform/external/setting/external-setting.do.d.ts +127 -0
  55. package/dist/package/entity/order-platform/external/setting/external-setting.dto.d.ts +95 -0
  56. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.do.d.ts +98 -98
  57. package/dist/package/entity/order-platform/foodpanda/foodpanda-order.dto.d.ts +345 -297
  58. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.do.d.ts +4 -4
  59. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.dto.d.ts +3 -3
  60. package/dist/package/entity/order-platform/grabfood/grabfood-menu.do.d.ts +65 -65
  61. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +311 -263
  62. package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +2 -2
  63. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +7 -7
  64. package/dist/package/entity/order-platform/menu.dto.d.ts +126 -0
  65. package/dist/package/entity/order-platform/order-platform.dto.d.ts +4 -4
  66. package/dist/package/entity/order-platform/order-platform.enum.d.ts +1 -1
  67. package/dist/package/entity/order-platform/shopeefood/shopeefood-order.do.d.ts +298 -250
  68. package/dist/package/entity/order-setting/kiosk/kiosk.do.d.ts +115 -0
  69. package/dist/package/entity/order-setting/kiosk/kiosk.dto.d.ts +225 -41
  70. package/dist/package/entity/order-setting/kiosk/kiosk.enum.d.ts +3 -0
  71. package/dist/package/entity/order-setting/order-setting.do.d.ts +138 -8
  72. package/dist/package/entity/order-setting/order-setting.dto.d.ts +276 -16
  73. package/dist/package/entity/order-setting/sequence/sequence.do.d.ts +4 -4
  74. package/dist/package/entity/order-setting/sequence/sequence.dto.d.ts +4 -4
  75. package/dist/package/entity/payment/payment.enum.d.ts +2 -0
  76. package/dist/package/entity/printer/printer.do.d.ts +2 -2
  77. package/dist/package/entity/pubsub/ably/ably.do.d.ts +60 -9
  78. package/dist/package/entity/pubsub/ably/ably.enum.d.ts +1 -1
  79. package/dist/package/entity/queue/queue.do.d.ts +40 -0
  80. package/dist/package/entity/restaurant/restaurant.dto.d.ts +136 -6
  81. package/dist/package/entity/websocket/websocket.dto.d.ts +288 -0
  82. package/dist/{auth.dto-BOoRSQkS.js → queue.do-CIyIpp22.js} +30390 -29706
  83. package/package.json +4 -3
  84. package/src/api/remoteOrder/index.ts +13 -2
  85. package/src/helpers/menu.ts +2 -2
  86. package/src/locales/en-US.json +13 -2
  87. package/src/locales/zh-CN.json +12 -1
  88. package/src/modules/order-setting/kiosk/interface.ts +16 -0
  89. package/src/stores/order-setting/mapper.ts +58 -7
  90. package/src/stores/restaurant/index.ts +4 -1
  91. package/src/views/kiosk/settings/KioskDineInSection.vue +4 -5
  92. package/src/views/kiosk/settings/KioskDisplayStandSection.vue +36 -0
  93. package/src/views/kiosk/settings/KioskInstructionSection.vue +40 -0
  94. package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +30 -19
  95. package/src/views/kiosk/settings/KioskPickAtCounterSection.vue +45 -7
  96. package/src/views/kiosk/settings/KioskSettingView.vue +15 -3
  97. package/src/views/kiosk/settings/KioskTakeawaySection.vue +38 -4
  98. package/src/views/order-settings/delivery/DeliverySetting.vue +82 -6
  99. package/src/views/order-settings/delivery/delivery.data.ts +16 -1
  100. package/src/views/order-settings/delivery/delivery.ts +1 -0
  101. package/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue +114 -0
  102. package/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue +23 -6
  103. package/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue +21 -16
  104. package/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue +58 -59
  105. package/src/views/order-settings/pickup/PickUpSetting.vue +1 -1
  106. package/src/views/order-settings/servicecharge/ServiceChargeRule.vue +216 -165
  107. package/src/views/order-settings/servicecharge/ServiceChargeSetting.vue +1 -0
  108. package/dist/KioskSettingView-BQgyeWbo.js +0 -649
  109. package/dist/KioskView-BLkuqfZ_.js +0 -371
@@ -0,0 +1,426 @@
1
+ import { defineComponent as I, computed as b, openBlock as c, createElementBlock as y, normalizeClass as X, toDisplayString as m, unref as d, createCommentVNode as _, createElementVNode as o, Fragment as Z, renderList as ee, ref as T, defineAsyncComponent as te, watch as ae, resolveComponent as O, createVNode as k, withCtx as ne, withDirectives as se, vShow as oe, createBlock as R } from "vue";
2
+ import { u as re, _ as le } from "./KioskDevicesView.vue_vue_type_script_setup_true_lang-DUPfN7ti.js";
3
+ import { useI18n as A, useCoreStore as de } from "@feedmepos/mf-common";
4
+ import { F as V, a as ie, b as ce } from "./queue.do-CIyIpp22.js";
5
+ import { useDialog as ue, useSnackbar as pe, useBreakpoints as me } from "@feedmepos/ui-library";
6
+ import { defineStore as ye } from "pinia";
7
+ import { O as B, c as E } from "./index-B7GFhkAE.js";
8
+ const fe = {
9
+ key: 0,
10
+ class: "fm-typo-en-title-sm-600"
11
+ }, ve = {
12
+ key: 1,
13
+ class: "my-[0.25rem]"
14
+ }, _e = { class: "flex flex-col gap-1" }, be = { class: "flex flex-col gap-1" }, he = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, ge = { class: "fm-typo-en-body-lg-600" }, ke = { key: 0 }, Se = { key: 1 }, Pe = { key: 0 }, Oe = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Te = { class: "fm-typo-en-body-lg-600 block" }, we = { key: 1 }, Ce = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, xe = { class: "fm-typo-en-body-lg-600 block" }, Ie = { key: 2 }, Ae = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Ke = { class: "fm-typo-en-body-lg-600 block" }, Ue = { key: 3 }, $e = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Fe = { class: "fm-typo-en-body-lg-600 block" }, qe = { key: 0 }, N = /* @__PURE__ */ I({
15
+ __name: "KioskSummary",
16
+ props: {
17
+ restaurantId: {},
18
+ devices: {},
19
+ kioskOrderSetting: {},
20
+ dialogType: { type: Boolean }
21
+ },
22
+ setup(t) {
23
+ const { t: e } = A(), r = t, l = b(() => {
24
+ var a;
25
+ return (a = r.kioskOrderSetting) != null && a.dineIn.enabled ? e("order.activated") : e("order.deactivated");
26
+ }), n = b(() => {
27
+ var a;
28
+ return (a = r.kioskOrderSetting) != null && a.takeaway.enabled ? e("order.activated") : e("order.deactivated");
29
+ }), s = b(() => {
30
+ var a, p;
31
+ return (a = r.kioskOrderSetting) != null && a.dineIn.displayStand ? e("order.tableService") : (p = r.kioskOrderSetting) != null && p.dineIn && !r.kioskOrderSetting.dineIn.displayStand ? e("order.pickAtCounter") : e("order.unknown");
32
+ }), u = b(() => {
33
+ var a;
34
+ return ((a = r.kioskOrderSetting) == null ? void 0 : a.paymentSetting.paymentTypes.includes(V.enum.cash)) ?? !1;
35
+ }), i = b(() => {
36
+ var p, v;
37
+ const a = [];
38
+ if ((p = r.kioskOrderSetting) == null || p.paymentSetting.paymentTypes.forEach((h) => {
39
+ h === V.enum.ePayment && a.push(e("order.ePayment"));
40
+ }), a.length > 0 && Object.keys(r.kioskOrderSetting.paymentSetting.ePaymentTypes).length !== 0) {
41
+ const h = (v = r.kioskOrderSetting) == null ? void 0 : v.paymentSetting.ePaymentTypes;
42
+ (h.card.terminal || h.card.nfc) && a.push(e("order.bankCard")), (h.eWallet.scanPay || h.eWallet.qrPay) && a.push(e("order.eWallet"));
43
+ }
44
+ return a.join(", ");
45
+ });
46
+ return (a, p) => (c(), y("div", {
47
+ class: X(a.dialogType ? "" : ["p-[1.5rem] border fm-corner-radius-lg flex flex-col gap-5 fixed ml-40 w-[320px]"])
48
+ }, [
49
+ a.dialogType ? _("", !0) : (c(), y("span", fe, m(d(e)("order.kioskSummary")), 1)),
50
+ a.dialogType ? _("", !0) : (c(), y("hr", ve)),
51
+ o("div", _e, [
52
+ o("div", be, [
53
+ o("span", he, m(d(e)("order.kioskDisplay")), 1),
54
+ o("div", ge, [
55
+ a.devices.length > 0 ? (c(), y("div", ke, [
56
+ (c(!0), y(Z, null, ee(a.devices, (v) => (c(), y("li", {
57
+ class: "block",
58
+ key: v.machineId
59
+ }, m(v.name), 1))), 128))
60
+ ])) : (c(), y("div", Se, "-"))
61
+ ]),
62
+ l.value === d(e)("order.activated") ? (c(), y("div", Pe, [
63
+ o("span", Oe, m(d(e)("order.dineIn")), 1),
64
+ o("div", Te, [
65
+ o("div", null, m(l.value), 1)
66
+ ])
67
+ ])) : _("", !0),
68
+ l.value === d(e)("order.activated") && s.value !== d(e)("order.unknown") ? (c(), y("div", we, [
69
+ o("span", Ce, m(d(e)("order.dineInType")), 1),
70
+ o("div", xe, [
71
+ o("div", null, m(s.value), 1)
72
+ ])
73
+ ])) : _("", !0),
74
+ n.value === d(e)("order.activated") ? (c(), y("div", Ie, [
75
+ o("span", Ae, m(d(e)("order.takeaway")), 1),
76
+ o("div", Ke, [
77
+ o("div", null, m(n.value), 1)
78
+ ])
79
+ ])) : _("", !0),
80
+ i.value || u.value ? (c(), y("div", Ue, [
81
+ o("span", $e, m(d(e)("order.acceptedPayment")), 1),
82
+ o("div", Fe, [
83
+ u.value ? (c(), y("div", qe, m(d(e)("order.offlinePayment")), 1)) : _("", !0),
84
+ o("div", null, m(i.value), 1)
85
+ ])
86
+ ])) : _("", !0)
87
+ ])
88
+ ])
89
+ ], 2));
90
+ }
91
+ }), Re = { class: "flex flex-col gap-5 pb-6" }, Ve = { class: "fm-typo-en-body-md-400 block" }, Be = { class: "fm-typo-en-title-md-600" }, Ee = /* @__PURE__ */ I({
92
+ __name: "KioskOtpDialog",
93
+ props: {
94
+ otp: {}
95
+ },
96
+ setup(t) {
97
+ const { t: e } = A();
98
+ return (r, l) => (c(), y("div", Re, [
99
+ o("span", Ve, m(d(e)("order.bindDeviceMessage")), 1),
100
+ o("div", Be, m(r.otp), 1)
101
+ ]));
102
+ }
103
+ }), D = {
104
+ enabled: !1,
105
+ prefix: null,
106
+ padDigit: 0,
107
+ standSlotRange: {
108
+ min: 1,
109
+ max: 10
110
+ },
111
+ submitOrderInstruction: {
112
+ payAtCounter: null,
113
+ paid: null
114
+ }
115
+ }, W = {
116
+ enabled: !1,
117
+ submitOrderInstruction: {
118
+ payAtCounter: null,
119
+ paid: null
120
+ }
121
+ }, Ne = {
122
+ dineIn: {
123
+ enabled: !1,
124
+ pickUp: W,
125
+ sequenceNumber: ie.parse({}),
126
+ displayStand: D
127
+ },
128
+ takeaway: {
129
+ enabled: !1,
130
+ submitOrderInstruction: {
131
+ payAtCounter: null,
132
+ paid: null
133
+ }
134
+ },
135
+ paymentSetting: {
136
+ paymentTypes: [],
137
+ offlinePaymentTypes: [],
138
+ ePaymentTypes: {
139
+ card: {
140
+ terminal: !1,
141
+ nfc: !1
142
+ },
143
+ eWallet: {
144
+ qrPay: !1,
145
+ scanPay: !1
146
+ }
147
+ }
148
+ },
149
+ menuItem: {
150
+ showAllOnly: !1
151
+ }
152
+ }, x = {
153
+ payAtCounter: null,
154
+ paid: null
155
+ }, Me = (t) => {
156
+ var e;
157
+ return {
158
+ kiosk: De(t.kioskSettings, (e = t.sequenceSettings) == null ? void 0 : e.kioskDineIn)
159
+ };
160
+ }, De = (t, e) => {
161
+ var r, l, n, s, u, i, a, p, v;
162
+ return {
163
+ dineIn: We(e ?? {
164
+ current: 0,
165
+ prefix: "#K"
166
+ }, t.dineIn ?? void 0),
167
+ takeaway: {
168
+ enabled: (t == null ? void 0 : t.canTakeaway) ?? !1,
169
+ submitOrderInstruction: (r = t == null ? void 0 : t.takeaway) != null && r.submitOrderInstruction ? {
170
+ payAtCounter: ((n = (l = t.takeaway.submitOrderInstruction) == null ? void 0 : l.payAtCounter) == null ? void 0 : n.en) ?? null,
171
+ paid: ((u = (s = t.takeaway.submitOrderInstruction) == null ? void 0 : s.paid) == null ? void 0 : u.en) ?? null
172
+ } : x
173
+ },
174
+ paymentSetting: {
175
+ paymentTypes: ((i = t == null ? void 0 : t.paymentSetting) == null ? void 0 : i.paymentTypes) ?? [],
176
+ offlinePaymentTypes: ((a = t == null ? void 0 : t.paymentSetting) == null ? void 0 : a.offlinePaymentTypes) ?? [],
177
+ ePaymentTypes: ((p = t == null ? void 0 : t.paymentSetting) == null ? void 0 : p.ePaymentTypes) ?? ce.parse({
178
+ card: {
179
+ terminal: !1,
180
+ nfc: !1
181
+ },
182
+ eWallet: {
183
+ qrPay: !1,
184
+ scanPay: !1
185
+ }
186
+ })
187
+ },
188
+ menuItem: {
189
+ showAllOnly: ((v = t.menuItem) == null ? void 0 : v.showAllOnly) ?? !1
190
+ }
191
+ };
192
+ }, We = (t, e) => {
193
+ var r, l, n, s, u, i, a, p;
194
+ return {
195
+ enabled: !!e,
196
+ sequenceNumber: t,
197
+ pickUp: e != null && e.pickUp ? {
198
+ ...e.pickUp,
199
+ submitOrderInstruction: e.pickUp.submitOrderInstruction ? {
200
+ payAtCounter: ((l = (r = e.pickUp.submitOrderInstruction) == null ? void 0 : r.payAtCounter) == null ? void 0 : l.en) ?? null,
201
+ paid: ((s = (n = e.pickUp.submitOrderInstruction) == null ? void 0 : n.paid) == null ? void 0 : s.en) ?? null
202
+ } : x
203
+ } : W,
204
+ displayStand: e != null && e.displayStand ? {
205
+ enabled: e.displayStand.enabled,
206
+ standSlotRange: e.displayStand.standSlotRange,
207
+ prefix: e.displayStand.prefix,
208
+ padDigit: e.displayStand.padDigit,
209
+ submitOrderInstruction: e.displayStand.submitOrderInstruction ? {
210
+ payAtCounter: ((i = (u = e.displayStand.submitOrderInstruction) == null ? void 0 : u.payAtCounter) == null ? void 0 : i.en) ?? null,
211
+ paid: ((p = (a = e.displayStand.submitOrderInstruction) == null ? void 0 : a.paid) == null ? void 0 : p.en) ?? null
212
+ } : x
213
+ } : D
214
+ };
215
+ }, je = (t) => {
216
+ const e = (n) => {
217
+ var s, u, i, a;
218
+ return {
219
+ requiredSlot: !!n.displayStand,
220
+ displayStand: {
221
+ ...n.displayStand,
222
+ submitOrderInstruction: {
223
+ payAtCounter: (s = n.displayStand.submitOrderInstruction) != null && s.payAtCounter ? {
224
+ en: n.displayStand.submitOrderInstruction.payAtCounter
225
+ } : null,
226
+ paid: (u = n.displayStand.submitOrderInstruction) != null && u.paid ? {
227
+ en: n.displayStand.submitOrderInstruction.paid
228
+ } : null
229
+ }
230
+ },
231
+ pickUp: {
232
+ ...n.pickUp,
233
+ submitOrderInstruction: {
234
+ payAtCounter: (i = n.pickUp.submitOrderInstruction) != null && i.payAtCounter ? {
235
+ en: n.pickUp.submitOrderInstruction.payAtCounter
236
+ } : null,
237
+ paid: (a = n.pickUp.submitOrderInstruction) != null && a.paid ? {
238
+ en: n.pickUp.submitOrderInstruction.paid
239
+ } : null
240
+ }
241
+ }
242
+ };
243
+ }, r = (n) => ({
244
+ canTakeaway: t.takeaway.enabled,
245
+ dineIn: n,
246
+ menuItem: t.menuItem,
247
+ paymentSetting: l(t.paymentSetting)
248
+ }), l = (n) => ({
249
+ paymentTypes: n.paymentTypes,
250
+ offlinePaymentTypes: n.offlinePaymentTypes,
251
+ ePaymentTypes: n.ePaymentTypes
252
+ });
253
+ return t.dineIn.enabled ? {
254
+ kioskSettings: r(e(t.dineIn)),
255
+ kioskDineIn: t.dineIn.sequenceNumber
256
+ } : {
257
+ kioskSettings: r()
258
+ };
259
+ }, M = {
260
+ convertOrderSettingDto: Me,
261
+ toOrderKioskSettingsDto: je
262
+ }, He = ye("orderSetting", () => {
263
+ const t = T({});
264
+ async function e() {
265
+ const s = await B.getOrderSetting();
266
+ l(s);
267
+ }
268
+ async function r() {
269
+ if (t.value.orderSetting && t.value.kiosk) {
270
+ const { _id: s, ...u } = t.value.orderSetting, i = M.toOrderKioskSettingsDto(t.value.kiosk), a = {
271
+ ...u,
272
+ kioskSettings: i.kioskSettings
273
+ }, p = await B.updateOrderSetting(a);
274
+ l(p);
275
+ }
276
+ }
277
+ function l(s) {
278
+ t.value.orderSetting = s, t.value.kiosk = M.convertOrderSettingDto(s).kiosk;
279
+ }
280
+ function n(s) {
281
+ t.value.kiosk = s;
282
+ }
283
+ return {
284
+ state: t,
285
+ getSetting: e,
286
+ updateKioskSetting: r,
287
+ setKioskOrderSetting: n
288
+ };
289
+ }), Le = { class: "py-[1.5rem]" }, Ye = { class: "flex px-[1.5rem]" }, ze = { class: "flex-[2_2_0%]" }, Ge = { class: "pt-[1.5rem]" }, Je = { class: "flex flex-col gap-10" }, Qe = { class: "flex flex-col gap-2" }, Xe = { class: "fm-typo-en-title-sm-600" }, Ze = { class: "fm-typo-en-title-sm-400" }, et = {
290
+ key: 0,
291
+ class: "flex-[1_1_0%]"
292
+ }, dt = /* @__PURE__ */ I({
293
+ __name: "KioskView",
294
+ setup(t) {
295
+ var F, q;
296
+ const { t: e } = A(), r = te(
297
+ () => import("./KioskSettingView-BChhriPk.js")
298
+ ), l = T("device"), n = re(), s = He(), u = ue(), { currentRestaurant: i, restaurants: a, changeRestaurant: p } = de(), v = pe(), h = me(), K = b(() => h.breakpoints.value.xs), S = T(((F = i.value) == null ? void 0 : F._id) ?? void 0), j = b(() => a.value.map((f) => ({
299
+ label: f.profile.name,
300
+ value: f._id
301
+ }))), P = T(((q = i.value) == null ? void 0 : q._id) ?? "");
302
+ function H() {
303
+ var f;
304
+ u.open({
305
+ title: E(e("order.kioskSummary")),
306
+ contentComponent: N,
307
+ contentComponentProps: {
308
+ restaurantId: (f = i.value) == null ? void 0 : f._id,
309
+ devices: n.state.devices,
310
+ kioskOrderSetting: s.state.kiosk,
311
+ dialogType: !0
312
+ }
313
+ });
314
+ }
315
+ async function U(f) {
316
+ const g = a.value.find((w) => w._id == f);
317
+ await p(g), await s.getSetting(), await n.getDevices(), S.value = f, P.value = f;
318
+ }
319
+ const L = b(() => [
320
+ {
321
+ label: e("order.deviceBinding"),
322
+ value: "device"
323
+ },
324
+ {
325
+ label: e("order.settings"),
326
+ value: "setting"
327
+ }
328
+ ]), $ = b(() => n.state.devices);
329
+ async function Y() {
330
+ await n.requestOtp(), u.open({
331
+ title: E(e("order.bindDevice")),
332
+ contentComponent: Ee,
333
+ contentComponentProps: {
334
+ otp: n.state.otp
335
+ }
336
+ });
337
+ }
338
+ async function z(f) {
339
+ try {
340
+ s.setKioskOrderSetting(f), await s.updateKioskSetting(), v.open({
341
+ title: e("order.kioskSettingSuccess"),
342
+ type: "success"
343
+ });
344
+ } catch {
345
+ v.open({
346
+ title: e("order.kioskSettingFailed"),
347
+ type: "error"
348
+ });
349
+ }
350
+ }
351
+ return ae(
352
+ () => a.value.length,
353
+ async (f) => {
354
+ S.value === void 0 && a.value.length > 0 && await U(a.value[0]._id);
355
+ },
356
+ { immediate: !0 }
357
+ ), (f, g) => {
358
+ const w = O("FmButton"), G = O("FmPageHead"), J = O("FmTabs"), Q = O("FmSelect");
359
+ return c(), y("div", Le, [
360
+ k(G, {
361
+ title: d(e)("order.kiosk")
362
+ }, {
363
+ append: ne(() => [
364
+ se(k(w, {
365
+ icon: "info",
366
+ variant: "tertiary",
367
+ onClick: H
368
+ }, null, 512), [
369
+ [oe, K.value]
370
+ ])
371
+ ]),
372
+ _: 1
373
+ }, 8, ["title"]),
374
+ o("div", Ye, [
375
+ o("div", ze, [
376
+ k(J, {
377
+ "model-value": l.value,
378
+ "onUpdate:modelValue": g[0] || (g[0] = (C) => l.value = C),
379
+ items: L.value
380
+ }, null, 8, ["model-value", "items"]),
381
+ o("div", Ge, [
382
+ o("div", Je, [
383
+ o("div", Qe, [
384
+ o("span", Xe, m(d(e)("order.activateLocation")), 1),
385
+ o("span", Ze, m(d(e)("order.selectRestaurant")) + ": ", 1),
386
+ k(Q, {
387
+ class: "w-1/2",
388
+ modelValue: S.value,
389
+ "onUpdate:modelValue": [
390
+ g[1] || (g[1] = (C) => S.value = C),
391
+ U
392
+ ],
393
+ items: j.value,
394
+ placeholder: d(e)("order.selectItem")
395
+ }, null, 8, ["modelValue", "items", "placeholder"])
396
+ ]),
397
+ l.value == "device" ? (c(), R(le, {
398
+ key: 0,
399
+ devices: $.value,
400
+ "request-otp": Y
401
+ }, null, 8, ["devices"])) : _("", !0),
402
+ l.value == "setting" ? (c(), R(d(r), {
403
+ key: `KioskSettingView-${P.value}`,
404
+ "restaurant-id": P.value,
405
+ onUpdateKioskOrderSetting: z,
406
+ form: d(s).state.kiosk ?? d(Ne)
407
+ }, null, 8, ["restaurant-id", "form"])) : _("", !0)
408
+ ])
409
+ ])
410
+ ]),
411
+ K.value ? _("", !0) : (c(), y("div", et, [
412
+ k(N, {
413
+ "restaurant-id": P.value,
414
+ devices: $.value,
415
+ "kiosk-order-setting": d(s).state.kiosk,
416
+ dialogType: !1
417
+ }, null, 8, ["restaurant-id", "devices", "kiosk-order-setting"])
418
+ ]))
419
+ ])
420
+ ]);
421
+ };
422
+ }
423
+ });
424
+ export {
425
+ dt as default
426
+ };