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

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-B-Onur9k.js} +812 -666
  2. package/dist/{AuditLogs-CaQisyMC.js → AuditLogs-BnEeKG1C.js} +14 -13
  3. package/dist/{Bin-Mu8gAiHw.js → Bin-BH9_nATR.js} +8 -8
  4. package/dist/Broadcast-Gt2ZLLpZ.js +302 -0
  5. package/dist/CampaignAnalytic-BT6zTgNk.js +1830 -0
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BoLZVrCU.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-nNLLEzii.js} +6 -5
  7. package/dist/Card-dD52oor7.js +1084 -0
  8. package/dist/{Collections-CByXxRW_.js → Collections-7bwYNl3M.js} +14 -13
  9. package/dist/Credit-qZdlqXqR.js +286 -0
  10. package/dist/DateRangeChip.vue_vue_type_script_setup_true_lang-DeNn_k19.js +53 -0
  11. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-C09W9Qja.js +4213 -0
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-BXsAX1Xa.js → EffectSheet.vue_vue_type_style_index_0_lang-Bz1HRBMa.js} +35 -35
  13. package/dist/{Experience-B7J-aqPK.js → Experience-CAaWgWXP.js} +112 -86
  14. package/dist/{FileSaver.min-D_F_MSZt.js → FileSaver.min-BpfY6VnX.js} +1 -1
  15. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-3bH-tZAm.js +138 -0
  16. package/dist/Game-fhrbFb_5.js +356 -0
  17. package/dist/GiftCardSetup-CTwmNKim.js +736 -0
  18. package/dist/{Grab-C45MmlD9.js → Grab-BnPfb92x.js} +33 -32
  19. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-CPPcB3PC.js → ImageInput.vue_vue_type_script_setup_true_lang-BySju1oT.js} +1 -1
  20. package/dist/{Index-vQ6uP49O.js → Index-DRwvmm_j.js} +10 -10
  21. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-Cj3hN3tg.js → LocationPicker.vue_vue_type_script_setup_true_lang-Ya4r9NNE.js} +1 -1
  22. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-DU9eIein.js → LottieAnimation.vue_vue_type_script_setup_true_lang-CDwtqqLQ.js} +1 -1
  23. package/dist/LoyaltyDashboard-8jn6SIWo.js +2865 -0
  24. package/dist/MainLayout-Bf42AcB1.js +143 -0
  25. package/dist/{Marketing-B6xMdQvW.js → Marketing-DruTMjiR.js} +7 -6
  26. package/dist/{MarketingMaterialEdit-0cZN4bek.js → MarketingMaterialEdit-moEHd_gP.js} +15 -14
  27. package/dist/Member-C9VTQqIm.js +654 -0
  28. package/dist/MemberDetailSheet.vue_vue_type_script_setup_true_lang-DEsVSWmv.js +1279 -0
  29. package/dist/MemberImportHistory-DZVwya9v.js +187 -0
  30. package/dist/MemberList-KusIfy1u.js +334 -0
  31. package/dist/{MemberTransactions-Bg-ziZy8.js → MemberTransactions-msyjdzlI.js} +1 -1
  32. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-jbDJkbZh.js → MessageInput.vue_vue_type_script_setup_true_lang-DbV-m3cC.js} +5928 -5644
  33. package/dist/MetricInfoTooltip.vue_vue_type_script_setup_true_lang-1DYGpJnD.js +40 -0
  34. package/dist/Mission-CUUxpBUF.js +360 -0
  35. package/dist/{Overview-nsyJGSCq.js → Overview-C9jyKXHX.js} +21 -20
  36. package/dist/Overview-CYKoF8Hp.js +1316 -0
  37. package/dist/Point-CPpQ07yp.js +288 -0
  38. package/dist/Promotion-CJ95m9Qb.js +423 -0
  39. package/dist/{Queue-Dkipt6fw.js → Queue-CX39ILh_.js} +14 -13
  40. package/dist/{Record-BFqx6vM-.js → Record-6I0qyXB5.js} +9 -9
  41. package/dist/Review-DoWu2XNT.js +45 -0
  42. package/dist/ReviewFacebookCallback-Co-5TnI7.js +238 -0
  43. package/dist/ReviewGoogleCallback-Ca7ZuMcF.js +213 -0
  44. package/dist/{Reward-DjFEE7I_.js → Reward-Cx_N6qBJ.js} +35 -35
  45. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-BzZ6VH80.js → RewardGroup.vue_vue_type_script_setup_true_lang-Cn5Yp37p.js} +14 -13
  46. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-A9jQX4jt.js → RuleGroup.vue_vue_type_script_setup_true_lang-M0c67Dyl.js} +196 -186
  47. package/dist/{Segment-BAjdUfZ6.js → Segment-Bx0EW966.js} +275 -276
  48. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-CAQPFzRH.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-ahvrEUGa.js} +37 -36
  49. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-Gkz8jhES.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-C7zSfZdl.js} +4 -4
  50. package/dist/{Setting-BK7y0XC-.js → Setting-DzEK3dWj.js} +14 -14
  51. package/dist/{SettingAdvertisements-DfQ645xr.js → SettingAdvertisements-BNALbI88.js} +12 -12
  52. package/dist/Settings-Cw85-xzq.js +230 -0
  53. package/dist/Store-BSqW1gwf.js +2612 -0
  54. package/dist/{StoreRewards-usHKOGmB.js → StoreRewards-CJXnS8Qf.js} +15 -15
  55. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-C6tUwHEj.js +1329 -0
  56. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-DrcWUZuR.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-iylphGuV.js} +2 -2
  57. package/dist/{Tier-BF3V430O.js → Tier-DfitNxp2.js} +2580 -754
  58. package/dist/{Title-DwPuqKfJ.js → Title-QCbtOvKB.js} +39 -37
  59. package/dist/Transaction-dOCzlidD.js +45 -0
  60. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-DToNRTJS.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-Be5X1C-Y.js} +26 -26
  61. package/dist/{Voucher-DnhVIl_o.js → Voucher-BfoCDwjg.js} +156 -133
  62. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-Btb3UZCn.js → VoucherEditor.vue_vue_type_script_setup_true_lang-0EIYoZ0F.js} +118 -124
  63. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-EFUW9DMY.js → ZodTextField.vue_vue_type_script_setup_true_lang-UdStgKbX.js} +2 -2
  64. package/dist/{app-i3r-6ZVm.js → app-BxTElIm-.js} +45168 -37577
  65. package/dist/app.js +1 -1
  66. package/dist/base.export-BmUK8hMh.js +75 -0
  67. package/dist/{business-i0Gxk7gG.js → business-DjAiT8tR.js} +5 -5
  68. package/dist/campaign-DlR3KF9m.js +368 -0
  69. package/dist/campaign-tAmQNoq7.js +100 -0
  70. package/dist/{campaign.enum-CbUTfxek.js → campaign.enum-BjwEQd11.js} +1 -1
  71. package/dist/{campaign.fn-BjHSIDd1.js → campaign.fn-C6kWWIQx.js} +53 -53
  72. package/dist/{collectible.enum-DN7E_kHg.js → collectible.enum-BrtXpT9S.js} +1 -1
  73. package/dist/collection.fn-CDhfM3Eq.js +26 -0
  74. package/dist/currency-10nX5QnT.js +7 -0
  75. package/dist/{duplicateCampaign-DmdJQEIA.js → duplicateCampaign-6oMZOvfM.js} +11 -11
  76. package/dist/{effect-DM4AzeQl.js → effect-T4YzuTc5.js} +1 -1
  77. package/dist/{email-addresses-BlqVJhwZ.js → email-addresses-BjODnJMM.js} +209 -201
  78. package/dist/google-C3S8u0mT.js +4 -0
  79. package/dist/{helper-CkdISSVP.js → helper-BCl5r5yZ.js} +1 -1
  80. package/dist/{index-DgzNGQgE.js → index-B9ZMIUMa.js} +2083 -2559
  81. package/dist/{index-CB7ytKOE.js → index-BBsK7TUw.js} +1588 -1522
  82. package/dist/index-BQk6zTgf.js +32437 -0
  83. package/dist/index-Bd4clHfr.js +901 -0
  84. package/dist/index-BeVWchv7.js +14550 -0
  85. package/dist/index-Bht1Z11w.js +72 -0
  86. package/dist/{index-FD50UHqf.js → index-BiolIgqR.js} +105 -123
  87. package/dist/{index-Cl8t41Sk.js → index-BxU--5J5.js} +5 -5
  88. package/dist/index-Bz6oSli7.js +151 -0
  89. package/dist/index-C5IfNJUl.js +53 -0
  90. package/dist/{index-BWsj6lCJ.js → index-CRvUvCMA.js} +14 -14
  91. package/dist/{index-B6xi1soU.js → index-CnaQt4Pn.js} +1 -1
  92. package/dist/{index-4EtrCy_K.js → index-Ctja--IE.js} +4 -4
  93. package/dist/{index-D6qeYVNz.js → index-D8rGhchh.js} +1 -1
  94. package/dist/{index-BrboOmPq.js → index-DJdTDF9C.js} +347 -216
  95. package/dist/index-DXiJa8Cw.js +137 -0
  96. package/dist/{index-CxdLExX0.js → index-DeQKLilv.js} +24 -9
  97. package/dist/{index-vI-ndGu_.js → index-DhtKt4OL.js} +5 -5
  98. package/dist/{index.esm2017-BX5CyKoc.js → index.esm2017-CEOegJjn.js} +132 -132
  99. package/dist/{loading-DTKDhqew.js → loading-Dx4SCvZY.js} +1 -1
  100. package/dist/{lodash-CCPBsqhe.js → lodash-Dq8OKCKK.js} +1 -1
  101. package/dist/member-import-DX-jn2uk.js +187 -0
  102. package/dist/membership-CltAa-gH.js +274 -0
  103. package/dist/{money-wMK3QkZ5.js → money-DsaAjJTI.js} +1 -1
  104. package/dist/{number-DjKVlWn0.js → number-DmhHKYgY.js} +1 -1
  105. package/dist/objectid-BdNv-dZX.js +145 -0
  106. package/dist/{plugins-D25PaNJk.js → plugins-BFKVM3uC.js} +13 -12
  107. package/dist/remy-Qz_pNsUS.js +13 -0
  108. package/dist/{reward-E63jqJHm.js → reward--SjvIeyy.js} +1 -1
  109. package/dist/{rule-RVvPtAnk.js → rule-CAKdNobZ.js} +335 -275
  110. package/dist/style.css +1 -1
  111. package/dist/{template-zNxOQaqe.js → template-Cfxc5eM8.js} +6 -6
  112. package/dist/timezone-D2b-V5XD.js +20 -0
  113. package/dist/transaction.fn-B5mLY7bz.js +71 -0
  114. package/dist/{trigger-BXV02FhP.js → trigger-DvYcjRBZ.js} +17 -17
  115. package/dist/useMarketingMaterialActions-DtqnjMSt.js +96 -0
  116. package/dist/{usePagination-BPcPhEnp.js → usePagination-DKX24g31.js} +1 -1
  117. package/dist/{user-Bd8S7R5u.js → user-fWb1NxGO.js} +1 -1
  118. package/dist/vue-i18n-wJReAVJw.js +2365 -0
  119. package/dist/{xlsx-_tQC9Ezf.js → xlsx-Mthhu4JR.js} +440 -440
  120. package/dist/{zod-C1j2GLZP.js → zod-CVpVUgBZ.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-BFKVM3uC.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.71",
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
- };