@feedmepos/mf-order-setting 0.0.49 → 0.0.50

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 (46) hide show
  1. package/dist/{KioskDevicesView-Ch_mWJz9.js → KioskDevicesView-u14hzPbE.js} +1 -1
  2. package/dist/KioskDevicesView.vue_vue_type_script_setup_true_lang-DBgRDIoS.js +501 -0
  3. package/dist/{KioskSettingView-CaBhf48e.js → KioskSettingView-DmvtZcV1.js} +1 -1
  4. package/dist/KioskView-M8V91gD5.js +474 -0
  5. package/dist/{OrderSettingsView-CRgoLOD2.js → OrderSettingsView-Bl3LshG3.js} +4 -4
  6. package/dist/{app-CDTAjXj9.js → app-CLewMjcd.js} +67 -19
  7. package/dist/app.js +1 -1
  8. package/dist/{dayjs.min-dI_j30pv.js → dayjs.min-DCTYRWyD.js} +1 -1
  9. package/dist/frontend/mf-order/src/app.d.ts +48 -0
  10. package/dist/frontend/mf-order/src/main.d.ts +48 -0
  11. package/dist/frontend/mf-order/src/modules/kiosk/interface.d.ts +1 -0
  12. package/dist/frontend/mf-order/src/stores/kiosk/index.d.ts +3 -0
  13. package/dist/frontend/mf-order/src/views/kiosk/devices/KioskDevicesView.vue.d.ts +6 -3
  14. package/dist/frontend/mf-order/src/views/order-settings/servicecharge/ServiceChargeRule.vue.d.ts +2 -2
  15. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  16. package/dist/{index-B8U5Sawr.js → index-B7LtJeBJ.js} +2 -2
  17. package/dist/{menu.dto-qVeqpSdz.js → menu.dto-Co7iXHNr.js} +6345 -6286
  18. package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +104 -12
  19. package/dist/package/entity/incoming-order/incoming-order.dto.d.ts +106 -6
  20. package/dist/package/entity/kiosk/kiosk.do.d.ts +32 -0
  21. package/dist/package/entity/kiosk/kiosk.dto.d.ts +44 -0
  22. package/dist/package/entity/order/order.enum.d.ts +2 -0
  23. package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +62 -0
  24. package/dist/package/entity/order-platform/external/order/external-order.dto.d.ts +178 -0
  25. package/dist/package/entity/order-platform/grabfood/grabfood-menu.do.d.ts +15 -0
  26. package/dist/package/entity/order-platform/grabfood/grabfood-omni.do.d.ts +1834 -15
  27. package/dist/package/entity/order-platform/grabfood/grabfood-order.do.d.ts +13 -13
  28. package/dist/package/entity/order-platform/grabfood/grabfood-settings.do.d.ts +3 -0
  29. package/dist/package/entity/order-platform/grabfood/grabfood-webhook.dto.d.ts +528 -805
  30. package/dist/package/entity/order-platform/grabfood/grabfood.dto.d.ts +8 -5
  31. package/dist/package/entity/order-platform/grabfood/grabfood.enum.d.ts +1 -1
  32. package/dist/package/entity/order-platform/order-platform.dto.d.ts +0 -20
  33. package/dist/package/entity/queue/queue.dto.d.ts +20 -0
  34. package/package.json +1 -1
  35. package/src/locales/en-US.json +12 -0
  36. package/src/locales/ja-JP.json +12 -0
  37. package/src/locales/th-TH.json +12 -0
  38. package/src/locales/zh-CN.json +12 -0
  39. package/src/modules/kiosk/interface.ts +1 -0
  40. package/src/stores/kiosk/mapper.ts +1 -0
  41. package/src/views/kiosk/KioskSummary.vue +37 -31
  42. package/src/views/kiosk/KioskView.vue +4 -1
  43. package/src/views/kiosk/devices/KioskDeviceCard.vue +205 -89
  44. package/src/views/kiosk/devices/KioskDevicesView.vue +133 -17
  45. package/dist/KioskDevicesView.vue_vue_type_script_setup_true_lang-DV2HYd8u.js +0 -306
  46. package/dist/KioskView-BGm-emCw.js +0 -452
