@feedmepos/mf-connect 0.1.38-beta.52 → 0.1.38-beta.53

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 (130) hide show
  1. package/package.json +2 -2
  2. package/dist/Analytic-BU1mOMoX.js +0 -760
  3. package/dist/App-fw6iFNxW.js +0 -4638
  4. package/dist/AuditLogs-CliU8167.js +0 -1887
  5. package/dist/Bin-C49tzfas.js +0 -166
  6. package/dist/Broadcast-YZVnZTCD.js +0 -232
  7. package/dist/CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DEwsZags.js +0 -122
  8. package/dist/Card-DcQQyJl9.js +0 -911
  9. package/dist/ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js +0 -97
  10. package/dist/Collections--8lmoXWR.js +0 -540
  11. package/dist/Credit-CfkLFMei.js +0 -227
  12. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-Du7fRSZC.js +0 -128
  13. package/dist/DateRangeChip.vue_vue_type_script_setup_true_lang-eIoPtgO5.js +0 -58
  14. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-t6eac8yR.js +0 -3151
  15. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-CXVOuiLI.js +0 -347
  16. package/dist/Experience-BnVVC2-L.js +0 -228
  17. package/dist/FileSaver.min-NlMItPOc.js +0 -74
  18. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js +0 -129
  19. package/dist/Game-Dbz4DzY_.js +0 -297
  20. package/dist/Grab-CCqScmpp.js +0 -300
  21. package/dist/ImageInput.vue_vue_type_script_setup_true_lang-C5irH9v6.js +0 -145
  22. package/dist/Index-DPsM9D4W.js +0 -259
  23. package/dist/JsonViewer-v8_C7l5N.js +0 -87
  24. package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-CyGJxUol.js +0 -18737
  25. package/dist/MainLayout-B1aJoR95.js +0 -41
  26. package/dist/Marketing-CFwxWdJq.js +0 -21761
  27. package/dist/Member-ZPKbf5Bk.js +0 -281
  28. package/dist/MemberList-BDs-70nG.js +0 -1607
  29. package/dist/MemberOverview-wL_ailso.js +0 -58
  30. package/dist/MemberTransactions-C-zHpuZF.js +0 -45
  31. package/dist/MessageInput.vue_vue_type_script_setup_true_lang-B2TKmOOK.js +0 -60616
  32. package/dist/Mission-BHkb1E9m.js +0 -301
  33. package/dist/Overview-DYlcqNCX.js +0 -1079
  34. package/dist/Point-BEhNBY2_.js +0 -231
  35. package/dist/Promotion-DOXRIej4.js +0 -363
  36. package/dist/Queue-Bwa0LWhf.js +0 -260
  37. package/dist/Record-BoI8l1Qq.js +0 -341
  38. package/dist/Reward-BVQaqAYM.js +0 -442
  39. package/dist/RewardGroup.vue_vue_type_script_setup_true_lang-BC3dEiWi.js +0 -150
  40. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-HpleMvjm.js +0 -1767
  41. package/dist/Segment-Cmy7nu27.js +0 -882
  42. package/dist/SelectItems.vue_vue_type_script_setup_true_lang-pab6X2DC.js +0 -181
  43. package/dist/SendCollectionSheet.vue_vue_type_script_setup_true_lang-BqIh8D8O.js +0 -189
  44. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-CESoNd87.js +0 -147
  45. package/dist/Setting-DN8j_6Xv.js +0 -1993
  46. package/dist/SettingAdvertisements-qHdiaa6m.js +0 -264
  47. package/dist/Store-DfhVYCgX.js +0 -1936
  48. package/dist/StoreRewards-NYucFLJU.js +0 -535
  49. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-BGOcOAXR.js +0 -1036
  50. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-DRin8Jzw.js +0 -8093
  51. package/dist/Tier-Dl0aBuJz.js +0 -970
  52. package/dist/Title-DvO6Mira.js +0 -568
  53. package/dist/Transaction-ONVl4UZZ.js +0 -39
  54. package/dist/UserRuleGroup.vue_vue_type_script_setup_true_lang-FyE25D8o.js +0 -130
  55. package/dist/Voucher-BZ1feYh1.js +0 -399
  56. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-Lilql8J4.js +0 -421
  57. package/dist/ZodTextField.vue_vue_type_script_setup_true_lang-C_ZdCOPI.js +0 -56
  58. package/dist/_commonjsHelpers-BkfeUUK-.js +0 -28
  59. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  60. package/dist/app-B_RRkjaD.js +0 -42566
  61. package/dist/app-wDQR6dpb.js +0 -39
  62. package/dist/app.js +0 -7
  63. package/dist/business-y5qSMcd-.js +0 -82
  64. package/dist/campaign-CpzFl8Vr.js +0 -4
  65. package/dist/campaign-DHgol2Lt.js +0 -219
  66. package/dist/campaign-Drxe0zPX.js +0 -253
  67. package/dist/campaign.enum-CwAPVgPe.js +0 -21
  68. package/dist/campaign.fn-DMx5xsiK.js +0 -776
  69. package/dist/collectible.enum-Bh4jnUgP.js +0 -19
  70. package/dist/collection.fn-BpC_YBwG.js +0 -26
  71. package/dist/dto-DWkf9QOb.js +0 -222
  72. package/dist/effect-D5ZWGpNS.js +0 -78
  73. package/dist/email-addresses-DFtVESS8.js +0 -705
  74. package/dist/export-BtUy3sWU.js +0 -97
  75. package/dist/feedme.ico +0 -0
  76. package/dist/helper-DtWMZoWX.js +0 -86
  77. package/dist/index-7HXC3sH0.js +0 -56
  78. package/dist/index-BQlhmw75.js +0 -3
  79. package/dist/index-BdX7CxUg.js +0 -30076
  80. package/dist/index-BerRe0M3.js +0 -76
  81. package/dist/index-BrZ3xZzk.js +0 -146
  82. package/dist/index-CJzBpsBP.js +0 -3412
  83. package/dist/index-CQiABpeB.js +0 -32456
  84. package/dist/index-CqIWlGW3.js +0 -38
  85. package/dist/index-CsaQJMAR.js +0 -66
  86. package/dist/index-DPCDboPA.js +0 -32
  87. package/dist/index-DPaH8jaV.js +0 -8884
  88. package/dist/index-Dkce3JZ_.js +0 -54
  89. package/dist/index-DrYv_gG4.js +0 -31
  90. package/dist/index-SfJbKfWl.js +0 -2407
  91. package/dist/index-vh86FiIQ.js +0 -10
  92. package/dist/index.esm2017-CbvE5vCC.js +0 -3069
  93. package/dist/loading-BWGIK17X.js +0 -71
  94. package/dist/lodash-B5I3zXaY.js +0 -3678
  95. package/dist/membership-Zy2P6O6X.js +0 -235
  96. package/dist/moment-D7p2TMB-.js +0 -2583
  97. package/dist/money-D_fZmBbi.js +0 -15
  98. package/dist/number-C4DhXkCm.js +0 -12
  99. package/dist/object-qECH92oz.js +0 -26
  100. package/dist/objectId-dwaoBfJX.js +0 -7
  101. package/dist/objectid-C6eRcDzI.js +0 -145
  102. package/dist/plugins-DDAJav2s.js +0 -1817
  103. package/dist/reward-Dxjvmy7-.js +0 -36
  104. package/dist/rule-builder-ZkPWAiTl.js +0 -102
  105. package/dist/rule-sclqeiyk.js +0 -1951
  106. package/dist/style.css +0 -4
  107. package/dist/template-CAs0lkTY.js +0 -188
  108. package/dist/tier-BJDhpH6X.js +0 -4
  109. package/dist/tiers/tier=1.png +0 -0
  110. package/dist/tiers/tier=2.png +0 -0
  111. package/dist/tiers/tier=3.png +0 -0
  112. package/dist/tiers/tier=4.png +0 -0
  113. package/dist/timezone-5t8ki0gE.js +0 -1151
  114. package/dist/titles/type=diamond.png +0 -0
  115. package/dist/titles/type=drinks.png +0 -0
  116. package/dist/titles/type=food.png +0 -0
  117. package/dist/titles/type=heart.png +0 -0
  118. package/dist/titles/type=medal.png +0 -0
  119. package/dist/titles/type=spend.png +0 -0
  120. package/dist/titles/type=thank-you.png +0 -0
  121. package/dist/titles/type=thumbs-up.png +0 -0
  122. package/dist/titles/type=years.png +0 -0
  123. package/dist/trigger-B2fpKTfg.js +0 -213
  124. package/dist/tslib.es6-BCqqvLQ_.js +0 -44
  125. package/dist/type_drinks-D6jnpvwV.js +0 -4
  126. package/dist/usePagination-Ds-cuHop.js +0 -223
  127. package/dist/user-ORhbAsqi.js +0 -55
  128. package/dist/vue-i18n-cyOhW8mW.js +0 -2365
  129. package/dist/xlsx-4klfjFae.js +0 -15491
  130. package/dist/zod-BsHmzMQd.js +0 -91
