@feedmepos/mf-connect 0.1.112-prod → 0.1.113-beta.3

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 (158) hide show
  1. package/README.md +66 -1
  2. package/dist/{App-CFJcQZEE.js → App-YfpYV7C0.js} +700 -654
  3. package/dist/AuditLogs-kD0_HO_p.js +2016 -0
  4. package/dist/{Bin-DaqUNsSV.js → Bin-Dr-Xp3pn.js} +8 -8
  5. package/dist/Broadcast-CEbHu2xA.js +306 -0
  6. package/dist/{CampaignAnalytic-CpP7lgTX.js → CampaignAnalytic-DDiGxPwp.js} +7 -7
  7. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BQiQVQBN.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-Cc_Yho9-.js} +9 -9
  8. package/dist/{Card-Bmz5p5Pq.js → Card-BUnwg0eM.js} +25 -24
  9. package/dist/{Collections-BKND60cK.js → Collections-CKyBkKq2.js} +197 -185
  10. package/dist/{Credit-DQ_tDm8l.js → Credit-CJOXWLV1.js} +21 -20
  11. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-CCwpsEWf.js → DateRangeChip.vue_vue_type_script_setup_true_lang-DmEBLeNI.js} +1 -1
  12. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-Ce5R4Un6.js +4442 -0
  13. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-wUV_beN0.js → EffectSheet.vue_vue_type_style_index_0_lang-CMFmlqfF.js} +32 -32
  14. package/dist/{Experience-BOE6jLIS.js → Experience-C_Am5CTY.js} +32 -31
  15. package/dist/{FileSaver.min-D0CP0E3N.js → FileSaver.min-CueAGbjq.js} +1 -1
  16. package/dist/{Game-B-8by2dp.js → Game-B6GO_LVU.js} +19 -18
  17. package/dist/{GiftCardSetup-CdqZd1ee.js → GiftCardSetup-CVLDDpI2.js} +75 -75
  18. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-BVTu4uTR.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-isfGhKO1.js} +7 -7
  19. package/dist/{Goals-xFHNbwt7.js → Goals-BX-sMV2V.js} +4 -4
  20. package/dist/Grab-Bh335Srh.js +301 -0
  21. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-B5Z1AZRV.js → ImageInput.vue_vue_type_script_setup_true_lang-srSgUY3e.js} +1 -1
  22. package/dist/{Index-t6veJ0lU.js → Index-CyXRbwcm.js} +10 -10
  23. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-Deeanc8z.js → LocationPicker.vue_vue_type_script_setup_true_lang-S3GB2Ems.js} +1 -1
  24. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-B8qOJYoS.js → LottieAnimation.vue_vue_type_script_setup_true_lang-ZlWHXwXZ.js} +1 -1
  25. package/dist/{LoyaltyDashboard-DXNBsnM5.js → LoyaltyDashboard-DrTq8oiu.js} +15 -15
  26. package/dist/MainLayout-KbKkpX5n.js +4 -0
  27. package/dist/{MainLayout-CmCboaEn.js → MainLayout.vue_vue_type_script_setup_true_lang-2D5ate_s.js} +5 -4
  28. package/dist/{Marketing-DCq9O5eb.js → Marketing-DQT1MWQg.js} +4 -4
  29. package/dist/MarketingMaterialEdit-fSqr53-M.js +1037 -0
  30. package/dist/{Member-BCYmEmhD.js → Member-DwDUCzlv.js} +7 -7
  31. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-Djrfmj9g.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-DaQ4Lw8f.js} +43 -50
  32. package/dist/{MemberImportHistory-D-5NAOfo.js → MemberImportHistory-D4ezvJGZ.js} +7 -7
  33. package/dist/{MemberList-IySTKOT_.js → MemberList-DFieV7Qk.js} +103 -105
  34. package/dist/{MemberTransactions-BgQZvc5O.js → MemberTransactions-BPOXyAuC.js} +1 -1
  35. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-N8PCSKBx.js → MessageInput.vue_vue_type_script_setup_true_lang-DhfsgDd4.js} +4228 -4176
  36. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-_JNdYsBu.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-CX8bk_IQ.js} +1 -1
  37. package/dist/{Mission-DtaTKWE2.js → Mission-nErb05Es.js} +22 -21
  38. package/dist/{Overview-DVMdPa97.js → Overview-7G31a7B-.js} +23 -22
  39. package/dist/{Overview-D-uC2-Pi.js → Overview-DuJr_hAg.js} +145 -144
  40. package/dist/{Point-jnPIgHMZ.js → Point-PWDLemD4.js} +22 -21
  41. package/dist/{Promotion-mdQg-RSh.js → Promotion-N80Tj8M6.js} +137 -131
  42. package/dist/{Queue-D8YY1lbn.js → Queue-M7ZpgiMT.js} +47 -46
  43. package/dist/{Record-Dh-rN7a0.js → Record-NhxrdvWv.js} +9 -9
  44. package/dist/{Review-C8B-SIR8.js → Review-DiAaAzIG.js} +2 -2
  45. package/dist/ReviewFacebookCallback-JdyxFbNl.js +225 -0
  46. package/dist/{ReviewGoogleCallback-pNF2ICvQ.js → ReviewGoogleCallback-BXbI3Bsh.js} +5 -5
  47. package/dist/{Reward-D7KPnzXt.js → Reward-yTaOqOT8.js} +29 -29
  48. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-C87CDjxP.js → RewardGroup.vue_vue_type_script_setup_true_lang-BWPfjZ9K.js} +16 -15
  49. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-Cz2H9MKe.js +1923 -0
  50. package/dist/{Segment-Ct8JRTjV.js → Segment-DE9Bcd6R.js} +290 -291
  51. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-w-UpWetC.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-pmv0cb4J.js} +31 -30
  52. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-BbEX2h2u.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-BeWwkTix.js} +4 -4
  53. package/dist/Setting-C0JAxIRT.js +574 -0
  54. package/dist/{SettingAdvertisements-BrB-dGPs.js → SettingAdvertisements-DxueyKU8.js} +12 -12
  55. package/dist/Settings-Cs46AcxZ.js +286 -0
  56. package/dist/{Store-EKPfHEmY.js → Store-DqQae9nE.js} +661 -654
  57. package/dist/{StoreRewards-B208ENOi.js → StoreRewards-JxSUsOzJ.js} +15 -15
  58. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-qgrBtUNX.js +1319 -0
  59. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-D7ifzgsI.js +7007 -0
  60. package/dist/{Tier-CjYiCZy_.js → Tier-DWhgWush.js} +2576 -687
  61. package/dist/{Title-BXkVolaL.js → Title-DUNeMdz8.js} +94 -92
  62. package/dist/{Transaction-D1T3aIC3.js → Transaction-DAv-LVhC.js} +2 -2
  63. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-flUDCSA5.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-Cih-9IoW.js} +26 -26
  64. package/dist/{Voucher-DnQ8jNjI.js → Voucher-uLTq9RSK.js} +19 -19
  65. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-Z9GDpO4z.js → VoucherEditor.vue_vue_type_script_setup_true_lang-BevVL_Kx.js} +16 -16
  66. package/dist/WhatsappAccount-BpXQ4q0P.js +158 -0
  67. package/dist/WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-EssnbsgT.js +39 -0
  68. package/dist/WhatsappBot-DB4NRZMd.js +589 -0
  69. package/dist/WhatsappBotLogs-DDN4H_bv.js +372 -0
  70. package/dist/WhatsappBotSettings-Bkv1VNwF.js +387 -0
  71. package/dist/WhatsappBotTickets-DAKgnE6T.js +162 -0
  72. package/dist/WhatsappLayout-DSnq84Uo.js +21 -0
  73. package/dist/WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-1BvxPD-k.js +195 -0
  74. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-Dcw8Oi-t.js → ZodTextField.vue_vue_type_script_setup_true_lang-CR-F0x1r.js} +2 -2
  75. package/dist/{app-BtGohMqA.js → app-Devzv4gO.js} +10468 -8156
  76. package/dist/app.js +4 -3
  77. package/dist/{base.export-DulNMo7e.js → base.export-CCSMkvAm.js} +2 -2
  78. package/dist/browser-BSAOEeIM.js +1478 -0
  79. package/dist/{business-Bla8vvZH.js → business-BjAmUqNA.js} +1 -1
  80. package/dist/campaign-C5c47GqT.js +400 -0
  81. package/dist/{campaign-BIPNFBY5.js → campaign-CTe-T5Gd.js} +31 -25
  82. package/dist/{campaign.enum-liUaxkcy.js → campaign.enum-Dx-Zo68Q.js} +3 -2
  83. package/dist/campaign.fn-DxAO8A5b.js +776 -0
  84. package/dist/{collectible.enum-C0FfRMrW.js → collectible.enum-Liy2wH3s.js} +1 -1
  85. package/dist/{collection.fn-DdDMfaFO.js → collection.fn-C9l-OtNt.js} +2 -2
  86. package/dist/{currency-BrVnqxQ1.js → currency-mwm4AWXK.js} +1 -1
  87. package/dist/duplicateCampaign-BbC4AwQ1.js +51 -0
  88. package/dist/{effect-gfVmfrm9.js → effect-D8ba9z0K.js} +1 -1
  89. package/dist/{email-addresses-Dy8NFNBw.js → email-addresses-BR5J6_Jz.js} +2 -2
  90. package/dist/feature-flag-C-5NdFW8.js +868 -0
  91. package/dist/feature-flag-CNcU4_3r.js +50 -0
  92. package/dist/google-BQK68wbe.js +5 -0
  93. package/dist/{helper-CMhQctQK.js → helper-D9cEaMIv.js} +1 -1
  94. package/dist/index-0H82-X0n.js +80 -0
  95. package/dist/{index-D6RDVy95.js → index-B1jP-_Z_.js} +691 -230
  96. package/dist/{index-Dalmv1m4.js → index-B7HH6vKF.js} +8 -7
  97. package/dist/{index-v1exQSyU.js → index-BFaZp6Et.js} +29 -15
  98. package/dist/{index-DKmtDBKS.js → index-B_gzo75q.js} +1 -1
  99. package/dist/{index-qJOEwQ_z.js → index-BfoDdVQS.js} +19 -6
  100. package/dist/{index-C5rRuwhC.js → index-BvY2hQac.js} +1 -1
  101. package/dist/{index-CZqwIQXi.js → index-Byg4ztr-.js} +396 -232
  102. package/dist/{index-otcusTFM.js → index-CZfqqrVu.js} +4 -3
  103. package/dist/index-C_H8jFYf.js +2743 -0
  104. package/dist/{index-CUFuU2eJ.js → index-CmzjBrHR.js} +11 -10
  105. package/dist/{index-CLiJUFmJ.js → index-Ct6YjTIW.js} +2 -2
  106. package/dist/{index-B6x6s8mu.js → index-D34iYRdc.js} +683 -581
  107. package/dist/{index-dyMdi0Rt.js → index-D4k1G2oE.js} +4 -4
  108. package/dist/{index-DvW-3flw.js → index-DnepoNWn.js} +8028 -10767
  109. package/dist/index-Drmh0FT-.js +14571 -0
  110. package/dist/{index-BqKrePY8.js → index-DtcUCknS.js} +2700 -2613
  111. package/dist/{index-D1T4Yf4t.js → index-DwTBiVts.js} +1 -1
  112. package/dist/{index-BOZ3oVHd.js → index-OvnHt5x5.js} +800 -793
  113. package/dist/index-RwNlbTO8.js +115 -0
  114. package/dist/{index-C67-z1uf.js → index-VqAbYyHH.js} +2 -2
  115. package/dist/{index-CghtzuVO.js → index-yGSko6Eq.js} +1 -1
  116. package/dist/{index.esm2017-BLKRIlb9.js → index.esm2017-DLb2VyCT.js} +156 -156
  117. package/dist/{loading-BkJ3h_4U.js → loading-CUNk5u1d.js} +1 -1
  118. package/dist/{lodash-C0Kbs8lQ.js → lodash-BJXravls.js} +1 -1
  119. package/dist/{member-import-trpK8l8R.js → member-import-DjYoddBi.js} +6 -5
  120. package/dist/{membership-TV1CoyKQ.js → membership-ByJUFP8f.js} +3 -3
  121. package/dist/{money-BM-DK9iD.js → money-Bf2IEMJJ.js} +1 -1
  122. package/dist/{number-BclgE86R.js → number-CRBHrRUL.js} +1 -1
  123. package/dist/objectid-58gyOvdR.js +145 -0
  124. package/dist/{onboarding-BLuoXyCY.js → onboarding-CQ3lw7eY.js} +25 -25
  125. package/dist/{onboardingSetup-BLmLAgIV.js → onboardingSetup-CsdZKGFk.js} +2 -2
  126. package/dist/{plugins-3_mD58dh.js → plugins-iTZLbJGy.js} +3 -3
  127. package/dist/{MarketingMaterialEdit-CGLxanxm.js → remy-icon-BhUGu2NI.js} +2 -1031
  128. package/dist/{reward-Bo4szVCU.js → reward-DTN6JpEd.js} +1 -1
  129. package/dist/{rule-Bwy5-zD7.js → rule-BYACNQOL.js} +572 -492
  130. package/dist/style.css +1 -1
  131. package/dist/template--Vr0PCjB.js +188 -0
  132. package/dist/{timezone-DQ7TNXmV.js → timezone-DwzjOED-.js} +1 -1
  133. package/dist/{transaction.fn-OT7ucfCB.js → transaction.fn-DapYe3n7.js} +2 -2
  134. package/dist/{trigger-BJKHGcNG.js → trigger-D8r76yb0.js} +9 -9
  135. package/dist/{useMarketingMaterialActions-BX3C1Gga.js → useMarketingMaterialActions-CdMmibPE.js} +3 -3
  136. package/dist/{usePagination-Qp0qoWBj.js → usePagination-BRcQJkO1.js} +1 -1
  137. package/dist/useWhatsappAccount-BOJ8fz84.js +62 -0
  138. package/dist/{user-BcE3fiEa.js → user-vBZFKqXQ.js} +1 -1
  139. package/dist/vue-i18n-Cw6fF11e.js +2365 -0
  140. package/dist/{xlsx-DYZ421PG.js → xlsx-Muy_Rjhk.js} +1 -1
  141. package/dist/{zod-DestzeIp.js → zod-CCPTOeUz.js} +1 -1
  142. package/package.json +12 -3
  143. package/dist/Broadcast-CdAN6JCa.js +0 -271
  144. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-Bn-lauCv.js +0 -2431
  145. package/dist/ReviewFacebookCallback-C3eyH0pS.js +0 -238
  146. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-D1S2sLOK.js +0 -1883
  147. package/dist/Setting-C3Binnn_.js +0 -2036
  148. package/dist/Settings-D6h2QM6X.js +0 -179
  149. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-Dy7_GFoi.js +0 -1264
  150. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-B2KJeL5Y.js +0 -142
  151. package/dist/campaign-DYqAyRCY.js +0 -228
  152. package/dist/campaign.fn-J7hYcX_7.js +0 -776
  153. package/dist/google-C3S8u0mT.js +0 -4
  154. package/dist/index-Culx-Z9v.js +0 -51
  155. package/dist/objectid-C2XvpEgx.js +0 -145
  156. package/dist/rule-builder-Co_1uuj4.js +0 -102
  157. package/dist/template-fImyGLa7.js +0 -236
  158. package/dist/vue-i18n-BQmB8Ex1.js +0 -2365
