@feedmepos/mf-connect 0.1.98-beta.7 → 0.1.98-beta.72

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 (152) hide show
  1. package/dist/{App-BonFFUVJ.js → App-DpYceiwG.js} +812 -666
  2. package/dist/{AuditLogs-CaQisyMC.js → AuditLogs-CG98b2qE.js} +14 -13
  3. package/dist/{Bin-Mu8gAiHw.js → Bin-vdipv2fF.js} +8 -8
  4. package/dist/Broadcast-ChwVqheE.js +303 -0
  5. package/dist/CampaignAnalytic-4PHO849x.js +1830 -0
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BoLZVrCU.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DmnN4pjm.js} +6 -5
  7. package/dist/Card-B6ol3PQw.js +1084 -0
  8. package/dist/{Collections-CByXxRW_.js → Collections-DodNIUr1.js} +14 -13
  9. package/dist/Credit-CJQyAZYw.js +286 -0
  10. package/dist/DateRangeChip.vue_vue_type_script_setup_true_lang--FqHJ7Ez.js +53 -0
  11. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-CA31QP-A.js +4277 -0
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-BXsAX1Xa.js → EffectSheet.vue_vue_type_style_index_0_lang-DkKhdp7G.js} +35 -35
  13. package/dist/{Experience-B7J-aqPK.js → Experience-iLAKddx_.js} +112 -86
  14. package/dist/{FileSaver.min-D_F_MSZt.js → FileSaver.min-w_ExQ0py.js} +1 -1
  15. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-3bH-tZAm.js +138 -0
  16. package/dist/Game-DWdUbsAg.js +356 -0
  17. package/dist/GiftCardSetup-DnQ5vwxu.js +736 -0
  18. package/dist/{Grab-C45MmlD9.js → Grab-CFLRHs5w.js} +33 -32
  19. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-CPPcB3PC.js → ImageInput.vue_vue_type_script_setup_true_lang-uQJvjvTe.js} +1 -1
  20. package/dist/{Index-vQ6uP49O.js → Index-CUy4z2tS.js} +10 -10
  21. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-Cj3hN3tg.js → LocationPicker.vue_vue_type_script_setup_true_lang-hKJ41Fe_.js} +1 -1
  22. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-DU9eIein.js → LottieAnimation.vue_vue_type_script_setup_true_lang-BDmtqTVC.js} +1 -1
  23. package/dist/LoyaltyDashboard-C5o7KriA.js +2865 -0
  24. package/dist/MainLayout-Dt0ywph3.js +143 -0
  25. package/dist/{Marketing-B6xMdQvW.js → Marketing-BHwxzBZ0.js} +7 -6
  26. package/dist/{MarketingMaterialEdit-0cZN4bek.js → MarketingMaterialEdit-B6k4ceGx.js} +15 -14
  27. package/dist/Member-DcPZfTj6.js +654 -0
  28. package/dist/MemberDetailSheet.vue_vue_type_script_setup_true_lang-CiiBrlHY.js +1279 -0
  29. package/dist/MemberImportHistory-DmPMuu1g.js +187 -0
  30. package/dist/MemberList-f9JejfNW.js +334 -0
  31. package/dist/{MemberTransactions-Bg-ziZy8.js → MemberTransactions-D1YSXeX-.js} +1 -1
  32. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-jbDJkbZh.js → MessageInput.vue_vue_type_script_setup_true_lang-freeE-DP.js} +5928 -5644
  33. package/dist/MetricInfoTooltip.vue_vue_type_script_setup_true_lang-m7ytg0ok.js +40 -0
  34. package/dist/Mission-BaaEl5BV.js +360 -0
  35. package/dist/Overview-CviY55Gs.js +1316 -0
  36. package/dist/{Overview-nsyJGSCq.js → Overview-fx-0E3b8.js} +21 -20
  37. package/dist/Point-BfqtflbC.js +288 -0
  38. package/dist/Promotion-Be2ogRYt.js +423 -0
  39. package/dist/{Queue-Dkipt6fw.js → Queue-CLSUL-Cx.js} +14 -13
  40. package/dist/{Record-BFqx6vM-.js → Record-CpTMQT7B.js} +9 -9
  41. package/dist/Review-DzSDx7dY.js +45 -0
  42. package/dist/ReviewFacebookCallback-CvbPJADM.js +238 -0
  43. package/dist/ReviewGoogleCallback-DJlqMbh3.js +213 -0
  44. package/dist/{Reward-DjFEE7I_.js → Reward-DJOmd6Z5.js} +35 -35
  45. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-BzZ6VH80.js → RewardGroup.vue_vue_type_script_setup_true_lang-DY9fYxwc.js} +14 -13
  46. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-A9jQX4jt.js → RuleGroup.vue_vue_type_script_setup_true_lang-BgYK4hpo.js} +196 -186
  47. package/dist/{Segment-BAjdUfZ6.js → Segment-G6xmeEaq.js} +275 -276
  48. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-CAQPFzRH.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-C3O0biLZ.js} +37 -36
  49. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-Gkz8jhES.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-CWP5sGT7.js} +4 -4
  50. package/dist/{Setting-BK7y0XC-.js → Setting-CKp441AW.js} +14 -14
  51. package/dist/{SettingAdvertisements-DfQ645xr.js → SettingAdvertisements-C4Uf-DgK.js} +12 -12
  52. package/dist/Settings-CTvMVwp6.js +230 -0
  53. package/dist/Store-Bzei6Xev.js +2612 -0
  54. package/dist/{StoreRewards-usHKOGmB.js → StoreRewards-DMQNIpF5.js} +15 -15
  55. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-mm1jbcvo.js +1329 -0
  56. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-DrcWUZuR.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-BspBXIO2.js} +2 -2
  57. package/dist/{Tier-BF3V430O.js → Tier-BN32RwYr.js} +2580 -754
  58. package/dist/{Title-DwPuqKfJ.js → Title-BIhgfRUI.js} +39 -37
  59. package/dist/Transaction-CPjA7IN9.js +45 -0
  60. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-DToNRTJS.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-DSutMvfk.js} +26 -26
  61. package/dist/{Voucher-DnhVIl_o.js → Voucher-CGJtn9bC.js} +156 -133
  62. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-Btb3UZCn.js → VoucherEditor.vue_vue_type_script_setup_true_lang-B-IwtPvx.js} +118 -124
  63. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-EFUW9DMY.js → ZodTextField.vue_vue_type_script_setup_true_lang-Ce9xPwqA.js} +2 -2
  64. package/dist/{app-i3r-6ZVm.js → app-DAtx6aZ4.js} +45039 -37428
  65. package/dist/app.js +1 -1
  66. package/dist/base.export-BtRC4aWM.js +75 -0
  67. package/dist/{business-i0Gxk7gG.js → business-BZUIs8Ub.js} +5 -5
  68. package/dist/campaign-B6I6PuY4.js +100 -0
  69. package/dist/campaign-DKjBjV2k.js +398 -0
  70. package/dist/{campaign.enum-CbUTfxek.js → campaign.enum-BQy3e845.js} +1 -1
  71. package/dist/{campaign.fn-BjHSIDd1.js → campaign.fn--qVJ3jeH.js} +77 -77
  72. package/dist/{collectible.enum-DN7E_kHg.js → collectible.enum-vcvRFGl0.js} +1 -1
  73. package/dist/collection.fn-C3bMPBkC.js +26 -0
  74. package/dist/currency--R6VPInw.js +7 -0
  75. package/dist/{duplicateCampaign-DmdJQEIA.js → duplicateCampaign-aIsX9cCi.js} +11 -11
  76. package/dist/{effect-DM4AzeQl.js → effect-CbjmtRph.js} +1 -1
  77. package/dist/{email-addresses-BlqVJhwZ.js → email-addresses-DZKMnoKf.js} +209 -201
  78. package/dist/google-C3S8u0mT.js +4 -0
  79. package/dist/{helper-CkdISSVP.js → helper-BGqw2-RO.js} +1 -1
  80. package/dist/index-7TKoSEJ2.js +14550 -0
  81. package/dist/index-B9DM5Vuv.js +32437 -0
  82. package/dist/index-BWlfW4Kr.js +137 -0
  83. package/dist/{index-Cl8t41Sk.js → index-Bb4TieR_.js} +5 -5
  84. package/dist/{index-D6qeYVNz.js → index-BbpqZrkB.js} +1 -1
  85. package/dist/{index-4EtrCy_K.js → index-C22GPEM-.js} +4 -4
  86. package/dist/{index-FD50UHqf.js → index-CVYbfRGO.js} +105 -123
  87. package/dist/index-CVvSd60O.js +53 -0
  88. package/dist/{index-vI-ndGu_.js → index-CXL5WAH0.js} +5 -5
  89. package/dist/{index-B6xi1soU.js → index-ClP7Xy6Q.js} +1 -1
  90. package/dist/{index-BWsj6lCJ.js → index-D-P90w8K.js} +14 -14
  91. package/dist/{index-CxdLExX0.js → index-D_o9LsHU.js} +24 -9
  92. package/dist/{index-BrboOmPq.js → index-DcA0B-Y5.js} +347 -216
  93. package/dist/index-FnsjvtSo.js +901 -0
  94. package/dist/{index-DgzNGQgE.js → index-LlFZ5kxi.js} +2083 -2559
  95. package/dist/{index-CB7ytKOE.js → index-LnCoUCnx.js} +1588 -1522
  96. package/dist/index-kkhrPH6s.js +151 -0
  97. package/dist/index-v8Zv-2ko.js +72 -0
  98. package/dist/{index.esm2017-BX5CyKoc.js → index.esm2017-DO7bbE7J.js} +132 -132
  99. package/dist/{loading-DTKDhqew.js → loading-CzWOx4tE.js} +1 -1
  100. package/dist/{lodash-CCPBsqhe.js → lodash-B_gr6Ayu.js} +1 -1
  101. package/dist/member-import-BxCrd9tq.js +187 -0
  102. package/dist/membership-ILB4aB4h.js +274 -0
  103. package/dist/{money-wMK3QkZ5.js → money-CpIK1N_r.js} +1 -1
  104. package/dist/{number-DjKVlWn0.js → number-leVwmDCm.js} +1 -1
  105. package/dist/objectid-8hKuNcMN.js +145 -0
  106. package/dist/{plugins-D25PaNJk.js → plugins-DLIgnFIF.js} +13 -12
  107. package/dist/remy-Qz_pNsUS.js +13 -0
  108. package/dist/{reward-E63jqJHm.js → reward-DqT0zF01.js} +1 -1
  109. package/dist/{rule-RVvPtAnk.js → rule-DBtMGLxD.js} +335 -275
  110. package/dist/style.css +1 -1
  111. package/dist/{template-zNxOQaqe.js → template-CYKGCWY4.js} +6 -6
  112. package/dist/timezone-Brs5nrTL.js +20 -0
  113. package/dist/transaction.fn-0ZZcVp-j.js +71 -0
  114. package/dist/{trigger-BXV02FhP.js → trigger-LhNre1L9.js} +17 -17
  115. package/dist/useMarketingMaterialActions-DbDRMmhM.js +96 -0
  116. package/dist/{usePagination-BPcPhEnp.js → usePagination-DmZX0V64.js} +1 -1
  117. package/dist/{user-Bd8S7R5u.js → user-CBPsvnx9.js} +1 -1
  118. package/dist/vue-i18n-BPeSHE3c.js +2365 -0
  119. package/dist/{xlsx-_tQC9Ezf.js → xlsx-Cm3vGmLN.js} +440 -440
  120. package/dist/{zod-C1j2GLZP.js → zod-GTEcy37q.js} +1 -1
  121. package/package.json +10 -6
  122. package/dist/Broadcast-Cy-i-WOT.js +0 -266
  123. package/dist/Card-f2XOtWxp.js +0 -910
  124. package/dist/Credit-CcZF4aQS.js +0 -260
  125. package/dist/DateRangeChip.vue_vue_type_script_setup_true_lang-eIoPtgO5.js +0 -58
  126. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-C7KZ8GMx.js +0 -3377
  127. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js +0 -129
  128. package/dist/Game-CUW7NeVG.js +0 -330
  129. package/dist/LoyaltyDashboard-GqyUwvXz.js +0 -1082
  130. package/dist/MainLayout-R5NxIBR-.js +0 -41
  131. package/dist/Member-CC5F6Bmz.js +0 -280
  132. package/dist/MemberList-Cq4zxopX.js +0 -1601
  133. package/dist/Mission-DcCZ6tAG.js +0 -334
  134. package/dist/Point-D1vLd5hL.js +0 -262
  135. package/dist/Promotion-Cv7MW5RJ.js +0 -397
  136. package/dist/Review-CKhakUMe.js +0 -1123
  137. package/dist/ReviewFacebookCallback-xgRpXQAg.js +0 -243
  138. package/dist/ReviewGoogleCallback-Cqi_43qi.js +0 -208
  139. package/dist/SelectItems.vue_vue_type_script_setup_true_lang-DDqK4kV1.js +0 -181
  140. package/dist/Store-uTRQ6KbC.js +0 -1996
  141. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-Bb2sTsuA.js +0 -1130
  142. package/dist/Transaction-CnTEfMGU.js +0 -39
  143. package/dist/campaign-CbMlARNI.js +0 -219
  144. package/dist/campaign-f7FT91GR.js +0 -277
  145. package/dist/export-DQR-0lmK.js +0 -97
  146. package/dist/index-COrXX9MR.js +0 -52
  147. package/dist/index-CWiaP-aV.js +0 -28900
  148. package/dist/index-jVfDVEtz.js +0 -85
  149. package/dist/membership-rifuatxU.js +0 -255
  150. package/dist/objectid-DjpWkCxH.js +0 -145
  151. package/dist/useMarketingMaterialActions-5TFNqZVo.js +0 -107
  152. package/dist/vue-i18n-CgMK-TaC.js +0 -2365
