@feedmepos/mf-connect 0.1.115-prod → 0.1.117-dev

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 (153) hide show
  1. package/README.md +64 -1
  2. package/dist/{App-CvtSY8ZO.js → App-BpcsgH7K.js} +444 -427
  3. package/dist/AuditLogs-BNnUiVnD.js +2016 -0
  4. package/dist/{Bin-B3gS9QVZ.js → Bin-Cm0wjQeR.js} +8 -8
  5. package/dist/{Broadcast-DAeb-HaN.js → Broadcast-BoJaHqnO.js} +22 -21
  6. package/dist/{CampaignAnalytic-BfTaHVem.js → CampaignAnalytic-Eg4xZW0B.js} +7 -7
  7. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-zsei4OfG.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BXylK6Ze.js} +9 -9
  8. package/dist/{Card-JFeVIwFs.js → Card-BfkMcFaG.js} +25 -24
  9. package/dist/{Collections-xcDpEhIm.js → Collections-RXmxQbII.js} +197 -185
  10. package/dist/{Credit-C9HJZjDS.js → Credit-CsRPM1jv.js} +21 -20
  11. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-DSqVY91w.js → DateRangeChip.vue_vue_type_script_setup_true_lang-D2tvK7pw.js} +1 -1
  12. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BgPeHurN.js +4442 -0
  13. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-C3J0rCTt.js → EffectSheet.vue_vue_type_style_index_0_lang-CUx8UIIq.js} +32 -32
  14. package/dist/{Experience-DszS8gto.js → Experience-BC8Pj-v9.js} +32 -31
  15. package/dist/{FileSaver.min-CFVQKaC-.js → FileSaver.min-DzmoQFA0.js} +1 -1
  16. package/dist/{Game-DhgeN7E2.js → Game-DJXNHFBs.js} +19 -18
  17. package/dist/{GiftCardSetup-CWm6IhrS.js → GiftCardSetup-_0n8lU-t.js} +75 -75
  18. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-BuKADvmK.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-C-AiJdui.js} +7 -7
  19. package/dist/{Goals-DtRVierH.js → Goals-DSZwKpds.js} +4 -4
  20. package/dist/Grab-DDc7e-AC.js +301 -0
  21. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-DlEFyu6h.js → ImageInput.vue_vue_type_script_setup_true_lang-BZb-H4fM.js} +1 -1
  22. package/dist/{Index-DFRcu_qE.js → Index-Cbi0bquE.js} +10 -10
  23. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-B3Br4Xvi.js → LocationPicker.vue_vue_type_script_setup_true_lang-GLhMtvzi.js} +1 -1
  24. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CjNJj3qj.js → LottieAnimation.vue_vue_type_script_setup_true_lang-Bt9CO_QR.js} +1 -1
  25. package/dist/{LoyaltyDashboard-BWHKDPzk.js → LoyaltyDashboard-fK90c27A.js} +15 -15
  26. package/dist/MainLayout-Bf-l9yL4.js +4 -0
  27. package/dist/{MainLayout-BmpNNAiE.js → MainLayout.vue_vue_type_script_setup_true_lang-COR6YYYI.js} +5 -4
  28. package/dist/Marketing-B7cZGsO-.js +269 -0
  29. package/dist/MarketingMaterialEdit-5IcV2ct6.js +1037 -0
  30. package/dist/{Member-xEzrBW_p.js → Member-BGTrRVdq.js} +7 -7
  31. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-DRoC-I0t.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-DJr2hV2W.js} +43 -50
  32. package/dist/{MemberImportHistory-CEQpBBF8.js → MemberImportHistory--FxkTJmu.js} +7 -7
  33. package/dist/{MemberList-CCvzkHv8.js → MemberList-EjY5dgwt.js} +103 -105
  34. package/dist/{MemberTransactions-Bmh39J2W.js → MemberTransactions-Oia7LIFK.js} +1 -1
  35. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-D3Pmk80l.js → MessageInput.vue_vue_type_script_setup_true_lang-CLOQZCYy.js} +14 -14
  36. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-DIBKAwHP.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-Ev3bB8cg.js} +1 -1
  37. package/dist/{Mission-CpUo2Bgw.js → Mission-BFHYb4aT.js} +22 -21
  38. package/dist/{Overview-DcDZmDXA.js → Overview-BVNyQxFL.js} +23 -22
  39. package/dist/{Overview-CwQqQ1Tn.js → Overview-d5U37aot.js} +145 -144
  40. package/dist/{Point-CUNQsQIx.js → Point-CXkqH02Z.js} +22 -21
  41. package/dist/{Promotion-Cqdim7aW.js → Promotion-DdxNvlOO.js} +137 -131
  42. package/dist/{Queue-CNBVh1UG.js → Queue-C96oNKyP.js} +46 -45
  43. package/dist/{Record-BYwz4l4o.js → Record-Bj2e2Y4i.js} +9 -9
  44. package/dist/{Review-CqLcZFj8.js → Review-CJK5S1oI.js} +2 -2
  45. package/dist/ReviewFacebookCallback-ChG7TRy5.js +225 -0
  46. package/dist/{ReviewGoogleCallback-Dg8R7QlO.js → ReviewGoogleCallback-Dmk4VyGA.js} +5 -5
  47. package/dist/{Reward-M8GZ8eHq.js → Reward-Dh2YI0Xb.js} +29 -29
  48. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-BkM9-Sx-.js → RewardGroup.vue_vue_type_script_setup_true_lang-U47m3AAn.js} +16 -15
  49. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-2L6ZGMW7.js +1923 -0
  50. package/dist/{Segment-CrMi6xrp.js → Segment-FYvtCkqH.js} +304 -305
  51. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-DKH5_9db.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-DPZZz2e0.js} +31 -30
  52. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-CyeAQ-hg.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-D8wBgLlS.js} +4 -4
  53. package/dist/Setting-CUAWjCqa.js +574 -0
  54. package/dist/{SettingAdvertisements-Dh7v4c1D.js → SettingAdvertisements-COIQwUD6.js} +12 -12
  55. package/dist/Settings-D2gFPvmW.js +286 -0
  56. package/dist/{Store-CV-BmK5b.js → Store-BAXwiyvx.js} +31 -30
  57. package/dist/{StoreRewards-DPhSLvSZ.js → StoreRewards-2mUavtUg.js} +15 -15
  58. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-5g3yIL1a.js +1319 -0
  59. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-DHi4rdT1.js +7007 -0
  60. package/dist/{Tier-ChvYps23.js → Tier-BmAOzRHL.js} +2576 -687
  61. package/dist/{Title-v-Ivswr1.js → Title-DMxiUg30.js} +94 -92
  62. package/dist/{Transaction-CRqE1Ix0.js → Transaction-CF6hXEpN.js} +2 -2
  63. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-B0Uh9iuj.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-BON_t0dL.js} +26 -26
  64. package/dist/{Voucher-Bg8FOuzD.js → Voucher-DrtITxq-.js} +19 -19
  65. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-HKxivQMF.js → VoucherEditor.vue_vue_type_script_setup_true_lang-1DZOzJKx.js} +16 -16
  66. package/dist/WhatsappAccount-Bb0Y7ikk.js +159 -0
  67. package/dist/WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-CPlyzkp4.js +39 -0
  68. package/dist/WhatsappBot-DNvvaPey.js +876 -0
  69. package/dist/WhatsappBotLogs-C8M-1pvv.js +372 -0
  70. package/dist/WhatsappBotSettings-D6egqUyU.js +705 -0
  71. package/dist/WhatsappLayout-DeQTPuF6.js +21 -0
  72. package/dist/WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-DI0pcHcE.js +253 -0
  73. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-8d290Dcp.js → ZodTextField.vue_vue_type_script_setup_true_lang-CKZscSjU.js} +2 -2
  74. package/dist/{app-DdNKsn2Q.js → app-BjdLqYQq.js} +8879 -7107
  75. package/dist/app.js +4 -3
  76. package/dist/{base.export-R97FrSQL.js → base.export-B68z5BF6.js} +2 -2
  77. package/dist/browser-BSAOEeIM.js +1478 -0
  78. package/dist/{business-Ce8vq3wQ.js → business-D9fgkHxb.js} +1 -1
  79. package/dist/{campaign-C19If7bW.js → campaign-Dw_ujovr.js} +121 -94
  80. package/dist/{campaign-BTllt2LH.js → campaign-eMaPX8r6.js} +31 -25
  81. package/dist/{campaign.enum-9CCbalR4.js → campaign.enum-Dx-Zo68Q.js} +3 -2
  82. package/dist/{campaign.fn-B4g03h0A.js → campaign.fn-DFjGNvmN.js} +78 -78
  83. package/dist/{collectible.enum-MvqF7mSg.js → collectible.enum-Liy2wH3s.js} +1 -1
  84. package/dist/{collection.fn-CR0bD33S.js → collection.fn-CCOWtB-c.js} +2 -2
  85. package/dist/{currency-DmlguGIM.js → currency-CTLKReFC.js} +1 -1
  86. package/dist/duplicateCampaign-BcpBfUGL.js +51 -0
  87. package/dist/{effect-Dx3zfl28.js → effect-CTI1ZH57.js} +1 -1
  88. package/dist/{email-addresses-De5PGOY4.js → email-addresses-B74e3bnB.js} +2 -2
  89. package/dist/{feature-flag-CD9V1V0h.js → feature-flag-DVdEaChJ.js} +182 -166
  90. package/dist/google-BQK68wbe.js +5 -0
  91. package/dist/{helper-CEiv7SaO.js → helper-as9K-piK.js} +1 -1
  92. package/dist/{index-CBJy9bxB.js → index-3LjKJhQa.js} +1 -1
  93. package/dist/{index-BW6eb3n6.js → index-8mBfDn3M.js} +611 -252
  94. package/dist/{index-D4d3l0gw.js → index-B0h0iYWP.js} +8 -7
  95. package/dist/{index-BAXKd9Gg.js → index-BEKMTiFb.js} +198 -198
  96. package/dist/{index-B8yWVB8P.js → index-BW7FoVEA.js} +4 -3
  97. package/dist/{index-BVdYxi3l.js → index-B_wRpO02.js} +29 -15
  98. package/dist/{index-B8meeQoD.js → index-Ba719MYq.js} +1 -1
  99. package/dist/{index-BDPnyro2.js → index-BbVbqe4Y.js} +19 -6
  100. package/dist/{index-CqOCJTeR.js → index-BhTrG89b.js} +390 -232
  101. package/dist/index-C-iwb2Ln.js +109 -0
  102. package/dist/{index-CPODug8b.js → index-C5V6u2Qd.js} +2700 -2613
  103. package/dist/{index-CWUrODxL.js → index-CHU3UePP.js} +1 -1
  104. package/dist/{index-IZRfmmde.js → index-CQxkDpX0.js} +683 -581
  105. package/dist/{index-DT3S00_Y.js → index-CWLOcQ6j.js} +11 -10
  106. package/dist/index-C_H8jFYf.js +2743 -0
  107. package/dist/{index-__UT3_Ey.js → index-Ckz6u3ac.js} +2 -2
  108. package/dist/{index-BYI9ttxy.js → index-Czg-2Ni0.js} +8028 -10767
  109. package/dist/{index-xct3mnu8.js → index-DKI8401o.js} +7 -7
  110. package/dist/{index-649OZ_e1.js → index-DcZiikOH.js} +2 -2
  111. package/dist/{index-BquSqx6K.js → index-QHqcSN2q.js} +4 -4
  112. package/dist/{index-BR9h5DTI.js → index-TAoQpeLQ.js} +1 -1
  113. package/dist/index-wsCCqwdr.js +74 -0
  114. package/dist/{index.esm2017-AVbZ9btd.js → index.esm2017-DL6rTGDW.js} +177 -177
  115. package/dist/{loading-BvHm1m3K.js → loading-x6IScY4K.js} +1 -1
  116. package/dist/{lodash-Dvrceo7x.js → lodash-nwnDizYo.js} +1 -1
  117. package/dist/{member-import-c9avpiSS.js → member-import-C-b01Tyd.js} +6 -5
  118. package/dist/{membership-D-pZS634.js → membership-DfarOMtO.js} +3 -3
  119. package/dist/{money-D4skwMkD.js → money-CFn-jR4W.js} +1 -1
  120. package/dist/{number-DJ6ncfT6.js → number-CSlyDL2x.js} +1 -1
  121. package/dist/objectid-zcT6ESET.js +145 -0
  122. package/dist/{onboarding-t7R1d3h-.js → onboarding-DyaFaaF2.js} +25 -25
  123. package/dist/{onboardingSetup-lTaJc0oT.js → onboardingSetup-DQt91O9f.js} +2 -2
  124. package/dist/{plugins-DQNOWwRC.js → plugins-DEHr0UOe.js} +3 -3
  125. package/dist/{MarketingMaterialEdit-x3c_N7Gs.js → remy-icon-BhUGu2NI.js} +2 -1031
  126. package/dist/{reward-BK150pjm.js → reward-Du_Pv-4p.js} +1 -1
  127. package/dist/{rule-COcdAnUu.js → rule-DfqmQTVK.js} +572 -492
  128. package/dist/style.css +1 -1
  129. package/dist/template-CcbNF4PF.js +188 -0
  130. package/dist/{timezone-BP6UC4KL.js → timezone-_4tabIaK.js} +1 -1
  131. package/dist/{transaction.fn-BY0hzon0.js → transaction.fn-C46PHwCV.js} +2 -2
  132. package/dist/{trigger-DVBjVPbN.js → trigger-Dipr6btC.js} +8 -8
  133. package/dist/useMarketingMaterialActions-BAw2ZjeF.js +125 -0
  134. package/dist/{usePagination-QT552XyF.js → usePagination-D6RZ18zS.js} +1 -1
  135. package/dist/{user-CmAxNc7T.js → user-BCexQj3Q.js} +1 -1
  136. package/dist/vue-i18n-DXvyTCZf.js +2365 -0
  137. package/dist/{xlsx-DAczoc8y.js → xlsx-BTxt_Jg6.js} +224 -224
  138. package/dist/{zod-Aj-GuVQL.js → zod-T4wMYjWT.js} +1 -1
  139. package/package.json +6 -2
  140. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-D_jXVE2I.js +0 -3494
  141. package/dist/Marketing-BKK45Eve.js +0 -236
  142. package/dist/ReviewFacebookCallback-DbSCILNN.js +0 -238
  143. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-CnaL93TF.js +0 -1883
  144. package/dist/Setting-BnFRI0Se.js +0 -2037
  145. package/dist/Settings-BvT8_tkQ.js +0 -179
  146. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-CDu1QySl.js +0 -1264
  147. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-Dqz6jTlH.js +0 -142
  148. package/dist/google-C3S8u0mT.js +0 -4
  149. package/dist/objectid-DEMM_jdR.js +0 -145
  150. package/dist/rule-builder-Deufb6h_.js +0 -102
  151. package/dist/template-DeebIqJ_.js +0 -236
  152. package/dist/useMarketingMaterialActions-DpQCQHFI.js +0 -96
  153. package/dist/vue-i18n-Cze706-f.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 u, 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-DXvyTCZf.js";
