@feedmepos/mf-order-setting 0.0.56-dev.1 → 0.0.56-dev.2

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 (64) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/dist/{KioskDevicesView-CccsAZqK.js → KioskDevicesView-Qv-xd_kZ.js} +1 -1
  3. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-dF1jgi53.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-CCF1mKni.js} +2 -2
  4. package/dist/KioskSettingView-CvvrK6Bv.js +643 -0
  5. package/dist/{KioskView-DmaCjLcw.js → KioskView-CppTVBv-.js} +117 -117
  6. package/dist/OrderSettingsView-C38N61dM.js +36564 -0
  7. package/dist/{app-EGmxrjDM.js → app-Bss1GkKY.js} +4 -4
  8. package/dist/app.js +1 -1
  9. package/dist/{dayjs.min-lCwCAXUZ.js → dayjs.min-DZfxGUk4.js} +1 -1
  10. package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +3 -0
  11. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +1 -1
  12. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +13 -3
  13. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +12 -4
  14. package/dist/frontend/mf-order/src/views/order-settings/dine-in/OfflinePaymentTypeDialog.vue.d.ts +4 -4
  15. package/dist/frontend/mf-order/src/views/order-settings/dine-in/PaymentType.vue.d.ts +38 -4
  16. package/dist/frontend/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +1 -0
  17. package/dist/frontend/mf-order/src/views/order-settings/reservation/CustomTimePicker.vue.d.ts +1 -0
  18. package/dist/{index-CWrX79Jg.js → index-B6AGCsrw.js} +6 -6
  19. package/dist/index-BpKR-Cxd.js +19757 -0
  20. package/dist/{menu.dto-CgymySda.js → menu.dto-C_B3M2fs.js} +44222 -46755
  21. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +22443 -3
  22. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +3 -3
  23. package/dist/package/entity/incoming-order/incoming-order.enum.d.ts +1 -1
  24. package/dist/package/entity/index.d.ts +1 -0
  25. package/dist/package/entity/marketing/marketing.dto.d.ts +1 -1
  26. package/dist/package/entity/order/dine-in/qr.dto.d.ts +38 -0
  27. package/dist/package/entity/order/order.do.d.ts +6358 -2
  28. package/dist/package/entity/order/order.dto.d.ts +22 -0
  29. package/dist/package/entity/order-platform/deliveroo/deliveroo-dto.d.ts +3 -0
  30. package/dist/package/entity/order-platform/deliveroo/deliveroo-setting.do.d.ts +3 -0
  31. package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +12 -12
  32. package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +32 -32
  33. package/dist/package/entity/order-platform/external/setting/external-setting.do.d.ts +21 -3
  34. package/dist/package/entity/order-platform/external/setting/external-setting.dto.d.ts +12 -2
  35. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.do.d.ts +3 -0
  36. package/dist/package/entity/order-platform/foodpanda/foodpanda-settings.dto.d.ts +3 -0
  37. package/dist/package/entity/order-platform/grabfood/grabfood-edit-order.do.d.ts +9 -1
  38. package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +2 -2
  39. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +3 -3
  40. package/dist/package/entity/order-platform/order-platform.dto.d.ts +2 -2
  41. package/dist/package/entity/order-platform/shopeefood/shopeefood-settings.do.d.ts +3 -0
  42. package/dist/package/entity/order-platform/shopeefood/shopeefood-settings.dto.d.ts +3 -0
  43. package/dist/package/entity/order-setting/order-setting.do.d.ts +3 -0
  44. package/dist/package/entity/order-setting/order-setting.dto.d.ts +6 -0
  45. package/dist/package/entity/queue/queue.do.d.ts +3 -8
  46. package/dist/package/entity/queue/queue.dto.d.ts +10 -0
  47. package/dist/package/entity/reservation/reservation.do.d.ts +4 -0
  48. package/dist/package/entity/reservation/reservation.dto.d.ts +10 -0
  49. package/dist/package/entity/reservation/reservation.utils.d.ts +2 -2
  50. package/dist/style.css +1 -1
  51. package/package.json +1 -1
  52. package/src/views/kiosk/KioskSummary.vue +3 -0
  53. package/src/views/kiosk/settings/KioskPaymentTypeSection.vue +99 -211
  54. package/src/views/kiosk/settings/KioskSettingView.vue +27 -11
  55. package/src/views/order-settings/dine-in/DineInSetting.vue +1 -0
  56. package/src/views/order-settings/dine-in/OfflinePaymentTypeDialog.vue +2 -3
  57. package/src/views/order-settings/dine-in/PaymentType.vue +151 -43
  58. package/src/views/order-settings/pickup/PaymentSidesheet.vue +33 -172
  59. package/src/views/order-settings/pickup/PickUpSettingDialogContent.vue +1 -0
  60. package/src/views/order-settings/reservation/CustomTimePicker.vue +129 -49
  61. package/src/views/order-settings/reservation/ReservationSetting.vue +547 -303
  62. package/dist/KioskSettingView-8GY7AT-N.js +0 -722
  63. package/dist/OrderSettingsView-BZcU4t9L.js +0 -56240
  64. package/dist/index-BXsnV_eO.js +0 -150
