@feedmepos/mf-connect 0.1.98-beta.87 → 0.1.98-beta.89

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 (137) hide show
  1. package/dist/{App-DZzCW6yw.js → App-D4hRwK-o.js} +10 -10
  2. package/dist/{AuditLogs-C5s1oYtj.js → AuditLogs-D_PrLKVP.js} +13 -13
  3. package/dist/{Bin-B1e-qVtO.js → Bin-DF_1hlo5.js} +8 -8
  4. package/dist/{Broadcast-CwO5ut-E.js → Broadcast-D81xkQ0B.js} +12 -12
  5. package/dist/{CampaignAnalytic-B1KXy3dl.js → CampaignAnalytic-960oR5Nw.js} +7 -7
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DS8RAeUt.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-WOfSfATi.js} +8 -8
  7. package/dist/{Card-BK-p9FW9.js → Card-nF9lexRS.js} +23 -23
  8. package/dist/{Collections-CTF-r_mV.js → Collections-CJbGLkwm.js} +8 -8
  9. package/dist/{Credit-DR2AvPrI.js → Credit-tfInnpDW.js} +12 -12
  10. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-CixW7_65.js → DateRangeChip.vue_vue_type_script_setup_true_lang-CAPxB3r7.js} +1 -1
  11. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-D53ghi_e.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-BM2UlBtj.js} +35 -35
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-BNCvFw9v.js → EffectSheet.vue_vue_type_style_index_0_lang-BfrzJxWQ.js} +6 -6
  13. package/dist/{Experience-BzPvYJ0N.js → Experience-2uX3ESg5.js} +13 -13
  14. package/dist/{FileSaver.min-BBi03O9S.js → FileSaver.min-DqWpgesn.js} +1 -1
  15. package/dist/{Game-DNdM6BpR.js → Game-BQtHns1v.js} +13 -13
  16. package/dist/{GiftCardSetup-yVVt1hCK.js → GiftCardSetup-B4I83SkJ.js} +10 -10
  17. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-C_REykTp.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-DujMhaOh.js} +7 -7
  18. package/dist/{Goals-RyNCRCoT.js → Goals-DSkXACjH.js} +4 -4
  19. package/dist/{Grab-COgtKEHg.js → Grab-ArpQ-7LU.js} +9 -9
  20. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-DueG1yQj.js → ImageInput.vue_vue_type_script_setup_true_lang-GdfKNEdQ.js} +1 -1
  21. package/dist/{Index-CW5ib46F.js → Index-Bb8k7ofl.js} +10 -10
  22. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-Dbk0uqyl.js → LocationPicker.vue_vue_type_script_setup_true_lang-tHLWrX4C.js} +1 -1
  23. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-s19mfQze.js → LottieAnimation.vue_vue_type_script_setup_true_lang-C5E_mvcD.js} +1 -1
  24. package/dist/{LoyaltyDashboard-CJW9sSpM.js → LoyaltyDashboard-C-U8HulY.js} +15 -15
  25. package/dist/{MainLayout-DJrtcFYj.js → MainLayout-TV3HyBYh.js} +1 -1
  26. package/dist/{MainLayout.vue_vue_type_script_setup_true_lang-fXA-ixLQ.js → MainLayout.vue_vue_type_script_setup_true_lang-lO1k_OLo.js} +3 -3
  27. package/dist/{Marketing-DJD3MCP0.js → Marketing-CWe_R_3E.js} +4 -4
  28. package/dist/MarketingMaterialEdit-TGP6o6Vv.js +1037 -0
  29. package/dist/{Member-B9_6dgmX.js → Member-DDZ8TLLZ.js} +7 -7
  30. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-B6PrfIdK.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-CweUf6Iv.js} +24 -24
  31. package/dist/{MemberImportHistory-daeSSL3G.js → MemberImportHistory-Til1afm1.js} +7 -7
  32. package/dist/{MemberList-DpMvv6MH.js → MemberList-uoSeAZlO.js} +14 -14
  33. package/dist/{MemberTransactions-CekjmOnU.js → MemberTransactions-MxJWI1es.js} +1 -1
  34. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-Cgb0WN3L.js → MessageInput.vue_vue_type_script_setup_true_lang-B4H67Tvb.js} +10 -10
  35. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-DKJH_z31.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-DhHMIgza.js} +1 -1
  36. package/dist/{Mission-B3YYFaqK.js → Mission-C_hcFlzC.js} +14 -14
  37. package/dist/{Overview-B3VtDXAN.js → Overview-B3ugdY_2.js} +4 -4
  38. package/dist/{Overview-DcLRK3qr.js → Overview-Bxe-Kfci.js} +21 -21
  39. package/dist/{Point-rE75hllY.js → Point-BBVTyXIL.js} +14 -14
  40. package/dist/{Promotion-CldXbf59.js → Promotion-D-44JTkv.js} +14 -14
  41. package/dist/{Queue-Im8WyRKY.js → Queue-BNjlzhJ_.js} +13 -13
  42. package/dist/{Record-DmP7Q885.js → Record-C34UZ1q6.js} +9 -9
  43. package/dist/{Review-DDaoANvS.js → Review-C4iuNBR7.js} +2 -2
  44. package/dist/{ReviewFacebookCallback-6fQq9t2y.js → ReviewFacebookCallback-Bsp6WSaQ.js} +5 -5
  45. package/dist/{ReviewGoogleCallback-DDmUWLd9.js → ReviewGoogleCallback-Ddqe1tZZ.js} +5 -5
  46. package/dist/{Reward-BzL-toJQ.js → Reward-CjybtjcT.js} +16 -16
  47. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-CrQvlB_E.js → RewardGroup.vue_vue_type_script_setup_true_lang-Do_obBgC.js} +14 -14
  48. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-Dk8kqDSk.js → RuleGroup.vue_vue_type_script_setup_true_lang-BiGexpsh.js} +15 -15
  49. package/dist/{Segment-BweG5YWo.js → Segment-BU5W9wBQ.js} +26 -26
  50. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-BfFtD5TS.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-Buih6X5R.js} +15 -15
  51. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-BsgQ1kqK.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-DN-VwmTf.js} +4 -4
  52. package/dist/{Setting-MW6B10tv.js → Setting-BsCkMHQZ.js} +14 -14
  53. package/dist/{SettingAdvertisements-DP-Wm3vC.js → SettingAdvertisements-CTTFCozw.js} +12 -12
  54. package/dist/{Settings-CczrlaKr.js → Settings-D3_nrJff.js} +5 -5
  55. package/dist/{Store-C9pYfjIe.js → Store-DRWKc7Q7.js} +27 -27
  56. package/dist/{StoreRewards-DecpygTj.js → StoreRewards-_4iqQsak.js} +15 -15
  57. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-Cw63xJWj.js → StoreTransactions.vue_vue_type_script_setup_true_lang-Db4fakO6.js} +25 -25
  58. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-B_t4xibZ.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-CAO3Ycxn.js} +2 -2
  59. package/dist/{Tier-D7dHj_zA.js → Tier-Cj_4Z8PG.js} +27 -27
  60. package/dist/{Title-DqEvTcqS.js → Title-Bjg44PZP.js} +23 -23
  61. package/dist/{Transaction-Z4qjSyBB.js → Transaction-DbehbwRK.js} +2 -2
  62. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-D9X2-IIl.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-DeMdcwb2.js} +6 -6
  63. package/dist/{Voucher-BY8YGlpM.js → Voucher-DARWiV1M.js} +18 -18
  64. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-3j_0rbsk.js → VoucherEditor.vue_vue_type_script_setup_true_lang-BYNjq7K0.js} +12 -12
  65. package/dist/WhatsappAccount-CBx-FoRb.js +158 -0
  66. package/dist/WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-BFUOuRGy.js +39 -0
  67. package/dist/{WhatsappBot-Oo1KHYLi.js → WhatsappBot-MSJq0pE4.js} +229 -221
  68. package/dist/WhatsappBotLogs-CEyUngzi.js +372 -0
  69. package/dist/{WhatsappBotSettings-DL1f_qXt.js → WhatsappBotSettings-NIE8NeN4.js} +5 -5
  70. package/dist/{WhatsappBotTickets-CerGACm5.js → WhatsappBotTickets-OCmEkzeD.js} +3 -3
  71. package/dist/{WhatsappLayout-B2DrnLNS.js → WhatsappLayout-DLPLalle.js} +3 -3
  72. package/dist/WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-D_bVWePp.js +195 -0
  73. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-0cvPcwm5.js → ZodTextField.vue_vue_type_script_setup_true_lang-HVcTakep.js} +2 -2
  74. package/dist/{app-bGZlAIpq.js → app-CsPUjtBR.js} +529 -391
  75. package/dist/app.js +1 -1
  76. package/dist/{base.export-COcyNfbe.js → base.export-CSSDz0q9.js} +2 -2
  77. package/dist/{business-DTPgRJRn.js → business-BwGS0vma.js} +1 -1
  78. package/dist/{campaign-cm9TQ4dw.js → campaign-Bw44Blhh.js} +8 -8
  79. package/dist/{campaign-Cg6Z_tME.js → campaign-CwfENerv.js} +2 -2
  80. package/dist/{campaign.fn-CS5nJBxQ.js → campaign.fn-Bx7g_BvU.js} +2 -2
  81. package/dist/{collection.fn-BYzmqREp.js → collection.fn-Ba8-HPHO.js} +2 -2
  82. package/dist/{currency-Dtmbe1s9.js → currency-CO5xQCxT.js} +1 -1
  83. package/dist/{duplicateCampaign-DFarTXOQ.js → duplicateCampaign-C2FQFuzl.js} +2 -2
  84. package/dist/{effect-DAGCCFgZ.js → effect-BUxZHyCk.js} +1 -1
  85. package/dist/{email-addresses-Dw4rkWem.js → email-addresses-CfdqSZi6.js} +2 -2
  86. package/dist/{feature-flag-3dM_IVQU.js → feature-flag-DpIT0Nh2.js} +1 -1
  87. package/dist/{helper-C-LQhPI2.js → helper-miVbMaVy.js} +1 -1
  88. package/dist/{index-DXR3e2yE.js → index-BC30mczi.js} +9 -9
  89. package/dist/{index-CpqSrwMX.js → index-Bshl0e-c.js} +2 -2
  90. package/dist/{index-lSJu-_m2.js → index-CMGEBPm-.js} +2 -2
  91. package/dist/{index-CJMFN-JV.js → index-CNX6rFiO.js} +3 -3
  92. package/dist/{index-BagVZkdk.js → index-CW07TXqO.js} +2 -2
  93. package/dist/{index-DGpe4auo.js → index-CYVDCxVj.js} +1 -1
  94. package/dist/{index-B1kMvJbU.js → index-Co3X9LyE.js} +1 -1
  95. package/dist/{index-BeW-BxcE.js → index-CxzJwolN.js} +1 -1
  96. package/dist/{index-BoDbRee_.js → index-CyMrx8XA.js} +1 -1
  97. package/dist/{index-CMSKFejw.js → index-D6RtVzN9.js} +2 -2
  98. package/dist/{index-DzelXsaZ.js → index-DIOb3eOI.js} +14 -14
  99. package/dist/{index-9V_mKS4w.js → index-DSwOhkYZ.js} +2 -2
  100. package/dist/{index-DKm7rszt.js → index-DgnQ18-j.js} +1 -1
  101. package/dist/{index-B3T_0jO2.js → index-Dy7VtHTZ.js} +3 -3
  102. package/dist/{index-8c7H1u7j.js → index-L7SBt-2D.js} +19 -13
  103. package/dist/index-RwNlbTO8.js +115 -0
  104. package/dist/{index-DGp5iEyx.js → index-Se-R3ekJ.js} +2 -2
  105. package/dist/{index-B3IhN22s.js → index-bJ2Ur1Yd.js} +1 -1
  106. package/dist/{index-xtTYwD-W.js → index-gP-EJA-Y.js} +2 -2
  107. package/dist/{index-C6iTrQ-p.js → index-mBHnjwCf.js} +10 -10
  108. package/dist/{index-DTDGCVKV.js → index-nZUfIfsn.js} +4 -4
  109. package/dist/{index.esm2017-Bm5C6Wxi.js → index.esm2017-DlOLsAJL.js} +1 -1
  110. package/dist/{loading-DoiqPnnv.js → loading-BEDz7eTi.js} +1 -1
  111. package/dist/{lodash-CrTM0DQe.js → lodash-Bx7d35Zs.js} +1 -1
  112. package/dist/{member-import-_VaTYOMn.js → member-import-D4zgQyJX.js} +1 -1
  113. package/dist/{membership-Dm8t6-K5.js → membership-VJBDeKcE.js} +2 -2
  114. package/dist/{money-D0kv1vnT.js → money-Dh0agFMv.js} +1 -1
  115. package/dist/{number-BymDKXn2.js → number-D2coZpxW.js} +1 -1
  116. package/dist/{objectid-CC_whd1t.js → objectid-DVSB63oC.js} +13 -13
  117. package/dist/{onboarding-P6c1Ebh4.js → onboarding-CLwhjKAL.js} +3 -3
  118. package/dist/{onboardingSetup-Ca4782qf.js → onboardingSetup-78evK8yB.js} +2 -2
  119. package/dist/{plugins-BN9qJUUc.js → plugins-CKViI6Y3.js} +3 -3
  120. package/dist/{MarketingMaterialEdit-NlZLrI0D.js → remy-icon-BhUGu2NI.js} +2 -1034
  121. package/dist/{reward-dfKI7Nq1.js → reward-Drd9EaxJ.js} +1 -1
  122. package/dist/{rule-Cu-_boGe.js → rule-Dr21X2h0.js} +10 -10
  123. package/dist/{template-D2qwGN2m.js → template-yVg3lQKo.js} +6 -6
  124. package/dist/{timezone-DjMsHrhm.js → timezone-CGlmgCYo.js} +1 -1
  125. package/dist/{transaction.fn-Bj5yz8tS.js → transaction.fn-outAFFwM.js} +2 -2
  126. package/dist/{trigger-CFjJj6Ri.js → trigger-C1GL_8pm.js} +7 -7
  127. package/dist/{useMarketingMaterialActions-Dx8ZTmHW.js → useMarketingMaterialActions-D8MIFnMy.js} +3 -3
  128. package/dist/{usePagination-CN2auZK8.js → usePagination-Dlx9q4a8.js} +1 -1
  129. package/dist/useWhatsappAccount-1Yy7aaA9.js +62 -0
  130. package/dist/{user-CL05OSdb.js → user-BtORKvTK.js} +1 -1
  131. package/dist/{vue-i18n-CJMFzslC.js → vue-i18n-CkZqjA2G.js} +415 -415
  132. package/dist/{xlsx-BoSbkiXt.js → xlsx-HAQ29LQq.js} +440 -440
  133. package/dist/{zod-6X3ups5P.js → zod-DByiKRxr.js} +1 -1
  134. package/package.json +1 -1
  135. package/dist/WhatsappAccount-SPlDi9BN.js +0 -342
  136. package/dist/WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-DYXAJ35J.js +0 -97
  137. package/dist/index-DgkRREfK.js +0 -72