@@ -0,0 +1,372 @@
1
+ import { defineComponent as T, resolveComponent as k, openBlock as l, createElementBlock as d, createElementVNode as s, toDisplayString as i, unref as p, createVNode as _, computed as w, Fragment as M, renderList as V, createCommentVNode as $, normalizeClass as ee, createTextVNode as P, createBlock as I, ref as b, watch as G, onBeforeUnmount as te, withCtx as O } from "vue";
2
+ import { u as E } from "./vue-i18n-Cw6fF11e.js";
3
+ import { useCoreStore as oe } from "@feedmepos/mf-common";
4
+ import { S as ne } from "./index-OvnHt5x5.js";
5
+ import { w as ae } from "./index-0H82-X0n.js";
6
+ import { _ as se } from "./remy-icon-BhUGu2NI.js";
7
+ import { _ as re } from "./WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-1BvxPD-k.js";
8
+ import { C as U } from "./timezone-DwzjOED-.js";
9
+ import { m as le } from "./index-yGSko6Eq.js";
10
+ const ce = { class: "group self-end min-w-[min(280px,100%)] max-w-[80%] rounded-[12px] rounded-br-[4px] bg-fm-color-neutral-gray-100 text-fm-color-typo-secondary" }, ie = { class: "flex items-center gap-[4px] min-h-[28px] px-[10px] py-[4px] text-[11px] font-medium cursor-pointer list-none rounded-[12px] focus-visible:outline-fm-color-primary" }, pe = { class: "flex-1 group-open:hidden" }, ue = { class: "flex-1 hidden group-open:inline" }, me = { class: "px-[10px] pt-[2px] pb-[8px] text-[13px] leading-[18px] whitespace-pre-wrap break-words" }, de = /* @__PURE__ */ T({
11
+ __name: "ThoughtBubble",
12
+ props: {
13
+ text: {}
14
+ },
15
+ setup(m) {
16
+ const { t: v } = E();
17
+ return (n, g) => {
18
+ const c = k("FmIcon");
19
+ return l(), d("details", ce, [
20
+ s("summary", ie, [
21
+ g[0] || (g[0] = s("img", {
22
+ src: se,
23
+ alt: "",
24
+ "aria-hidden": "true",
25
+ class: "w-[16px] h-[16px] shrink-0"
26
+ }, null, -1)),
27
+ s("span", pe, i(p(v)("connect.whatsappBot.logs.thought")), 1),
28
+ s("span", ue, i(p(v)("connect.whatsappBot.logs.hideThought")), 1),
29
+ _(c, {
30
+ name: "keyboard_arrow_down",
31
+ size: "sm",
32
+ class: "transition-transform group-open:rotate-180"
33
+ })
34
+ ]),
35
+ s("p", me, i(m.text), 1)
36
+ ]);
37
+ };
38
+ }
39
+ }), xe = { class: "border border-fm-color-neutral-gray-100 rounded-[16px] bg-fm-color-neutral-white overflow-hidden" }, fe = { class: "flex items-center gap-[10px] px-[16px] py-[10px] border-b border-fm-color-neutral-gray-100 flex-wrap" }, he = {
40
+ "aria-hidden": "true",
41
+ class: "w-[28px] h-[28px] rounded-full bg-fm-color-neutral-gray-100 text-fm-color-typo-secondary text-[12px] font-semibold flex items-center justify-center shrink-0"
42
+ }, ve = { class: "min-w-0 flex-1" }, ge = { class: "text-[14px] font-semibold leading-[20px] break-words" }, ye = { class: "text-[12px] leading-[16px] text-fm-color-typo-tertiary break-words" }, _e = ["datetime"], we = { class: "flex flex-col gap-[10px] px-[16px] py-[12px]" }, be = {
43
+ key: 0,
44
+ class: "self-end text-[12px] leading-[16px] text-fm-color-typo-tertiary"
45
+ }, ke = {
46
+ key: 0,
47
+ class: "text-[11px] text-fm-color-typo-tertiary"
48
+ }, Be = ["datetime"], Ce = ["title", "onClick"], Fe = { class: "w-[24px] h-[24px] rounded-full bg-fm-color-secondary-plum/10 text-fm-color-secondary-plum flex items-center justify-center shrink-0" }, Ae = { class: "flex flex-col min-w-0" }, Ne = { class: "text-[13px] leading-[18px] font-semibold" }, $e = { class: "text-[12px] leading-[16px] text-fm-color-typo-tertiary whitespace-pre-wrap break-words" }, Ie = /* @__PURE__ */ T({
49
+ __name: "WhatsappLogConversation",
50
+ props: {
51
+ conversation: {},
52
+ accountName: {},
53
+ timezone: {}
54
+ },
55
+ emits: ["notificationGroup"],
56
+ setup(m, { emit: v }) {
57
+ const n = m, g = v, { t: c, locale: t } = E(), o = w(
58
+ () => n.conversation.customerName || n.conversation.phoneNumber || c("connect.whatsappBot.logs.unknownCustomer")
59
+ ), u = w(
60
+ () => n.conversation.customerName ? n.conversation.customerName.trim().split(/\s+/).slice(0, 2).map((f) => Array.from(f)[0]).join("").toLocaleUpperCase(t.value) : "?"
61
+ ), A = w(
62
+ () => new Intl.DateTimeFormat(t.value, {
63
+ dateStyle: "medium",
64
+ timeStyle: "short",
65
+ timeZone: n.timezone
66
+ })
67
+ ), y = w(
68
+ () => new Intl.DateTimeFormat(t.value, {
69
+ hour: "2-digit",
70
+ minute: "2-digit",
71
+ hour12: !1,
72
+ timeZone: n.timezone
73
+ })
74
+ );
75
+ function h(f) {
76
+ var B;
77
+ return (B = f.reaction) != null && B.removed ? c("connect.whatsappBot.logs.reactionRemoved") : f.text ? f.text : c("connect.whatsappBot.logs.mediaMessage", { type: f.messageType });
78
+ }
79
+ return (f, B) => {
80
+ const N = k("FmIcon");
81
+ return l(), d("article", xe, [
82
+ s("header", fe, [
83
+ s("div", he, i(u.value), 1),
84
+ s("div", ve, [
85
+ s("h2", ge, i(o.value), 1),
86
+ s("p", ye, i(m.conversation.phoneNumber || p(c)("connect.whatsappBot.phoneUnavailable")) + " · " + i(p(c)("connect.whatsappBot.tickets.via", { name: m.accountName })), 1)
87
+ ]),
88
+ s("time", {
89
+ datetime: m.conversation.lastCreatedAt,
90
+ class: "text-[12px] text-fm-color-typo-tertiary tabular-nums"
91
+ }, i(A.value.format(new Date(m.conversation.lastCreatedAt))), 9, _e)
92
+ ]),
93
+ s("ol", we, [
94
+ (l(!0), d(M, null, V(m.conversation.logs, (r) => (l(), d("li", {
95
+ key: r.id,
96
+ class: "flex flex-col gap-[4px] min-w-0"
97
+ }, [
98
+ r.type === "message" ? (l(), d(M, { key: 0 }, [
99
+ r.isFromMe && !r.isFromBot ? (l(), d("span", be, i(p(c)("connect.whatsappBot.logs.sentByStaff")), 1)) : $("", !0),
100
+ s("div", {
101
+ class: ee([
102
+ "px-[10px] py-[6px] text-[14px] leading-[20px] whitespace-pre-wrap break-words min-w-0",
103
+ r.isFromMe ? "self-end max-w-[80%] bg-fm-color-primary-oats rounded-[12px] rounded-br-[4px]" : "self-start max-w-[75%] bg-fm-color-neutral-gray-100/50 rounded-[12px] rounded-bl-[4px]"
104
+ ])
105
+ }, [
106
+ P(i(h(r)) + " ", 1),
107
+ r.isEdit ? (l(), d("span", ke, " (" + i(p(c)("connect.whatsappBot.logs.edited")) + ") ", 1)) : $("", !0),
108
+ s("time", {
109
+ datetime: r.timestamp,
110
+ class: "float-right mt-[6px] ml-[10px] text-[11px] leading-[14px] text-fm-color-typo-tertiary tabular-nums"
111
+ }, i(y.value.format(new Date(r.timestamp))), 9, Be)
112
+ ], 2)
113
+ ], 64)) : r.type === "thought" ? (l(), I(de, {
114
+ key: 1,
115
+ text: r.text
116
+ }, null, 8, ["text"])) : r.type === "escalate" ? (l(), d("button", {
117
+ key: 2,
118
+ type: "button",
119
+ title: p(c)("connect.whatsappBot.logs.openNotificationGroup"),
120
+ class: "self-end flex items-start gap-[8px] max-w-[80%] py-[8px] pr-[12px] pl-[8px] border border-fm-color-neutral-gray-200 rounded-[8px] text-left hover:bg-fm-color-neutral-gray-100/50 focus-visible:outline-fm-color-primary",
121
+ onClick: (C) => g("notificationGroup", r.clientId)
122
+ }, [
123
+ s("span", Fe, [
124
+ _(N, {
125
+ name: "group",
126
+ size: "sm"
127
+ })
128
+ ]),
129
+ s("span", Ae, [
130
+ s("span", Ne, i(p(c)("connect.whatsappBot.logs.escalated")), 1),
131
+ s("span", $e, i(p(c)("connect.whatsappBot.logs.reason", {
132
+ reason: r.source === "staff" ? p(c)("connect.whatsappBot.tickets.staffReason") : r.reason
133
+ })), 1)
134
+ ])
135
+ ], 8, Ce)) : $("", !0)
136
+ ]))), 128))
137
+ ])
138
+ ]);
139
+ };
140
+ }
141
+ });
142
+ function Me(m, v) {
143
+ const n = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), c = [...m].sort(
144
+ (t, o) => Date.parse(t.createdAt) - Date.parse(o.createdAt) || W(t) - W(o) || t.id.localeCompare(o.id)
145
+ );
146
+ for (const t of c) {
147
+ const o = JSON.stringify([
148
+ t.accountLid || t.clientId,
149
+ t.chatJid
150
+ ]), u = g.get(o) ?? { name: "", phone: "" };
151
+ t.customerName && (u.name = t.customerName), t.phoneNumber && (u.phone = t.phoneNumber), g.set(o, u);
152
+ const A = le.tz(t.createdAt, v).format("YYYY-MM-DD"), y = `${o}:${A}`, h = n.get(y);
153
+ h ? (h.logs.push(t), h.lastCreatedAt = t.createdAt, h.clientId = t.clientId) : n.set(y, {
154
+ id: y,
155
+ clientId: t.clientId,
156
+ chatJid: t.chatJid,
157
+ customerName: "",
158
+ phoneNumber: "",
159
+ createdAt: t.createdAt,
160
+ lastCreatedAt: t.createdAt,
161
+ logs: [t]
162
+ });
163
+ }
164
+ for (const t of n.values()) {
165
+ const o = t.logs[0], u = g.get(
166
+ JSON.stringify([o.accountLid || o.clientId, o.chatJid])
167
+ );
168
+ t.customerName = (u == null ? void 0 : u.name) ?? "", t.phoneNumber = (u == null ? void 0 : u.phone) ?? "";
169
+ }
170
+ return [...n.values()].sort(
171
+ (t, o) => Date.parse(o.lastCreatedAt) - Date.parse(t.lastCreatedAt)
172
+ );
173
+ }
174
+ function W(m) {
175
+ return m.type === "thought" ? 1 : m.type === "escalate" ? 2 : m.isFromMe ? 3 : 0;
176
+ }
177
+ const Se = { class: "mt-[20px] flex flex-col gap-[16px]" }, De = { class: "flex items-center gap-[8px] flex-wrap" }, Le = { class: "max-h-[240px] overflow-y-auto" }, ze = {
178
+ key: 0,
179
+ role: "alert",
180
+ class: "text-[14px] text-fm-color-typo-error"
181
+ }, Ve = {
182
+ key: 1,
183
+ role: "status",
184
+ class: "py-[56px] flex flex-col items-center gap-[12px] text-[14px] text-fm-color-typo-secondary"
185
+ }, Te = {
186
+ key: 2,
187
+ class: "flex items-center gap-[12px] flex-wrap"
188
+ }, Ee = {
189
+ role: "alert",
190
+ class: "text-[14px] text-fm-color-typo-error"
191
+ }, Je = {
192
+ key: 3,
193
+ class: "border border-fm-color-neutral-gray-200 rounded-[16px] px-[24px] py-[56px] flex flex-col items-center text-center gap-[8px]"
194
+ }, Ye = { class: "text-[20px] font-semibold" }, je = { class: "max-w-[420px] text-[14px] leading-[20px] text-fm-color-typo-secondary" }, Ge = {
195
+ key: 4,
196
+ class: "w-full max-w-[880px] flex flex-col gap-[12px]"
197
+ }, qe = /* @__PURE__ */ T({
198
+ __name: "WhatsappBotLogs",
199
+ props: {
200
+ accounts: {}
201
+ },
202
+ setup(m) {
203
+ const v = m, { t: n } = E(), g = oe(), c = w(() => ne.getBusinessId() ?? ""), t = w(
204
+ () => U[g.currentCountry.value || "MY"] ?? U.MY
205
+ ), o = b([]), u = b(""), A = b([]), y = b([]), h = b(!0), f = b(""), B = b(), N = b(!1), r = b("");
206
+ let C;
207
+ function S(a) {
208
+ var F;
209
+ const e = (F = v.accounts.find(
210
+ (L) => L.clientId === a
211
+ )) == null ? void 0 : F.account;
212
+ return (e == null ? void 0 : e.businessName) || (e == null ? void 0 : e.name) || (e == null ? void 0 : e.phoneNumber) || n("connect.whatsappBot.logs.unknownAccount", { id: a.slice(-6) });
213
+ }
214
+ const R = w(
215
+ () => [
216
+ .../* @__PURE__ */ new Set([
217
+ ...v.accounts.map((a) => a.clientId),
218
+ ...y.value,
219
+ ...o.value
220
+ ])
221
+ ].map((a) => ({ clientId: a, label: S(a) }))
222
+ ), J = w(() => {
223
+ const a = u.value.trim().toLocaleLowerCase();
224
+ return R.value.filter(
225
+ (e) => e.label.toLocaleLowerCase().includes(a)
226
+ );
227
+ }), Z = w(() => {
228
+ const a = o.value, e = a.length ? a.length === 1 ? S(a[0]) : n("connect.whatsappBot.logs.selectedAccounts", {
229
+ count: a.length
230
+ }) : n("connect.whatsappBot.logs.allAccounts");
231
+ return n("connect.whatsappBot.logs.accountFilter", { name: e });
232
+ }), Y = w(
233
+ () => Me(A.value, t.value)
234
+ );
235
+ function H(a) {
236
+ o.value = o.value.includes(a) ? o.value.filter((e) => e !== a) : [...o.value, a];
237
+ }
238
+ function K(a) {
239
+ r.value = "";
240
+ const e = v.accounts.find(
241
+ (F) => F.clientId === a
242
+ );
243
+ if (!e) {
244
+ r.value = n("connect.whatsappBot.errors.accountNotFound");
245
+ return;
246
+ }
247
+ B.value = e, N.value = !0;
248
+ }
249
+ async function D() {
250
+ C == null || C.abort();
251
+ const a = new AbortController();
252
+ C = a, h.value = !0, f.value = "", A.value = [];
253
+ try {
254
+ if (!c.value)
255
+ throw new Error(n("connect.whatsappBot.errors.selectBusiness"));
256
+ const e = await ae.listLogs(
257
+ c.value,
258
+ o.value.length ? { clientIds: o.value.join(",") } : {},
259
+ a.signal
260
+ );
261
+ if (a.signal.aborted) return;
262
+ A.value = e.logs, y.value = [
263
+ .../* @__PURE__ */ new Set([
264
+ ...y.value,
265
+ ...e.logs.map((F) => F.clientId)
266
+ ])
267
+ ];
268
+ } catch (e) {
269
+ a.signal.aborted || (f.value = e instanceof Error ? e.message : n("connect.whatsappBot.logs.loadError"));
270
+ } finally {
271
+ a.signal.aborted || (h.value = !1);
272
+ }
273
+ }
274
+ return G(c, () => {
275
+ o.value = [], u.value = "", y.value = [], N.value = !1, B.value = void 0, r.value = "";
276
+ }), G(
277
+ [c, () => o.value.join(",")],
278
+ () => void D(),
279
+ { immediate: !0 }
280
+ ), te(() => C == null ? void 0 : C.abort()), (a, e) => {
281
+ const F = k("FmChip"), L = k("FmSearch"), Q = k("FmMenuDivider"), z = k("FmMenuItem"), X = k("FmMenu"), j = k("FmButton"), q = k("FmCircularProgress");
282
+ return l(), d(M, null, [
283
+ s("section", Se, [
284
+ s("div", De, [
285
+ _(X, {
286
+ "close-on-click": !1,
287
+ width: 280
288
+ }, {
289
+ "menu-button": O(() => [
290
+ _(F, {
291
+ label: Z.value,
292
+ "right-icon": "keyboard_arrow_down",
293
+ class: "text-fm-color-typo-secondary cursor-pointer"
294
+ }, null, 8, ["label"])
295
+ ]),
296
+ default: O(() => [
297
+ _(L, {
298
+ modelValue: u.value,
299
+ "onUpdate:modelValue": e[0] || (e[0] = (x) => u.value = x),
300
+ placeholder: p(n)("connect.whatsappBot.logs.searchAccounts")
301
+ }, null, 8, ["modelValue", "placeholder"]),
302
+ _(Q),
303
+ _(z, {
304
+ label: p(n)("connect.whatsappBot.logs.allAccounts"),
305
+ "model-value": !o.value.length,
306
+ "has-checkbox": "",
307
+ onClick: e[1] || (e[1] = (x) => o.value = [])
308
+ }, null, 8, ["label", "model-value"]),
309
+ s("div", Le, [
310
+ (l(!0), d(M, null, V(J.value, (x) => (l(), I(z, {
311
+ key: x.clientId,
312
+ label: x.label,
313
+ "model-value": o.value.includes(x.clientId),
314
+ "has-checkbox": "",
315
+ onClick: (Oe) => H(x.clientId)
316
+ }, null, 8, ["label", "model-value", "onClick"]))), 128)),
317
+ J.value.length ? $("", !0) : (l(), I(z, {
318
+ key: 0,
319
+ label: p(n)("connect.whatsappBot.logs.noMatchingAccounts"),
320
+ disabled: ""
321
+ }, null, 8, ["label"]))
322
+ ])
323
+ ]),
324
+ _: 1
325
+ }),
326
+ _(j, {
327
+ variant: "plain",
328
+ "prepend-icon": "refresh",
329
+ label: p(n)("connect.whatsappBot.logs.refresh"),
330
+ disabled: h.value,
331
+ class: "ml-auto",
332
+ onClick: e[2] || (e[2] = (x) => D())
333
+ }, null, 8, ["label", "disabled"])
334
+ ]),
335
+ r.value ? (l(), d("p", ze, i(r.value), 1)) : $("", !0),
336
+ h.value ? (l(), d("div", Ve, [
337
+ _(q),
338
+ P(" " + i(p(n)("connect.whatsappBot.logs.loading")), 1)
339
+ ])) : f.value ? (l(), d("div", Te, [
340
+ s("p", Ee, i(f.value), 1),
341
+ _(j, {
342
+ variant: "secondary",
343
+ "prepend-icon": "refresh",
344
+ label: p(n)("connect.whatsappBot.tryAgain"),
345
+ onClick: e[3] || (e[3] = (x) => D())
346
+ }, null, 8, ["label"])
347
+ ])) : Y.value.length ? (l(), d("div", Ge, [
348
+ (l(!0), d(M, null, V(Y.value, (x) => (l(), I(Ie, {
349
+ key: x.id,
350
+ conversation: x,
351
+ "account-name": S(x.clientId),
352
+ timezone: t.value,
353
+ onNotificationGroup: K
354
+ }, null, 8, ["conversation", "account-name", "timezone"]))), 128))
355
+ ])) : (l(), d("div", Je, [
356
+ s("h2", Ye, i(p(n)("connect.whatsappBot.logs.emptyTitle")), 1),
357
+ s("p", je, i(p(n)("connect.whatsappBot.logs.emptyDescription")), 1)
358
+ ]))
359
+ ]),
360
+ B.value ? (l(), I(re, {
361
+ key: 0,
362
+ modelValue: N.value,
363
+ "onUpdate:modelValue": e[4] || (e[4] = (x) => N.value = x),
364
+ account: B.value
365
+ }, null, 8, ["modelValue", "account"])) : $("", !0)
366
+ ], 64);
367
+ };
368
+ }
369
+ });
370
+ export {
371
+ qe as default
372
+ };