@@ -1,535 +0,0 @@
1
- import { defineComponent as W, ref as V, computed as G, onMounted as Y, resolveComponent as b, openBlock as w, createBlock as C, unref as e, isRef as Q, withCtx as F, createElementVNode as s, createVNode as u, createElementBlock as P, createTextVNode as X, resolveDynamicComponent as M, toDisplayString as B, Fragment as q, createCommentVNode as $, h as v } from "vue";
2
- import { _ as ee } from "./campaign-CpzFl8Vr.js";
3
- import { useDialog as z, components as O } from "@feedmepos/ui-library";
4
- import "./index-BQlhmw75.js";
5
- import { u as te } from "./loading-BWGIK17X.js";
6
- import { C as J, u as oe } from "./membership-Zy2P6O6X.js";
7
- import { p as I, f as N } from "./plugins-DDAJav2s.js";
8
- import { u as ae } from "./vue-i18n-cyOhW8mW.js";
9
- import { F as ne } from "./index-DPaH8jaV.js";
10
- import { c as se } from "./object-qECH92oz.js";
11
- import { u as Z } from "./app-wDQR6dpb.js";
12
- import { u as re } from "./business-y5qSMcd-.js";
13
- import { useCoreStore as ie } from "@feedmepos/mf-common";
14
- import { Z as x } from "./zod-BsHmzMQd.js";
15
- import { _ as le } from "./ZodTextField.vue_vue_type_script_setup_true_lang-C_ZdCOPI.js";
16
- import { _ as de } from "./ImageInput.vue_vue_type_script_setup_true_lang-C5irH9v6.js";
17
- import { _ as ce } from "./TargetLocationInput.vue_vue_type_script_setup_true_lang-DRin8Jzw.js";
18
- import { _ as me, a as pe } from "./EffectSheet.vue_vue_type_style_index_0_lang-CXVOuiLI.js";
19
- import { i as ue, F as fe, h as K, t as ye } from "./helper-DtWMZoWX.js";
20
- import { useRouter as we } from "vue-router";
21
- import { m as j } from "./index-BrZ3xZzk.js";
22
- import { R as A } from "./app-B_RRkjaD.js";
23
- const ge = {
24
- key: 0,
25
- class: "flex flex-col space-y-16 pr-12"
26
- }, ve = { class: "fm-typo-en-title-sm-800 !mb-[-8px]" }, be = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary flex items-center justify-between" }, Re = { class: "flex items-center gap-8" }, _e = /* @__PURE__ */ W({
27
- __name: "EditRewardSheet",
28
- emits: ["update"],
29
- setup(L, { expose: r, emit: E }) {
30
- const S = E, y = re(), m = ie(), g = V(!1), a = V(), R = V(), T = V(!1), f = ne, p = G(
31
- () => {
32
- var l;
33
- return J[((l = a.value) == null ? void 0 : l.type) || "VOUCHER"];
34
- }
35
- ), D = G(() => {
36
- const l = f.safeParse(a.value);
37
- return l.success ? [] : l.error.errors;
38
- });
39
- function H() {
40
- const l = f.safeParse(a.value);
41
- if (l.success) {
42
- const n = { ...l.data };
43
- T.value && (n.capabilities = fe), S("update", n);
44
- }
45
- }
46
- function k(l, n, t = {
47
- isStoreReward: !1,
48
- type: "VOUCHER"
49
- }) {
50
- g.value = l, l && (R.value = void 0, T.value = t.isFeedvibe ?? !1, a.value = n || ue(t.type, {
51
- business: m.currentBusiness.value._id,
52
- noCampaign: t.isStoreReward == !0
53
- }));
54
- }
55
- return Y(async () => {
56
- await y.readLocations();
57
- }), r({
58
- showSheet: k,
59
- data: a,
60
- rewardImage: R
61
- }), (l, n) => {
62
- const t = b("FmTextarea"), o = b("FmHelperText"), c = b("FmButton"), _ = b("FmSideSheet");
63
- return w(), C(_, {
64
- "max-width": 560,
65
- modelValue: e(g),
66
- "onUpdate:modelValue": n[7] || (n[7] = (d) => Q(g) ? g.value = d : null),
67
- header: "Store setting"
68
- }, {
69
- "side-sheet-footer": F(() => [
70
- s("div", Re, [
71
- u(c, {
72
- label: "Submit",
73
- onClick: H,
74
- disabled: e(D).length > 0 || e(Z)().isLoading,
75
- loading: e(Z)().isLoading
76
- }, null, 8, ["disabled", "loading"]),
77
- u(c, {
78
- label: "Cancel",
79
- onClick: n[6] || (n[6] = (d) => k(!1)),
80
- variant: "tertiary"
81
- })
82
- ])
83
- ]),
84
- default: F(() => {
85
- var d, h, U;
86
- return [
87
- e(a) ? (w(), P("div", ge, [
88
- s("div", ve, [
89
- n[8] || (n[8] = X(" Reward information ", -1)),
90
- (w(), C(M(e(p).chip())))
91
- ]),
92
- u(le, {
93
- modelValue: e(a).name,
94
- "onUpdate:modelValue": n[0] || (n[0] = (i) => e(a).name = i),
95
- label: `${e(p).name} name`,
96
- schema: e(x).typeAtPath(e(f), "name", [e(a).type])
97
- }, null, 8, ["modelValue", "label", "schema"]),
98
- u(t, {
99
- class: "!mb-[-16px]",
100
- modelValue: e(a).description,
101
- "onUpdate:modelValue": n[1] || (n[1] = (i) => e(a).description = i),
102
- rules: [e(x).ruleAtPath(e(f), "description", [e(a).type])]
103
- }, {
104
- label: F(() => [
105
- (w(), C(M(
106
- e(x).toInputLabel(
107
- e(x).typeAtPath(e(f), "description", [e(a).type]),
108
- `${e(p).name} description`
109
- )
110
- )))
111
- ]),
112
- _: 1
113
- }, 8, ["modelValue", "rules"]),
114
- s("div", be, [
115
- s("div", null, B(e(p).name) + " description should not exceed 200 characters. ", 1),
116
- s("div", null, B(((d = e(a).description) == null ? void 0 : d.length) ?? 0) + "/200", 1)
117
- ]),
118
- u(de, {
119
- class: "w-1/2 xs:w-2/3",
120
- "aspect-ratio": "16/9",
121
- file: e(R) ?? void 0,
122
- thumbnail: e(a).image ?? void 0,
123
- "onUpdate:file": n[2] || (n[2] = async (i) => {
124
- R.value = i, i || (e(a).image = null);
125
- })
126
- }, {
127
- label: F(() => [
128
- (w(), C(M(
129
- e(x).toInputLabel(
130
- e(x).typeAtPath(e(f), "image", [e(a).type]),
131
- `${e(p).name} image`
132
- )
133
- )))
134
- ]),
135
- _: 1
136
- }, 8, ["file", "thumbnail"]),
137
- e(a).type === "VOUCHER" ? (w(), P(q, { key: 0 }, [
138
- n[9] || (n[9] = s("div", { class: "fm-typo-en-title-sm-800" }, "Discount", -1)),
139
- u(me, {
140
- "model-value": e(a).extras.effect,
141
- "onUpdate:modelValue": n[3] || (n[3] = (i) => {
142
- e(a).extras.effect = i;
143
- })
144
- }, null, 8, ["model-value"]),
145
- e(a).extras.effect == null ? (w(), C(o, {
146
- key: 0,
147
- class: "!mt-8",
148
- text: "Effect is required",
149
- state: "error"
150
- })) : $("", !0),
151
- n[10] || (n[10] = s("div", { class: "fm-typo-en-title-sm-800 !mb-[-8px]" }, " Usage configuration ", -1)),
152
- u(pe, {
153
- "model-value": e(a).options,
154
- "no-campaign": e(a).noCampaign,
155
- "onUpdate:modelValue": n[4] || (n[4] = (i) => e(a).options = i),
156
- schema: e(x).typeAtPath(e(f), "options", ["VOUCHER"])
157
- }, null, 8, ["model-value", "no-campaign", "schema"])
158
- ], 64)) : $("", !0),
159
- n[11] || (n[11] = s("div", { class: "fm-typo-en-title-sm-800 !mb-[-8px]" }, "Availability", -1)),
160
- e(a).type === "VOUCHER" ? (w(), C(ce, {
161
- key: 1,
162
- "model-value": ((U = (h = e(a).extras) == null ? void 0 : h.targetLocation) == null ? void 0 : U.map(String)) ?? null,
163
- type: "select",
164
- "onUpdate:modelValue": n[5] || (n[5] = (i) => {
165
- e(a).extras.targetLocation = i;
166
- }),
167
- rules: [
168
- e(x).ruleAtPath(e(f), "extras.targetLocation", ["VOUCHER"])
169
- ]
170
- }, null, 8, ["model-value", "rules"])) : $("", !0)
171
- ])) : $("", !0)
172
- ];
173
- }),
174
- _: 1
175
- }, 8, ["modelValue"]);
176
- };
177
- }
178
- }), xe = { class: "flex flex-nowrap gap-x-2 grow h-full" }, Ce = { class: "flex flex-col grow p-24" }, Fe = { class: "grow pb-16 pr-16 pt-6 w-full" }, he = { class: "gap-24 grid grid-cols-1 lg:grid-cols-2" }, Ee = /* @__PURE__ */ W({
179
- __name: "RewardTypeDialog",
180
- props: {
181
- onOk: {
182
- type: Function,
183
- required: !0
184
- }
185
- },
186
- setup(L) {
187
- const r = z(), E = L;
188
- function S(y) {
189
- E.onOk(y), r.close();
190
- }
191
- return (y, m) => {
192
- const g = b("FmCard");
193
- return w(), C(g, { class: "max-w-6xl" }, {
194
- default: F(() => [
195
- s("div", xe, [
196
- s("div", Ce, [
197
- m[4] || (m[4] = s("div", { class: "space-y-4" }, [
198
- s("div", { class: "fm-typo-en-title-sm-800" }, "Store rewards"),
199
- s("div", { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, " Select a reward type to get started. ")
200
- ], -1)),
201
- s("div", Fe, [
202
- s("div", he, [
203
- u(g, {
204
- variant: "outlined",
205
- class: "box-border cursor-pointer h-full p-16 scroll-p-4 space-y-8",
206
- onClick: m[0] || (m[0] = (a) => S("general"))
207
- }, {
208
- default: F(() => [...m[2] || (m[2] = [
209
- s("div", { class: "fm-typo-en-title-sm-800" }, "General Reward", -1),
210
- s("div", { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, " A standard voucher reward that can be freely edited and managed. ", -1)
211
- ])]),
212
- _: 1
213
- }),
214
- u(g, {
215
- variant: "outlined",
216
- class: "box-border cursor-pointer h-full p-16 scroll-p-4 space-y-8",
217
- onClick: m[1] || (m[1] = (a) => S("feedvibe"))
218
- }, {
219
- default: F(() => [...m[3] || (m[3] = [
220
- s("div", { class: "fm-typo-en-title-sm-800" }, "FeedVibe Reward", -1),
221
- s("div", { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, " A locked reward for FeedVibe bundles. Cannot be edited or deleted after creation. ", -1)
222
- ])]),
223
- _: 1
224
- })
225
- ])
226
- ])
227
- ])
228
- ])
229
- ]),
230
- _: 1
231
- });
232
- };
233
- }
234
- }), Se = { class: "px-24 flex flex-col gap-y-16" }, Ve = { class: "flex items-center justify-between w-full" }, Oe = { class: "flex flex-col gap-16 text-center" }, Te = { class: "fm-typo-en-title-sm-800" }, ke = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, et = /* @__PURE__ */ W({
235
- __name: "StoreRewards",
236
- setup(L) {
237
- const { t: r } = ae(), E = z(), S = {
238
- label: r("connect.storeRewards.create"),
239
- value: "create",
240
- isPrimary: !0,
241
- prependIcon: "add"
242
- }, y = oe(), { global: m, minor: g } = te, a = we(), R = V({
243
- searchKey: "",
244
- columnFilters: []
245
- }), T = [
246
- {
247
- header: r("connect.storeRewards.table.name"),
248
- accessorFn: (t) => t.name,
249
- cell(t) {
250
- const o = t.row.original, c = K(
251
- o.capabilities,
252
- "STORE_BUNDLE:FEEDVIBE",
253
- "selectable",
254
- !1
255
- );
256
- return v("div", { class: "flex items-center gap-8" }, [
257
- v("span", {}, o.name),
258
- ...c ? [
259
- v(O.FmChip, {
260
- label: "Feedvibe",
261
- class: "text-fm-color-primary bg-fm-color-system-warning-100",
262
- compact: !0
263
- })
264
- ] : []
265
- ]);
266
- }
267
- },
268
- {
269
- id: "type",
270
- header: r("connect.storeRewards.table.type"),
271
- accessorFn: (t) => t.type,
272
- cell(t) {
273
- return J[t.row.original.type].chip();
274
- }
275
- },
276
- {
277
- header: r("connect.storeRewards.table.validity"),
278
- accessorFn: (t) => ye(
279
- "validityOption" in t.options ? t.options.validityOption || {} : {}
280
- )
281
- },
282
- {
283
- header: r("connect.storeRewards.table.used"),
284
- meta: {
285
- textAlign: "left"
286
- },
287
- accessorFn: (t) => t.currentReceive ?? 0
288
- },
289
- {
290
- header: r("connect.storeRewards.table.actions"),
291
- cell(t) {
292
- return v("div", { class: "flex items-center justify-end gap-4" }, [
293
- v(
294
- O.FmMenu,
295
- {
296
- placement: "bottom-end",
297
- onClick: (o) => {
298
- o.stopPropagation();
299
- }
300
- },
301
- {
302
- "menu-button": () => v(O.FmButton, {
303
- icon: "more_vert",
304
- iconColor: "neutral-gray-400",
305
- variant: "tertiary"
306
- }),
307
- default: () => [
308
- v(O.FmMenuItem, {
309
- label: "View collections",
310
- onClick: async (o) => {
311
- o.stopPropagation(), D(t.row.original._id);
312
- }
313
- }),
314
- ...K(
315
- t.row.original.capabilities,
316
- "STORE_BUNDLE:FEEDVIBE",
317
- "deletable"
318
- ) ? [
319
- v(
320
- O.FmMenuItem,
321
- {
322
- onClick: async (o) => {
323
- o.stopPropagation(), H(t.row.original);
324
- }
325
- },
326
- {
327
- label: v(
328
- "div",
329
- {
330
- class: "text-fm-color-typo-error fm-typo-en-body-md-400"
331
- },
332
- "Remove"
333
- )
334
- }
335
- )
336
- ] : []
337
- ]
338
- }
339
- )
340
- ]);
341
- }
342
- }
343
- ], f = G(
344
- () => y.bundleRewards.filter((t) => t.type == "VOUCHER")
345
- ), p = V();
346
- function D(t) {
347
- a.push({
348
- name: A["$connect-STORE_REWARD_COLLECTIONS"],
349
- params: { id: t }
350
- });
351
- }
352
- async function H(t) {
353
- if (t.type === "TITLE") {
354
- await I.confirm(
355
- r("connect.storeRewards.remove.message"),
356
- r("connect.storeRewards.remove.title"),
357
- r("connect.storeRewards.remove.action")
358
- ) && await a.push({ name: A["$connect-PROGRAM_TITLE"] });
359
- return;
360
- }
361
- await I.remove(
362
- r("connect.storeRewards.delete.confirm"),
363
- r("connect.storeRewards.delete.title")
364
- ) && await g(
365
- async () => {
366
- await j.deleteReward(t._id), await y.readMembership(), await y.readRewards();
367
- },
368
- {
369
- message: r("connect.storeRewards.delete.message"),
370
- successMessage: r("connect.storeRewards.delete.success")
371
- }
372
- );
373
- }
374
- function k() {
375
- return new Promise((t) => {
376
- E.open({
377
- title: "Create reward",
378
- dialogComponent: v(Ee, {
379
- onOk: (o) => {
380
- t(o);
381
- }
382
- })
383
- }).onClose(() => {
384
- t(null);
385
- });
386
- });
387
- }
388
- async function l(t) {
389
- var c, _;
390
- const o = t ? se(y.bundleRewards.find((d) => d._id === t)) : void 0;
391
- if (o && !K(
392
- o.capabilities,
393
- "STORE_BUNDLE:FEEDVIBE",
394
- "editable"
395
- )) {
396
- await I.confirm(
397
- "This reward is managed by FeedVibe and cannot be edited.",
398
- "Cannot edit reward",
399
- "OK"
400
- );
401
- return;
402
- }
403
- if ((o == null ? void 0 : o.type) === "TITLE") {
404
- await I.confirm(
405
- "You cannot edit a title here, please edit it at the Program > Title section.",
406
- "Update reward",
407
- "Go to title section"
408
- ) && await a.push({ name: A["$connect-PROGRAM_TITLE"] });
409
- return;
410
- }
411
- if (!o) {
412
- const d = await k();
413
- if (!d) return;
414
- (c = p.value) == null || c.showSheet(!0, void 0, {
415
- isStoreReward: !0,
416
- type: "VOUCHER",
417
- isFeedvibe: d === "feedvibe"
418
- });
419
- return;
420
- }
421
- (_ = p.value) == null || _.showSheet(!0, o, {
422
- isStoreReward: !0,
423
- type: "VOUCHER"
424
- });
425
- }
426
- async function n(t) {
427
- let o = !1;
428
- t._id && t.type === "VOUCHER" && await new Promise((c) => {
429
- E.open({
430
- title: "Confirmation",
431
- message: r("connect.campaign.voucher.updateConfirm.message"),
432
- primaryActions: {
433
- text: r("connect.campaign.voucher.updateConfirm.updateAll"),
434
- close: !0
435
- },
436
- secondaryActions: {
437
- text: r("connect.campaign.voucher.updateConfirm.updateFuture"),
438
- close: !0
439
- }
440
- }).onPrimary(async () => {
441
- o = !0, c();
442
- }).onSecondary(async () => {
443
- c();
444
- });
445
- }), await g(
446
- async () => {
447
- var c, _, d, h;
448
- (c = p.value) != null && c.rewardImage && t.image ? await N.delete(t.image) : (_ = p.value) != null && _.rewardImage && (t.image = await N.update(
449
- t.image || N.collectibleImagePath(
450
- void 0,
451
- p.value.rewardImage
452
- ),
453
- (d = p.value) == null ? void 0 : d.rewardImage
454
- )), t._id ? await j.updateReward(t._id, {
455
- ...t,
456
- updateCollection: o
457
- }) : await j.createReward(t), await y.readRewards(), (h = p.value) == null || h.showSheet(!1);
458
- },
459
- {
460
- message: "Updating reward",
461
- successMessage: "Reward updated successfully"
462
- }
463
- );
464
- }
465
- return Y(async () => {
466
- await m(async () => {
467
- await y.readMembership(), await y.readRewards();
468
- });
469
- }), (t, o) => {
470
- const c = b("FmPageHead"), _ = b("FmSearch"), d = b("FmTable"), h = b("FmButton"), U = b("FmCard");
471
- return w(), P(q, null, [
472
- u(c, {
473
- title: e(r)("connect.storeRewards.title"),
474
- description: e(r)("connect.storeRewards.description"),
475
- actions: [S],
476
- "back-button": !0,
477
- "onClick:action": o[0] || (o[0] = () => l()),
478
- "onClick:back": o[1] || (o[1] = () => e(a).push({ name: e(A)["$connect-STORE"] }))
479
- }, null, 8, ["title", "description", "actions"]),
480
- s("div", Se, [
481
- e(f) && e(f).length > 0 ? (w(), P(q, { key: 0 }, [
482
- s("div", Ve, [
483
- o[6] || (o[6] = s("div", { class: "flex gap-8" }, null, -1)),
484
- u(_, {
485
- modelValue: e(R).searchKey,
486
- "onUpdate:modelValue": o[2] || (o[2] = (i) => e(R).searchKey = i),
487
- class: "",
488
- placeholder: "search",
489
- collapsible: ""
490
- }, null, 8, ["modelValue"])
491
- ]),
492
- u(d, {
493
- "row-data": e(f),
494
- "column-defs": T,
495
- "search-value": e(R).searchKey,
496
- "column-filter": e(R).columnFilters,
497
- onRowClick: o[3] || (o[3] = (i) => l(i.original._id)),
498
- "hide-footer": e(f).length < 10
499
- }, null, 8, ["row-data", "search-value", "column-filter", "hide-footer"])
500
- ], 64)) : (w(), C(U, {
501
- key: 1,
502
- variant: "outlined",
503
- class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
504
- }, {
505
- default: F(() => [
506
- o[7] || (o[7] = s("img", {
507
- src: ee,
508
- class: "aspect-square w-[150px]"
509
- }, null, -1)),
510
- s("div", Oe, [
511
- s("div", Te, B(e(r)("connect.storeRewards.empty.title")), 1),
512
- s("div", ke, B(e(r)("connect.storeRewards.empty.description")), 1)
513
- ]),
514
- u(h, {
515
- variant: "primary",
516
- label: e(r)("connect.storeRewards.empty.action"),
517
- onClick: o[4] || (o[4] = (i) => l()),
518
- icon: "add"
519
- }, null, 8, ["label"])
520
- ]),
521
- _: 1
522
- })),
523
- u(_e, {
524
- ref_key: "rewardSheetRef",
525
- ref: p,
526
- onUpdate: o[5] || (o[5] = (i) => n(i))
527
- }, null, 512)
528
- ])
529
- ], 64);
530
- };
531
- }
532
- });
533
- export {
534
- et as default
535
- };