@@ -1,4 +1,4 @@
1
- import { i as Z } from "./plugins-D25PaNJk.js";
1
+ import { i as Z } from "./plugins-DLIgnFIF.js";
2
2
  import { h as f } from "vue";
3
3
  function u(e, o) {
4
4
  return e.path.join(".") === o;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-connect",
3
- "version": "0.1.98-beta.7",
3
+ "version": "0.1.98-beta.72",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -18,14 +18,13 @@
18
18
  "@ckeditor/ckeditor5-build-classic": "^44.3.0",
19
19
  "@ckeditor/ckeditor5-vue": "^7.3.0",
20
20
  "@feedmepos/custom-attributes": "0.0.1-rc.4",
21
- "@feedmepos/core": "2.15.21",
22
- "@feedmepos/menu": "1.0.34",
21
+ "@feedmepos/core": "2.15.47",
23
22
  "@feedmepos/hrm-permission": "1.0.14",
24
- "@feedmepos/mf-common": "1.29.23",
25
- "@feedmepos/ui-library": "1.10.8",
23
+ "@feedmepos/mf-common": "1.29.31",
24
+ "@feedmepos/mf-core-ui": "1.0.30",
25
+ "@feedmepos/ui-library": "1.10.13",
26
26
  "@feedmepos/mf-remy-panel": "0.15.0",
27
27
  "@feedmepos/remy-vue-client": "0.2.0-beta.14",
28
- "@feedmepos/mf-core-ui": "1.0.25",
29
28
  "@tailwindcss/typography": "^0.5.16",
30
29
  "@types/qrcode": "^1.5.5",
31
30
  "@vueuse/core": "^14.1.0",
@@ -34,12 +33,14 @@
34
33
  "change-case": "^5.4.4",
35
34
  "ckeditor5": "^44.3.0",
36
35
  "cross-env": "^7.0.3",
36
+ "css-tree": "3.2.1",
37
37
  "dayjs": "^1.11.12",
38
38
  "dotenv": "^16.4.5",
39
39
  "email-addresses": "^5.0.0",
40
40
  "fabric": "^5.5.1",
41
41
  "file-saver": "^2.0.5",
42
42
  "firebase": "^10.12.4",
43
+ "htmlparser2": "10.1.0",
43
44
  "i18next": "24.2.1",
44
45
  "lodash": "^4.17.21",
45
46
  "moment": "^2.30.1",
@@ -48,6 +49,7 @@
48
49
  "qrcode": "^1.5.3",
49
50
  "rrule": "^2.8.1",
50
51
  "ua-parser-js": "^2.0.3",
52
+ "sanitize-html": "2.17.4",
51
53
  "unplugin-auto-import": "^0.17.8",
52
54
  "uuid": "^10.0.0",
53
55
  "vite-plugin-vue-devtools": "^7.6.4",
@@ -60,6 +62,7 @@
60
62
  "zod-i18n-map": "2.27.0"
61
63
  },