@@ -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-CkZqjA2G.js";
3
+ import { useCoreStore as oe } from "@feedmepos/mf-common";
4
+ import { S as ne } from "./index-CMGEBPm-.js";
5
+ import { w as ae } from "./index-L7SBt-2D.js";
6
+ import { _ as se } from "./remy-icon-BhUGu2NI.js";
7
+ import { _ as re } from "./WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-D_bVWePp.js";
8
+ import { C as U } from "./timezone-CGlmgCYo.js";
9
+ import { m as le } from "./index-DgnQ18-j.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
+ };
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as L, mergeModels as U, useModel as A, resolveComponent as k, openBlock as c, createElementBlock as p, createElementVNode as r, toDisplayString as m, unref as e, createVNode as g, computed as E, Fragment as N, renderList as X, normalizeClass as D, createTextVNode as O, createCommentVNode as T, withDirectives as Y, vModelRadio as Z, ref as f, watch as ee, onBeforeUnmount as te, createBlock as oe } from "vue";
2
- import { u as M } from "./vue-i18n-CJMFzslC.js";
2
+ import { u as M } from "./vue-i18n-CkZqjA2G.js";
3
3
  import { useSnackbar as ae } from "@feedmepos/ui-library";
4
- import { F as j, a as C, b as le, c as se, d as ne, e as $, f as re } from "./index-DgkRREfK.js";
5
- import { S as ie } from "./index-lSJu-_m2.js";
6
- import { w as z } from "./index-8c7H1u7j.js";
7
- import { p as ce } from "./plugins-BN9qJUUc.js";
4
+ import { F as j, a as C, b as le, c as se, d as ne, e as $, f as re } from "./index-RwNlbTO8.js";
5
+ import { S as ie } from "./index-CMGEBPm-.js";
6
+ import { w as z } from "./index-L7SBt-2D.js";
7
+ import { p as ce } from "./plugins-CKViI6Y3.js";
8
8
  const de = { class: "flex flex-col gap-[16px]" }, pe = { class: "flex flex-col gap-[4px]" }, ue = { class: "text-[16px] leading-[24px] font-semibold" }, me = { class: "text-[14px] leading-[20px] text-fm-color-typo-secondary" }, ve = /* @__PURE__ */ L({
9
9
  __name: "BotInstructions",
10
10
  props: /* @__PURE__ */ U({
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as U, ref as h, computed as $, watch as L, onBeforeUnmount as R, resolveComponent as w, openBlock as n, createElementBlock as l, createElementVNode as s, toDisplayString as r, unref as c, createVNode as g, createTextVNode as b, createCommentVNode as B, Fragment as T, renderList as z } from "vue";
2
- import { u as M } from "./vue-i18n-CJMFzslC.js";
3
- import { S as A } from "./index-lSJu-_m2.js";
4
- import { w as W } from "./index-8c7H1u7j.js";
2
+ import { u as M } from "./vue-i18n-CkZqjA2G.js";
3
+ import { S as A } from "./index-CMGEBPm-.js";
4
+ import { w as W } from "./index-L7SBt-2D.js";
5
5
  const G = { class: "mt-[20px] w-full flex flex-col gap-[16px]" }, H = { class: "text-[14px] leading-[20px] text-fm-color-typo-secondary" }, J = {
6
6
  key: 0,
7
7
  role: "status",
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as n, watch as s, unref as a, openBlock as o, createBlock as r, createCommentVNode as p } from "vue";
2
2
  import { useRouter as c } from "vue-router";
3
- import { _ as u, a as _ } from "./MainLayout.vue_vue_type_script_setup_true_lang-fXA-ixLQ.js";
4
- import { u as f } from "./feature-flag-3dM_IVQU.js";
5
- import { R as i } from "./app-bGZlAIpq.js";
3
+ import { _ as u, a as _ } from "./MainLayout.vue_vue_type_script_setup_true_lang-lO1k_OLo.js";
4
+ import { u as f } from "./feature-flag-DpIT0Nh2.js";
5
+ import { R as i } from "./app-CsPUjtBR.js";
6
6
  const y = /* @__PURE__ */ n({
7
7
  __name: "WhatsappLayout",
8
8
  setup(d) {
@@ -0,0 +1,195 @@
1
+ import { defineComponent as M, mergeModels as S, useModel as U, computed as W, ref as l, watch as j, onBeforeUnmount as P, resolveComponent as v, openBlock as r, createBlock as $, withCtx as N, createElementVNode as e, toDisplayString as t, unref as n, createElementBlock as d, createVNode as G, createTextVNode as C, Fragment as z, renderList as H, createCommentVNode as F } from "vue";
2
+ import { u as J } from "./vue-i18n-CkZqjA2G.js";
3
+ import { b as K } from "./browser-BSAOEeIM.js";
4
+ import { S as O, a as I } from "./index-CMGEBPm-.js";
5
+ import { w as Q } from "./index-L7SBt-2D.js";
6
+ import { u as X } from "./useWhatsappAccount-1Yy7aaA9.js";
7
+ const Y = { class: "min-w-0 flex flex-col" }, Z = { class: "text-[18px] leading-[24px] font-semibold" }, ee = { class: "text-[13px] leading-[18px] text-fm-color-typo-secondary break-words" }, oe = {
8
+ key: 0,
9
+ role: "status",
10
+ class: "py-[56px] flex flex-col items-center gap-[12px] text-[14px] text-fm-color-typo-secondary"
11
+ }, te = {
12
+ key: 1,
13
+ class: "py-[40px] flex flex-col items-center text-center gap-[16px]"
14
+ }, ne = {
15
+ role: "alert",
16
+ class: "text-[14px] text-fm-color-typo-error"
17
+ }, ae = {
18
+ key: 2,
19
+ class: "grid grid-cols-[minmax(0,1fr)_226px] xs:grid-cols-1 gap-[32px] p-[8px] xs:p-[0px]"
20
+ }, se = { class: "min-w-0 flex flex-col gap-[20px] text-[14px] leading-[20px]" }, ie = { class: "text-fm-color-typo-secondary" }, le = { class: "flex flex-col gap-[10px]" }, re = { class: "text-[12px] leading-[16px] font-semibold uppercase tracking-[0.06em] text-fm-color-typo-secondary" }, ce = { class: "flex flex-col gap-[10px]" }, pe = { class: "flex flex-col gap-[6px]" }, ue = {
21
+ id: "whatsapp-group-invite-link-label",
22
+ class: "font-medium text-fm-color-typo-secondary"
23
+ }, de = { class: "flex items-center gap-[8px] border border-fm-color-neutral-gray-200 rounded-[8px] pl-[12px] pr-[4px] py-[4px]" }, fe = {
24
+ id: "whatsapp-group-invite-link",
25
+ role: "textbox",
26
+ "aria-readonly": "true",
27
+ "aria-labelledby": "whatsapp-group-invite-link-label",
28
+ tabindex: "0",
29
+ class: "flex-1 min-w-0 h-[32px] overflow-x-auto overflow-y-hidden whitespace-nowrap text-[13px] leading-[32px] font-mono bg-fm-color-neutral-white rounded-[4px] focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-fm-color-primary"
30
+ }, xe = ["disabled"], me = {
31
+ key: 0,
32
+ role: "status",
33
+ class: "sr-only"
34
+ }, he = {
35
+ key: 1,
36
+ role: "alert",
37
+ class: "text-[12px] leading-[16px] text-fm-color-typo-error"
38
+ }, ve = { class: "text-[12px] leading-[16px] text-fm-color-typo-secondary" }, ge = { class: "flex flex-col items-center gap-[12px] w-[226px] xs:justify-self-center" }, _e = { class: "border border-fm-color-neutral-gray-100 rounded-[12px] overflow-hidden" }, ye = ["src", "alt"], we = ["href"], Le = /* @__PURE__ */ M({
39
+ __name: "WhatsappNotificationGroupDialog",
40
+ props: /* @__PURE__ */ S({
41
+ account: {}
42
+ }, {
43
+ modelValue: { type: Boolean, required: !0 },
44
+ modelModifiers: {}
45
+ }),
46
+ emits: ["update:modelValue"],
47
+ setup(L) {
48
+ const g = L, _ = U(L, "modelValue"), { t: o } = J(), m = W(() => O.getBusinessId() ?? ""), { name: T, phoneNumber: D } = X(() => g.account), i = l(), y = l(""), w = l(!1), c = l(""), p = l(!1), f = l(!1), x = l("");
49
+ let u, b;
50
+ function B() {
51
+ u == null || u.abort(), clearTimeout(b), p.value = !1, f.value = !1;
52
+ }
53
+ async function V() {
54
+ B();
55
+ const a = new AbortController();
56
+ u = a, w.value = !0, c.value = "", x.value = "", i.value = void 0, y.value = "";
57
+ try {
58
+ if (!m.value)
59
+ throw new Error(o("connect.whatsappBot.errors.selectBusiness"));
60
+ const s = await Q.getNotificationGroup(
61
+ m.value,
62
+ g.account.clientId,
63
+ a.signal
64
+ );
65
+ if (a.signal.aborted) return;
66
+ const k = await K.toDataURL(s.inviteLink, {
67
+ width: 224,
68
+ margin: 2,
69
+ errorCorrectionLevel: "M"
70
+ });
71
+ if (a.signal.aborted) return;
72
+ i.value = s, y.value = k;
73
+ } catch (s) {
74
+ if (a.signal.aborted) return;
75
+ s instanceof I && s.status === 409 ? c.value = o("connect.whatsappBot.notificationGroup.notReady") : s instanceof I && s.status === 404 ? c.value = o("connect.whatsappBot.errors.accountNotFound") : c.value = m.value ? o("connect.whatsappBot.errors.loadGroup") : o("connect.whatsappBot.errors.selectBusiness");
76
+ } finally {
77
+ a.signal.aborted || (w.value = !1);
78
+ }
79
+ }
80
+ async function q() {
81
+ if (!i.value || !u || f.value) return;
82
+ const a = u;
83
+ f.value = !0, p.value = !1, x.value = "", clearTimeout(b);
84
+ try {
85
+ if (await navigator.clipboard.writeText(i.value.inviteLink), a.signal.aborted) return;
86
+ p.value = !0, b = setTimeout(() => {
87
+ p.value = !1;
88
+ }, 2e3);
89
+ } catch {
90
+ a.signal.aborted || (x.value = o("connect.whatsappBot.errors.copyGroupLink"));
91
+ } finally {
92
+ a.signal.aborted || (f.value = !1);
93
+ }
94
+ }
95
+ return j(
96
+ [_, m, () => g.account.clientId],
97
+ ([a]) => {
98
+ a ? V() : B();
99
+ },
100
+ { immediate: !0 }
101
+ ), P(B), (a, s) => {
102
+ const k = v("FmCircularProgress"), A = v("FmButton"), E = v("FmIcon"), R = v("FmDialog");
103
+ return r(), $(R, {
104
+ modelValue: _.value,
105
+ "onUpdate:modelValue": s[0] || (s[0] = (h) => _.value = h),
106
+ "min-width": "min(720px, calc(100% - 32px))",
107
+ "max-width": "720px",
108
+ "max-height": "90vh",
109
+ "dismiss-away": ""
110
+ }, {
111
+ "dialog-header": N(() => [
112
+ e("div", Y, [
113
+ e("h2", Z, t(n(o)("connect.whatsappBot.notificationGroup.dialogTitle")), 1),
114
+ e("p", ee, t(n(T)) + " · " + t(n(D)), 1)
115
+ ])
116
+ ]),
117
+ default: N(() => [
118
+ w.value ? (r(), d("div", oe, [
119
+ G(k),
120
+ C(" " + t(n(o)("connect.whatsappBot.notificationGroup.loading")), 1)
121
+ ])) : c.value ? (r(), d("div", te, [
122
+ e("p", ne, t(c.value), 1),
123
+ G(A, {
124
+ label: n(o)("connect.whatsappBot.tryAgain"),
125
+ "prepend-icon": "refresh",
126
+ onClick: V
127
+ }, null, 8, ["label"])
128
+ ])) : i.value ? (r(), d("div", ae, [
129
+ e("div", se, [
130
+ e("p", ie, t(n(o)("connect.whatsappBot.notificationGroup.scanDescription")), 1),
131
+ e("div", le, [
132
+ e("h3", re, t(n(o)("connect.whatsappBot.notificationGroup.postsTitle")), 1),
133
+ e("ul", ce, [
134
+ (r(), d(z, null, H(["unanswered", "staffRequests", "humanRequests"], (h) => e("li", {
135
+ key: h,
136
+ class: "flex gap-[10px]"
137
+ }, [
138
+ s[1] || (s[1] = e("span", {
139
+ "aria-hidden": "true",
140
+ class: "w-[6px] h-[6px] rounded-full bg-fm-color-primary shrink-0 mt-[7px]"
141
+ }, null, -1)),
142
+ C(" " + t(n(o)(`connect.whatsappBot.notificationGroup.posts.${h}`)), 1)
143
+ ])), 64))
144
+ ])
145
+ ]),
146
+ e("div", pe, [
147
+ e("span", ue, t(n(o)("connect.whatsappBot.notificationGroup.inviteLink")), 1),
148
+ e("div", de, [
149
+ e("div", fe, t(i.value.inviteLink), 1),
150
+ e("button", {
151
+ type: "button",
152
+ disabled: f.value,
153
+ class: "shrink-0 h-[32px] px-[12px] rounded-[6px] bg-fm-color-neutral-gray-100 text-[13px] font-semibold hover:bg-fm-color-neutral-gray-200 disabled:opacity-50 focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-fm-color-primary",
154
+ onClick: q
155
+ }, t(n(o)(
156
+ `connect.whatsappBot.notificationGroup.${p.value ? "copied" : "copy"}`
157
+ )), 9, xe)
158
+ ]),
159
+ p.value ? (r(), d("span", me, t(n(o)("connect.whatsappBot.notificationGroup.copied")), 1)) : F("", !0),
160
+ x.value ? (r(), d("p", he, t(x.value), 1)) : F("", !0),
161
+ e("p", ve, t(n(o)("connect.whatsappBot.notificationGroup.shareNote")), 1)
162
+ ])
163
+ ]),
164
+ e("div", ge, [
165
+ e("div", _e, [
166
+ e("img", {
167
+ src: y.value,
168
+ alt: n(o)("connect.whatsappBot.notificationGroup.qrAlt"),
169
+ width: "224",
170
+ height: "224"
171
+ }, null, 8, ye)
172
+ ]),
173
+ e("a", {
174
+ href: i.value.inviteLink,
175
+ target: "_blank",
176
+ rel: "noopener noreferrer",
177
+ class: "w-full h-[40px] flex items-center justify-center gap-[6px] rounded-full bg-fm-color-primary text-fm-color-typo-white text-[14px] font-semibold no-underline hover:opacity-90 focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-fm-color-primary focus-visible:ring-offset-[2px]"
178
+ }, [
179
+ C(t(n(o)("connect.whatsappBot.notificationGroup.openWhatsapp")) + " ", 1),
180
+ G(E, {
181
+ name: "open_in_new",
182
+ size: "sm"
183
+ })
184
+ ], 8, we)
185
+ ])
186
+ ])) : F("", !0)
187
+ ]),
188
+ _: 1
189
+ }, 8, ["modelValue"]);
190
+ };
191
+ }
192
+ });
193
+ export {
194
+ Le as _
195
+ };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as f, useAttrs as y, resolveComponent as b, openBlock as l, createBlock as v, mergeProps as x, unref as t, createSlots as g, withCtx as h, createElementVNode as a, toDisplayString as n, renderSlot as k, createElementBlock as F, createCommentVNode as S } from "vue";
2
- import { Z as d } from "./zod-6X3ups5P.js";
3
- import { u as V } from "./vue-i18n-CJMFzslC.js";
2
+ import { Z as d } from "./zod-DByiKRxr.js";
3
+ import { u as V } from "./vue-i18n-CkZqjA2G.js";
4
4
  const B = { class: "fm-typo-en-body-lg-400 flex gap-4 text-fm-color-typo-primary items-center" }, C = {
5
5
  key: 0,
6
6
  class: "text-fm-color-typo-tertiary"