@@ -1704,6 +1704,7 @@ export declare const FdtoGrabfoodCreateOrUpdateSettings: z.ZodObject<{
1704
1704
  menuSyncError: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
1705
1705
  merchantID: z.ZodOptional<z.ZodString>;
1706
1706
  syncV2: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
1707
+ syncIGI: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
1707
1708
  partnerMerchantID: z.ZodOptional<z.ZodString>;
1708
1709
  }, "strip", z.ZodTypeAny, {
1709
1710
  status?: string | null | undefined;
@@ -1720,6 +1721,7 @@ export declare const FdtoGrabfoodCreateOrUpdateSettings: z.ZodObject<{
1720
1721
  partnerMerchantID?: string | undefined;
1721
1722
  merchantID?: string | undefined;
1722
1723
  syncV2?: boolean | null | undefined;
1724
+ syncIGI?: boolean | null | undefined;
1723
1725
  }, {
1724
1726
  status?: string | null | undefined;
1725
1727
  _id?: string | undefined;
@@ -1735,6 +1737,7 @@ export declare const FdtoGrabfoodCreateOrUpdateSettings: z.ZodObject<{
1735
1737
  partnerMerchantID?: string | undefined;
1736
1738
  merchantID?: string | undefined;
1737
1739
  syncV2?: boolean | null | undefined;
1740
+ syncIGI?: boolean | null | undefined;
1738
1741
  }>;
1739
1742
  export declare const FdtoGrabfoodUpdateMenuItem: z.ZodObject<{
1740
1743
  merchantId: z.ZodString;
@@ -2307,7 +2310,7 @@ export declare const GFListOrdersRes: z.ZodObject<{
2307
2310
  estimatedOrderReadyTime: string;
2308
2311
  maxOrderReadyTime: string;
2309
2312
  }>>>;
2310
- orderState: z.ZodNullable<z.ZodOptional<z.ZodEnum<["ACCEPTED", "DRIVER_ALLOCATED", "DRIVER_ARRIVED", "COLLECTED", "DELIVERED", "FAILED", "CANCELLED", "COMPLETED", "REFUNDED"]>>>;
2313
+ orderState: z.ZodNullable<z.ZodOptional<z.ZodEnum<["ACCEPTED", "DRIVER_ALLOCATED", "DRIVER_ARRIVED", "COLLECTED", "DELIVERED", "FAILED", "CANCELLED", "COMPLETED", "REFUNDED", "BILL_PAID"]>>>;
2311
2314
  }, "strip", z.ZodTypeAny, {
2312
2315
  receiver?: {
2313
2316
  name?: string | null | undefined;
@@ -2356,7 +2359,7 @@ export declare const GFListOrdersRes: z.ZodObject<{
2356
2359
  estimatedOrderReadyTime: string;
2357
2360
  maxOrderReadyTime: string;
2358
2361
  } | null | undefined;
2359
- orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | null | undefined;
2362
+ orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | "BILL_PAID" | null | undefined;
2360
2363
  price: {
2361
2364
  deliveryFee?: number | null | undefined;
2362
2365
  tax?: number | null | undefined;
@@ -2458,7 +2461,7 @@ export declare const GFListOrdersRes: z.ZodObject<{
2458
2461
  estimatedOrderReadyTime: string;
2459
2462
  maxOrderReadyTime: string;
2460
2463
  } | null | undefined;
2461
- orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | null | undefined;
2464
+ orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | "BILL_PAID" | null | undefined;
2462
2465
  price: {
2463
2466
  deliveryFee?: number | null | undefined;
2464
2467
  tax?: number | null | undefined;
@@ -2562,7 +2565,7 @@ export declare const GFListOrdersRes: z.ZodObject<{
2562
2565
  estimatedOrderReadyTime: string;
2563
2566
  maxOrderReadyTime: string;
2564
2567
  } | null | undefined;
2565
- orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | null | undefined;
2568
+ orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | "BILL_PAID" | null | undefined;
2566
2569
  price: {
2567
2570
  deliveryFee?: number | null | undefined;
2568
2571
  tax?: number | null | undefined;
@@ -2667,7 +2670,7 @@ export declare const GFListOrdersRes: z.ZodObject<{
2667
2670
  estimatedOrderReadyTime: string;
2668
2671
  maxOrderReadyTime: string;
2669
2672
  } | null | undefined;
2670
- orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | null | undefined;
2673
+ orderState?: "FAILED" | "COMPLETED" | "DELIVERED" | "CANCELLED" | "ACCEPTED" | "REFUNDED" | "COLLECTED" | "DRIVER_ALLOCATED" | "DRIVER_ARRIVED" | "BILL_PAID" | null | undefined;
2671
2674
  price: {
2672
2675
  deliveryFee?: number | null | undefined;
2673
2676
  tax?: number | null | undefined;
@@ -8,7 +8,7 @@ export declare const GF_UPDATE_MENU_FIELD_TYPE: z.ZodEnum<["ITEM", "MODIFIER"]>;
8
8
  export declare const GF_CAMPAIGN_EATER_TYPE: z.ZodEnum<["all", "new"]>;
9
9
  export declare const GF_CAMPAIGN_DISCOUNT_TYPE: z.ZodEnum<["net", "percentage", "delivery", "freeItem"]>;
10
10
  export declare const GF_CAMPAIGN_SCOPE_TYPE: z.ZodEnum<["order", "items"]>;
11
- export declare const GF_PUSH_ORDER_STATE: z.ZodEnum<["ACCEPTED", "DRIVER_ALLOCATED", "DRIVER_ARRIVED", "COLLECTED", "DELIVERED", "FAILED", "CANCELLED", "COMPLETED", "REFUNDED"]>;
11
+ export declare const GF_PUSH_ORDER_STATE: z.ZodEnum<["ACCEPTED", "DRIVER_ALLOCATED", "DRIVER_ARRIVED", "COLLECTED", "DELIVERED", "FAILED", "CANCELLED", "COMPLETED", "REFUNDED", "BILL_PAID"]>;
12
12
  export declare const GF_ORDER_STATUS: z.ZodEnum<["pending", "accepted", "rejected"]>;
13
13
  export declare const GF_PAYMENT_TYPE: z.ZodEnum<["CASH", "CASHLESS"]>;
14
14
  export declare const GF_QR_TYPE: z.ZodEnum<["Dynamic", "Static"]>;
@@ -56,26 +56,6 @@ export declare const FdtoUpdateOrderPlatformSettingReq: z.ZodObject<z.extendShap
56
56
  action: "SYNC_MENU" | "UPDATE_ORDER" | "GET_OR_UPDATE_SETTING";
57
57
  platform: string;
58
58
  }>;
59
- export declare const FdtoUpdateOrderPlatformItemReq: z.ZodObject<{
60
- /**
61
- * enable = null -> GET
62
- * enable = true/false -> UPDATE
63
- */
64
- enable: z.ZodBoolean;
65
- itemId: z.ZodString;
66
- itemName: z.ZodString;
67
- groupId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
68
- }, "strip", z.ZodTypeAny, {
69
- groupId?: string | null | undefined;
70
- enable: boolean;
71
- itemId: string;
72
- itemName: string;
73
- }, {
74
- groupId?: string | null | undefined;
75
- enable: boolean;
76
- itemId: string;
77
- itemName: string;
78
- }>;
79
59
  export declare const FdtoGetOrderDateRange: z.ZodObject<{
80
60
  start: z.ZodNullable<z.ZodOptional<z.ZodString>>;
81
61
  end: z.ZodNullable<z.ZodOptional<z.ZodString>>;
@@ -8414,8 +8414,28 @@ export declare const RestaurantQueueUpdateStatusDto: z.ZodObject<{
8414
8414
  }, {
8415
8415
  status: "QUEUE" | "ARRIVED" | "EXPIRED" | "CALLED" | "CANCEL";
8416
8416
  }>;
8417
+ export declare const FdtoCreateQueueRequest: z.ZodObject<{
8418
+ phoneNumber: z.ZodString;
8419
+ name: z.ZodOptional<z.ZodString>;
8420
+ pax: z.ZodOptional<z.ZodNumber>;
8421
+ isSub: z.ZodOptional<z.ZodBoolean>;
8422
+ remark: z.ZodNullable<z.ZodOptional<z.ZodString>>;
8423
+ }, "strip", z.ZodTypeAny, {
8424
+ name?: string | undefined;
8425
+ remark?: string | null | undefined;
8426
+ pax?: number | undefined;
8427
+ isSub?: boolean | undefined;
8428
+ phoneNumber: string;
8429
+ }, {
8430
+ name?: string | undefined;
8431
+ remark?: string | null | undefined;
8432
+ pax?: number | undefined;
8433
+ isSub?: boolean | undefined;
8434
+ phoneNumber: string;
8435
+ }>;
8417
8436
  export type RestaurantQueueStatusDto = z.infer<typeof RestaurantQueueStatusDto>;
8418
8437
  export type RestaurantQueueCartDto = z.infer<typeof RestaurantQueueCartDto>;
8419
8438
  export type RestaurantQueuePOSDto = z.infer<typeof RestaurantQueuePOSDto>;
8420
8439
  export type RestaurantQueueDto = z.infer<typeof RestaurantQueueDto>;
8421
8440
  export type RestaurantQueueUpdateStatusDto = z.infer<typeof RestaurantQueueUpdateStatusDto>;
8441
+ export type FdtoCreateQueueRequest = z.infer<typeof FdtoCreateQueueRequest>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-order-setting",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "type": "module",
5
5
  "module": "./dist/app.js",
6
6
  "license": "UNLICENSED",
@@ -298,6 +298,18 @@
298
298
  "unbindKioskDeviceWarning": "Are you sure want to unbind device? If yes, please enter {machineId} inside the textfield",
299
299
  "unbindSuccess": "Kiosk display successfully unbinded.",
300
300
  "unbindWarning": "Please enter the machine ID to confirm unbind.",
301
+ "searchDevices": "Search by slot, machine ID, or name...",
302
+ "allTypes": "All Types",
303
+ "tabletOnly": "Tablet Only",
304
+ "kioskOnly": "Kiosk Only",
305
+ "showingDevices": "Showing {count} of {total}",
306
+ "noDevicesMatch": "No devices match your search criteria.",
307
+ "noDevicesBound": "No devices bound yet. Click \"Bind device\" to add one.",
308
+ "clickToCopy": "Click to copy",
309
+ "machineIdCopied": "Machine ID copied to clipboard",
310
+ "copyFailed": "Failed to copy to clipboard",
311
+ "pinSet": "PIN Set",
312
+ "noPin": "No PIN",
301
313
  "unknown": "Unknown",
302
314
  "update": "Update",
303
315
  "updatedAt": "Updated at",
@@ -293,6 +293,18 @@
293
293
  "unbindKioskDeviceWarning": "デバイスの紐付けを解除してもよろしいですか?解除する場合は、テキストフィールドに{machineId}を入力してください",
294
294
  "unbindSuccess": "キオスクディスプレイの紐付けが正常に解除されました。",
295
295
  "unbindWarning": "紐付け解除を確認するには、マシンIDを入力してください。",
296
+ "searchDevices": "スロット、マシンID、名前で検索...",
297
+ "allTypes": "すべてのタイプ",
298
+ "tabletOnly": "タブレットのみ",
299
+ "kioskOnly": "キオスクのみ",
300
+ "showingDevices": "{count} / {total} 件表示",
301
+ "noDevicesMatch": "検索条件に一致するデバイスはありません",
302
+ "noDevicesBound": "まだデバイスがバインドされていません。「デバイスをバインド」をクリックして追加してください。",
303
+ "clickToCopy": "クリックしてコピー",
304
+ "machineIdCopied": "マシンIDをクリップボードにコピーしました",
305
+ "copyFailed": "クリップボードへのコピーに失敗しました",
306
+ "pinSet": "PIN設定済み",
307
+ "noPin": "PINなし",
296
308
  "unknown": "不明",
297
309
  "update": "更新",
298
310
  "updatedAt": "更新日時",
@@ -293,6 +293,18 @@
293
293
  "unbindKioskDeviceWarning": "คุณแน่ใจว่าต้องการยกเลิกการเชื่อมโยงอุปกรณ์หรือไม่ หากใช่ โปรดป้อน {machineId} ในช่องข้อความ",
294
294
  "unbindSuccess": "ยกเลิกการเชื่อมโยงจอแสดงผล Kiosk สำเร็จแล้ว",
295
295
  "unbindWarning": "โปรดป้อน ID เครื่องเพื่อยืนยันการยกเลิกการเชื่อมโยง",
296
+ "searchDevices": "ค้นหาตามสล็อต, ID เครื่อง หรือชื่อ...",
297
+ "allTypes": "ทุกประเภท",
298
+ "tabletOnly": "แท็บเล็ตเท่านั้น",
299
+ "kioskOnly": "คีออสก์เท่านั้น",
300
+ "showingDevices": "แสดง {count} จาก {total}",
301
+ "noDevicesMatch": "ไม่มีอุปกรณ์ตรงกับเกณฑ์การค้นหาของคุณ",
302
+ "noDevicesBound": "ยังไม่มีอุปกรณ์ที่ผูกไว้ คลิก \"ผูกอุปกรณ์\" เพื่อเพิ่ม",
303
+ "clickToCopy": "คลิกเพื่อคัดลอก",
304
+ "machineIdCopied": "คัดลอก ID เครื่องไปยังคลิปบอร์ดแล้ว",
305
+ "copyFailed": "ไม่สามารถคัดลอกไปยังคลิปบอร์ด",
306
+ "pinSet": "ตั้ง PIN แล้ว",
307
+ "noPin": "ไม่มี PIN",
296
308
  "unknown": "ไม่ทราบ",
297
309
  "update": "อัปเดต",
298
310
  "updatedAt": "อัปเดตเมื่อ",
@@ -300,6 +300,18 @@
300
300
  "unbindKioskDeviceWarning": "你确定要解除绑定设备吗?如果是,请在文本框中输入{machineId}",
301
301
  "unbindSuccess": "自助点餐设备成功解除绑定",
302
302
  "unbindWarning": "请输入设备ID以确认解除绑定",
303
+ "searchDevices": "按槽位、设备ID或名称搜索...",
304
+ "allTypes": "全部类型",
305
+ "tabletOnly": "仅平板",
306
+ "kioskOnly": "仅自助终端",
307
+ "showingDevices": "显示 {count} / {total}",
308
+ "noDevicesMatch": "没有设备符合您的搜索条件",
309
+ "noDevicesBound": "尚未绑定任何设备。点击\"绑定设备\"添加。",
310
+ "clickToCopy": "点击复制",
311
+ "machineIdCopied": "设备ID已复制到剪贴板",
312
+ "copyFailed": "复制到剪贴板失败",
313
+ "pinSet": "已设置PIN",
314
+ "noPin": "无PIN",
303
315
  "unknown": "未知",
304
316
  "update": "更新",
305
317
  "updatedAt": "更新于",
@@ -15,6 +15,7 @@ export interface MfKioskDevice {
15
15
  pinInfo?: string,
16
16
  deviceAppVersion?: string,
17
17
  deviceAppOTAVersion?: string,
18
+ lastStartup?: Date,
18
19
  }
19
20
 
20
21
 
@@ -16,6 +16,7 @@ const toMfKioskDevice = (dto: KioskDeviceDto): MfKioskDevice => {
16
16
  pinInfo: dto.pinInfo ?? undefined,
17
17
  deviceAppVersion: dto.deviceAppVersion ?? undefined,
18
18
  deviceAppOTAVersion: dto.deviceAppOTAVersion ?? undefined,
19
+ lastStartup: dto.lastStartup ? new Date(dto.lastStartup) : undefined,
19
20
  };
20
21
  };
21
22
 
@@ -2,44 +2,50 @@
2
2
  <div :class="dialogType ? '' : ['p-[1.5rem] border fm-corner-radius-lg flex flex-col gap-5 fixed ml-40 w-[320px]']">
3
3
  <span v-if="!dialogType" class="fm-typo-en-title-sm-600">{{ t('order.kioskSummary') }}</span>
4
4
  <hr v-if="!dialogType" class="my-[0.25rem]" />
5
- <div class="flex flex-col gap-1">
6
- <div class="flex flex-col gap-1">
5
+ <div class="flex flex-col gap-4">
6
+ <!-- Device Summary -->
7
+ <div class="flex flex-col gap-2">
7
8
  <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.kioskDisplay') }}</span>
8
-
9
- <div class="fm-typo-en-body-lg-600">
10
- <div v-if="devices.length > 0">
11
- <li class="block" v-for="device in devices" :key="device.machineId">{{ device.name }}</li>
9
+ <div v-if="devices.length > 0" class="flex flex-col gap-1">
10
+ <div
11
+ v-for="device in devices"
12
+ :key="device.machineId"
13
+ class="fm-typo-en-body-sm-400 flex items-center gap-2"
14
+ >
15
+ <span class="px-1.5 py-0.5 fm-corner-radius-sm bg-fm-color-neutral-gray-100 text-fm-color-typo-secondary fm-typo-en-body-xs-600 uppercase">
16
+ {{ device.deviceAppType === 'TABLET_APP' ? 'T' : 'K' }}
17
+ </span>
18
+ <span v-if="device.slotInfo" class="fm-typo-en-body-sm-600">{{ device.slotInfo }}</span>
19
+ <span class="text-fm-color-typo-secondary truncate flex-1" :title="device.name">{{ device.name }}</span>
12
20
  </div>
13
- <div v-else>-</div>
14
21
  </div>
22
+ <div v-else class="fm-typo-en-body-lg-600">-</div>
23
+ </div>
15
24
 
16
- <div v-if="dineInStatus === t('order.activated')">
17
- <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.dineIn') }}</span>
18
- <div class="fm-typo-en-body-lg-600 block">
19
- <div>{{ dineInStatus }}</div>
20
- </div>
21
- </div>
25
+ <!-- Dine In Status -->
26
+ <div v-if="dineInStatus === t('order.activated')" class="flex flex-col gap-1">
27
+ <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.dineIn') }}</span>
28
+ <div class="fm-typo-en-body-lg-600">{{ dineInStatus }}</div>
29
+ </div>
22
30
 
23
- <div v-if="dineInStatus === t('order.activated') && dineInType !== t('order.unknown')">
24
- <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.dineInType') }}</span>
25
- <div class="fm-typo-en-body-lg-600 block">
26
- <div>{{ dineInType }}</div>
27
- </div>
28
- </div>
31
+ <!-- Dine In Type -->
32
+ <div v-if="dineInStatus === t('order.activated') && dineInType !== t('order.unknown')" class="flex flex-col gap-1">
33
+ <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.dineInType') }}</span>
34
+ <div class="fm-typo-en-body-lg-600">{{ dineInType }}</div>
35
+ </div>
29
36
 
30
- <div v-if="takeAwayStatus === t('order.activated')">
31
- <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.takeaway') }}</span>
32
- <div class="fm-typo-en-body-lg-600 block">
33
- <div>{{ takeAwayStatus }}</div>
34
- </div>
35
- </div>
37
+ <!-- Takeaway Status -->
38
+ <div v-if="takeAwayStatus === t('order.activated')" class="flex flex-col gap-1">
39
+ <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.takeaway') }}</span>
40
+ <div class="fm-typo-en-body-lg-600">{{ takeAwayStatus }}</div>
41
+ </div>
36
42
 
37
- <div v-if="acceptedPaymentStatus || offlinePaymentStatus">
38
- <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{t('order.acceptedPayment')}}</span>
39
- <div class="fm-typo-en-body-lg-600 block">
40
- <div v-if="offlinePaymentStatus">{{ t('order.offlinePayment') }}</div>
41
- <div>{{ acceptedPaymentStatus }}</div>
42
- </div>
43
+ <!-- Payment Status -->
44
+ <div v-if="acceptedPaymentStatus || offlinePaymentStatus" class="flex flex-col gap-1">
45
+ <span class="fm-typo-en-body-lg-400 text-fm-color-typo-secondary">{{ t('order.acceptedPayment') }}</span>
46
+ <div class="fm-typo-en-body-lg-600">
47
+ <div v-if="offlinePaymentStatus">{{ t('order.offlinePayment') }}</div>
48
+ <div>{{ acceptedPaymentStatus }}</div>
43
49
  </div>
44
50
  </div>
45
51
  </div>
@@ -29,7 +29,7 @@
29
29
  <KioskDevicesView
30
30
  v-if="selectedMenuItem == 'device'"
31
31
  :devices="devices"
32
- :request-otp="requestOtp"
32
+ @request-otp="requestOtp"
33
33
  />
34
34
  <KioskSettingView
35
35
  :key="`KioskSettingView-${currentRestaurantId}`"
@@ -151,6 +151,9 @@ async function requestOtp() {
151
151
  contentComponentProps: {
152
152
  otp: KioskStore.state.otp
153
153
  }
154
+ }).onClose(async () => {
155
+ // Refresh devices after dialog closes (in case a device was bound)
156
+ await KioskStore.getDevices()
154
157
  })
155
158
  }
156
159