@feedmepos/mf-connect 0.1.82-prod → 0.1.83-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 (103) hide show
  1. package/dist/{Analytic-D850nvXy.js → Analytic-1OYb8L9c.js} +11 -11
  2. package/dist/{App-Dwp2SQFt.js → App-oQ4_lEV2.js} +7 -7
  3. package/dist/{Bin-t3dMVk18.js → Bin-CQ8CYWAf.js} +8 -8
  4. package/dist/Broadcast-BLq5lca6.js +265 -0
  5. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CFa7asTL.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-0BKgyMxn.js} +6 -6
  6. package/dist/{Card-DueuT99c.js → Card-BbcMCzvO.js} +19 -19
  7. package/dist/{Collections-D50oEyeZ.js → Collections-0LOyEUoF.js} +8 -8
  8. package/dist/Credit-Crrc3MSu.js +259 -0
  9. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-DysfUOSp.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-NtZKuPgi.js} +245 -241
  10. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-L0-aFhRw.js → EffectSheet.vue_vue_type_style_index_0_lang-DQaMkTla.js} +6 -6
  11. package/dist/Experience-DJiUmONI.js +258 -0
  12. package/dist/{FileSaver.min-DH3eS7yi.js → FileSaver.min-CFEGc8v5.js} +1 -1
  13. package/dist/Game-ChHy4S4P.js +329 -0
  14. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-BIKcbIag.js → ImageInput.vue_vue_type_script_setup_true_lang-BBavh70d.js} +1 -1
  15. package/dist/{Index-BucLJQqP.js → Index-CL5auUCN.js} +10 -10
  16. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CIoZurPE.js → LottieAnimation.vue_vue_type_script_setup_true_lang-H5IjhmOA.js} +1 -1
  17. package/dist/{MainLayout-DYGrSfgc.js → MainLayout-Bf4G5U5F.js} +1 -1
  18. package/dist/{Marketing-CsAIdNjF.js → Marketing-cNwSm-dt.js} +6 -6
  19. package/dist/{Member-D4HF_VGN.js → Member-fT7a7zFo.js} +11 -11
  20. package/dist/{MemberList-CPoA4ovd.js → MemberList-gEN36Erj.js} +27 -27
  21. package/dist/{MemberTransactions-AMv9NeIb.js → MemberTransactions-C4YgiUw-.js} +1 -1
  22. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-DhhSwnK0.js → MessageInput.vue_vue_type_script_setup_true_lang-BNDrmYqp.js} +9 -9
  23. package/dist/Mission-Bz9P2pjX.js +333 -0
  24. package/dist/{Overview-ByO2p2Wx.js → Overview-BG3Z7Daz.js} +19 -19
  25. package/dist/Point-BBeSJ5p5.js +261 -0
  26. package/dist/Promotion-VmaOESn2.js +390 -0
  27. package/dist/{Queue-BD29Mmbf.js → Queue-DKtUhOBh.js} +11 -11
  28. package/dist/{Record-CNLiN6YR.js → Record-Cb45m9I8.js} +9 -9
  29. package/dist/{Reward-Ceo3M1yD.js → Reward-D_uvCEMe.js} +16 -16
  30. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-CJWQEL9W.js → RewardGroup.vue_vue_type_script_setup_true_lang-yUUMGEUJ.js} +12 -12
  31. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-CWuWGs6r.js → RuleGroup.vue_vue_type_script_setup_true_lang-CIb7igvo.js} +15 -15
  32. package/dist/{Segment-BOQUlP-m.js → Segment-BJ8XUyeG.js} +25 -25
  33. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-BcXeiz0p.js → SelectItems.vue_vue_type_script_setup_true_lang-ht4qyiQM.js} +2 -2
  34. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-CJ--FC-i.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-DC6OQ7Zb.js} +12 -12
  35. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-9emjG6Nc.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-i_BRgBRC.js} +4 -4
  36. package/dist/{Setting-CWapXD31.js → Setting-CS1wSxO9.js} +14 -14
  37. package/dist/{SettingAdvertisements-QEf2eyem.js → SettingAdvertisements-CWP7VthZ.js} +12 -12
  38. package/dist/{Store-Bfm2olbH.js → Store-cy0uZfSE.js} +22 -22
  39. package/dist/{StoreRewards-DNDkyxxn.js → StoreRewards-DDAvmlEn.js} +15 -15
  40. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-zKLbY4Qb.js → StoreTransactions.vue_vue_type_script_setup_true_lang-CevWXAb6.js} +20 -20
  41. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-D3-wIOQ7.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-CPJ4fCu-.js} +1 -1
  42. package/dist/{Tier-uC45o2AK.js → Tier-CUT_0eYp.js} +22 -22
  43. package/dist/{Title-zDjlDJCB.js → Title-DcelZU7H.js} +20 -20
  44. package/dist/{Transaction-Bo9FEjMQ.js → Transaction-CwcJnFIO.js} +2 -2
  45. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-BR5F0bWS.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-BuDS-vUd.js} +6 -6
  46. package/dist/{Voucher-B7BTa4Vt.js → Voucher-z6o5rwFx.js} +162 -141
  47. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-CjrjJW7x.js → VoucherEditor.vue_vue_type_script_setup_true_lang-FVdeM5pH.js} +12 -12
  48. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-DeAkLgaX.js → ZodTextField.vue_vue_type_script_setup_true_lang-BGuVeHZU.js} +2 -2
  49. package/dist/{app-CkUBXnib.js → app-BUFlIAB5.js} +73 -43
  50. package/dist/app.js +1 -1
  51. package/dist/{business-C8P05bjQ.js → business-CEL6Cxr7.js} +1 -1
  52. package/dist/{campaign-DcLhSQVQ.js → campaign-Bz3O-DFr.js} +1 -1
  53. package/dist/{campaign-CyYAvl3p.js → campaign-CfB7ZWIg.js} +8 -8
  54. package/dist/{campaign.enum-h6B-mP82.js → campaign.enum-CCKHGvL9.js} +1 -1
  55. package/dist/{campaign.fn-CStjDAoU.js → campaign.fn-Cu0sRSpP.js} +114 -114
  56. package/dist/{collectible.enum-DT-wjl-a.js → collectible.enum-DeWSJ9OK.js} +1 -1
  57. package/dist/{collection.fn-14o3RW2e.js → collection.fn-hPDt2qvz.js} +2 -2
  58. package/dist/{dto-Bv09Baex.js → dto-BKwcpb4T.js} +4 -4
  59. package/dist/{effect-CF0s7QWQ.js → effect-D070CPN_.js} +1 -1
  60. package/dist/{email-addresses-B5qrHbxg.js → email-addresses-C0fE6EMy.js} +2 -2
  61. package/dist/{export-B6nvdBmg.js → export-CG1ypExs.js} +3 -3
  62. package/dist/{helper-B4-2ut7E.js → helper-C9NBolO7.js} +1 -1
  63. package/dist/{index-B-y0UTZw.js → index-4gCsL8Hl.js} +6 -6
  64. package/dist/{index-D5xt8OjL.js → index-6rFsv3Yg.js} +1 -1
  65. package/dist/{index-BebGg-0n.js → index-B30LtrWw.js} +1 -1
  66. package/dist/{index-DVb99_67.js → index-B613auFn.js} +1 -1
  67. package/dist/{index-HhVIn4Bn.js → index-BGi7UFjn.js} +1 -1
  68. package/dist/{index-DzQjej5Y.js → index-BXSp11TE.js} +4 -4
  69. package/dist/{index-DRX9TTMn.js → index-CM-qkxMr.js} +3 -3
  70. package/dist/{index-DesSizn4.js → index-CZoTFXja.js} +3 -3
  71. package/dist/{index-DG_Ej3ec.js → index-D7AT7i0e.js} +3 -3
  72. package/dist/{index-DIQ2MyWF.js → index-DDMr6_UT.js} +4 -4
  73. package/dist/{index-XDg25M5a.js → index-DGNPGZh4.js} +1 -1
  74. package/dist/{index-CR8brl_k.js → index-DLnZyneY.js} +1 -1
  75. package/dist/{index-Ct90ybe0.js → index-DcfdUpTw.js} +1 -1
  76. package/dist/{index.esm2017-1A2eV8x_.js → index.esm2017-D0u5JnGx.js} +1 -1
  77. package/dist/{loading-B0_BwPgo.js → loading-Rn4BXFlo.js} +1 -1
  78. package/dist/{lodash-DxIglhqk.js → lodash-Ds-QoR_N.js} +1 -1
  79. package/dist/{membership-H_whlbUP.js → membership-BjklIT2n.js} +3 -3
  80. package/dist/{money-DEE8QW6m.js → money-DMyZXL-e.js} +1 -1
  81. package/dist/{number-BmN5A4Cu.js → number-Cyny8l0t.js} +1 -1
  82. package/dist/{objectid-B8LZDZOt.js → objectid-Bs1Sha1n.js} +6 -6
  83. package/dist/{plugins-DTrOHd7d.js → plugins-BdQ8LmZm.js} +3 -3
  84. package/dist/{reward-CsJhkkaT.js → reward-ZGs3fpY1.js} +1 -1
  85. package/dist/{rule-ByMxYH4c.js → rule-BH0ICJcx.js} +3 -3
  86. package/dist/{rule-builder-DwGwUlV1.js → rule-builder-D2sz7Xd9.js} +1 -1
  87. package/dist/template-_QJbP7yG.js +236 -0
  88. package/dist/{timezone-Bpe-fhwZ.js → timezone-ulqdIvC-.js} +2 -2
  89. package/dist/{trigger-CEprJYiD.js → trigger-BiXZCT3j.js} +5 -5
  90. package/dist/{usePagination-Du6qS5aj.js → usePagination-Ck7buuI_.js} +1 -1
  91. package/dist/{user-Be8HNWuo.js → user-BWTfkoD6.js} +1 -1
  92. package/dist/{vue-i18n-fg0FtbNR.js → vue-i18n-CmMTYitu.js} +158 -158
  93. package/dist/{xlsx-CSQJ3YWk.js → xlsx-BF8PJO-P.js} +1 -1
  94. package/dist/{zod-BB7zZ5ec.js → zod-C5iXeYjP.js} +1 -1
  95. package/package.json +1 -1
  96. package/dist/Broadcast-DORnkgZc.js +0 -232
  97. package/dist/Credit-CIWSRGuJ.js +0 -225
  98. package/dist/Experience-qABtjxNP.js +0 -224
  99. package/dist/Game-D67q1zKd.js +0 -299
  100. package/dist/Mission-CRinLn7e.js +0 -303
  101. package/dist/Point-4JqzbNgP.js +0 -227
  102. package/dist/Promotion-DlWVF6hF.js +0 -358
  103. package/dist/template-Bdwy6QXF.js +0 -188
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as B, ref as P, onMounted as Q, computed as q, resolveComponent as V, openBlock as d, createElementBlock as F, renderSlot as W, toDisplayString as b, createCommentVNode as f, createBlock as u, unref as e, isRef as G, createVNode as w, normalizeClass as Z, watch as X, withCtx as h, resolveDynamicComponent as R, Fragment as _, createElementVNode as C, createTextVNode as ee } from "vue";
2
- import { z as te, h as le } from "./app-CkUBXnib.js";
3
- import { Z as m } from "./zod-BB7zZ5ec.js";
4
- import { f as oe, g as ae } from "./index-DesSizn4.js";
5
- import { u as T } from "./vue-i18n-fg0FtbNR.js";
6
- import { s as O } from "./effect-CF0s7QWQ.js";
7
- import { p as ne } from "./plugins-DTrOHd7d.js";
2
+ import { z as te, h as le } from "./app-BUFlIAB5.js";
3
+ import { Z as m } from "./zod-C5iXeYjP.js";
4
+ import { f as oe, g as ae } from "./index-CZoTFXja.js";
5
+ import { u as T } from "./vue-i18n-CmMTYitu.js";
6
+ import { s as O } from "./effect-D070CPN_.js";
7
+ import { p as ne } from "./plugins-BdQ8LmZm.js";
8
8
  const ie = { class: "flex flex-col gap-8" }, de = {
9
9
  key: 0,
10
10
  class: "fm-typo-en-body-lg-600"
@@ -0,0 +1,258 @@
1
+ import { defineComponent as M, ref as P, computed as H, onMounted as q, resolveComponent as m, openBlock as d, createElementBlock as w, Fragment as C, createVNode as i, unref as o, createElementVNode as n, withCtx as v, renderList as z, createBlock as b, resolveDynamicComponent as G, toDisplayString as _, h as k } from "vue";
2
+ import { _ as J } from "./campaign-CpzFl8Vr.js";
3
+ import { useDialog as Q, components as B } from "@feedmepos/ui-library";
4
+ import { p as W } from "./plugins-BdQ8LmZm.js";
5
+ import { u as X } from "./loading-Rn4BXFlo.js";
6
+ import { u as Y } from "./business-CEL6Cxr7.js";
7
+ import { u as Z, c as u } from "./campaign-Bz3O-DFr.js";
8
+ import { a as I, b as V, g as ee } from "./campaign-CfB7ZWIg.js";
9
+ import { u as te, c as oe, p as ae } from "./template-_QJbP7yG.js";
10
+ import { u as ne } from "./vue-i18n-CmMTYitu.js";
11
+ import { _ as re } from "./FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js";
12
+ import { _ as se } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-NtZKuPgi.js";
13
+ const ie = { class: "px-24 flex flex-col gap-y-16" }, ce = { class: "flex items-center justify-between w-full" }, le = { class: "flex gap-8 overflow-x-auto" }, me = { class: "space-y-8" }, pe = { class: "flex w-full gap-4 items-center" }, de = { class: "space-y-4" }, ue = { class: "fm-typo-en-body-lg-600" }, fe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ge = { class: "flex items-center gap-8" }, ye = { class: "flex flex-col gap-16 text-center" }, _e = { class: "fm-typo-en-title-sm-800" }, he = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Te = /* @__PURE__ */ M({
14
+ __name: "Experience",
15
+ setup(xe) {
16
+ const { t: r } = ne(), T = {
17
+ label: r("connect.program.common.actions.create", {
18
+ type: r("connect.program.experience.title").toLowerCase()
19
+ }),
20
+ value: "create",
21
+ isPrimary: !0,
22
+ prependIcon: "add"
23
+ }, N = te("POINT", Q()), $ = Y(), p = Z(), { global: D, minor: F } = X, c = P({
24
+ searchKey: "",
25
+ location: []
26
+ });
27
+ function K(e) {
28
+ const t = c.value.location;
29
+ return !t || t.length === 0 || !e.targetLocation ? !0 : Array.isArray(t) ? t.some((l) => {
30
+ var s;
31
+ return (s = e == null ? void 0 : e.targetLocation) == null ? void 0 : s.includes(l);
32
+ }) : e.targetLocation.includes(t);
33
+ }
34
+ const f = H(
35
+ () => p.campaigns.experience.filter((e) => K(e))
36
+ ), O = [
37
+ {
38
+ header: "Program title",
39
+ accessorFn: (e) => e.name
40
+ },
41
+ {
42
+ header: "Status",
43
+ accessorFn: (e) => ee(e),
44
+ cell(e) {
45
+ return I(e.row.original);
46
+ }
47
+ },
48
+ {
49
+ header: "Summary",
50
+ accessorFn: (e) => V(e)
51
+ //v.effect,
52
+ },
53
+ {
54
+ header: "Actions",
55
+ cell(e) {
56
+ return k("div", { class: "flex items-center gap-8 justify-end" }, [
57
+ k(B.FmButton, {
58
+ variant: "tertiary",
59
+ icon: "content_copy",
60
+ iconColor: "neutral-gray-400",
61
+ onClick: async (t) => {
62
+ t.stopPropagation(), await L(e.row.original);
63
+ }
64
+ }),
65
+ k(B.FmButton, {
66
+ variant: "tertiary",
67
+ icon: "delete",
68
+ iconColor: "neutral-gray-400",
69
+ onClick: (t) => {
70
+ t.stopPropagation(), S(e.row.original);
71
+ }
72
+ })
73
+ ]);
74
+ }
75
+ }
76
+ ], h = P();
77
+ async function S(e) {
78
+ await W.remove(`Are you sure you want to remove ${e.name}?`) && await F(
79
+ async () => {
80
+ await u.delete(e._id), await p.read("POINT");
81
+ },
82
+ {
83
+ message: `Removing ${e.name}`,
84
+ successMessage: `Removed ${e.name} successfully`
85
+ }
86
+ );
87
+ }
88
+ async function g(e) {
89
+ e ? await t() : N.open(async (l) => {
90
+ await t(l);
91
+ });
92
+ async function t(l) {
93
+ var s;
94
+ (s = h.value) == null || s.showSheet(
95
+ !0,
96
+ "POINT",
97
+ e ? await u.readById(e._id) : void 0,
98
+ l
99
+ );
100
+ }
101
+ }
102
+ async function L(e) {
103
+ var s;
104
+ if (!await oe(e.name))
105
+ return;
106
+ const t = await u.readById(e._id), l = ae(t, {
107
+ keepCollectible: !0
108
+ });
109
+ (s = h.value) == null || s.showSheet(
110
+ !0,
111
+ "POINT",
112
+ l,
113
+ t.template
114
+ );
115
+ }
116
+ async function A(e) {
117
+ await F(
118
+ async () => {
119
+ e.campaign._id ? await u.update(e.campaign._id, e) : await u.create(e), await p.read("POINT");
120
+ },
121
+ {
122
+ message: r("connect.program.common.update.updating", {
123
+ type: r("connect.program.experience.title")
124
+ }),
125
+ successMessage: r("connect.program.common.update.success", {
126
+ type: r("connect.program.experience.title"),
127
+ action: e.campaign._id ? "updated" : "created"
128
+ })
129
+ }
130
+ );
131
+ }
132
+ return q(async () => {
133
+ await D(async () => {
134
+ await p.read("POINT");
135
+ });
136
+ }), (e, t) => {
137
+ const l = m("FmPageHead"), s = m("FmSearch"), R = m("FmTable"), x = m("FmButton"), j = m("FmListItem"), E = m("FmList"), U = m("FmCard");
138
+ return d(), w(C, null, [
139
+ i(l, {
140
+ title: o(r)("connect.program.experience.title"),
141
+ actions: o(f).length > 0 ? [T] : [],
142
+ "onClick:action": t[0] || (t[0] = () => g())
143
+ }, null, 8, ["title", "actions"]),
144
+ n("div", ie, [
145
+ i(s, {
146
+ modelValue: o(c).searchKey,
147
+ "onUpdate:modelValue": t[1] || (t[1] = (a) => o(c).searchKey = a),
148
+ class: "hidden xs:!block sm:!block border-b-2 border-fm-color-neutral-gray-100",
149
+ placeholder: o(r)("connect.program.common.search"),
150
+ collapsible: ""
151
+ }, null, 8, ["modelValue", "placeholder"]),
152
+ o(p).campaigns.experience && o(p).campaigns.experience.length > 0 ? (d(), w(C, { key: 0 }, [
153
+ n("div", ce, [
154
+ n("div", le, [
155
+ i(re, {
156
+ label: `${o(r)("connect.common.location")}: `,
157
+ "right-icon": "keyboard_arrow_down",
158
+ modelValue: o(c).location,
159
+ "onUpdate:modelValue": t[2] || (t[2] = (a) => o(c).location = a),
160
+ icon: "storefront",
161
+ "show-item-label": !0,
162
+ items: o($).locationOptions
163
+ }, null, 8, ["label", "modelValue", "items"])
164
+ ]),
165
+ i(s, {
166
+ modelValue: o(c).searchKey,
167
+ "onUpdate:modelValue": t[3] || (t[3] = (a) => o(c).searchKey = a),
168
+ class: "xs:hidden sm:hidden",
169
+ placeholder: "search",
170
+ collapsible: ""
171
+ }, null, 8, ["modelValue"])
172
+ ]),
173
+ i(R, {
174
+ class: "xs:hidden sm:hidden",
175
+ "row-data": o(f),
176
+ "column-defs": O,
177
+ "search-value": o(c).searchKey,
178
+ "column-filter": [],
179
+ onRowClick: t[4] || (t[4] = (a) => g(a.original)),
180
+ "hide-footer": o(f).length < 10
181
+ }, null, 8, ["row-data", "search-value", "hide-footer"]),
182
+ i(E, { class: "hidden xs:!flex sm:!flex flex-col mx-[-24px]" }, {
183
+ default: v(() => [
184
+ (d(!0), w(C, null, z(o(f).filter(
185
+ (a) => a.name.toLowerCase().includes(o(c).searchKey.toLowerCase())
186
+ ), (a) => (d(), b(j, {
187
+ key: a._id.toString(),
188
+ onClick: (y) => g(a),
189
+ class: "py-12 px-16 flex items-center justify-between border-b border-fm-color-neutral-gray-100"
190
+ }, {
191
+ default: v(() => [
192
+ n("div", me, [
193
+ n("div", pe, [
194
+ (d(), b(G(o(I)(a))))
195
+ ]),
196
+ n("div", de, [
197
+ n("div", ue, _(a.name), 1),
198
+ n("div", fe, _(o(V)(a)), 1)
199
+ ])
200
+ ]),
201
+ n("div", ge, [
202
+ i(x, {
203
+ icon: "content_copy",
204
+ "icon-color": "neutral-gray-400",
205
+ variant: "tertiary",
206
+ onClick: async (y) => {
207
+ y.stopPropagation(), await L(a);
208
+ }
209
+ }, null, 8, ["onClick"]),
210
+ i(x, {
211
+ icon: "delete",
212
+ "icon-color": "neutral-gray-400",
213
+ variant: "tertiary",
214
+ onClick: (y) => (y.stopPropagation(), S(a))
215
+ }, null, 8, ["onClick"])
216
+ ])
217
+ ]),
218
+ _: 2
219
+ }, 1032, ["onClick"]))), 128))
220
+ ]),
221
+ _: 1
222
+ })
223
+ ], 64)) : (d(), b(U, {
224
+ key: 1,
225
+ variant: "outlined",
226
+ class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
227
+ }, {
228
+ default: v(() => [
229
+ t[6] || (t[6] = n("img", {
230
+ src: J,
231
+ class: "aspect-square w-[150px]"
232
+ }, null, -1)),
233
+ n("div", ye, [
234
+ n("div", _e, _(o(r)("connect.program.experience.empty_state.title")), 1),
235
+ n("div", he, _(o(r)("connect.program.experience.empty_state.description")), 1)
236
+ ]),
237
+ i(x, {
238
+ variant: "primary",
239
+ label: "Create experience program",
240
+ icon: "add",
241
+ onClick: t[5] || (t[5] = (a) => g())
242
+ })
243
+ ]),
244
+ _: 1
245
+ })),
246
+ i(se, {
247
+ ref_key: "sheetRef",
248
+ ref: h,
249
+ "onSubmit:modelValue": A
250
+ }, null, 512)
251
+ ])
252
+ ], 64);
253
+ };
254
+ }
255
+ });
256
+ export {
257
+ Te as default
258
+ };
@@ -1,4 +1,4 @@
1
- import { c as s } from "./app-CkUBXnib.js";
1
+ import { c as s } from "./app-BUFlIAB5.js";
2
2
  var E = { exports: {} };
3
3
  (function(h, j) {
4
4
  (function(p, i) {
@@ -0,0 +1,329 @@
1
+ import { defineComponent as W, ref as P, computed as J, onMounted as Q, resolveComponent as m, openBlock as f, createElementBlock as V, Fragment as A, createVNode as r, unref as o, withCtx as x, createElementVNode as n, toDisplayString as g, renderList as X, createBlock as L, resolveDynamicComponent as Y, h as c } from "vue";
2
+ import { _ as Z } from "./campaign-CpzFl8Vr.js";
3
+ import { useDialog as ee, components as y } from "@feedmepos/ui-library";
4
+ import { a as te, p as oe } from "./plugins-BdQ8LmZm.js";
5
+ import { u as ae } from "./loading-Rn4BXFlo.js";
6
+ import { u as ne } from "./business-CEL6Cxr7.js";
7
+ import { u as ie, c as _ } from "./campaign-Bz3O-DFr.js";
8
+ import { a as D, b as G, g as se } from "./campaign-CfB7ZWIg.js";
9
+ import { c as re, p as le, u as ce } from "./template-_QJbP7yG.js";
10
+ import { _ as me } from "./FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js";
11
+ import { _ as de } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-NtZKuPgi.js";
12
+ import { u as ue } from "./vue-i18n-CmMTYitu.js";
13
+ import { _ as pe } from "./SendCollectionSheet.vue_vue_type_script_setup_true_lang-DC6OQ7Zb.js";
14
+ const fe = { class: "flex items-center" }, ge = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2 mr-8" }, ye = { class: "px-24 flex flex-col gap-y-16" }, _e = { class: "flex items-center justify-between w-full" }, he = { class: "flex gap-8 overflow-x-auto" }, we = { class: "space-y-8" }, Ce = { class: "flex w-full gap-4 items-center" }, xe = { class: "space-y-4" }, ve = { class: "fm-typo-en-body-lg-600" }, be = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ke = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Fe = { class: "flex items-center gap-8" }, Se = { class: "flex flex-col gap-16 text-center" }, Pe = { class: "fm-typo-en-title-sm-800" }, Ve = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, He = /* @__PURE__ */ W({
15
+ __name: "Game",
16
+ setup(Ae) {
17
+ const { t: d } = ue(), K = {
18
+ label: d("connect.program.common.actions.create", {
19
+ type: d("connect.program.game.title").toLowerCase()
20
+ }),
21
+ value: "create",
22
+ isPrimary: !0,
23
+ prependIcon: "add"
24
+ }, B = ee(), U = ce("GAME", B), h = ne(), u = ie(), { global: I, minor: R } = ae, l = P({
25
+ searchKey: "",
26
+ location: []
27
+ });
28
+ function T(e) {
29
+ const t = l.value.location;
30
+ return !t || t.length === 0 || !e.targetLocation ? !0 : Array.isArray(t) ? t.some((s) => {
31
+ var i;
32
+ return (i = e == null ? void 0 : e.targetLocation) == null ? void 0 : i.includes(s);
33
+ }) : e.targetLocation.includes(t);
34
+ }
35
+ const w = J(
36
+ () => u.campaigns.token.filter((e) => T(e))
37
+ ), j = [
38
+ {
39
+ header: "Program title",
40
+ accessorKey: "name",
41
+ // accessorFn: (v) => v.name,
42
+ cell(e) {
43
+ return c("div", { class: "flex items-center justify-between gap-4" }, [
44
+ c("div", { class: "flex items-center" }, [
45
+ c(
46
+ y.FmTooltip,
47
+ {
48
+ content: e.row.original._id,
49
+ onClick: (t) => {
50
+ t.stopPropagation(), te(e.row.original._id);
51
+ }
52
+ },
53
+ [
54
+ c(y.FmIcon, {
55
+ name: "info",
56
+ outline: !0,
57
+ size: "sm"
58
+ })
59
+ ]
60
+ )
61
+ ]),
62
+ c("div", { class: "flex-1" }, e.row.original.name)
63
+ ]);
64
+ }
65
+ },
66
+ {
67
+ header: "Status",
68
+ accessorFn: (e) => se(e),
69
+ cell(e) {
70
+ return D(e.row.original);
71
+ }
72
+ },
73
+ {
74
+ header: "Summary",
75
+ accessorFn: (e) => G(e)
76
+ //v.effect,
77
+ },
78
+ {
79
+ header: "Token received",
80
+ accessorFn: (e) => {
81
+ var t;
82
+ return ((t = e == null ? void 0 : e.pf_collectible) == null ? void 0 : t.currentReceive) ?? 0;
83
+ }
84
+ },
85
+ {
86
+ header: "Actions",
87
+ cell(e) {
88
+ return c("div", { class: "flex items-center gap-8" }, [
89
+ c(y.FmButton, {
90
+ variant: "tertiary",
91
+ icon: "content_copy",
92
+ iconColor: "neutral-gray-400",
93
+ onClick: async (t) => {
94
+ t.stopPropagation(), await M(e.row.original);
95
+ }
96
+ }),
97
+ c(y.FmButton, {
98
+ variant: "tertiary",
99
+ icon: "send",
100
+ iconColor: "neutral-gray-400",
101
+ onClick: (t) => {
102
+ t.stopPropagation(), N(e.row.original);
103
+ }
104
+ }),
105
+ c(y.FmButton, {
106
+ variant: "tertiary",
107
+ icon: "delete",
108
+ iconColor: "neutral-gray-400",
109
+ onClick: (t) => {
110
+ t.stopPropagation(), E(e.row.original);
111
+ }
112
+ })
113
+ ]);
114
+ }
115
+ }
116
+ ], v = P(), $ = P();
117
+ async function E(e) {
118
+ await oe.remove(`Are you sure you want to remove ${e.name}?`) && await R(
119
+ async () => {
120
+ await _.delete(e._id), await u.read("GAME");
121
+ },
122
+ {
123
+ message: `Removing ${e.name}`,
124
+ successMessage: `Removed ${e.name} successfully`
125
+ }
126
+ );
127
+ }
128
+ async function C(e) {
129
+ e ? await t() : U.open(async (s) => {
130
+ await t(s);
131
+ });
132
+ async function t(s) {
133
+ var i;
134
+ (i = v.value) == null || i.showSheet(
135
+ !0,
136
+ "GAME",
137
+ e ? await _.readById(e._id) : void 0,
138
+ s
139
+ );
140
+ }
141
+ }
142
+ async function M(e) {
143
+ var i;
144
+ if (!await re(e.name))
145
+ return;
146
+ const t = await _.readById(e._id), s = le(t);
147
+ (i = v.value) == null || i.showSheet(
148
+ !0,
149
+ "GAME",
150
+ s,
151
+ t.template
152
+ );
153
+ }
154
+ async function H(e) {
155
+ var t, s, i;
156
+ e.campaign._id && ((i = (s = (t = e.campaign) == null ? void 0 : t.game) == null ? void 0 : s.rewards) != null && i.some(
157
+ (p) => p.type === "VOUCHER"
158
+ )) && await new Promise((p) => {
159
+ B.open({
160
+ title: "Confirmation",
161
+ message: "This will change all future vouchers? Would you like to update previous claimed vouchers expiry date and discount?",
162
+ primaryActions: { text: "Update all", close: !0 },
163
+ secondaryActions: { text: "Update future only", close: !0 }
164
+ }).onPrimary(async () => {
165
+ e.updateCollections = !0, p();
166
+ }).onSecondary(async () => {
167
+ p();
168
+ });
169
+ }), await R(
170
+ async () => {
171
+ e.campaign._id ? await _.update(e.campaign._id, e) : await _.create(e), await u.read("GAME");
172
+ },
173
+ {
174
+ message: `${e.campaign._id ? "Updating" : "Creating"} game program`,
175
+ successMessage: `Game program ${e.campaign._id ? "updated" : "created"} successfully`
176
+ }
177
+ );
178
+ }
179
+ function N(e) {
180
+ var t;
181
+ (t = $.value) == null || t.showSheet({
182
+ campaign: e
183
+ });
184
+ }
185
+ return Q(async () => {
186
+ await I(async () => {
187
+ await u.read("GAME"), await h.readPremium();
188
+ });
189
+ }), (e, t) => {
190
+ const s = m("FmPill"), i = m("FmPageHead"), b = m("FmSearch"), p = m("FmTable"), k = m("FmButton"), O = m("FmListItem"), q = m("FmList"), z = m("FmCard");
191
+ return f(), V(A, null, [
192
+ r(i, {
193
+ actions: o(w).length > 0 && o(h).isPremium ? [K] : [],
194
+ "onClick:action": t[0] || (t[0] = () => C())
195
+ }, {
196
+ title: x(() => [
197
+ n("div", fe, [
198
+ n("span", ge, g(o(d)("connect.program.game.title")), 1),
199
+ r(s, { variant: "premium" })
200
+ ])
201
+ ]),
202
+ _: 1
203
+ }, 8, ["actions"]),
204
+ n("div", ye, [
205
+ r(b, {
206
+ modelValue: o(l).searchKey,
207
+ "onUpdate:modelValue": t[1] || (t[1] = (a) => o(l).searchKey = a),
208
+ class: "hidden xs:!block sm:!block border-b-2 border-fm-color-neutral-gray-100",
209
+ placeholder: "search",
210
+ collapsible: ""
211
+ }, null, 8, ["modelValue"]),
212
+ o(u).campaigns.token && o(u).campaigns.token.length > 0 ? (f(), V(A, { key: 0 }, [
213
+ n("div", _e, [
214
+ n("div", he, [
215
+ r(me, {
216
+ label: `${o(d)("connect.common.location")}: `,
217
+ "right-icon": "keyboard_arrow_down",
218
+ modelValue: o(l).location,
219
+ "onUpdate:modelValue": t[2] || (t[2] = (a) => o(l).location = a),
220
+ icon: "storefront",
221
+ "show-item-label": !0,
222
+ items: o(h).locationOptions
223
+ }, null, 8, ["label", "modelValue", "items"])
224
+ ]),
225
+ r(b, {
226
+ modelValue: o(l).searchKey,
227
+ "onUpdate:modelValue": t[3] || (t[3] = (a) => o(l).searchKey = a),
228
+ class: "xs:hidden sm:hidden",
229
+ placeholder: "search",
230
+ collapsible: ""
231
+ }, null, 8, ["modelValue"])
232
+ ]),
233
+ r(p, {
234
+ class: "xs:hidden sm:hidden",
235
+ "row-data": o(w),
236
+ "column-defs": j,
237
+ "search-value": o(l).searchKey,
238
+ "column-filter": [],
239
+ onRowClick: t[4] || (t[4] = (a) => C(a.original)),
240
+ "hide-footer": o(w).length < 10
241
+ }, null, 8, ["row-data", "search-value", "hide-footer"]),
242
+ r(q, { class: "hidden xs:!flex sm:!flex flex-col mx-[-24px]" }, {
243
+ default: x(() => [
244
+ (f(!0), V(A, null, X(o(w).filter(
245
+ (a) => a.name.toLowerCase().includes(o(l).searchKey.toLowerCase())
246
+ ), (a) => (f(), L(O, {
247
+ key: a._id.toString(),
248
+ onClick: (F) => C(a),
249
+ class: "py-12 px-16 flex items-center justify-between border-b border-fm-color-neutral-gray-100"
250
+ }, {
251
+ default: x(() => {
252
+ var F;
253
+ return [
254
+ n("div", we, [
255
+ n("div", Ce, [
256
+ (f(), L(Y(o(D)(a))))
257
+ ]),
258
+ n("div", xe, [
259
+ n("div", ve, g(a.name), 1),
260
+ n("div", be, g(o(G)(a)), 1)
261
+ ]),
262
+ n("div", ke, g(o(d)("connect.program.game.token_received", {
263
+ count: ((F = a.pf_collectible) == null ? void 0 : F.currentReceive) ?? 0
264
+ })), 1)
265
+ ]),
266
+ n("div", Fe, [
267
+ r(k, {
268
+ icon: "content_copy",
269
+ "icon-color": "neutral-gray-400",
270
+ variant: "tertiary",
271
+ onClick: async (S) => {
272
+ S.stopPropagation(), await M(a);
273
+ }
274
+ }, null, 8, ["onClick"]),
275
+ r(k, {
276
+ icon: "delete",
277
+ "icon-color": "neutral-gray-400",
278
+ variant: "tertiary",
279
+ onClick: (S) => (S.stopPropagation(), E(a))
280
+ }, null, 8, ["onClick"])
281
+ ])
282
+ ];
283
+ }),
284
+ _: 2
285
+ }, 1032, ["onClick"]))), 128))
286
+ ]),
287
+ _: 1
288
+ })
289
+ ], 64)) : (f(), L(z, {
290
+ key: 1,
291
+ variant: "outlined",
292
+ class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
293
+ }, {
294
+ default: x(() => [
295
+ t[6] || (t[6] = n("img", {
296
+ src: Z,
297
+ class: "aspect-square w-[150px]"
298
+ }, null, -1)),
299
+ n("div", Se, [
300
+ n("div", Pe, g(o(d)("connect.program.game.empty_state.title")), 1),
301
+ n("div", Ve, g(o(d)("connect.program.game.empty_state.description")), 1)
302
+ ]),
303
+ r(k, {
304
+ variant: "primary",
305
+ label: "Create game program",
306
+ icon: "add",
307
+ disabled: !o(h).isPremium,
308
+ onClick: t[5] || (t[5] = (a) => C())
309
+ }, null, 8, ["disabled"])
310
+ ]),
311
+ _: 1
312
+ })),
313
+ r(de, {
314
+ ref_key: "sheetRef",
315
+ ref: v,
316
+ "onSubmit:modelValue": H
317
+ }, null, 512),
318
+ r(pe, {
319
+ ref_key: "sendCollectionSheetRef",
320
+ ref: $
321
+ }, null, 512)
322
+ ])
323
+ ], 64);
324
+ };
325
+ }
326
+ });
327
+ export {
328
+ He as default
329
+ };
@@ -1,5 +1,5 @@
1
1
  import { openBlock as l, createElementBlock as o, createElementVNode as r, defineComponent as $, ref as b, onMounted as I, resolveComponent as f, renderSlot as x, toDisplayString as s, createCommentVNode as h, normalizeStyle as V, unref as i, Fragment as w, createVNode as F, withCtx as g, createTextVNode as p, normalizeClass as z, createBlock as k } from "vue";
2
- import { u as R } from "./vue-i18n-fg0FtbNR.js";
2
+ import { u as R } from "./vue-i18n-CmMTYitu.js";
3
3
  import { _ as H } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const N = {}, D = { class: "animate-pulse flex space-x-4 bg-gray-300 dark:bg-gray-700 items-center justify-center rounded w-full h-full" };
5
5
  function L(e, d) {
@@ -1,16 +1,16 @@
1
1
  import { defineComponent as U, ref as g, watch as O, onMounted as I, resolveComponent as m, openBlock as b, createBlock as j, withCtx as P, createTextVNode as z, toDisplayString as B, createElementVNode as c, createVNode as o, unref as e, createElementBlock as F, createCommentVNode as W, normalizeClass as G, computed as L, Fragment as q, isRef as J } from "vue";
2
- import { u as H } from "./vue-i18n-fg0FtbNR.js";
3
- import "./index-XDg25M5a.js";
2
+ import { u as H } from "./vue-i18n-CmMTYitu.js";
3
+ import "./index-DGNPGZh4.js";
4
4
  import { useRouter as K } from "vue-router";
5
- import { u as Q } from "./loading-B0_BwPgo.js";
6
- import { f as V, p as X } from "./plugins-DTrOHd7d.js";
7
- import { u as Y, _ as Z } from "./RewardGroup.vue_vue_type_script_setup_true_lang-CJWQEL9W.js";
5
+ import { u as Q } from "./loading-Rn4BXFlo.js";
6
+ import { f as V, p as X } from "./plugins-BdQ8LmZm.js";
7
+ import { u as Y, _ as Z } from "./RewardGroup.vue_vue_type_script_setup_true_lang-yUUMGEUJ.js";
8
8
  import { useDialog as ee, useSnackbar as ne, FmButtonVariant as p } from "@feedmepos/ui-library";
9
- import { r as N } from "./index-BebGg-0n.js";
10
- import { u as ae } from "./reward-CsJhkkaT.js";
11
- import { u as oe } from "./business-C8P05bjQ.js";
12
- import { u as te } from "./membership-H_whlbUP.js";
13
- import { R as $ } from "./app-CkUBXnib.js";
9
+ import { r as N } from "./index-B30LtrWw.js";
10
+ import { u as ae } from "./reward-ZGs3fpY1.js";
11
+ import { u as oe } from "./business-CEL6Cxr7.js";
12
+ import { u as te } from "./membership-BjklIT2n.js";
13
+ import { R as $ } from "./app-BUFlIAB5.js";
14
14
  const re = { class: "space-y-24" }, le = {
15
15
  key: 0,
16
16
  class: /* @__PURE__ */ G([
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, watchEffect, computed, watch, openBlock, createElementBlock, normalizeStyle, onBeforeUnmount, resolveComponent, unref, createBlock } from "vue";
2
- import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./app-CkUBXnib.js";
2
+ import { c as commonjsGlobal, g as getDefaultExportFromCjs } from "./app-BUFlIAB5.js";
3
3
  const v = "4.8.0", meta = {
4
4
  g: "LottieFiles AE ",
5
5
  a: "",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as n, openBlock as o, createElementBlock as a, createVNode as c, unref as e, ref as m, resolveComponent as u, normalizeClass as _, createBlock as p, createCommentVNode as h, withDirectives as f, createElementVNode as d, vShow as w } from "vue";
2
- import { _ as v, S as x } from "./LottieAnimation.vue_vue_type_script_setup_true_lang-CIoZurPE.js";
2
+ import { _ as v, S as x } from "./LottieAnimation.vue_vue_type_script_setup_true_lang-H5IjhmOA.js";
3
3
  import { u as r } from "./app-wDQR6dpb.js";
4
4
  import { useRoute as g } from "vue-router";
5
5
  const S = { class: "bg-white w-full flex min-h-[calc(100svh-56px)] items-center" }, V = /* @__PURE__ */ n({