@feedmepos/mf-order-setting 0.0.25 → 0.0.27

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 (108) hide show
  1. package/dist/{KioskDevicesView-gzH9-zL_.js → KioskDevicesView-AKvyDF3w.js} +1 -1
  2. package/dist/KioskDevicesView.vue_vue_type_script_setup_true_lang-Cx8VMyNB.js +301 -0
  3. package/dist/{KioskSettingView-D1WdpaQN.js → KioskSettingView-equ5EIvU.js} +3 -3
  4. package/dist/{KioskView-D6-1bn1n.js → KioskView-CsE7BGtA.js} +5 -5
  5. package/dist/OrderSettingsView-BpLXyk_0.js +49013 -0
  6. package/dist/{app-i4N2c7ms.js → app-D-zQN9_E.js} +293 -31
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-CA-XbgTY.js → dayjs.min-CWQSmujV.js} +600 -619
  9. package/dist/frontend/mf-order/src/App.vue.d.ts +1 -1
  10. package/dist/frontend/mf-order/src/Entry.vue.d.ts +1 -1
  11. package/dist/frontend/mf-order/src/api/kiosk/index.d.ts +2 -0
  12. package/dist/frontend/mf-order/src/app.d.ts +264 -0
  13. package/dist/frontend/mf-order/src/components/GoogleMap.vue.d.ts +3 -5
  14. package/dist/frontend/mf-order/src/main.d.ts +7 -0
  15. package/dist/frontend/mf-order/src/modules/kiosk/interface.d.ts +5 -1
  16. package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +16 -1
  17. package/dist/frontend/mf-order/src/stores/menu/menu.d.ts +82 -0
  18. package/dist/frontend/mf-order/src/stores/restaurant/index.d.ts +21 -1158
  19. package/dist/frontend/mf-order/src/views/all-orders/ActionMenuCell.vue.d.ts +2 -2
  20. package/dist/frontend/mf-order/src/views/all-orders/FilterRestaurant.vue.d.ts +1 -1
  21. package/dist/frontend/mf-order/src/views/all-orders/FilterStatus.vue.d.ts +2 -2
  22. package/dist/frontend/mf-order/src/views/all-orders/FilterStatusMenu.vue.d.ts +2 -2
  23. package/dist/frontend/mf-order/src/views/all-orders/ReflowOrder.vue.d.ts +2 -2
  24. package/dist/frontend/mf-order/src/views/all-orders/UpdateDeliveryOrderDialog.vue.d.ts +2 -2
  25. package/dist/frontend/mf-order/src/views/kiosk/KioskSummary.vue.d.ts +1 -1
  26. package/dist/frontend/mf-order/src/views/kiosk/KioskView.vue.d.ts +1 -1
  27. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDeviceCard.vue.d.ts +1 -1
  28. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDeviceDetail.vue.d.ts +1 -1
  29. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDevicesView.vue.d.ts +1 -1
  30. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskOtpDialog.vue.d.ts +1 -1
  31. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskUnbindConfirm.vue.d.ts +2 -2
  32. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDineInSection.vue.d.ts +2 -2
  33. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskDisplayStandSection.vue.d.ts +2 -2
  34. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskEnablePaxDialogSection.vue.d.ts +2 -2
  35. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskInstructionSection.vue.d.ts +2 -2
  36. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskMenuItemSection.vue.d.ts +1 -1
  37. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPaymentTypeSection.vue.d.ts +1 -1
  38. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskPickAtCounterSection.vue.d.ts +2 -2
  39. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskSettingView.vue.d.ts +1 -1
  40. package/dist/frontend/mf-order/src/views/kiosk/settings/KioskTakeawaySection.vue.d.ts +2 -2
  41. package/dist/frontend/mf-order/src/views/order-settings/delivery/DeliveryList.vue.d.ts +2 -2
  42. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/ManualIntegratedDeliverySetting.vue.d.ts +1 -1
  43. package/dist/frontend/mf-order/src/views/order-settings/delivery/components/TaxInput.vue.d.ts +2 -2
  44. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/CurrencyInput.vue.d.ts +1 -1
  45. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryCustomTime.vue.d.ts +1 -1
  46. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryOrder.vue.d.ts +6 -141
  47. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/DeliveryTime.vue.d.ts +1 -1
  48. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/InHouseDelivery.vue.d.ts +1 -1
  49. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/TimePicker.vue.d.ts +1 -1
  50. package/dist/frontend/mf-order/src/views/order-settings/delivery/inhouse/ZoneDialog.vue.d.ts +1 -1
  51. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue.d.ts +2 -2
  52. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FeedmeDelivery.vue.d.ts +1 -1
  53. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaCampaignDialog.vue.d.ts +1 -1
  54. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue.d.ts +1 -1
  55. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/GrabfoodSetting.vue.d.ts +1 -1
  56. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue.d.ts +5 -5
  57. package/dist/frontend/mf-order/src/views/order-settings/delivery/integrated-delivery/ShopeefoodSetting.vue.d.ts +1 -1
  58. package/dist/frontend/mf-order/src/views/order-settings/dine-in/OfflinePaymentTypeDialog.vue.d.ts +1 -1
  59. package/dist/frontend/mf-order/src/views/order-settings/dine-in/OfflinePaymentTypeDialogContent.vue.d.ts +2 -2
  60. package/dist/frontend/mf-order/src/views/order-settings/dine-in/PaymentType.vue.d.ts +1 -1
  61. package/dist/frontend/mf-order/src/views/order-settings/pickup/AddressInput.vue.d.ts +1 -1
  62. package/dist/frontend/mf-order/src/views/order-settings/pickup/CustomPayment.vue.d.ts +1 -1
  63. package/dist/frontend/mf-order/src/views/order-settings/pickup/PaymentSidesheet.vue.d.ts +2 -2
  64. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialog.vue.d.ts +1 -1
  65. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpPointDialogContent.vue.d.ts +2 -137
  66. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialog.vue.d.ts +1 -1
  67. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickUpSettingDialogContent.vue.d.ts +1 -1
  68. package/dist/frontend/mf-order/src/views/order-settings/pickup/PickupList.vue.d.ts +2 -2
  69. package/dist/frontend/mf-order/src/views/order-settings/pickup/Preorder.vue.d.ts +1 -1
  70. package/dist/frontend/mf-order/src/views/order-settings/servicecharge/RateInput.vue.d.ts +1 -1
  71. package/dist/frontend/mf-order/src/views/order-settings/servicecharge/ServiceChargeRule.vue.d.ts +1 -1
  72. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  73. package/dist/{index-DSCb3ndM.js → index-BXsnV_eO.js} +5 -5
  74. package/dist/{index-C4HI1NS4.js → index-BwrMcIf2.js} +2 -2
  75. package/dist/package/entity/cursor/cursor.dto.d.ts +2 -2
  76. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +7 -7
  77. package/dist/package/entity/incoming-order/incoming-order.do.d.ts +22 -9
  78. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +18 -18
  79. package/dist/package/entity/kiosk/kiosk.do.d.ts +32 -0
  80. package/dist/package/entity/kiosk/kiosk.dto.d.ts +79 -0
  81. package/dist/package/entity/order/dine-in/dine-in.do.d.ts +8 -8
  82. package/dist/package/entity/order/dine-in/dine-in.dto.d.ts +4 -4
  83. package/dist/package/entity/order/menu/menu.dto.d.ts +12 -12
  84. package/dist/package/entity/order/order-item/order-item.dto.d.ts +14 -8
  85. package/dist/package/entity/order/order.do.d.ts +19 -19
  86. package/dist/package/entity/order/order.dto.d.ts +134 -128
  87. package/dist/package/entity/order/order.enum.d.ts +2 -2
  88. package/dist/package/entity/order-platform/menu.dto.d.ts +31 -0
  89. package/dist/queue.do-F110q0_J.js +100389 -0
  90. package/package.json +3 -3
  91. package/src/api/kiosk/index.ts +9 -4
  92. package/src/app.ts +4 -1
  93. package/src/locales/th-TH.json +8 -1
  94. package/src/modules/kiosk/interface.ts +5 -1
  95. package/src/stores/kiosk/index.ts +9 -4
  96. package/src/stores/kiosk/mapper.ts +5 -1
  97. package/src/stores/restaurant/index.ts +4 -17
  98. package/src/views/kiosk/devices/KioskDeviceCard.vue +202 -80
  99. package/src/views/order-settings/delivery/DeliverySetting.vue +4 -4
  100. package/src/views/order-settings/delivery/delivery.data.ts +2 -2
  101. package/src/views/order-settings/delivery/integrated-delivery/ExternalSetting.vue +14 -2
  102. package/src/views/order-settings/delivery/integrated-delivery/FoodpandaSetting.vue +2 -34
  103. package/src/views/order-settings/delivery/integrated-delivery/IntegratedDelivery.vue +15 -12
  104. package/src/views/order-settings/pickup/PickUpSettingDialogContent.vue +0 -2
  105. package/src/views/order-settings/servicecharge/ServiceChargeSetting.vue +5 -2
  106. package/dist/KioskDevicesView.vue_vue_type_script_setup_true_lang-CLpClo-r.js +0 -207
  107. package/dist/OrderSettingsView-CqZREmjo.js +0 -72121
  108. package/dist/queue.do-DcOVgeUq.js +0 -122897