62
64
  "devDependencies": {
65
+ "@playwright/test": "^1.62.1",
63
66
  "@types/file-saver": "^2.0.7",
64
67
  "@types/lodash": "^4.17.7",
65
68
  "@types/node": "^18.19.41",
@@ -77,6 +80,7 @@
77
80
  "scripts": {
78
81
  "dev": "vite",
79
82
  "test": "vitest run",
83
+ "test:e2e": "playwright test",
80
84
  "test:watch": "vitest",
81
85
  "build": "vue-tsc && vite build",
82
86
  "preview": "vite preview",
@@ -1,266 +0,0 @@
1
- import { defineComponent as H, ref as C, computed as q, onMounted as z, resolveComponent as m, openBlock as d, createElementBlock as h, Fragment as v, createVNode as i, unref as a, createElementVNode as n, withCtx as x, renderList as G, createBlock as S, resolveDynamicComponent as J, toDisplayString as u, createCommentVNode as Q, h as k } from "vue";
2
- import { _ as W } from "./campaign-CpzFl8Vr.js";
3
- import { useDialog as X, components as L } from "@feedmepos/ui-library";
4
- import { p as Y } from "./plugins-D25PaNJk.js";
5
- import { u as Z } from "./loading-DTKDhqew.js";
6
- import { u as ee } from "./business-i0Gxk7gG.js";
7
- import { u as te, c as g } from "./campaign-CbMlARNI.js";
8
- import { b as V, c as R, a as ae } from "./campaign-f7FT91GR.js";
9
- import { c as oe, p as ne } from "./duplicateCampaign-DmdJQEIA.js";
10
- import { u as se } from "./vue-i18n-CgMK-TaC.js";
11
- import { _ as ce } from "./FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js";
12
- import { _ as ie } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-C7KZ8GMx.js";
13
- import { u as re } from "./template-zNxOQaqe.js";
14
- const le = { class: "px-24 flex flex-col gap-y-16" }, me = { class: "flex items-center justify-between w-full" }, de = { class: "flex gap-8 overflow-x-auto" }, pe = { class: "space-y-8" }, ue = { class: "flex w-full gap-4 items-center" }, ge = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, fe = { class: "space-y-4" }, ye = { class: "fm-typo-en-body-lg-600" }, _e = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, he = { class: "flex items-center gap-8" }, we = { key: 0 }, be = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-600" }, Ce = { class: "flex flex-col gap-16 text-center" }, ve = { class: "fm-typo-en-title-sm-800" }, xe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, $e = /* @__PURE__ */ H({
15
- __name: "Broadcast",
16
- setup(Se) {
17
- const { t: s } = se(), O = {
18
- label: s("connect.campaign.common.createCampaign"),
19
- value: "create",
20
- isPrimary: !0,
21
- prependIcon: "add"
22
- }, T = re("BROADCAST", X()), I = ee(), p = te(), { global: K, minor: F } = Z, B = C((/* @__PURE__ */ new Date()).toISOString()), r = C({
23
- searchKey: "",
24
- location: []
25
- });
26
- function P(e) {
27
- const t = r.value.location;
28
- return !t || t.length === 0 || !e.targetLocation ? !0 : Array.isArray(t) ? t.some((l) => {
29
- var c;
30
- return (c = e == null ? void 0 : e.targetLocation) == null ? void 0 : c.includes(l);
31
- }) : e.targetLocation.includes(t);
32
- }
33
- const f = q(
34
- () => p.campaigns.broadcast.filter((e) => P(e))
35
- ), $ = [
36
- {
37
- header: "Broadcast title",
38
- accessorFn: (e) => e.name
39
- },
40
- {
41
- header: "Status",
42
- accessorFn: (e) => ae(e),
43
- cell(e) {
44
- return V(e.row.original);
45
- }
46
- },
47
- {
48
- header: "Summary",
49
- accessorFn: (e) => R(e)
50
- },
51
- {
52
- header: "Message sent",
53
- accessorFn: (e) => e.currentReceive ?? "N/A"
54
- },
55
- {
56
- header: "Actions",
57
- cell(e) {
58
- return k("div", { class: "flex items-center gap-8 justify-end" }, [
59
- k(L.FmButton, {
60
- variant: "tertiary",
61
- icon: "content_copy",
62
- iconColor: "neutral-gray-400",
63
- onClick: async (t) => {
64
- t.stopPropagation(), await D(e.row.original);
65
- }
66
- }),
67
- k(L.FmButton, {
68
- variant: "tertiary",
69
- icon: "delete",
70
- iconColor: "neutral-gray-400",
71
- onClick: (t) => {
72
- t.stopPropagation(), A(e.row.original);
73
- }
74
- })
75
- ]);
76
- }
77
- }
78
- ], w = C();
79
- async function A(e) {
80
- await Y.remove(
81
- s("connect.campaign.common.remove.confirm", { name: e.name })
82
- ) && await F(
83
- async () => {
84
- await g.delete(e._id), await p.read("BROADCAST");
85
- },
86
- {
87
- message: s("connect.campaign.common.remove.removing", { name: e.name }),
88
- successMessage: s("connect.campaign.common.remove.removed", {
89
- name: e.name
90
- })
91
- }
92
- );
93
- }
94
- async function y(e) {
95
- B.value = (/* @__PURE__ */ new Date()).toISOString(), e ? await t() : T.open(async (l) => {
96
- await t(l);
97
- });
98
- async function t(l) {
99
- var c;
100
- (c = w.value) == null || c.showSheet(
101
- !0,
102
- "BROADCAST",
103
- e ? await g.readById(e._id) : void 0,
104
- l
105
- );
106
- }
107
- }
108
- async function D(e) {
109
- var c;
110
- if (!await oe(e.name))
111
- return;
112
- B.value = (/* @__PURE__ */ new Date()).toISOString();
113
- const t = await g.readById(e._id), l = ne(t);
114
- (c = w.value) == null || c.showSheet(
115
- !0,
116
- "BROADCAST",
117
- l,
118
- t.template
119
- );
120
- }
121
- async function j(e) {
122
- await F(
123
- async () => {
124
- e.campaign._id ? await g.update(e.campaign._id, e) : await g.create(e), await p.read("BROADCAST");
125
- },
126
- {
127
- message: s(
128
- `connect.campaign.broadcast.update.${e.campaign._id ? "updating" : "creating"}`
129
- ),
130
- successMessage: s("connect.campaign.broadcast.update.success", {
131
- action: e.campaign._id ? "updated" : "created"
132
- })
133
- }
134
- );
135
- }
136
- return z(async () => {
137
- await K(async () => {
138
- await p.read("BROADCAST");
139
- });
140
- }), (e, t) => {
141
- const l = m("FmPageHead"), c = m("FmSearch"), M = m("FmTable"), b = m("FmButton"), N = m("FmListItem"), U = m("FmList"), E = m("FmCard");
142
- return d(), h(v, null, [
143
- i(l, {
144
- title: a(s)("connect.campaign.broadcast.title"),
145
- actions: a(f).length > 0 ? [O] : [],
146
- "onClick:action": t[0] || (t[0] = () => y())
147
- }, null, 8, ["title", "actions"]),
148
- n("div", le, [
149
- i(c, {
150
- modelValue: a(r).searchKey,
151
- "onUpdate:modelValue": t[1] || (t[1] = (o) => a(r).searchKey = o),
152
- class: "hidden xs:!block sm:!block border-b-2 border-fm-color-neutral-gray-100",
153
- placeholder: a(s)("connect.campaign.common.search"),
154
- collapsible: ""
155
- }, null, 8, ["modelValue", "placeholder"]),
156
- a(p).campaigns.broadcast && a(p).campaigns.broadcast.length > 0 ? (d(), h(v, { key: 0 }, [
157
- n("div", me, [
158
- n("div", de, [
159
- i(ce, {
160
- label: `${a(s)("connect.campaign.common.location")}: `,
161
- "right-icon": "keyboard_arrow_down",
162
- modelValue: a(r).location,
163
- "onUpdate:modelValue": t[2] || (t[2] = (o) => a(r).location = o),
164
- icon: "storefront",
165
- "show-item-label": !0,
166
- items: a(I).locationOptions
167
- }, null, 8, ["label", "modelValue", "items"])
168
- ]),
169
- i(c, {
170
- modelValue: a(r).searchKey,
171
- "onUpdate:modelValue": t[3] || (t[3] = (o) => a(r).searchKey = o),
172
- class: "xs:hidden sm:hidden",
173
- placeholder: "search",
174
- collapsible: ""
175
- }, null, 8, ["modelValue"])
176
- ]),
177
- i(M, {
178
- class: "xs:hidden sm:hidden",
179
- "row-data": a(f),
180
- "column-defs": $,
181
- "search-value": a(r).searchKey,
182
- "column-filter": [],
183
- onRowClick: t[4] || (t[4] = (o) => y(o.original)),
184
- "hide-footer": !0
185
- }, null, 8, ["row-data", "search-value"]),
186
- i(U, { class: "hidden xs:!flex sm:!flex flex-col mx-[-24px]" }, {
187
- default: x(() => [
188
- (d(!0), h(v, null, G(a(f).filter(
189
- (o) => o.name.toLowerCase().includes(a(r).searchKey.toLowerCase())
190
- ), (o) => (d(), S(N, {
191
- key: o._id.toString(),
192
- onClick: (_) => y(o),
193
- class: "py-12 px-16 flex items-center justify-between border-b border-fm-color-neutral-gray-100"
194
- }, {
195
- default: x(() => [
196
- n("div", pe, [
197
- n("div", ue, [
198
- (d(), S(J(a(V)(o)))),
199
- n("div", ge, u(o.currentReceive ?? 0) + " sent ", 1)
200
- ]),
201
- n("div", fe, [
202
- n("div", ye, u(o.name), 1),
203
- n("div", _e, u(a(R)(o)), 1)
204
- ])
205
- ]),
206
- n("div", he, [
207
- i(b, {
208
- icon: "content_copy",
209
- "icon-color": "neutral-gray-400",
210
- variant: "tertiary",
211
- onClick: async (_) => {
212
- _.stopPropagation(), await D(o);
213
- }
214
- }, null, 8, ["onClick"]),
215
- i(b, {
216
- icon: "delete",
217
- "icon-color": "neutral-gray-400",
218
- variant: "tertiary",
219
- onClick: (_) => (_.stopPropagation(), A(o))
220
- }, null, 8, ["onClick"])
221
- ])
222
- ]),
223
- _: 2
224
- }, 1032, ["onClick"]))), 128))
225
- ]),
226
- _: 1
227
- }),
228
- a(f).length == 0 ? (d(), h("div", we, [
229
- n("div", be, u(a(s)("connect.campaign.common.noResults")), 1)
230
- ])) : Q("", !0)
231
- ], 64)) : (d(), S(E, {
232
- key: 1,
233
- variant: "outlined",
234
- class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
235
- }, {
236
- default: x(() => [
237
- t[6] || (t[6] = n("img", {
238
- src: W,
239
- class: "aspect-square w-[150px]"
240
- }, null, -1)),
241
- n("div", Ce, [
242
- n("div", ve, u(a(s)("connect.campaign.broadcast.create.title")), 1),
243
- n("div", xe, u(a(s)("connect.campaign.broadcast.create.description")), 1)
244
- ]),
245
- i(b, {
246
- variant: "primary",
247
- label: a(s)("connect.campaign.broadcast.create.button"),
248
- icon: "add",
249
- onClick: t[5] || (t[5] = (o) => y())
250
- }, null, 8, ["label"])
251
- ]),
252
- _: 1
253
- })),
254
- i(ie, {
255
- ref_key: "sheetRef",
256
- ref: w,
257
- "onSubmit:modelValue": j
258
- }, null, 512)
259
- ])
260
- ], 64);
261
- };
262
- }
263
- });
264
- export {
265
- $e as default
266
- };