@feedmepos/mf-connect 0.1.116-dev → 0.1.117-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 (154) hide show
  1. package/README.md +1 -66
  2. package/dist/{App-DWDgsBqW.js → App-CAo1izHr.js} +618 -652
  3. package/dist/{Bin-Cz6fmewG.js → Bin-DDDfjisJ.js} +8 -8
  4. package/dist/{Broadcast-CQ0pfKpx.js → Broadcast-BsCulZhE.js} +21 -22
  5. package/dist/{CampaignAnalytic-CiRCB3kh.js → CampaignAnalytic-CnVYFSkT.js} +7 -7
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-Bp7UeQWJ.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-ZTHyZ_0y.js} +9 -9
  7. package/dist/{Card-Kw2PFL2m.js → Card-DPyQH9qZ.js} +24 -25
  8. package/dist/{Collections-D8Vx_EEH.js → Collections-CZCVA969.js} +185 -197
  9. package/dist/{Credit-B1jsQ5zg.js → Credit-BTg364-i.js} +20 -21
  10. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-B6Fpf8zy.js → DateRangeChip.vue_vue_type_script_setup_true_lang-BJx8K6Ja.js} +1 -1
  11. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-Ijya9Cho.js +3494 -0
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-Cdpr9Ku4.js → EffectSheet.vue_vue_type_style_index_0_lang-CfEnSXzg.js} +32 -32
  13. package/dist/{Experience-B0JIA3sL.js → Experience-Bk_eUcSX.js} +31 -32
  14. package/dist/{FileSaver.min-M-9kTN8q.js → FileSaver.min-CXFiZAp7.js} +1 -1
  15. package/dist/{Game-CNJyqnK3.js → Game-CBnKpFdl.js} +18 -19
  16. package/dist/{GiftCardSetup-DSQIC7fD.js → GiftCardSetup-q75wNV_F.js} +75 -75
  17. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-ABiLOF1j.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-Cga0Th2O.js} +7 -7
  18. package/dist/{Goals-DBPzGIRK.js → Goals-Bbbgurfd.js} +4 -4
  19. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-B2edB52s.js → ImageInput.vue_vue_type_script_setup_true_lang-CZS05h1r.js} +1 -1
  20. package/dist/{Index-CiWyZXnK.js → Index-C8_OWllb.js} +10 -10
  21. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-DnP03_b7.js → LocationPicker.vue_vue_type_script_setup_true_lang-BlCg-jI7.js} +1 -1
  22. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-DM17LaNE.js → LottieAnimation.vue_vue_type_script_setup_true_lang-CACxChIo.js} +1 -1
  23. package/dist/{LoyaltyDashboard-C4ZlK9Hv.js → LoyaltyDashboard-DJlE0371.js} +15 -15
  24. package/dist/{MainLayout.vue_vue_type_script_setup_true_lang-CJncINki.js → MainLayout-Bs2UPvFx.js} +4 -5
  25. package/dist/Marketing-BvRYzFV8.js +236 -0
  26. package/dist/{remy-icon-BhUGu2NI.js → MarketingMaterialEdit-o88sdvTM.js} +1031 -2
  27. package/dist/{Member-B-l5P9jk.js → Member-C4yqwsMH.js} +7 -7
  28. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-C_ZjHH4I.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-BbumjyC_.js} +50 -43
  29. package/dist/{MemberImportHistory-BJcu-ahG.js → MemberImportHistory-CbuXCdxC.js} +7 -7
  30. package/dist/{MemberList-DVsWNWIc.js → MemberList-CpAepPBe.js} +105 -103
  31. package/dist/{MemberTransactions-C2VPySEO.js → MemberTransactions-BbpXvsSk.js} +1 -1
  32. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-BXqrn9tg.js → MessageInput.vue_vue_type_script_setup_true_lang-BaWgxbad.js} +14 -14
  33. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-BouFp66T.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-CEgMElLo.js} +1 -1
  34. package/dist/{Mission-DWO-IF0f.js → Mission-Bdb9KVeP.js} +21 -22
  35. package/dist/{Overview-DPcWm2S0.js → Overview-CEiyGMcf.js} +22 -23
  36. package/dist/{Overview-Dbp4Sv-H.js → Overview-D_9JwnFU.js} +144 -145
  37. package/dist/{Point-PnWrzVOY.js → Point-Bd5cMXQx.js} +21 -22
  38. package/dist/{Promotion-Bwpi60dN.js → Promotion-D9gZDvgR.js} +131 -137
  39. package/dist/{Queue-BvEcKyVJ.js → Queue-BnAOL_rp.js} +45 -46
  40. package/dist/{Record-DzNvU2fM.js → Record-D6TWFKe0.js} +9 -9
  41. package/dist/{Review-HDYwnMd6.js → Review-DLEgvnc-.js} +2 -2
  42. package/dist/ReviewFacebookCallback-jVlm2O8f.js +238 -0
  43. package/dist/{ReviewGoogleCallback-6V9JNKsl.js → ReviewGoogleCallback-BgAbO3pI.js} +5 -5
  44. package/dist/{Reward-DI6IyG-d.js → Reward-DBheQiFu.js} +29 -29
  45. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-DFAIPMe7.js → RewardGroup.vue_vue_type_script_setup_true_lang-Bt-EqsiH.js} +15 -16
  46. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-CKL8MEld.js +1883 -0
  47. package/dist/{Segment-DrV6pQyx.js → Segment-B9Se5FFw.js} +305 -304
  48. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-CXHt_ZeT.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-f7AS5vwv.js} +30 -31
  49. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-XRXkLy6j.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-3BKA0UFI.js} +4 -4
  50. package/dist/Setting-B92JT_Y4.js +2037 -0
  51. package/dist/{SettingAdvertisements-BtqKt4Ca.js → SettingAdvertisements-CLw-dqiA.js} +12 -12
  52. package/dist/Settings-BmmM8ZnR.js +179 -0
  53. package/dist/{Store-HZs9GG03.js → Store-B5PPP5zM.js} +30 -31
  54. package/dist/{StoreRewards-BSTXL4FR.js → StoreRewards-DllyaVBY.js} +15 -15
  55. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-3Vvqf6_H.js +1264 -0
  56. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-7ZZ0e5tQ.js +142 -0
  57. package/dist/{Tier-Ka0rbjC_.js → Tier-M_TApfju.js} +687 -2576
  58. package/dist/{Title-7jvrf34J.js → Title-Cpltm-I2.js} +92 -94
  59. package/dist/{Transaction-D-M3udf5.js → Transaction-BYfAYRpv.js} +2 -2
  60. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-CrlpuElX.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-BOhfGxVj.js} +26 -26
  61. package/dist/{Voucher-BZCLPyDk.js → Voucher-DHoyg0YZ.js} +19 -19
  62. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-C_MOMFkX.js → VoucherEditor.vue_vue_type_script_setup_true_lang-DWHwM6AJ.js} +16 -16
  63. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-Do4GTTKx.js → ZodTextField.vue_vue_type_script_setup_true_lang-B6tTjLAZ.js} +2 -2
  64. package/dist/{app-CEe3kSZM.js → app-B_doYklh.js} +7107 -8879
  65. package/dist/app.js +3 -4
  66. package/dist/{base.export-BjSdr85q.js → base.export-DmbnT_bp.js} +2 -2
  67. package/dist/{business-CJjiItSo.js → business-DdVGtTvx.js} +1 -1
  68. package/dist/{campaign-DEXq52fE.js → campaign-CVkA08zl.js} +25 -31
  69. package/dist/{campaign-D4MWLs1D.js → campaign-jEhKmpKg.js} +94 -121
  70. package/dist/{campaign.enum-Dx-Zo68Q.js → campaign.enum-DWu6-kOo.js} +2 -3
  71. package/dist/{campaign.fn-DiadKjES.js → campaign.fn-BlgEyeFz.js} +82 -82
  72. package/dist/{collectible.enum-Liy2wH3s.js → collectible.enum-CVLkXKml.js} +1 -1
  73. package/dist/{collection.fn-CfqIdnSS.js → collection.fn-DLNGTrPf.js} +2 -2
  74. package/dist/{currency-CPB6E_s-.js → currency-DKS1md4e.js} +1 -1
  75. package/dist/{effect-DFodA5mh.js → effect-Bk-zYexf.js} +1 -1
  76. package/dist/{email-addresses-C0CwgNs_.js → email-addresses-I9A5iLzf.js} +2 -2
  77. package/dist/{feature-flag-Bap2oi_S.js → feature-flag-DQti61iR.js} +74 -74
  78. package/dist/google-C3S8u0mT.js +4 -0
  79. package/dist/{helper-DKKsSb2o.js → helper-9cPlo6ae.js} +1 -1
  80. package/dist/{index-CJGb1iJi.js → index-1Cdj34z1.js} +1 -1
  81. package/dist/{index-CtwPthW5.js → index-3V8E9GaZ.js} +2 -2
  82. package/dist/{index-CfqmNZUH.js → index-728mP6kW.js} +581 -683
  83. package/dist/{index-DDmpyI6z.js → index-BRm0LMTo.js} +252 -611
  84. package/dist/{index-qAQiQd-s.js → index-BxpbI0GH.js} +7 -7
  85. package/dist/{index-DFV2ydYE.js → index-C-OnJpT8.js} +1 -1
  86. package/dist/{index-D5veZ8LP.js → index-CIwdXphn.js} +2613 -2700
  87. package/dist/{index-DxmlvoHV.js → index-CNUXbXvG.js} +6 -19
  88. package/dist/{index-RUdMURTx.js → index-Cj6oxbl0.js} +10 -11
  89. package/dist/{index-CXqPYmyv.js → index-ClYX4COd.js} +3 -4
  90. package/dist/{index-CEFEuMOF.js → index-CuyzSc1l.js} +1 -1
  91. package/dist/{index-BS6725ZB.js → index-DOE2VR99.js} +198 -198
  92. package/dist/{index-C_4eW8Sr.js → index-DWkuIfHy.js} +232 -390
  93. package/dist/{index-BdGo-qgB.js → index-Dj51vqab.js} +4 -4
  94. package/dist/{index-DRnUcSVN.js → index-DuvnRxeo.js} +1 -1
  95. package/dist/{index-BJCirs9i.js → index-cgtAlOl9.js} +10767 -8028
  96. package/dist/{index-BWsGYTzB.js → index-fHiFL1dW.js} +15 -29
  97. package/dist/{index-CFZMwKR6.js → index-oNMFyOGe.js} +7 -8
  98. package/dist/{index-4LQanFJi.js → index-vKvGJ4Ve.js} +2 -2
  99. package/dist/{index.esm2017-i1myv90H.js → index.esm2017-CsF37oA-.js} +177 -177
  100. package/dist/{loading-BAFiJnEb.js → loading-BJJmTFoe.js} +1 -1
  101. package/dist/{lodash-De2KDgqX.js → lodash-BMJ6_hsa.js} +1 -1
  102. package/dist/{member-import-BP4RZGbA.js → member-import-DrGxVJt9.js} +5 -6
  103. package/dist/{membership-CQWw-rTa.js → membership-CAqKihwy.js} +3 -3
  104. package/dist/{money-rwjWYzdi.js → money-Bf9d2ZUH.js} +1 -1
  105. package/dist/{number-DwSvkBpS.js → number-CWXlGZa5.js} +1 -1
  106. package/dist/objectid-2DN5a9sY.js +145 -0
  107. package/dist/{onboarding-u7cpl6k3.js → onboarding-Dn9O7r3a.js} +25 -25
  108. package/dist/{onboardingSetup-DoxDlcVN.js → onboardingSetup-BMkDoGy-.js} +2 -2
  109. package/dist/{plugins-CKaeoHSK.js → plugins-KDgceFWV.js} +3 -3
  110. package/dist/{reward-BasbGRWt.js → reward-eilGRaXi.js} +1 -1
  111. package/dist/{rule-IN41b-qE.js → rule-Dr9Zjg_o.js} +492 -572
  112. package/dist/rule-builder-cz6Dy-no.js +102 -0
  113. package/dist/style.css +1 -1
  114. package/dist/template-DwbazO8p.js +236 -0
  115. package/dist/{timezone-C68y8HiI.js → timezone-C5CIfvHs.js} +1 -1
  116. package/dist/{transaction.fn-Ckxm2gof.js → transaction.fn-Cr-FLjh0.js} +2 -2
  117. package/dist/{trigger-xA8j3s9B.js → trigger-B0Fv6wbN.js} +8 -8
  118. package/dist/useMarketingMaterialActions-CNk3LR9M.js +96 -0
  119. package/dist/{usePagination-CIRxyVr8.js → usePagination-BcA-imTr.js} +1 -1
  120. package/dist/{user-PTTQTMyQ.js → user-DRvLwlBE.js} +1 -1
  121. package/dist/vue-i18n-y7bHQpNx.js +2365 -0
  122. package/dist/{xlsx-l0AsOrP1.js → xlsx-CBObn76o.js} +379 -379
  123. package/dist/{zod-Bm1pKYLC.js → zod-DWU5EdQV.js} +1 -1
  124. package/package.json +2 -6
  125. package/dist/AuditLogs-BqEtvKFs.js +0 -2016
  126. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BW1RntIP.js +0 -4442
  127. package/dist/Grab-CGWinKBS.js +0 -301
  128. package/dist/MainLayout-D22Q2_jN.js +0 -4
  129. package/dist/Marketing-CmVnvEN6.js +0 -269
  130. package/dist/MarketingMaterialEdit-CQ55zG-W.js +0 -1037
  131. package/dist/ReviewFacebookCallback-rAlgcTQ_.js +0 -225
  132. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-CDoba0oG.js +0 -1923
  133. package/dist/Setting-aLQCUCP9.js +0 -574
  134. package/dist/Settings-BkYtKb4l.js +0 -286
  135. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-D9nykzc3.js +0 -1319
  136. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-DBnHk6jn.js +0 -7007
  137. package/dist/WhatsappAccount-BG0dIroG.js +0 -159
  138. package/dist/WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-Co05OXon.js +0 -39
  139. package/dist/WhatsappBot-O5h5UKXz.js +0 -876
  140. package/dist/WhatsappBotLogs-BOPTuu6o.js +0 -372
  141. package/dist/WhatsappBotSettings-BSiIvpGO.js +0 -705
  142. package/dist/WhatsappLayout-DLVIfkzJ.js +0 -21
  143. package/dist/WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-DJdi7dV6.js +0 -253
  144. package/dist/browser-BSAOEeIM.js +0 -1478
  145. package/dist/duplicateCampaign-BzWvsZwc.js +0 -51
  146. package/dist/feature-flag--GbS6Qn_.js +0 -50
  147. package/dist/google-BQK68wbe.js +0 -5
  148. package/dist/index-C-iwb2Ln.js +0 -109
  149. package/dist/index-C1C21iKU.js +0 -74
  150. package/dist/index-C_H8jFYf.js +0 -2743
  151. package/dist/objectid-DtEPzPd_.js +0 -145
  152. package/dist/template-3Nu_MAMG.js +0 -188
  153. package/dist/useMarketingMaterialActions-ClYoBaFw.js +0 -125
  154. package/dist/vue-i18n-DYnrLWFT.js +0 -2365