@@ -1,722 +0,0 @@
1
- import { defineComponent as te, computed as U, ref as F, onMounted as pe, resolveComponent as V, createElementBlock as S, openBlock as P, Fragment as K, createVNode as r, createElementVNode as s, createCommentVNode as Q, unref as t, withCtx as _, createTextVNode as ce, toDisplayString as v, renderList as Z, withDirectives as $, vShow as D, createBlock as J } from "vue";
2
- import { F as O, e as c, f as ne, S as oe } from "./menu.dto-CgymySda.js";
3
- import { _ as ye, u as fe } from "./index-BXsnV_eO.js";
4
- import { useI18n as se } from "@feedmepos/mf-common";
5
- import { useSnackbar as ve } from "@feedmepos/ui-library";
6
- import { g as re, s as ie, a as be, r as ee, u as ae, b as ge } from "./app-EGmxrjDM.js";
7
- const Pe = { class: "flex flex-row items-center" }, Ie = { key: 0 }, Se = {
8
- key: 1,
9
- class: "ml-7"
10
- }, xe = { key: 0 }, Te = { class: "font-bold" }, Ve = {
11
- key: 2,
12
- class: "ml-7"
13
- }, he = { class: "ml-7" }, ke = { class: "ml-7" }, we = { class: "flex flex-row gap-9" }, _e = /* @__PURE__ */ te({
14
- __name: "KioskPaymentTypeSection",
15
- props: {
16
- paymentTypes: {
17
- type: Array,
18
- required: !0
19
- },
20
- offlinePaymentTypes: {
21
- type: Array,
22
- required: !0
23
- },
24
- allowEPayment: {
25
- type: [Boolean, String],
26
- required: !0
27
- },
28
- ePaymentTypes: {
29
- type: Object,
30
- required: !0
31
- }
32
- },
33
- emits: ["update:paymentTypes", "update:offlinePaymentTypes", "update:ePaymentTypes"],
34
- setup(d, { emit: u }) {
35
- const { t: a } = se(), y = d, g = u;
36
- async function h(l) {
37
- g(
38
- "update:offlinePaymentTypes",
39
- y.offlinePaymentTypes.filter((e, i) => i !== l)
40
- );
41
- }
42
- const n = U(() => (y.paymentTypes || []).includes(O.enum.ePayment)), W = U(() => {
43
- const l = y.paymentTypes || [], e = y.offlinePaymentTypes || [];
44
- return l.includes(O.enum.cash) || e.length > 0;
45
- }), M = F(!1), b = F([]), k = F(), f = F([]), I = F(!1), C = F(!1), w = F(!1), x = [
46
- { label: a("order.offlinePayment"), value: "offline" },
47
- { label: a("order.ePayment"), value: "e-payment" }
48
- ], Y = () => {
49
- const l = [];
50
- W.value && l.push("offline"), n.value && l.push("e-payment"), b.value = l, M.value = l.length === x.length, Object.keys(y.ePaymentTypes).length !== 0 && (y.ePaymentTypes.terminal && (C.value = !0), y.ePaymentTypes.card.terminal ? (k.value = c.enum.TERMINAL, I.value = !0) : y.ePaymentTypes.card.nfc && (k.value = c.enum.NFC, I.value = !0), y.ePaymentTypes.eWallet.qrPay && (f.value.push(c.enum.QRPAY), w.value = !0), y.ePaymentTypes.eWallet.scanPay && (f.value.push(c.enum.SCANPAY), w.value = !0));
51
- };
52
- Y();
53
- const L = (l) => {
54
- b.value = l ? x.map((p) => p.value) : [], M.value = l;
55
- const e = [], i = l ? y.offlinePaymentTypes || [] : [];
56
- b.value.includes("e-payment") && (e.push(O.enum.ePayment), I.value = !0, w.value = !0), b.value.includes("offline") && e.push(O.enum.cash), g("update:paymentTypes", e), g("update:offlinePaymentTypes", i), R(I.value), q(w.value);
57
- }, j = (l) => {
58
- const e = b.value;
59
- b.value = l, M.value = l.length === x.length;
60
- const i = [], p = l.includes("offline") ? y.offlinePaymentTypes || [] : [];
61
- l.includes("e-payment") && i.push(O.enum.ePayment), l.includes("offline") && i.push(O.enum.cash), e.includes("e-payment") || (I.value = !0, w.value = !0, R(I.value), q(w.value)), g("update:paymentTypes", i), g("update:offlinePaymentTypes", p);
62
- }, B = (l) => {
63
- const e = {
64
- terminal: !1,
65
- card: {
66
- terminal: !1,
67
- nfc: !1
68
- },
69
- eWallet: {
70
- qrPay: !1,
71
- scanPay: !1
72
- }
73
- };
74
- b.value.includes("e-payment") && (l == c.enum.TERMINAL && (e.card.terminal = !0), l == c.enum.NFC && (e.card.nfc = !0), f.value.length > 0 && (f.value.includes(c.enum.QRPAY) && (e.eWallet.qrPay = !0), f.value.includes(c.enum.SCANPAY) && (e.eWallet.scanPay = !0))), C.value && (e.terminal = !0), g("update:ePaymentTypes", e);
75
- }, A = () => {
76
- const l = {
77
- terminal: !1,
78
- card: {
79
- terminal: !1,
80
- nfc: !1
81
- },
82
- eWallet: {
83
- qrPay: !1,
84
- scanPay: !1,
85
- terminalScanPay: !1,
86
- terminalQrPay: !1
87
- }
88
- };
89
- b.value.includes("e-payment") && (k.value && (k.value === c.enum.TERMINAL && (l.card.terminal = !0), k.value === c.enum.NFC && (l.card.nfc = !0)), C.value && (l.terminal = !0), f.value.includes(c.enum.QRPAY) && (l.eWallet.qrPay = !0), f.value.includes(c.enum.SCANPAY) && (l.eWallet.scanPay = !0), f.value.includes(c.enum.TERMINAL_SCAN_PAY) && (l.eWallet.terminalScanPay = !0), f.value.includes(c.enum.TERMINAL_QR_PAY) && (l.eWallet.terminalQrPay = !0)), g("update:ePaymentTypes", l);
90
- }, R = (l) => {
91
- k.value = "", l && (k.value = c.enum.TERMINAL), A();
92
- }, q = (l) => {
93
- f.value = [], l && (f.value = [
94
- c.enum.QRPAY,
95
- c.enum.SCANPAY
96
- ]), A();
97
- };
98
- return pe(() => {
99
- Y();
100
- }), (l, e) => {
101
- var H, G;
102
- const i = V("FmCheckbox"), p = V("FmCardSection"), T = V("FmCard"), E = V("FmButton"), N = V("FmSwitch"), o = V("FmRadio"), ue = V("FmRadioGroup");
103
- return P(), S(K, null, [
104
- r(i, {
105
- value: "",
106
- "model-value": M.value,
107
- label: t(a)("order.all"),
108
- indeterminate: b.value.length > 0 && b.value.length < x.length,
109
- "onUpdate:modelValue": L
110
- }, null, 8, ["model-value", "label", "indeterminate"]),
111
- s("div", Pe, [
112
- r(i, {
113
- modelValue: b.value,
114
- "onUpdate:modelValue": [
115
- e[0] || (e[0] = (m) => b.value = m),
116
- j
117
- ],
118
- label: x[0].label,
119
- value: x[0].value
120
- }, null, 8, ["modelValue", "label", "value"])
121
- ]),
122
- b.value.includes(x[0].value) && ((H = d.offlinePaymentTypes) == null ? void 0 : H.length) === 0 ? (P(), S("div", Ie, [
123
- r(ye, {
124
- "onUpdate:offlinePaymentTypes": e[1] || (e[1] = (m) => g("update:offlinePaymentTypes", m))
125
- })
126
- ])) : Q("", !0),
127
- b.value.includes("offline") ? (P(), S("div", Se, [
128
- ((G = d.offlinePaymentTypes) == null ? void 0 : G.length) === 0 ? (P(), S("div", xe, [
129
- r(T, { variant: "outlined" }, {
130
- default: _(() => [
131
- r(p, null, {
132
- default: _(() => [
133
- ce(v(t(a)("order.payAtCounter")), 1)
134
- ]),
135
- _: 1
136
- })
137
- ]),
138
- _: 1
139
- })
140
- ])) : Q("", !0),
141
- (P(!0), S(K, null, Z(d.offlinePaymentTypes, (m, me) => (P(), S("p", { key: me }, [
142
- r(T, { variant: "outlined" }, {
143
- default: _(() => [
144
- r(p, { class: "flex items-center justify-between" }, {
145
- default: _(() => [
146
- s("div", null, [
147
- s("span", Te, v(m.name), 1),
148
- e[11] || (e[11] = s("br", null, null, -1)),
149
- s("span", null, v(m.instruction), 1)
150
- ]),
151
- (P(!0), S(K, null, Z(d.offlinePaymentTypes, (Ta, X) => (P(), S("div", { key: X }, [
152
- r(E, {
153
- "append-icon": "delete",
154
- variant: "tertiary",
155
- onClick: (Va) => h(X)
156
- }, null, 8, ["onClick"])
157
- ]))), 128))
158
- ]),
159
- _: 2
160
- }, 1024)
161
- ]),
162
- _: 2
163
- }, 1024)
164
- ]))), 128))
165
- ])) : Q("", !0),
166
- r(i, {
167
- modelValue: b.value,
168
- "onUpdate:modelValue": [
169
- e[2] || (e[2] = (m) => b.value = m),
170
- j
171
- ],
172
- label: x[1].label,
173
- value: x[1].value
174
- }, null, 8, ["modelValue", "label", "value"]),
175
- b.value.includes(x[1].value) ? (P(), S("div", Ve, [
176
- r(T, { variant: "outlined" }, {
177
- default: _(() => [
178
- r(p, null, {
179
- default: _(() => [
180
- r(N, {
181
- label: t(a)("order.bankCard"),
182
- sublabel: t(a)("order.cardPaymentDescription"),
183
- "label-placement": "right",
184
- modelValue: I.value,
185
- "onUpdate:modelValue": [
186
- e[3] || (e[3] = (m) => I.value = m),
187
- R
188
- ]
189
- }, null, 8, ["label", "sublabel", "modelValue"]),
190
- e[12] || (e[12] = s("br", null, null, -1)),
191
- $(s("div", he, [
192
- r(ue, {
193
- modelValue: k.value,
194
- "onUpdate:modelValue": [
195
- e[4] || (e[4] = (m) => k.value = m),
196
- B
197
- ],
198
- inline: ""
199
- }, {
200
- default: _(() => [
201
- r(o, {
202
- label: t(a)("order.terminal"),
203
- value: t(c).enum.TERMINAL
204
- }, null, 8, ["label", "value"]),
205
- r(o, {
206
- label: t(a)("order.nfc"),
207
- value: t(c).enum.NFC
208
- }, null, 8, ["label", "value"])
209
- ]),
210
- _: 1
211
- }, 8, ["modelValue"])
212
- ], 512), [
213
- [D, I.value]
214
- ])
215
- ]),
216
- _: 1
217
- })
218
- ]),
219
- _: 1
220
- }),
221
- r(T, {
222
- variant: "outlined",
223
- class: "mt-2"
224
- }, {
225
- default: _(() => [
226
- r(p, null, {
227
- default: _(() => [
228
- r(N, {
229
- label: t(a)("order.terminal"),
230
- sublabel: t(a)("order.terminalPaymentDescription"),
231
- "label-placement": "right",
232
- modelValue: C.value,
233
- "onUpdate:modelValue": [
234
- e[5] || (e[5] = (m) => C.value = m),
235
- R
236
- ]
237
- }, null, 8, ["label", "sublabel", "modelValue"])
238
- ]),
239
- _: 1
240
- })
241
- ]),
242
- _: 1
243
- }),
244
- r(T, {
245
- variant: "outlined",
246
- class: "mt-2"
247
- }, {
248
- default: _(() => [
249
- r(p, null, {
250
- default: _(() => [
251
- r(N, {
252
- label: t(a)("order.eWallet"),
253
- sublabel: t(a)("order.eWalletDescription"),
254
- "label-placement": "right",
255
- modelValue: w.value,
256
- "onUpdate:modelValue": [
257
- e[6] || (e[6] = (m) => w.value = m),
258
- q
259
- ]
260
- }, null, 8, ["label", "sublabel", "modelValue"]),
261
- e[13] || (e[13] = s("br", null, null, -1)),
262
- $(s("div", ke, [
263
- s("div", we, [
264
- r(i, {
265
- modelValue: f.value,
266
- "onUpdate:modelValue": [
267
- e[7] || (e[7] = (m) => f.value = m),
268
- A
269
- ],
270
- label: t(a)("order.qrPay"),
271
- value: t(c).enum.QRPAY
272
- }, null, 8, ["modelValue", "label", "value"]),
273
- r(i, {
274
- modelValue: f.value,
275
- "onUpdate:modelValue": [
276
- e[8] || (e[8] = (m) => f.value = m),
277
- A
278
- ],
279
- label: t(a)("order.scanPay"),
280
- value: t(c).enum.SCANPAY
281
- }, null, 8, ["modelValue", "label", "value"]),
282
- r(i, {
283
- modelValue: f.value,
284
- "onUpdate:modelValue": [
285
- e[9] || (e[9] = (m) => f.value = m),
286
- A
287
- ],
288
- label: t(a)("order.terminalScanPay"),
289
- value: t(c).enum.TERMINAL_SCAN_PAY
290
- }, null, 8, ["modelValue", "label", "value"]),
291
- r(i, {
292
- modelValue: f.value,
293
- "onUpdate:modelValue": [
294
- e[10] || (e[10] = (m) => f.value = m),
295
- A
296
- ],
297
- label: t(a)("order.terminalQrPay"),
298
- value: t(c).enum.TERMINAL_QR_PAY
299
- }, null, 8, ["modelValue", "label", "value"])
300
- ])
301
- ], 512), [
302
- [D, w.value]
303
- ])
304
- ]),
305
- _: 1
306
- })
307
- ]),
308
- _: 1
309
- })
310
- ])) : Q("", !0)
311
- ], 64);
312
- };
313
- }
314
- });
315
- async function Ce(d) {
316
- return (await ne({
317
- customIdToken: d
318
- }).post("/token", { token: d })).data;
319
- }
320
- async function Ae(d) {
321
- return (await ne({
322
- customIdToken: d
323
- }).post("/token/idtoken", { customToken: d })).data;
324
- }
325
- const de = {
326
- getCustomToken: Ce,
327
- getIdToken: Ae
328
- };
329
- var Fe = { firebase: {} }, Ue = {};
330
- let z = null;
331
- function Re(d) {
332
- var y;
333
- const u = (y = d.name.split(".").pop()) == null ? void 0 : y.toLowerCase();
334
- return u && /^[a-z0-9]+$/.test(u) ? u : {
335
- "image/jpeg": "jpg",
336
- "image/png": "png",
337
- "image/webp": "webp",
338
- "image/gif": "gif"
339
- }[d.type] ?? "bin";
340
- }
341
- function Ee() {
342
- var a;
343
- return (((a = Ue.firebase) == null ? void 0 : a.storageBucket) ?? Fe.firebase.storageBucket ?? "image.feedmedev.cc").replace(/^https?:\/\//, "").replace(/\/+$/, "");
344
- }
345
- function Ne(d) {
346
- const u = d.replace(/^\/+/, "");
347
- return `https://${Ee()}/${u}`;
348
- }
349
- async function Oe() {
350
- const d = re();
351
- if (!d.currentUser && (await d.authStateReady(), !d.currentUser && (z || (z = (async () => {
352
- const u = oe.getIdToken();
353
- if (!u)
354
- throw new Error("Missing session token for Firebase authentication");
355
- const a = await de.getCustomToken(u);
356
- await ie(d, a);
357
- })().finally(() => {
358
- z = null;
359
- })), await z, !d.currentUser)))
360
- throw new Error("User not authenticated for image upload");
361
- }
362
- async function $e() {
363
- const d = re(), u = oe.getIdToken();
364
- if (!u)
365
- throw new Error("Missing session token for Firebase authentication");
366
- d.currentUser && await ge(d);
367
- const a = await de.getCustomToken(u);
368
- await ie(d, a);
369
- }
370
- async function De(d, u) {
371
- const a = be(), y = ee(a, d);
372
- try {
373
- await ae(y, u, {
374
- contentType: u.type || void 0
375
- });
376
- return;
377
- } catch (h) {
378
- if ((h == null ? void 0 : h.code) !== "storage/unauthorized")
379
- throw h;
380
- }
381
- await $e();
382
- const g = ee(a, d);
383
- await ae(g, u, {
384
- contentType: u.type || void 0
385
- });
386
- }
387
- async function Me(d, u) {
388
- await Oe();
389
- const a = d.replace(/^\/+/, "").replace(/\/+$/, ""), y = Re(u), g = `${Date.now()}_${Math.random().toString(36).slice(2, 10)}.${y}`, h = `${a}/${g}`;
390
- return await De(h, u), Ne(h);
391
- }
392
- const Le = {
393
- key: 0,
394
- class: "flex flex-col gap-32"
395
- }, We = { class: "flex flex-col gap-2" }, Ye = { class: "fm-typo-en-title-sm-600" }, je = { class: "flex flex-col gap-5" }, qe = { class: "flex flex-col gap-16" }, Be = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, Qe = { class: "fm-typo-en-title-sm-600" }, ze = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, Ke = { class: "fm-typo-en-title-sm-600" }, He = { class: "flex flex-row gap-2" }, Ge = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, Xe = { class: "fm-typo-en-title-sm-600" }, Ze = { class: "flex flex-col gap-2" }, Je = { class: "fm-typo-en-title-sm-600" }, ea = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2 my-5 w-11/12" }, aa = { class: "fm-typo-en-title-sm-600" }, la = { class: "flex flex-col gap-2" }, ta = { class: "fm-typo-en-title-sm-600" }, na = { class: "flex flex-col gap-2" }, oa = { class: "fm-typo-en-title-sm-600" }, sa = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, ra = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-4 my-5 w-11/12" }, ia = { class: "fm-typo-en-body-md-600" }, da = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, ua = {
396
- key: 1,
397
- class: "flex flex-col gap-2"
398
- }, ma = ["src", "alt"], pa = { class: "border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-4 my-5 w-11/12" }, ca = { class: "fm-typo-en-body-md-600" }, ya = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, fa = {
399
- key: 1,
400
- class: "flex flex-col gap-2"
401
- }, va = ["src", "alt"], ba = { class: "flex flex-col gap-2" }, ga = { class: "fm-typo-en-title-sm-600" }, Pa = { class: "flex flex-col gap-2" }, Ia = { class: "fm-typo-en-title-sm-600" }, Sa = { class: "fm-typo-en-title-sm-400 font-bold" }, xa = { key: 1 }, le = 10 * 1e3 * 1e3, Fa = /* @__PURE__ */ te({
402
- __name: "KioskSettingView",
403
- props: {
404
- restaurantId: {},
405
- form: {}
406
- },
407
- emits: ["updateKioskOrderSetting"],
408
- setup(d, { emit: u }) {
409
- const { t: a } = se(), y = d, g = ve(), h = u, n = F(y.form), W = (l) => l < 0 ? a("order.nonNegativeRule") : !0, M = (l) => l <= (n.value.dineIn.displayStand.standSlotRange.min ?? 0) ? a("order.greaterThanMinRule") : !0, b = U(() => [W]), k = U(() => [W]), f = U(() => [W, M]), I = U(() => {
410
- const l = n.value;
411
- if (l.dineIn.enabled && l.dineIn.displayStand.enabled) {
412
- const { padDigit: e, standSlotRange: i } = l.dineIn.displayStand;
413
- if (!(e != null && e >= 0 && i.min != null && i.max != null && i.min <= i.max)) return null;
414
- }
415
- return {
416
- ...l,
417
- dineIn: {
418
- ...l.dineIn,
419
- displayStand: {
420
- ...l.dineIn.displayStand,
421
- enabled: l.dineIn.enabled && l.dineIn.displayStand.enabled,
422
- padDigit: l.dineIn.displayStand.padDigit ?? 0,
423
- standSlotRange: {
424
- min: l.dineIn.displayStand.standSlotRange.min ?? 0,
425
- max: l.dineIn.displayStand.standSlotRange.max ?? 10
426
- },
427
- prefix: l.dineIn.displayStand.prefix ?? ""
428
- }
429
- }
430
- };
431
- }), { startAsyncCall: C } = fe();
432
- function w(l) {
433
- n.value.paymentSetting.paymentTypes = l;
434
- }
435
- function x(l) {
436
- n.value.paymentSetting.ePaymentTypes = l;
437
- }
438
- function Y(l) {
439
- n.value[l] = null;
440
- }
441
- function L(l) {
442
- const e = n.value[l];
443
- if (!e) return null;
444
- const i = e.trim();
445
- return i.length > 0 ? i : null;
446
- }
447
- async function j(l, e) {
448
- try {
449
- const i = await C(async () => {
450
- const p = `/restaurant/${y.restaurantId}/kiosk/${l}`;
451
- return await Me(p, e);
452
- });
453
- n.value[l] = i, g.open({
454
- title: a("order.imageUploadSuccess"),
455
- type: "success"
456
- });
457
- } catch (i) {
458
- console.error(i), g.open({
459
- title: a("order.imageUploadFailed"),
460
- type: "error"
461
- });
462
- }
463
- }
464
- function B(l, e) {
465
- var T, E;
466
- const i = a(l === "coverImageLandscape" ? "order.coverImageLandscape" : "order.coverImagePortrait"), p = (E = (T = e[0]) == null ? void 0 : T.reason) == null ? void 0 : E[0];
467
- g.open({
468
- title: p ? `${a("order.imageUploadRejected")}: ${i} (${p})` : `${a("order.imageUploadRejected")}: ${i}`,
469
- type: "error"
470
- });
471
- }
472
- const A = U(() => (n.value.paymentSetting.paymentTypes || []).includes(O.enum.ePayment)), R = U({
473
- get: () => (n.value.dineIn.displayStand.enabled && n.value.dineIn.displayStand.enablePaxDialog || n.value.dineIn.pickUp.enablePaxDialog) ?? !1,
474
- set: (l) => {
475
- n.value.dineIn.displayStand.enablePaxDialog = l, n.value.dineIn.pickUp.enablePaxDialog = l;
476
- }
477
- });
478
- async function q() {
479
- if (I.value) {
480
- const l = I.value;
481
- C(async () => {
482
- await h("updateKioskOrderSetting", l);
483
- });
484
- } else
485
- g.open({
486
- title: a("order.failedToUpdateSetting"),
487
- type: "error"
488
- });
489
- }
490
- return (l, e) => {
491
- const i = V("FmSwitch"), p = V("FmTextField"), T = V("FmStepperField"), E = V("FmDropField"), N = V("FmButton");
492
- return n.value ? (P(), S("div", Le, [
493
- s("div", We, [
494
- s("span", Ye, v(t(a)("order.dineIn")), 1),
495
- s("div", je, [
496
- r(i, {
497
- modelValue: n.value.dineIn.enabled,
498
- "onUpdate:modelValue": e[0] || (e[0] = (o) => n.value.dineIn.enabled = o),
499
- label: t(a)("order.dineIn"),
500
- "label-placement": "right"
501
- }, null, 8, ["modelValue", "label"]),
502
- $(s("div", qe, [
503
- s("div", null, [
504
- r(i, {
505
- modelValue: n.value.dineIn.pickUp.enabled,
506
- "onUpdate:modelValue": e[1] || (e[1] = (o) => n.value.dineIn.pickUp.enabled = o),
507
- label: t(a)("order.pickAtCounter"),
508
- "label-placement": "right"
509
- }, null, 8, ["modelValue", "label"]),
510
- $(s("div", Be, [
511
- s("span", Qe, v(t(a)("order.submitOrderInstruction")), 1),
512
- r(p, {
513
- modelValue: n.value.dineIn.pickUp.submitOrderInstruction.payAtCounter,
514
- "onUpdate:modelValue": e[2] || (e[2] = (o) => n.value.dineIn.pickUp.submitOrderInstruction.payAtCounter = o),
515
- label: t(a)("order.payAtCounter"),
516
- placeholder: "Collect your transaction slip below and present it to the cashier"
517
- }, null, 8, ["modelValue", "label"]),
518
- r(p, {
519
- modelValue: n.value.dineIn.pickUp.submitOrderInstruction.paid,
520
- "onUpdate:modelValue": e[3] || (e[3] = (o) => n.value.dineIn.pickUp.submitOrderInstruction.paid = o),
521
- label: t(a)("order.paid"),
522
- placeholder: "Please wait as we prepare your food. We'll call your number when it's ready."
523
- }, null, 8, ["modelValue", "label"])
524
- ], 512), [
525
- [D, n.value.dineIn.pickUp.enabled]
526
- ])
527
- ]),
528
- s("div", null, [
529
- r(i, {
530
- modelValue: n.value.dineIn.displayStand.enabled,
531
- "onUpdate:modelValue": e[4] || (e[4] = (o) => n.value.dineIn.displayStand.enabled = o),
532
- label: t(a)("order.displayStand"),
533
- "label-placement": "right"
534
- }, null, 8, ["modelValue", "label"]),
535
- $(s("div", ze, [
536
- s("span", Ke, v(t(a)("order.tableServiceSetting")), 1),
537
- r(p, {
538
- modelValue: n.value.dineIn.displayStand.prefix,
539
- "onUpdate:modelValue": e[5] || (e[5] = (o) => n.value.dineIn.displayStand.prefix = o),
540
- label: t(a)("order.prefix"),
541
- placeholder: t(a)("order.prefix")
542
- }, null, 8, ["modelValue", "label", "placeholder"]),
543
- s("div", He, [
544
- r(T, {
545
- modelValue: n.value.dineIn.displayStand.standSlotRange.min,
546
- "onUpdate:modelValue": e[6] || (e[6] = (o) => n.value.dineIn.displayStand.standSlotRange.min = o),
547
- class: "w-1/2",
548
- label: t(a)("order.start"),
549
- labelMark: "required",
550
- rules: k.value,
551
- placeholder: t(a)("order.enterANumber")
552
- }, null, 8, ["modelValue", "label", "rules", "placeholder"]),
553
- r(T, {
554
- modelValue: n.value.dineIn.displayStand.standSlotRange.max,
555
- "onUpdate:modelValue": e[7] || (e[7] = (o) => n.value.dineIn.displayStand.standSlotRange.max = o),
556
- class: "w-1/2",
557
- label: t(a)("order.end"),
558
- labelMark: "required",
559
- rules: f.value,
560
- placeholder: t(a)("order.enterANumber")
561
- }, null, 8, ["modelValue", "label", "rules", "placeholder"])
562
- ]),
563
- r(T, {
564
- modelValue: n.value.dineIn.displayStand.padDigit,
565
- "onUpdate:modelValue": e[8] || (e[8] = (o) => n.value.dineIn.displayStand.padDigit = o),
566
- label: t(a)("order.padDigit"),
567
- labelMark: "required",
568
- rules: b.value,
569
- placeholder: t(a)("order.padDigit")
570
- }, null, 8, ["modelValue", "label", "rules", "placeholder"])
571
- ], 512), [
572
- [D, n.value.dineIn.displayStand.enabled]
573
- ]),
574
- $(s("div", Ge, [
575
- s("span", Xe, v(t(a)("order.submitOrderInstruction")), 1),
576
- r(p, {
577
- modelValue: n.value.dineIn.displayStand.submitOrderInstruction.payAtCounter,
578
- "onUpdate:modelValue": e[9] || (e[9] = (o) => n.value.dineIn.displayStand.submitOrderInstruction.payAtCounter = o),
579
- label: t(a)("order.payAtCounter"),
580
- placeholder: "Collect your transaction slip below and present it to the cashier"
581
- }, null, 8, ["modelValue", "label"]),
582
- r(p, {
583
- modelValue: n.value.dineIn.displayStand.submitOrderInstruction.paid,
584
- "onUpdate:modelValue": e[10] || (e[10] = (o) => n.value.dineIn.displayStand.submitOrderInstruction.paid = o),
585
- label: t(a)("order.paid"),
586
- placeholder: "Please collect your receipt and we'll bring your food to your table once it's ready."
587
- }, null, 8, ["modelValue", "label"])
588
- ], 512), [
589
- [D, n.value.dineIn.displayStand.enabled]
590
- ])
591
- ])
592
- ], 512), [
593
- [D, n.value.dineIn.enabled]
594
- ])
595
- ])
596
- ]),
597
- s("div", Ze, [
598
- s("span", Je, v(t(a)("order.takeawayTitle")), 1),
599
- r(i, {
600
- modelValue: n.value.takeaway.enabled,
601
- "onUpdate:modelValue": e[11] || (e[11] = (o) => n.value.takeaway.enabled = o),
602
- label: t(a)("order.takeaway"),
603
- "label-placement": "right",
604
- class: "mb-5"
605
- }, null, 8, ["modelValue", "label"]),
606
- $(s("div", ea, [
607
- s("span", aa, v(t(a)("order.submitOrderInstruction")), 1),
608
- r(p, {
609
- modelValue: n.value.takeaway.submitOrderInstruction.payAtCounter,
610
- "onUpdate:modelValue": e[12] || (e[12] = (o) => n.value.takeaway.submitOrderInstruction.payAtCounter = o),
611
- label: t(a)("order.payAtCounter"),
612
- placeholder: "Collect your transaction slip below and present it to the cashier"
613
- }, null, 8, ["modelValue", "label"]),
614
- r(p, {
615
- modelValue: n.value.takeaway.submitOrderInstruction.paid,
616
- "onUpdate:modelValue": e[13] || (e[13] = (o) => n.value.takeaway.submitOrderInstruction.paid = o),
617
- label: t(a)("order.paid"),
618
- placeholder: "Please wait as we prepare your food. We'll call your number when it's ready."
619
- }, null, 8, ["modelValue", "label"])
620
- ], 512), [
621
- [D, n.value.takeaway.enabled]
622
- ])
623
- ]),
624
- s("div", la, [
625
- s("span", ta, v(t(a)("order.menuItem")), 1),
626
- r(i, {
627
- modelValue: n.value.menuItem.showAllOnly,
628
- "onUpdate:modelValue": e[14] || (e[14] = (o) => n.value.menuItem.showAllOnly = o),
629
- label: t(a)("order.showNotAvailableMenuItem"),
630
- "label-placement": "right",
631
- class: "mb-5"
632
- }, null, 8, ["modelValue", "label"])
633
- ]),
634
- s("div", na, [
635
- s("span", oa, v(t(a)("order.coverImage")), 1),
636
- s("span", sa, v(t(a)("order.coverImageFallbackHint")), 1),
637
- s("div", ra, [
638
- s("span", ia, v(t(a)("order.coverImageLandscape")), 1),
639
- s("span", da, v(t(a)("order.coverImageLandscapeHint")), 1),
640
- L("coverImageLandscape") ? (P(), S("div", ua, [
641
- s("img", {
642
- src: L("coverImageLandscape"),
643
- alt: t(a)("order.coverImageLandscape"),
644
- class: "max-w-[400px] aspect-video object-cover rounded-md border border-fm-color-neutral-gray-200"
645
- }, null, 8, ma),
646
- r(N, {
647
- variant: "tertiary",
648
- class: "mr-auto",
649
- label: t(a)("common.delete"),
650
- onClick: e[17] || (e[17] = (o) => Y("coverImageLandscape"))
651
- }, null, 8, ["label"])
652
- ])) : (P(), J(E, {
653
- key: 0,
654
- accept: "image/*",
655
- "max-file-size": le,
656
- "content-class": "w-full max-w-[400px] aspect-video",
657
- onFileUpload: e[15] || (e[15] = (o) => j("coverImageLandscape", o)),
658
- onFileRejected: e[16] || (e[16] = (o) => B("coverImageLandscape", o))
659
- }))
660
- ]),
661
- s("div", pa, [
662
- s("span", ca, v(t(a)("order.coverImagePortrait")), 1),
663
- s("span", ya, v(t(a)("order.coverImagePortraitHint")), 1),
664
- L("coverImagePortrait") ? (P(), S("div", fa, [
665
- s("img", {
666
- src: L("coverImagePortrait"),
667
- alt: t(a)("order.coverImagePortrait"),
668
- class: "max-w-[200px] aspect-[9/16] object-cover rounded-md border border-fm-color-neutral-gray-200"
669
- }, null, 8, va),
670
- r(N, {
671
- variant: "tertiary",
672
- class: "mr-auto",
673
- label: t(a)("common.delete"),
674
- onClick: e[20] || (e[20] = (o) => Y("coverImagePortrait"))
675
- }, null, 8, ["label"])
676
- ])) : (P(), J(E, {
677
- key: 0,
678
- accept: "image/*",
679
- "max-file-size": le,
680
- "content-class": "w-[240px] aspect-[9/16]",
681
- onFileUpload: e[18] || (e[18] = (o) => j("coverImagePortrait", o)),
682
- onFileRejected: e[19] || (e[19] = (o) => B("coverImagePortrait", o))
683
- }))
684
- ])
685
- ]),
686
- s("div", ba, [
687
- s("span", ga, v(t(a)("order.displayPaxDialogTitle")), 1),
688
- r(i, {
689
- modelValue: R.value,
690
- "onUpdate:modelValue": e[21] || (e[21] = (o) => R.value = o),
691
- label: t(a)("order.displayPaxDialogDescription"),
692
- "label-placement": "right",
693
- class: "mb-5"
694
- }, null, 8, ["modelValue", "label"])
695
- ]),
696
- s("div", Pa, [
697
- s("span", Ia, v(t(a)("order.acceptedPayment")), 1),
698
- s("span", Sa, v(t(a)("order.configuration")), 1),
699
- r(_e, {
700
- "payment-types": n.value.paymentSetting.paymentTypes ?? [],
701
- "allow-e-payment": A.value,
702
- "offline-payment-types": n.value.paymentSetting.offlinePaymentTypes ?? [],
703
- ePaymentTypes: n.value.paymentSetting.ePaymentTypes ?? {},
704
- "onUpdate:paymentTypes": w,
705
- "onUpdate:offlinePaymentTypes": e[22] || (e[22] = (o) => n.value.paymentSetting.offlinePaymentTypes = o),
706
- "onUpdate:ePaymentTypes": x
707
- }, null, 8, ["payment-types", "allow-e-payment", "offline-payment-types", "ePaymentTypes"])
708
- ]),
709
- r(N, {
710
- class: "w-1/4 mb-10",
711
- variant: "primary",
712
- label: t(a)("order.updateSetting"),
713
- disabled: !I.value,
714
- onClick: q
715
- }, null, 8, ["label", "disabled"])
716
- ])) : (P(), S("div", xa, v(t(a)("order.pleaseSelectRestaurant")), 1));
717
- };
718
- }
719
- });
720
- export {
721
- Fa as default
722
- };