@@ -49,11 +49,11 @@ const modelValue = computed<IntegratedDeliverySettingData>(() => {
49
49
  catalogId: auto?.catalogId ?? null,
50
50
  commissionRate: auto.reportConfig?.commissionRate ?? 0,
51
51
  lastSynchronize: auto.lastSynchronize ?? '',
52
- autoAccept: auto.autoAccept ?? false,
52
+ autoAccept: true,
53
53
  ignoreDiscount: auto.ignoreDiscount ?? false,
54
54
  status: auto.status,
55
55
  updatedAt: auto.updatedAt,
56
- sstInclusive: auto.sstInclusive,
56
+ sstInclusive: auto.sstInclusive ?? false,
57
57
  menuSyncError: auto.menuSyncError
58
58
  }
59
59
  }
@@ -232,37 +232,5 @@ async function cancelTestOrder() {
232
232
  @flow-test-order="flowTestOrder"
233
233
  @cancel-test-order="cancelTestOrder"
234
234
  >
235
- <template #default="{ editable }">
236
- <div class="flex-grow fm-typo-en-title-sm-600 mb-3 mt-10">
237
- {{ t('order.discountCampaign') }}
238
- </div>
239
- <FmButton
240
- :label="t('order.addNewCampaign')"
241
- icon="add"
242
- variant="plain"
243
- @click="addCampaign"
244
- class="mb-3"
245
- />
246
-
247
- <div v-if="campaigns.length > 0">
248
- <div v-for="(campaign, index) in campaigns" :key="index">
249
- <FmCard variant="outlined" class="p-5 flex justify-between items-center mb-5">
250
- <div>
251
- <span class="font-bold"
252
- >{{ campaign.name }} ({{ campaign.vendorBearPercentage }}%)</span
253
- >
254
- <br />
255
- {{ formatCampaignDate(campaign.date) }}
256
- </div>
257
- <div>
258
- <div class="flex flex-row">
259
- <FmButton append-icon="edit" variant="tertiary" @click="updateCampaign(index)" />
260
- <FmButton append-icon="delete" variant="tertiary" @click="deleteCampaign(index)" />
261
- </div>
262
- </div>
263
- </FmCard>
264
- </div>
265
- </div>
266
- </template>
267
235
  </IntegratedDelivery>
268
236
  </template>
@@ -53,10 +53,9 @@ const emits = defineEmits<{
53
53
  }>()
54
54
 
55
55
  const menuStore = useMenuStore()
56
- // const userStore = useUserStore();
57
- const { sessionUser } = useCoreStore()
56
+ const CoreStore = useCoreStore()
58
57
 
59
- const canEdit = computed(() => sessionUser.value?.role.isAdmin ?? false)
58
+ const canEdit = computed(() => CoreStore.sessionUser.value?.role.isAdmin ?? false)
60
59
 
61
60
  function updateManual(manual: FdoLinkedDelivery | null) {
62
61
  emits('update:model-value', {
@@ -120,7 +119,6 @@ type OrderSettingKey = 'autoAcceptOrder' | 'autoCloseBill' | 'ignoreDiscount' |
120
119
  const orderSettingValue = computed(() => {
121
120
  const { autoAccept, autoCloseBill, ignoreDiscount, sstInclusive } = props.modelValue.auto
122
121
  const value: OrderSettingKey[] = []
123
- if (autoAccept) value.push('autoAcceptOrder')
124
122
  if (autoCloseBill) value.push('autoCloseBill')
125
123
  if (ignoreDiscount) value.push('ignoreDiscount')
126
124
  if (sstInclusive) value.push('sstInclusive')
@@ -141,12 +139,6 @@ const orderSettingOptions = computed<
141
139
  value: 'autoCloseBill'
142
140
  }
143
141
  ]
144
- if (props.modelValue.auto.autoAccept !== undefined) {
145
- options.unshift({
146
- label: t('order.allowedAutoAcceptOrder'),
147
- value: 'autoAcceptOrder'
148
- })
149
- }
150
142
  if (props.modelValue.auto.autoAccept !== undefined) {
151
143
  options.push({
152
144
  label: t('order.ignoreDiscount'),
@@ -193,6 +185,7 @@ function convertStatusI18n(status: string) {
193
185
  />
194
186
  <div v-if="canUseAutoDeliveryIntegration === true" class="mt-10">
195
187
  <FmSwitch
188
+ :disabled="!canEdit"
196
189
  :model-value="modelValue.auto.enable"
197
190
  :label="t('order.activateIntegration', { integrationType: t('order.auto') })"
198
191
  label-placement="right"
@@ -202,6 +195,7 @@ function convertStatusI18n(status: string) {
202
195
  <div v-if="modelValue.auto.enable">
203
196
  <FmCard variant="outlined" class="mt-10 p-5">
204
197
  <FmTextField
198
+ :disabled="!canEdit"
205
199
  :model-value="modelValue.auto.integrationId"
206
200
  :label="t('order.remoteId')"
207
201
  @update:model-value="updateIntegrateId"
@@ -217,6 +211,7 @@ function convertStatusI18n(status: string) {
217
211
  :label="item.label"
218
212
  :value="item.value"
219
213
  @update:model-value="updateOrderSettings"
214
+ :disabled="!canEdit"
220
215
  />
221
216
  </div>
222
217
  </div>
@@ -226,6 +221,7 @@ function convertStatusI18n(status: string) {
226
221
  :model-value="modelValue.auto.commissionRate"
227
222
  :label="t('order.commission')"
228
223
  @update:model-value="updateCommission"
224
+ :disabled="!canEdit"
229
225
  >
230
226
  <template #append>%</template>
231
227
  </FmTextField>
@@ -238,6 +234,7 @@ function convertStatusI18n(status: string) {
238
234
  :label="t('order.catalog')"
239
235
  :items="menuStore.catalogOptions"
240
236
  @update:model-value="updateMenuCatalog"
237
+ :disabled="!canEdit"
241
238
  />
242
239
  </div>
243
240
 
@@ -250,6 +247,7 @@ function convertStatusI18n(status: string) {
250
247
  v-if="modelValue.auto.status === 'FAILED' && modelValue.auto.menuSyncError !== null"
251
248
  :content="modelValue.auto.menuSyncError"
252
249
  :zIndex="1000"
250
+ :disabled="!canEdit"
253
251
  >
254
252
  <FmIcon name="info" size="sm" />
255
253
  </FmTooltip>
@@ -261,7 +259,12 @@ function convertStatusI18n(status: string) {
261
259
  </div>
262
260
  </div>
263
261
  <div class="flex flex-row">
264
- <FmButton variant="primary" :label="t('order.syncMenu')" @click="emits('syncMenu')" />
262
+ <FmButton
263
+ variant="primary"
264
+ :label="t('order.syncMenu')"
265
+ @click="emits('syncMenu')"
266
+ :disabled="!canEdit"
267
+ />
265
268
 
266
269
  <div
267
270
  v-if="modelValue.auto.lastSynchronize"
@@ -272,7 +275,7 @@ function convertStatusI18n(status: string) {
272
275
  </div>
273
276
  </div>
274
277
 
275
- <slot :editable="canEdit" />
278
+ <slot :editable="!canEdit" />
276
279
  </FmCard>
277
280
  </div>
278
281
  </div>
@@ -68,11 +68,9 @@ import PaymentSidesheet from './PaymentSidesheet.vue'
68
68
  import { utils } from '@feedmepos/core'
69
69
  import { useI18n } from '@feedmepos/mf-common'
70
70
  import { useRestaurantStore } from '@/stores/restaurant'
71
- import { useCoreStore } from '@feedmepos/mf-common'
72
71
 
73
72
  const { t } = useI18n()
74
73
  const restaurantStore = useRestaurantStore()
75
- const { currentRestaurant } = useCoreStore()
76
74
 
77
75
  const emits = defineEmits<{
78
76
  (event: 'update-pickup', v: FdoRestaurantPickup): void
@@ -29,7 +29,10 @@
29
29
  :label="t('order.chargeWhen')"
30
30
  @update:model-value="updateChargeWhen"
31
31
  >
32
- <FmRadio value="beforeDiscount" :label="t('order.beforeBillDiscount')" :disabled="disableBeforeDiscount"
32
+ <FmRadio
33
+ value="beforeDiscount"
34
+ :label="t('order.beforeBillDiscount')"
35
+ :disabled="disableBeforeDiscount"
33
36
  />
34
37
  <FmRadio value="afterDiscount" :label="t('order.afterBillDiscount')" />
35
38
  </FmRadioGroup>
@@ -244,7 +247,7 @@ const isLoadingTables = ref(false)
244
247
  const tableSettingStore = useTableSettingStore()
245
248
 
246
249
  onMounted(async () => {
247
- const res = restaurantStore.currentRestaurant
250
+ const res = currentRestaurant.value
248
251
  if (res) {
249
252
  const restaurantSetting = await restaurantStore.readRestaurantSetting(res._id)
250
253
  initialize(restaurantSetting)
@@ -1,207 +0,0 @@
1
- import { defineComponent as g, ref as D, resolveComponent as f, openBlock as i, createElementBlock as c, createElementVNode as a, toDisplayString as d, unref as m, createVNode as v, computed as B, withCtx as F, Fragment as y, renderList as h, createCommentVNode as C, createBlock as M } from "vue";
2
- import { useDialog as O, useSnackbar as q } from "@feedmepos/ui-library";
3
- import { useI18n as I } from "@feedmepos/mf-common";
4
- import { defineStore as N } from "pinia";
5
- import { r as w, g as K, D as T } from "./dayjs.min-CA-XbgTY.js";
6
- import "./queue.do-DcOVgeUq.js";
7
- const U = /* @__PURE__ */ g({
8
- __name: "KioskUnbindConfirm",
9
- props: {
10
- machineId: {}
11
- },
12
- emits: ["update:modelValue"],
13
- setup(e, { emit: t }) {
14
- const { t: n } = I(), l = t, o = D("");
15
- function s(r) {
16
- l("update:modelValue", r);
17
- }
18
- return (r, x) => {
19
- const _ = f("FmTextField");
20
- return i(), c("div", null, [
21
- a("span", null, d(m(n)("order.unbindKioskDeviceWarning", { machineId: r.machineId })), 1),
22
- v(_, {
23
- "model-value": o.value,
24
- "onUpdate:modelValue": s,
25
- placeholder: r.machineId
26
- }, null, 8, ["model-value", "placeholder"])
27
- ]);
28
- };
29
- }
30
- });
31
- async function Y() {
32
- const e = await w().get("/kiosk/otp");
33
- return K(e);
34
- }
35
- async function j() {
36
- const e = await w().get("/kiosk/devices");
37
- return K(e);
38
- }
39
- async function L(e) {
40
- await w().delete(`/kiosk/unbind/${e}`);
41
- }
42
- const k = {
43
- requestOtp: Y,
44
- getDevices: j,
45
- unbind: L
46
- }, W = (e) => ({
47
- name: e.name ?? "N/A",
48
- machineId: e.machineId,
49
- config: {
50
- scannerInfo: e.scannerInfo ?? void 0,
51
- printerInfo: e.printerInfo ?? void 0,
52
- terminalInfo: e.terminalInfo ?? void 0
53
- },
54
- activatedAt: H(e.token)
55
- });
56
- function H(e) {
57
- const t = e.substring(0, 8), n = parseInt(t, 16);
58
- return new Date(n * 1e3);
59
- }
60
- const P = {
61
- toMfKioskDevice: W
62
- }, z = N("kiosk", () => {
63
- const e = D({
64
- otp: "",
65
- devices: []
66
- });
67
- async function t() {
68
- const o = await k.requestOtp();
69
- e.value.otp = o.otp;
70
- }
71
- async function n() {
72
- const o = await k.getDevices();
73
- e.value.devices = o.map((s) => P.toMfKioskDevice(s));
74
- }
75
- async function l(o) {
76
- await k.unbind(o), await n();
77
- }
78
- return {
79
- state: e.value,
80
- requestOtp: t,
81
- getDevices: n,
82
- unbind: l
83
- };
84
- }), E = { class: "border fm-corner-radius-lg flex justify-between pr-[1rem] w-11/12" }, G = { class: "py-[1rem] flex flex-col gap-6" }, J = { class: "fm-typo-en-title-sm-600" }, Q = { class: "w-full border p-[1.5rem] fm-corner-radius-lg flex flex-col gap-2" }, R = {
85
- key: 0,
86
- class: "fm-typo-en-title-sm-600"
87
- }, X = { class: "flex flex-col gap-1" }, Z = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, ee = { class: "fm-typo-en-body-lg-600 block" }, te = /* @__PURE__ */ g({
88
- __name: "KioskDeviceCard",
89
- props: {
90
- device: {}
91
- },
92
- setup(e) {
93
- const { t } = I(), n = O(), l = q(), o = z(), s = e, r = D(""), x = B(() => Object.entries(s.device.config));
94
- function _() {
95
- r.value = "", n.open({
96
- title: t("order.unbindKioskDevice"),
97
- contentComponent: U,
98
- contentComponentProps: {
99
- machineId: s.device.machineId,
100
- "onUpdate:modelValue": (p) => {
101
- r.value = p;
102
- }
103
- },
104
- dismissAway: !1,
105
- primaryActions: {
106
- text: t("order.unbind"),
107
- variant: "destructive",
108
- close: !1
109
- },
110
- secondaryActions: {
111
- text: t("order.cancel"),
112
- variant: "tertiary",
113
- close: !0
114
- }
115
- }).onPrimary(async () => {
116
- r.value == s.device.machineId ? (await V(), l.open({
117
- type: "success",
118
- message: t("order.unbindSuccess"),
119
- position: "bottom"
120
- }), n.close()) : l.open({
121
- type: "warning",
122
- message: t("order.unbindWarning"),
123
- position: "bottom"
124
- });
125
- });
126
- }
127
- async function V() {
128
- await o.unbind(s.device.machineId);
129
- }
130
- return (p, ce) => {
131
- const S = f("FmListItem"), $ = f("FmSideSheet"), A = f("FmButton");
132
- return i(), c("div", E, [
133
- v($, {
134
- header: m(t)("order.deviceDetails"),
135
- "dismiss-away": "",
136
- class: "w-full",
137
- maxWidth: 700
138
- }, {
139
- "side-sheet-button": F(() => [
140
- v(S, {
141
- class: "flex-1",
142
- label: p.device.name,
143
- sublabel: `${m(t)("order.activatedDate")}: ${m(T)(p.device.activatedAt).format("DD MMM YYYY HH:mm")}`
144
- }, null, 8, ["label", "sublabel"])
145
- ]),
146
- default: F(() => [
147
- a("div", G, [
148
- a("span", J, d(p.device.name), 1),
149
- (i(!0), c(y, null, h(x.value.filter((u) => u[1]), (u) => (i(), c("div", Q, [
150
- u[1] ? (i(), c("span", R, d(u[0]), 1)) : C("", !0),
151
- u[1] ? (i(!0), c(y, { key: 1 }, h(Object.entries(u[1]), (b) => (i(), c("div", X, [
152
- a("span", Z, d(b[0]), 1),
153
- a("span", ee, d(b[1] == "" ? "-" : b[1]), 1)
154
- ]))), 256)) : C("", !0)
155
- ]))), 256))
156
- ])
157
- ]),
158
- _: 1
159
- }, 8, ["header"]),
160
- v(A, {
161
- variant: "plain",
162
- "append-icon": "link_off",
163
- class: "text-fm-color-system-error-300 align-middle my-auto",
164
- onClick: _
165
- })
166
- ]);
167
- };
168
- }
169
- }), ne = { class: "flex flex-col gap-2" }, oe = { class: "flex flex-col gap-2" }, se = { class: "fm-typo-en-title-sm-600 block" }, ie = { class: "fm-typo-en-body-md-400 block" }, ae = { class: "flex flex-col gap-6" }, fe = /* @__PURE__ */ g({
170
- __name: "KioskDevicesView",
171
- props: {
172
- devices: {},
173
- requestOtp: { type: Function }
174
- },
175
- setup(e) {
176
- const { t } = I();
177
- return (n, l) => {
178
- const o = f("FmButton");
179
- return i(), c("div", null, [
180
- a("div", ne, [
181
- a("div", oe, [
182
- a("span", se, d(m(t)("order.kioskDisplay")), 1),
183
- a("span", ie, d(m(t)("order.kioskDisplayDescription")), 1)
184
- ]),
185
- a("div", ae, [
186
- (i(!0), c(y, null, h(n.devices, (s) => (i(), M(te, {
187
- key: s.machineId,
188
- device: s
189
- }, null, 8, ["device"]))), 128)),
190
- v(o, {
191
- variant: "plain",
192
- class: "w-[10rem] border border-fm-color-primary fm-corner-radius-lg",
193
- label: m(t)("order.bindDevice"),
194
- size: "md",
195
- "prepend-icon": "link",
196
- onClick: n.requestOtp
197
- }, null, 8, ["label", "onClick"])
198
- ])
199
- ])
200
- ]);
201
- };
202
- }
203
- });
204
- export {
205
- fe as _,
206
- z as u
207
- };