@feedmepos/mf-connect 0.1.117-prod → 0.1.118-prod

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 (139) hide show
  1. package/README.md +64 -1
  2. package/dist/{App-CAo1izHr.js → App-BHcTqLff.js} +422 -413
  3. package/dist/{Bin-DDDfjisJ.js → Bin-DWhXJmHo.js} +8 -8
  4. package/dist/{Broadcast-BsCulZhE.js → Broadcast-Ct1DL8Pd.js} +11 -11
  5. package/dist/{CampaignAnalytic-CnVYFSkT.js → CampaignAnalytic-BSEKCM-4.js} +7 -7
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-ZTHyZ_0y.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BxRg2Wu8.js} +10 -9
  7. package/dist/{Card-DPyQH9qZ.js → Card-B7DwrAPH.js} +25 -24
  8. package/dist/{Collections-CZCVA969.js → Collections-BJw4JJq_.js} +9 -9
  9. package/dist/{Credit-BTg364-i.js → Credit-BteIGXkp.js} +11 -11
  10. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-BJx8K6Ja.js → DateRangeChip.vue_vue_type_script_setup_true_lang-CSFwIzOS.js} +1 -1
  11. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-Ijya9Cho.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-BJotVIKM.js} +194 -192
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-CfEnSXzg.js → EffectSheet.vue_vue_type_style_index_0_lang-BDZ21UHA.js} +8 -8
  13. package/dist/{Experience-Bk_eUcSX.js → Experience-C_VQVfJX.js} +12 -12
  14. package/dist/{FileSaver.min-CXFiZAp7.js → FileSaver.min-CMiQUZQE.js} +1 -1
  15. package/dist/{Game-CBnKpFdl.js → Game-BiHMrMBF.js} +12 -12
  16. package/dist/{GiftCardSetup-q75wNV_F.js → GiftCardSetup-DtJIm6oI.js} +57 -57
  17. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-Cga0Th2O.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-BKGnPAEj.js} +7 -7
  18. package/dist/{Goals-Bbbgurfd.js → Goals-B7VjLMDT.js} +4 -4
  19. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-CZS05h1r.js → ImageInput.vue_vue_type_script_setup_true_lang-C9ecPgpJ.js} +1 -1
  20. package/dist/{Index-C8_OWllb.js → Index-D_DIHKZG.js} +10 -10
  21. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-BlCg-jI7.js → LocationPicker.vue_vue_type_script_setup_true_lang-DSwB0Ubn.js} +1 -1
  22. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CACxChIo.js → LottieAnimation.vue_vue_type_script_setup_true_lang-dk8_eVwd.js} +1 -1
  23. package/dist/{LoyaltyDashboard-DJlE0371.js → LoyaltyDashboard-DOgHeJdK.js} +15 -15
  24. package/dist/MainLayout-CfYgoXLS.js +4 -0
  25. package/dist/{MainLayout-Bs2UPvFx.js → MainLayout.vue_vue_type_script_setup_true_lang-Bz2LGHUd.js} +5 -4
  26. package/dist/Marketing-B6TCrwaR.js +269 -0
  27. package/dist/MarketingMaterialEdit-Bu3a9NGj.js +1034 -0
  28. package/dist/{Member-C4yqwsMH.js → Member-X51KrYXV.js} +7 -7
  29. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-BbumjyC_.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-CYU21JaO.js} +27 -26
  30. package/dist/{MemberImportHistory-CbuXCdxC.js → MemberImportHistory-CHd9fx7E.js} +7 -7
  31. package/dist/{MemberList-CpAepPBe.js → MemberList-D4L3bSlw.js} +14 -14
  32. package/dist/{MemberTransactions-BbpXvsSk.js → MemberTransactions-CEgjfhnX.js} +1 -1
  33. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-BaWgxbad.js → MessageInput.vue_vue_type_script_setup_true_lang-zsaig_yK.js} +12 -12
  34. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-CEgMElLo.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-YZQkKG66.js} +1 -1
  35. package/dist/{Mission-Bdb9KVeP.js → Mission-BEVtvY0-.js} +13 -13
  36. package/dist/{Overview-D_9JwnFU.js → Overview-4QRkldza.js} +4 -4
  37. package/dist/{Overview-CEiyGMcf.js → Overview-DVoXXZ16.js} +23 -22
  38. package/dist/{Point-Bd5cMXQx.js → Point-BJmebaL9.js} +13 -13
  39. package/dist/{Promotion-D9gZDvgR.js → Promotion-DWZZBofu.js} +13 -13
  40. package/dist/{Queue-BnAOL_rp.js → Queue-DLdsyhCT.js} +15 -14
  41. package/dist/{Record-D6TWFKe0.js → Record-QOD3XELf.js} +9 -9
  42. package/dist/{Review-DLEgvnc-.js → Review-CKmhyuqj.js} +2 -2
  43. package/dist/{ReviewFacebookCallback-jVlm2O8f.js → ReviewFacebookCallback-C6DlaJ_j.js} +5 -5
  44. package/dist/{ReviewGoogleCallback-BgAbO3pI.js → ReviewGoogleCallback-CDriVQPZ.js} +5 -5
  45. package/dist/{Reward-DBheQiFu.js → Reward-DftoZfPN.js} +29 -29
  46. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-Bt-EqsiH.js → RewardGroup.vue_vue_type_script_setup_true_lang-ZgYX2QwC.js} +16 -15
  47. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-CKL8MEld.js → RuleGroup.vue_vue_type_script_setup_true_lang-DHmBwLNP.js} +18 -17
  48. package/dist/{Segment-B9Se5FFw.js → Segment-URdB0lnl.js} +36 -34
  49. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-f7AS5vwv.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-DmI2LAsz.js} +31 -30
  50. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-3BKA0UFI.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-BCEgZzA4.js} +4 -4
  51. package/dist/Setting-BDIHH2Wk.js +563 -0
  52. package/dist/{SettingAdvertisements-CLw-dqiA.js → SettingAdvertisements-CkJYZnIN.js} +12 -12
  53. package/dist/{Settings-BmmM8ZnR.js → Settings-9gaegvYJ.js} +5 -5
  54. package/dist/{Store-B5PPP5zM.js → Store-CV0kYncl.js} +29 -28
  55. package/dist/{StoreRewards-DllyaVBY.js → StoreRewards-30kSkAZ_.js} +15 -15
  56. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-3Vvqf6_H.js → StoreTransactions.vue_vue_type_script_setup_true_lang-Dgwyk3NA.js} +29 -28
  57. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-7ZZ0e5tQ.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-CDUhH6wp.js} +2 -2
  58. package/dist/{Tier-M_TApfju.js → Tier-DiQSC3iv.js} +28 -27
  59. package/dist/{Title-Cpltm-I2.js → Title-DixxpjAg.js} +26 -25
  60. package/dist/{Transaction-BYfAYRpv.js → Transaction-DQK4LUGD.js} +2 -2
  61. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-BOhfGxVj.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-CL-GKkuD.js} +6 -6
  62. package/dist/{Voucher-DHoyg0YZ.js → Voucher-CSVlk_Hr.js} +18 -18
  63. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-DWHwM6AJ.js → VoucherEditor.vue_vue_type_script_setup_true_lang-CiSoy0Ky.js} +16 -16
  64. package/dist/WhatsappAccount-CQYbv2Ew.js +161 -0
  65. package/dist/WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-DjgRo9iA.js +39 -0
  66. package/dist/WhatsappBot-DdO9Bfvh.js +878 -0
  67. package/dist/WhatsappBotLogs-CjjWJGND.js +372 -0
  68. package/dist/WhatsappBotSettings-DYGx-kRr.js +704 -0
  69. package/dist/WhatsappLayout-B6k_79Kl.js +21 -0
  70. package/dist/WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-DTUytfe5.js +261 -0
  71. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-B6tTjLAZ.js → ZodTextField.vue_vue_type_script_setup_true_lang-DdCUr_Zm.js} +2 -2
  72. package/dist/{app-B_doYklh.js → app-CqQeNnGq.js} +7277 -6233
  73. package/dist/app.js +1 -1
  74. package/dist/{base.export-DmbnT_bp.js → base.export-Dls5LQeu.js} +2 -2
  75. package/dist/browser-BSAOEeIM.js +1478 -0
  76. package/dist/{business-DdVGtTvx.js → business-gvLSQklz.js} +1 -1
  77. package/dist/{campaign-jEhKmpKg.js → campaign-BqazvOUj.js} +9 -9
  78. package/dist/{campaign-CVkA08zl.js → campaign-Cd6GmA4U.js} +2 -2
  79. package/dist/{campaign.enum-DWu6-kOo.js → campaign.enum-BqekIiiN.js} +1 -1
  80. package/dist/{campaign.fn-BlgEyeFz.js → campaign.fn-C0oMb1fs.js} +52 -52
  81. package/dist/{collectible.enum-CVLkXKml.js → collectible.enum-Liy2wH3s.js} +1 -1
  82. package/dist/{collection.fn-DLNGTrPf.js → collection.fn-CERMsFPh.js} +2 -2
  83. package/dist/{currency-DKS1md4e.js → currency-IkiKiNg1.js} +1 -1
  84. package/dist/{effect-Bk-zYexf.js → effect-j_T62HBN.js} +1 -1
  85. package/dist/{email-addresses-I9A5iLzf.js → email-addresses-CN1kPlEj.js} +2 -2
  86. package/dist/{feature-flag-DQti61iR.js → feature-flag-DDfyOLsv.js} +159 -143
  87. package/dist/{helper-9cPlo6ae.js → helper-DVUe13eh.js} +1 -1
  88. package/dist/{index-ClYX4COd.js → index-9RBtEPPj.js} +4 -3
  89. package/dist/{index-cgtAlOl9.js → index-BmIfGArh.js} +8028 -10767
  90. package/dist/{index-BxpbI0GH.js → index-BvkqHehI.js} +2 -2
  91. package/dist/{index-oNMFyOGe.js → index-BvoOJdfc.js} +8 -7
  92. package/dist/{index-Cj6oxbl0.js → index-C-IajuP1.js} +11 -10
  93. package/dist/{index-1Cdj34z1.js → index-COuLtOaw.js} +1 -1
  94. package/dist/{index-Dj51vqab.js → index-CPyK4a5J.js} +1 -1
  95. package/dist/{index-CNUXbXvG.js → index-CWGbeg5X.js} +1 -1
  96. package/dist/index-C_H8jFYf.js +2743 -0
  97. package/dist/{index-DuvnRxeo.js → index-C_SaKemI.js} +1 -1
  98. package/dist/{index-DOE2VR99.js → index-Cjy0SXCn.js} +4 -4
  99. package/dist/{index-CIwdXphn.js → index-DALsfLV7.js} +18 -17
  100. package/dist/{index-728mP6kW.js → index-DMiaWY0s.js} +49 -48
  101. package/dist/{index-fHiFL1dW.js → index-D_1pnadB.js} +1 -1
  102. package/dist/{index-C-OnJpT8.js → index-DzbVgUEP.js} +1 -1
  103. package/dist/index-I9lmcd2w.js +109 -0
  104. package/dist/index-UJHdDEG1.js +74 -0
  105. package/dist/{index-vKvGJ4Ve.js → index-ep_Kxxid.js} +2 -2
  106. package/dist/{index-DWkuIfHy.js → index-fNYUguDQ.js} +18 -17
  107. package/dist/{index-CuyzSc1l.js → index-jS16KX9p.js} +1 -1
  108. package/dist/{index-3V8E9GaZ.js → index-k7FFxt_M.js} +2 -2
  109. package/dist/{index-BRm0LMTo.js → index-lzQ6ehOk.js} +21 -19
  110. package/dist/{index.esm2017-CsF37oA-.js → index.esm2017-vJKhLfdu.js} +1 -1
  111. package/dist/{loading-BJJmTFoe.js → loading-jZV2Dm--.js} +1 -1
  112. package/dist/{lodash-BMJ6_hsa.js → lodash-C2pLek0l.js} +1 -1
  113. package/dist/{member-import-DrGxVJt9.js → member-import-BKI7soRD.js} +6 -5
  114. package/dist/{membership-CAqKihwy.js → membership-smdlFpPr.js} +3 -3
  115. package/dist/{money-Bf9d2ZUH.js → money-5XyTnYwW.js} +1 -1
  116. package/dist/{number-CWXlGZa5.js → number-DHU9qJJQ.js} +1 -1
  117. package/dist/objectid-jT5g6pGt.js +145 -0
  118. package/dist/{onboarding-Dn9O7r3a.js → onboarding-C_5pyGx-.js} +3 -3
  119. package/dist/{onboardingSetup-BMkDoGy-.js → onboardingSetup-Bd1V-Ipy.js} +2 -2
  120. package/dist/{plugins-KDgceFWV.js → plugins-D1Ru-da5.js} +3 -3
  121. package/dist/{MarketingMaterialEdit-o88sdvTM.js → remy-icon-BhUGu2NI.js} +2 -1031
  122. package/dist/{reward-eilGRaXi.js → reward-BqPl68Xk.js} +1 -1
  123. package/dist/{rule-Dr9Zjg_o.js → rule-WBrRXwL-.js} +3 -3
  124. package/dist/{rule-builder-cz6Dy-no.js → rule-builder-DAlSbaWh.js} +1 -1
  125. package/dist/{template-DwbazO8p.js → template-DDquG4Xc.js} +7 -7
  126. package/dist/{timezone-C5CIfvHs.js → timezone-O4qrCDcK.js} +1 -1
  127. package/dist/{transaction.fn-Cr-FLjh0.js → transaction.fn-CY_F8Nb8.js} +2 -2
  128. package/dist/{trigger-B0Fv6wbN.js → trigger-D-vySeIB.js} +5 -5
  129. package/dist/useMarketingMaterialActions-kA6SLHy_.js +125 -0
  130. package/dist/{usePagination-BcA-imTr.js → usePagination-AYE_RJH2.js} +1 -1
  131. package/dist/{user-DRvLwlBE.js → user-DJcMkYXP.js} +1 -1
  132. package/dist/{vue-i18n-y7bHQpNx.js → vue-i18n-kXHiDb_1.js} +458 -458
  133. package/dist/{xlsx-CBObn76o.js → xlsx--s3hBdDk.js} +1 -1
  134. package/dist/{zod-DWU5EdQV.js → zod-IpHRbxaJ.js} +1 -1
  135. package/package.json +1 -1
  136. package/dist/Marketing-BvRYzFV8.js +0 -236
  137. package/dist/Setting-B92JT_Y4.js +0 -2037
  138. package/dist/objectid-2DN5a9sY.js +0 -145
  139. package/dist/useMarketingMaterialActions-CNk3LR9M.js +0 -96