3
+ import { useCoreStore as oe } from "@feedmepos/mf-common";
4
+ import { S as ne } from "./index-DKI8401o.js";
5
+ import { w as ae } from "./index-wsCCqwdr.js";
6
+ import { _ as se } from "./remy-icon-BhUGu2NI.js";
7
+ import { _ as le } from "./WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-DI0pcHcE.js";
8
+ import { C as U } from "./timezone-_4tabIaK.js";
9
+ import { m as re } from "./index-TAoQpeLQ.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(u(v)("connect.whatsappBot.logs.thought")), 1),
28
+ s("span", ue, i(u(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
+ ), p = 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(p.value), 1),
84
+ s("div", ve, [
85
+ s("h2", ge, i(o.value), 1),
86
+ s("p", ye, i(m.conversation.phoneNumber || u(c)("connect.whatsappBot.phoneUnavailable")) + " · " + i(u(c)("connect.whatsappBot.logs.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(u(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-[#F7F7F7] rounded-[12px] rounded-bl-[4px]"
104
+ ])
105
+ }, [
106
+ P(i(h(r)) + " ", 1),
107
+ r.isEdit ? (l(), d("span", ke, " (" + i(u(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: u(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(u(c)("connect.whatsappBot.logs.escalated")), 1),
131
+ s("span", $e, i(u(c)("connect.whatsappBot.logs.reason", {
132
+ reason: 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
+ ]), p = g.get(o) ?? { name: "", phone: "" };
151
+ t.customerName && (p.name = t.customerName), t.phoneNumber && (p.phone = t.phoneNumber), g.set(o, p);
152
+ const A = re.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], p = g.get(
166
+ JSON.stringify([o.accountLid || o.clientId, o.chatJid])
167
+ );
168
+ t.customerName = (p == null ? void 0 : p.name) ?? "", t.phoneNumber = (p == null ? void 0 : p.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: "mx-auto w-full min-w-0 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([]), p = 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 Z = 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 = p.value.trim().toLocaleLowerCase();
224
+ return Z.value.filter(
225
+ (e) => e.label.toLocaleLowerCase().includes(a)
226
+ );
227
+ }), R = 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 = [], p.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: R.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: p.value,
299
+ "onUpdate:modelValue": e[0] || (e[0] = (x) => p.value = x),
300
+ placeholder: u(n)("connect.whatsappBot.logs.searchAccounts")
301
+ }, null, 8, ["modelValue", "placeholder"]),
302
+ _(Q),
303
+ _(z, {
304
+ label: u(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: u(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: u(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(u(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: u(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(u(n)("connect.whatsappBot.logs.emptyTitle")), 1),
357
+ s("p", je, i(u(n)("connect.whatsappBot.logs.emptyDescription")), 1)
358
+ ]))
359
+ ]),
360
+ B.value ? (l(), I(le, {
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
+ };