package/README.md CHANGED
@@ -20,71 +20,6 @@ pnpm dev
20
20
  pnpm build
21
21
  ```
22
22
 
23
- ### Feature Flags
24
-
25
- The WhatsApp Bot area reads `crm_whatsapp_bot` from Flagsmith through
26
- `GET /portal/businesses/:businessId/feature-flags` on campaign-service. The exact
27
- business `_id` is the Flagsmith identity identifier. The backend checks the
28
- identity's **Enabled** state, including identity and segment overrides; a remote
29
- config value of `true` is not required.
30
-
31
- This reuses the backend's existing `FeatureFlagModule` and
32
- `FeatureFlagService.getIdentityFlags(businessId)`, also used by credit OTP
33
- evaluation. The SDK configuration and initialization are shared with that existing
34
- integration.
35
-
36
- Connect fetches flags on startup, business/country/user changes, and every 60
37
- seconds after each completed request. The sidebar stays hidden and WhatsApp views
38
- stay unmounted until enabled. Direct links wait for the initial check; disabled
39
- or failed checks redirect to analytics. Failed checks are retried automatically.
40
-
41
- #### Local setup
42
-
43
- Configure these in the backend's local environment, then restart campaign-service:
44
-
45
- ```dotenv
46
- FLAGSMITH_URL=https://flagsmith.feedme.farm/api/v1/
47
- FLAGSMITH_ENVIRONMENT_KEY=<Development environment SDK key>
48
- ```
49
-
50
- Use an environment SDK key, not an organisation admin token. The key stays on the
51
- backend. Replace the obsolete singular hostname `flag.feedme.farm` if present.
52
- The backend requires network access to Flagsmith (normally Twingate).
53
- As with the existing Flagsmith integration, a missing SDK key prevents the service
54
- from starting.
55
-
56
- Point Connect's local `BACKEND_SERVICE_URL` at `http://localhost:3000/portal/`
57
- (or your campaign-service port), then start/restart the Vite dev server. Localhost
58
- uses the same flag checks as deployed environments.
59
-
60
- #### Enable selected businesses
61
-
62
- 1. In <https://flagsmith.feedme.farm>, open organisation **Feedme**, project
63
- **MAIN**, and **Development** for local testing.
64
- 2. Create `crm_whatsapp_bot` if missing and leave the environment default disabled.
65
- 3. Open Connect with the desired business selected. The first flag evaluation
66
- registers that business ID as a Flagsmith identity.
67
- 4. In **Identities**, find that exact business `_id` and enable the
68
- `crm_whatsapp_bot` identity override. Other businesses remain disabled unless
69
- an identity or segment override enables them.
70
- 5. Wait up to 60 seconds after the last check, or reload Connect, then open
71
- `/whatsapp`. To revoke access, disable the override.
72
-
73
- Configure **Production** separately and deploy the backend with that environment's
74
- SDK key. This flag controls page visibility; existing WhatsApp API permissions
75
- continue to apply. The `fm-flagsmith` skill can inspect configuration and overrides;
76
- its GET-only helper cannot create or change them.
77
-
78
- #### Verify locally
79
-
80
- With Connect signed in, inspect the browser's Network tab for
81
- `GET http://localhost:3000/portal/businesses/<businessId>/feature-flags`.
82
- Its response data should contain `crm_whatsapp_bot: true` for an enabled identity
83
- and `false` for other businesses. HTTP 503 indicates a failed Flagsmith evaluation
84
- (check the SDK key, URL, and network access); 403 indicates missing business settings
85
- permission. A 404 usually means campaign-service needs restarting or Connect is
86
- pointing at the wrong backend.
87
-
88
23
  ### Formatting is with prettier, set default formatter to Prettier
89
24
  ```json
90
25
  "[typescript]": {
@@ -93,4 +28,4 @@ pointing at the wrong backend.
93
28
  "[vue]": {
94
29
  "editor.defaultFormatter": "esbenp.prettier-vscode"
95
30
  }
96
- ```
31
+ ```