package/README.md CHANGED
@@ -20,7 +20,70 @@ pnpm dev
20
20
  pnpm build
21
21
  ```
22
22
 
23
+ ### Feature Flags
24
+
25
+ Connect uses `@feedmepos/feature-flag` directly in the frontend. WhatsApp Bot
26
+ shares the business flag loading used by broadcast channels in
27
+ `src/feature-flag.ts` and uses the `connect_whatsapp_bot` flag.
28
+
29
+ | Feature | Flagsmith key |
30
+ | ------------------- | --------------------------------------- |
31
+ | WhatsApp Bot | `connect_whatsapp_bot` |
32
+ | Broadcast App Inbox | `connect_broadcast_app_inbox_countries` |
33
+ | Broadcast Push | `connect_broadcast_push_countries` |
34
+ | Broadcast WhatsApp | `connect_broadcast_whatsapp_countries` |
35
+
36
+ WhatsApp Bot checks only whether `connect_whatsapp_bot` is enabled. Its remote
37
+ config value and the selected country do not affect access; no remote config
38
+ value is required.
39
+
40
+ Broadcast channel flags also check the current business country. Their values are
41
+ comma-separated country codes, such as `MY,SG`; an empty value or `*` allows every
42
+ country. Country codes are case-insensitive.
43
+
44
+ Connect loads flags on startup and when the selected business changes. Country
45
+ changes re-evaluate broadcast channel flags. The WhatsApp sidebar entry stays
46
+ hidden and WhatsApp views stay unmounted while flags load. Direct links show a
47
+ loading screen until the check finishes; disabled or failed checks redirect to
48
+ analytics.
49
+
50
+ #### Local setup
51
+
52
+ Set the frontend Flagsmith API key in Connect's local environment, then restart
53
+ the Vite dev server:
54
+
55
+ ```dotenv
56
+ FEATURE_FLAG_API_KEY=<Development environment client key>
57
+ ```
58
+
59
+ This is the same frontend configuration used by broadcast channel flags.
60
+
61
+ #### Enable selected businesses
62
+
63
+ 1. In <https://flagsmith.feedme.farm>, open organisation **Feedme**, project
64
+ **MAIN**, and **Development** for local testing.
65
+ 2. Create or rename the flag to `connect_whatsapp_bot`, disabled by default.
66
+ 3. Open Connect with the desired business selected. The first flag evaluation
67
+ registers that business ID as a Flagsmith identity.
68
+ 4. In **Identities**, find `business-<businessId>` and enable the
69
+ `connect_whatsapp_bot` override. Identity or segment overrides can enable selected
70
+ businesses; no country-list value is required.
71
+ 5. Reload Connect, then open `/whatsapp`. To revoke access, disable the override
72
+ and reload.
73
+
74
+ Configure **Production** separately with its frontend API key. This flag controls
75
+ page visibility; existing WhatsApp API permissions continue to apply.
76
+
77
+ #### Verify locally
78
+
79
+ With Connect signed in, inspect the browser's Network tab for the frontend
80
+ Flagsmith request using identity `business-<businessId>`. Verify the WhatsApp Bot
81
+ navigation entry and `/whatsapp` are available only when
82
+ `connect_whatsapp_bot` is enabled. Disabled, missing, or failed flag checks keep the
83
+ entry hidden and redirect direct links to analytics.
84
+
23
85
  ### Formatting is with prettier, set default formatter to Prettier
86
+
24
87
  ```json
25
88
  "[typescript]": {
26
89
  "editor.defaultFormatter": "esbenp.prettier-vscode"
@@ -28,4 +91,4 @@ pnpm build
28
91
  "[vue]": {
29
92
  "editor.defaultFormatter": "esbenp.prettier-vscode"
30
93
  }
31
- ```
94
+ ```