@feedmepos/mf-connect 0.0.5-beta.20 → 0.0.5-beta.21

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 (67) hide show
  1. package/dist/{Analytic-DUWe-WYz.js → Analytic-CVpCpEBl.js} +12 -13
  2. package/dist/{Broadcast-CAmI-dS9.js → Broadcast-C0SHdFpT.js} +11 -12
  3. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CQbePPyW.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-B94-nKP4.js} +8 -8
  4. package/dist/Card-C5yXOEhK.js +827 -0
  5. package/dist/Collections-Ka_q_V3S.js +424 -0
  6. package/dist/{Credit-CxyIk-mH.js → Credit-CmTa3hjm.js} +11 -12
  7. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-AGQwe70B.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-CNSfNMA_.js} +23 -24
  8. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-y263YYGy.js → EffectSheet.vue_vue_type_style_index_0_lang-BLfzJ46z.js} +5 -5
  9. package/dist/{Experience-DH6nbWal.js → Experience-yd4ZPBXy.js} +11 -12
  10. package/dist/{Game-BGMGl6Uw.js → Game-DYTplwOh.js} +22 -23
  11. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-rs3BEnpo.js → ImageInput.vue_vue_type_script_setup_true_lang-BuuYdlE4.js} +1 -1
  12. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-BIwBZ7FH.js → LottieAnimation.vue_vue_type_script_setup_true_lang-BfWuKa1w.js} +1 -1
  13. package/dist/{MainLayout-CjvNB4RK.js → MainLayout-8tc3ZtLI.js} +2 -2
  14. package/dist/{Marketing-BLbR9_KN.js → Marketing-D5Le-SWn.js} +19 -20
  15. package/dist/{Member-BqPHWUos.js → Member-CzY5Um_y.js} +2 -2
  16. package/dist/{MemberList-DoBv4aBY.js → MemberList-DpFa2ttF.js} +20 -21
  17. package/dist/{MemberTransactions-Cri3UCrX.js → MemberTransactions-CDKkRdfp.js} +4 -4
  18. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang--qiv_ZUS.js → MessageInput.vue_vue_type_script_setup_true_lang-BD27S5wB.js} +4 -4
  19. package/dist/{Mission-BXRMH__V.js → Mission-9BmMMzyr.js} +25 -26
  20. package/dist/{Point-MS30HaX7.js → Point-IiWgZIyI.js} +11 -12
  21. package/dist/{Promotion-BuOELg3x.js → Promotion-BmEQ28sH.js} +42 -44
  22. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-CAnO-3XN.js → RuleGroup.vue_vue_type_script_setup_true_lang-BhOoz0HL.js} +12 -12
  23. package/dist/{Segment-C9s9hDBX.js → Segment-D1ID4Rmt.js} +39 -40
  24. package/dist/{Setting-CHk3QEsN.js → Setting-B3WeabHJ.js} +17 -18
  25. package/dist/{Store-CQWAs4Ew.js → Store-CKFLaYKH.js} +18 -19
  26. package/dist/{StoreRewards-DJkh42Es.js → StoreRewards-DIQL173Q.js} +27 -28
  27. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-B2kjcViv.js +794 -0
  28. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-CEBqSaBp.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-C1QmPELI.js} +1 -1
  29. package/dist/{Tier-3zGwCsja.js → Tier-BvE47ciZ.js} +43 -43
  30. package/dist/{Title-TotAXw2n.js → Title-DfcczCHg.js} +42 -42
  31. package/dist/Transaction-CF0f3QCU.js +36 -0
  32. package/dist/Voucher-CCOZjT6k.js +481 -0
  33. package/dist/{app--rCS8dWb.js → app-B4oDOeXm.js} +1456 -1456
  34. package/dist/app.js +1 -1
  35. package/dist/{campaign-BPWXzTLO.js → campaign-BWwTQs_d.js} +2 -2
  36. package/dist/{collection.fn-NFB67-6j.js → collection.fn-C5XN0PPR.js} +2 -2
  37. package/dist/{dto-ChVvY7GG.js → dto-Ktuw3JiD.js} +138 -139
  38. package/dist/{effect-CbwZuhWY.js → effect-BM2dJl1a.js} +1 -1
  39. package/dist/export-LApNX--r.js +97 -0
  40. package/dist/{helper-D16-sxkv.js → helper-BUC1dAUX.js} +1 -1
  41. package/dist/{index-EmqFPQGb.js → index-B6GvsaDA.js} +1 -1
  42. package/dist/{index-DlqRXSLU.js → index-BZMMIcyM.js} +1 -1
  43. package/dist/{index-Blbjd5Y9.js → index-Bc-r4pik.js} +5 -5
  44. package/dist/{index-CGTaSvN6.js → index-Bt_xFt9g.js} +1 -1
  45. package/dist/{index-D-bPAs1d.js → index-C7qI5flU.js} +2 -2
  46. package/dist/{index-Dh6x04Wk.js → index-C86T8VON.js} +2 -2
  47. package/dist/{index-C7SZ9gvu.js → index-CvZ_MhCE.js} +7 -7
  48. package/dist/{index-vsgk07Y2.js → index-CzVShOLS.js} +1 -1
  49. package/dist/{index-BGAWJ6-h.js → index-DSUUVWFu.js} +3 -3
  50. package/dist/{index--VC0kdJZ.js → index-DVJQt0_Q.js} +2 -2
  51. package/dist/{plugins-Ccv9TIl4.js → loading-CM3ZyteE.js} +8204 -8108
  52. package/dist/{lodash-7Fz14kKI.js → lodash-DYMRs712.js} +1 -1
  53. package/dist/{membership-ByQds6Nb.js → membership-D0Z9EBWi.js} +3 -3
  54. package/dist/{money-DsiT1-aV.js → money-Cyt6uuok.js} +1 -1
  55. package/dist/{number-D4SI_vwy.js → number-CSBV_14_.js} +1 -1
  56. package/dist/{rule-NzJI8lrC.js → rule-C4ovkUox.js} +2 -2
  57. package/dist/{rule-builder-CNz0WgMq.js → rule-builder-DxDhft7B.js} +1 -1
  58. package/dist/{template-9wDwTGR-.js → template-Dd9xYS-m.js} +6 -6
  59. package/dist/{usePagination-CsZrmXsU.js → usePagination-cObe7G1g.js} +1 -1
  60. package/dist/{xlsx-CUa5ix7U.js → xlsx--baqnGDY.js} +1 -1
  61. package/package.json +1 -1
  62. package/dist/Card-DhgETjhz.js +0 -914
  63. package/dist/Collections-9fPXIR34.js +0 -424
  64. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-1GgzlIRZ.js +0 -693
  65. package/dist/Transaction-gV9vaJCR.js +0 -34
  66. package/dist/Voucher-BJ-pXo7Y.js +0 -449
  67. package/dist/loading-B5tUSWjN.js +0 -100
@@ -1,914 +0,0 @@
1
- var Te = Object.defineProperty;
2
- var ye = (e, a, c) => a in e ? Te(e, a, { enumerable: !0, configurable: !0, writable: !0, value: c }) : e[a] = c;
3
- var de = (e, a, c) => ye(e, typeof a != "symbol" ? a + "" : a, c);
4
- import { defineComponent as se, ref as E, computed as G, watch as Re, onMounted as ae, resolveComponent as h, openBlock as m, createBlock as N, unref as n, isRef as ne, withCtx as C, createElementVNode as _, createVNode as d, createElementBlock as x, Fragment as M, renderList as te, createCommentVNode as O, normalizeClass as Ae, createSlots as Ce, withModifiers as xe, h as J } from "vue";
5
- import { _ as Ie } from "./campaign-CpzFl8Vr.js";
6
- import { h as oe } from "./moment-BWErdI6_.js";
7
- import { useDialog as Oe, components as Ne } from "@feedmepos/ui-library";
8
- import { p as De, f as pe } from "./plugins-Ccv9TIl4.js";
9
- import { u as W } from "./loading-B5tUSWjN.js";
10
- import { u as we, g as Ue, a as He } from "./app--rCS8dWb.js";
11
- import { u as re } from "./membership-ByQds6Nb.js";
12
- import { _ as me } from "./index-Blbjd5Y9.js";
13
- import { m as q } from "./index-EmqFPQGb.js";
14
- import { _ as ce } from "./ImageInput.vue_vue_type_script_setup_true_lang-rs3BEnpo.js";
15
- import "./index-D-bPAs1d.js";
16
- import "./index-Dh6x04Wk.js";
17
- import { j as Be } from "./index-C7SZ9gvu.js";
18
- import "./index-BGAWJ6-h.js";
19
- import "./index--VC0kdJZ.js";
20
- import "./index-vsgk07Y2.js";
21
- import { a as Pe } from "./object-qECH92oz.js";
22
- import { u as Q, w as be } from "./xlsx-CUa5ix7U.js";
23
- import { u as Fe, _ as Me } from "./usePagination-CsZrmXsU.js";
24
- import { o as Ve } from "./objectId-dwaoBfJX.js";
25
- class Ge {
26
- constructor() {
27
- de(this, "records", []);
28
- }
29
- addRecord(a) {
30
- this.records.push(a);
31
- }
32
- addRecords(a) {
33
- this.records.push(...a);
34
- }
35
- buildExcel() {
36
- const a = Q.json_to_sheet(this.records), c = Q.book_new();
37
- return Q.book_append_sheet(c, a, "Sheet1"), c;
38
- }
39
- }
40
- class he extends Ge {
41
- }
42
- const Le = /* @__PURE__ */ _("div", { class: "fm-typo-en-body-lg-600" }, "Number type", -1), je = { class: "space-y-16" }, $e = /* @__PURE__ */ _("div", { class: "fm-typo-en-body-lg-600" }, "Number Settings", -1), Ke = { class: "gap-16 grid grid-cols-2" }, Ye = { class: "space-y-16" }, ze = /* @__PURE__ */ _("div", { class: "fm-typo-en-body-lg-600" }, "Card Settings", -1), Xe = {
43
- key: 0,
44
- class: "flex flex-col gap-[16px] w-full"
45
- }, We = { class: "flex flex-col gap-[8px]" }, qe = /* @__PURE__ */ _("p", { class: "fm-typo-en-title-sm-800" }, "Design preview", -1), Je = ["src"], Qe = { class: "flex pt-[24px] gap-[24px]" }, Ze = ["src", "onClick", "alt"], en = { class: "flex items-center gap-8" }, nn = /* @__PURE__ */ se({
46
- __name: "CreateCardSheet",
47
- emits: ["success", "export"],
48
- setup(e, { expose: a, emit: c }) {
49
- const { minor: R } = W, v = re(), S = E(), g = E(!1), A = c, b = E(!1);
50
- function k(p) {
51
- b.value = p, p && (r.value = {
52
- quantity: 1,
53
- code: "",
54
- codeConfig: {
55
- length: 12,
56
- charset: "1234567890",
57
- prefix: "",
58
- suffix: "",
59
- pattern: "####-####-####-####"
60
- }
61
- });
62
- }
63
- const r = E({
64
- quantity: 1,
65
- code: "",
66
- codeConfig: {
67
- length: 12,
68
- charset: "1234567890",
69
- prefix: "",
70
- suffix: "",
71
- pattern: "####-####-####-####"
72
- },
73
- setCardOnBind: !1,
74
- bundle: void 0
75
- }), D = [
76
- {
77
- label: "Bulk number",
78
- value: "bulk",
79
- sublabel: "Bulk generate unique number"
80
- },
81
- {
82
- label: "Custom number",
83
- value: "single",
84
- sublabel: "Enter your own custom number"
85
- }
86
- ], B = [
87
- {
88
- label: "Alphanumeric",
89
- value: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
90
- },
91
- {
92
- label: "Alphabetic",
93
- value: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
94
- },
95
- { label: "Alphabetic Lowercase", value: "abcdefghijklmnopqrstuvwxyz" },
96
- { label: "Alphabetic Uppercase", value: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" },
97
- { label: "Numbers", value: "0123456789" },
98
- { label: "Custom", value: "" }
99
- ], P = E(B[0].value), T = E("bulk"), H = E(0), F = G(
100
- () => {
101
- var p;
102
- return (p = v.membership.design) == null ? void 0 : p[H.value];
103
- }
104
- ), i = E(!1), o = G(
105
- () => v.sortedStoreCategories.flatMap((p) => p.bundles)
106
- );
107
- async function u(p) {
108
- var I, V;
109
- if (await ((I = S.value) == null ? void 0 : I.validateInputs()), !g.value) return;
110
- p.design = (V = F.value) == null ? void 0 : V.image;
111
- const t = await De.confirm(
112
- "",
113
- "Do you want to export generated card(s)?",
114
- "Export",
115
- "Generate and without export"
116
- );
117
- console.log(t), await R(
118
- async () => {
119
- const f = await q.createCards(p);
120
- console.log(f), await A("success"), t && await A("export", f);
121
- },
122
- {
123
- message: "Creating card(s)",
124
- successMessage: "Card(s) created"
125
- }
126
- );
127
- }
128
- return a({
129
- showSheet: k
130
- }), Re(
131
- () => r.value.codeConfig.length,
132
- (p, t) => {
133
- p != t && (r.value.codeConfig.pattern = "#".repeat(Number(p)));
134
- }
135
- ), ae(async () => {
136
- await v.readMemberStore();
137
- }), (p, t) => {
138
- const I = h("FmRadio"), V = h("FmRadioGroup"), f = h("FmSwitch"), $ = h("FmStepperField"), K = h("FmSelect"), L = h("FmTextField"), Ee = h("FmTextarea"), Y = h("FmButton"), ke = h("FmForm"), Se = h("FmSideSheet");
139
- return m(), N(Se, {
140
- "max-width": 560,
141
- "dismiss-away": !0,
142
- header: "Create collection",
143
- modelValue: n(b),
144
- "onUpdate:modelValue": [
145
- t[19] || (t[19] = (w) => ne(b) ? b.value = w : null),
146
- t[20] || (t[20] = (w) => b.value = w)
147
- ]
148
- }, {
149
- "side-sheet-footer": C(() => [
150
- _("div", en, [
151
- d(Y, {
152
- label: "Save",
153
- onClick: t[17] || (t[17] = (w) => u(n(r))),
154
- loading: n(we)().isLoading
155
- }, null, 8, ["loading"]),
156
- d(Y, {
157
- label: "Cancel",
158
- type: "button",
159
- variant: "tertiary",
160
- onClick: t[18] || (t[18] = (w) => b.value = !1)
161
- })
162
- ])
163
- ]),
164
- default: C(() => [
165
- d(ke, {
166
- ref_key: "form",
167
- ref: S,
168
- class: "space-y-40",
169
- onValidationSuccess: t[15] || (t[15] = (w) => g.value = !0),
170
- onValidationFailed: t[16] || (t[16] = (w) => g.value = !1)
171
- }, {
172
- default: C(() => {
173
- var w, ie, le;
174
- return [
175
- _("div", null, [
176
- Le,
177
- d(V, {
178
- modelValue: n(T),
179
- "onUpdate:modelValue": t[0] || (t[0] = (s) => ne(T) ? T.value = s : null),
180
- inline: !1
181
- }, {
182
- default: C(() => [
183
- (m(), x(M, null, te(D, (s) => d(I, {
184
- key: s.value,
185
- value: s.value,
186
- label: s.label,
187
- sublabel: s.sublabel
188
- }, null, 8, ["value", "label", "sublabel"])), 64))
189
- ]),
190
- _: 1
191
- }, 8, ["modelValue"])
192
- ]),
193
- _("div", je, [
194
- $e,
195
- n(T) === "bulk" ? (m(), x(M, { key: 0 }, [
196
- d(f, {
197
- "model-value": n(i),
198
- "label-placement": "right",
199
- value: "true",
200
- label: "Advance number setting",
201
- required: !0,
202
- "onUpdate:modelValue": t[1] || (t[1] = () => i.value = !n(i))
203
- }, null, 8, ["model-value"]),
204
- n(i) ? (m(), x(M, { key: 0 }, [
205
- d($, {
206
- "model-value": n(r).codeConfig.length || null,
207
- "onUpdate:modelValue": t[2] || (t[2] = (s) => n(r).codeConfig.length = s),
208
- label: "Code length",
209
- rules: [(s) => Number(s) >= 1 || "Code length must at least 1"],
210
- required: !0
211
- }, null, 8, ["model-value", "rules"]),
212
- d(K, {
213
- label: "Charset",
214
- "model-value": n(P),
215
- items: B,
216
- "helper-text": n(r).codeConfig.charset.length > 62 ? `${n(r).codeConfig.charset.substring(0, 62)}...` : n(r).codeConfig.charset,
217
- "onUpdate:modelValue": t[3] || (t[3] = (s) => {
218
- P.value = s, n(r).codeConfig.charset = s;
219
- })
220
- }, null, 8, ["model-value", "helper-text"]),
221
- n(P) === "" ? (m(), N(L, {
222
- key: 0,
223
- modelValue: n(r).codeConfig.charset,
224
- "onUpdate:modelValue": t[4] || (t[4] = (s) => n(r).codeConfig.charset = s),
225
- label: "Custom Charset",
226
- required: ""
227
- }, null, 8, ["modelValue"])) : O("", !0),
228
- _("div", Ke, [
229
- d(L, {
230
- modelValue: n(r).codeConfig.prefix,
231
- "onUpdate:modelValue": t[5] || (t[5] = (s) => n(r).codeConfig.prefix = s),
232
- label: "Prefix (Optional)"
233
- }, null, 8, ["modelValue"]),
234
- d(L, {
235
- modelValue: n(r).codeConfig.suffix,
236
- "onUpdate:modelValue": t[6] || (t[6] = (s) => n(r).codeConfig.suffix = s),
237
- label: "Suffix (Optional)"
238
- }, null, 8, ["modelValue"])
239
- ]),
240
- d(L, {
241
- modelValue: n(r).codeConfig.pattern,
242
- "onUpdate:modelValue": t[7] || (t[7] = (s) => n(r).codeConfig.pattern = s),
243
- label: "Pattern",
244
- required: !0
245
- }, null, 8, ["modelValue"])
246
- ], 64)) : O("", !0),
247
- d(L, {
248
- modelValue: n(r).quantity,
249
- "onUpdate:modelValue": t[8] || (t[8] = (s) => n(r).quantity = s),
250
- label: "Number of code",
251
- rules: [
252
- (s) => s >= 1 || "Quantity cannot be less than 1",
253
- (s) => s <= 1e4 || "Quantity cannot more than 10,000"
254
- ],
255
- required: !0,
256
- "helper-text": `${n(r).quantity} card will be created`
257
- }, null, 8, ["modelValue", "rules", "helper-text"])
258
- ], 64)) : O("", !0),
259
- n(T) !== "bulk" ? (m(), N(Ee, {
260
- key: 1,
261
- modelValue: n(r).code,
262
- "onUpdate:modelValue": t[9] || (t[9] = (s) => n(r).code = s),
263
- label: "Custom Card Number",
264
- rules: [(s) => n(T) != "single" || !!s || "Custom code is required"],
265
- placeholder: "(For multiple numbers, please enter in the new row.)"
266
- }, null, 8, ["modelValue", "rules"])) : O("", !0)
267
- ]),
268
- _("div", Ye, [
269
- ze,
270
- d(f, {
271
- "label-placement": "right",
272
- label: "Set card number on bind",
273
- "model-value": n(r).setCardOnBind || !1,
274
- "onUpdate:modelValue": t[10] || (t[10] = (s) => n(r).setCardOnBind = s)
275
- }, null, 8, ["model-value"]),
276
- d(me, {
277
- label: "Activate bundle on bind",
278
- placeholder: "Select bundle",
279
- items: n(o).filter((s) => !s.stripePriceId).map((s) => ({ label: s.name, value: s._id })),
280
- modelValue: n(r).bundle,
281
- "onUpdate:modelValue": t[12] || (t[12] = (s) => n(r).bundle = s)
282
- }, {
283
- append: C(() => [
284
- n(r).bundle ? (m(), N(Y, {
285
- key: 0,
286
- icon: "link_off",
287
- variant: "plain",
288
- onClick: t[11] || (t[11] = (s) => n(r).bundle = void 0)
289
- })) : O("", !0)
290
- ]),
291
- _: 1
292
- }, 8, ["items", "modelValue"]),
293
- (ie = (w = n(v).store) == null ? void 0 : w.stripe) != null && ie.apiKey ? (m(), N(me, {
294
- key: 0,
295
- label: "Linked subscription bundle",
296
- placeholder: "Select bundle",
297
- items: n(o).filter((s) => s.stripePriceId).map((s) => ({ label: s.name, value: s._id })),
298
- modelValue: n(r).subscriptionBundle,
299
- "onUpdate:modelValue": t[14] || (t[14] = (s) => n(r).subscriptionBundle = s)
300
- }, {
301
- append: C(() => [
302
- n(r).subscriptionBundle ? (m(), N(Y, {
303
- key: 0,
304
- icon: "link_off",
305
- variant: "plain",
306
- onClick: t[13] || (t[13] = (s) => n(r).subscriptionBundle = void 0)
307
- })) : O("", !0)
308
- ]),
309
- _: 1
310
- }, 8, ["items", "modelValue"])) : O("", !0)
311
- ]),
312
- n(v).membership.design ? (m(), x("div", Xe, [
313
- _("div", We, [
314
- qe,
315
- _("img", {
316
- src: (le = n(F)) == null ? void 0 : le.image,
317
- class: "aspect-[16/9]"
318
- }, null, 8, Je),
319
- _("div", Qe, [
320
- (m(!0), x(M, null, te(n(v).membership.design, (s, z) => (m(), x("img", {
321
- src: s.image,
322
- key: `image_${z}`,
323
- class: Ae(["w-[112px] h-[63px] cursor-pointer", `${n(H) === z ? "border-[2px] border-fm-color-primary" : ""}`]),
324
- onClick: (yn) => H.value = z,
325
- alt: `ai_image_predict_${z}`,
326
- style: { objectFit: "cover" }
327
- }, null, 10, Ze))), 128))
328
- ])
329
- ])
330
- ])) : O("", !0)
331
- ];
332
- }),
333
- _: 1
334
- }, 512)
335
- ]),
336
- _: 1
337
- }, 8, ["modelValue"]);
338
- };
339
- }
340
- });
341
- var Z = { env: { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_3bf539af-7ab4-47a5-a4b9-44ce94fb742b", npm_package_dependencies_zod: "3.22.4", npm_package_devDependencies__types_node: "^18.19.36", STATS_TRP: "true", DEPLOYMENT_BASEPATH: "/opt/runner", DOTNET_NOLOGO: "1", npm_package_dependencies_pinia: "^2.1.7", npm_package_dependencies_vite_plugin_vue_devtools: "^7.6.4", USER: "runner", npm_config_user_agent: "pnpm/9.14.2 npm/? node/v20.18.0 linux x64", CI: "true", npm_package_dependencies_vue: "^3.4.29", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_3bf539af-7ab4-47a5-a4b9-44ce94fb742b", PIPX_HOME: "/opt/pipx", npm_package_devDependencies_vite: "^5.3.1", npm_node_execpath: "/opt/hostedtoolcache/node/20.18.0/x64/bin/node", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", SHLVL: "1", npm_package_files_0: "dist", HOME: "/home/runner", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_build_mf_dev: "vite build --mode fmmf", npm_package_dependencies__types_qrcode: "^1.5.5", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "feedmepos", npm_package_scripts_build_mf_prod: "vite build --mode fmmf:prod", npm_package_dependencies_change_case: "^5.4.4", NODE_OPTIONS: "--max-old-space-size=8096", GRADLE_HOME: "/usr/share/gradle-8.11", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/27.2.12479018", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", STATS_RDCL: "true", GITHUB_RETENTION_DAYS: "90", npm_package_dependencies__feedmepos_mf_common: "1.8.37", npm_package_dependencies_fabric: "^6.4.2", GITHUB_REPOSITORY_OWNER_ID: "54831515", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu22", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", SYSTEMD_EXEC_PID: "478", npm_package_dependencies__feedmepos_ui_library: "1.2.56", npm_package_dependencies_dayjs: "^1.11.11", npm_package_dependencies_dotenv: "^16.4.5", npm_package_dependencies_moment: "^2.30.1", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_scripts_build_only_dev: "pnpm build:mf:dev", npm_package_devDependencies_tailwindcss: "^3.4.4", npm_package_devDependencies_typescript: "^5.4.5", NVM_DIR: "/home/runner/.nvm", npm_package_scripts_build_dev: "cross-env NODE_OPTIONS=--max-old-space-size=4096 vite build --mode development", npm_package_scripts_build_only_prod: "pnpm build:mf:prod && pnpm build:dts && pnpm build-types", npm_package_dependencies_xlsx: "^0.18.5", npm_package_devDependencies_vue_tsc: "^2.0.21", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", GOROOT_1_21_X64: "/opt/hostedtoolcache/go/1.21.13/x64", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20241117.1.0", npm_package_scripts_dev: "vite", npm_package_scripts_build_prod: "cross-env NODE_OPTIONS=--max-old-space-size=4096 vite build --mode production", npm_package_dependencies_unplugin_auto_import: "^0.17.6", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.9/x64", STORE_PATH: "/home/runner/setup-pnpm/node_modules/.bin/store/v3", SWIFT_PATH: "/usr/share/swift/usr/bin", npm_package_type: "module", RUNNER_USER: "runner", STATS_V3PS: "true", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.3/x64", JOURNAL_STREAM: "8:18638", GITHUB_WORKFLOW: "Publish mf-connect - dev", _: "/home/runner/setup-pnpm/node_modules/.bin/pnpm", npm_package_module: "./dist/app.js", npm_package_devDependencies_autoprefixer: "^10.4.19", npm_package_devDependencies__types_uuid: "^9.0.8", npm_package_devDependencies_unlayer_types: "^1.111.0", npm_config_registry: "https://registry.npmjs.org/", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", STATS_D: "false", GITHUB_RUN_ID: "11969488146", STATS_VMFE: "true", npm_package_dependencies_bson_objectid: "^2.0.4", npm_package_devDependencies__types_lodash: "^4.17.5", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "598afd02503fe6784e39b90ef1dcab69856bf019", GITHUB_BASE_REF: "", ImageOS: "ubuntu22", npm_package_exports___import: "./dist/app.js", npm_package_devDependencies__vitejs_plugin_vue: "^5.0.5", GITHUB_WORKFLOW_REF: "feedmepos/marketing-services/.github/workflows/[DEV] publish-mf-connect.yml@refs/heads/dev", PERFLOG_LOCATION_SETTING: "RUNNER_PERFLOG", GITHUB_ACTION_REPOSITORY: "", npm_package_dependencies_axios: "^1.7.2", npm_config_node_gyp: "/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/dist/node_modules/node-gyp/bin/node-gyp.js", PATH: "/home/runner/work/marketing-services/marketing-services/packages/connect/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/dist/node-gyp-bin:/home/runner/work/marketing-services/marketing-services/packages/connect/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/dist/node-gyp-bin:/home/runner/setup-pnpm/node_modules/.bin:/opt/hostedtoolcache/node/20.18.0/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_0c7b4715-c8c0-41f0-bdc4-54a68d3b8b4d", INVOCATION_ID: "0d6745f01e38422f91795761982749d4", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", NODE: "/opt/hostedtoolcache/node/20.18.0/x64/bin/node", npm_package_name: "@feedmepos/mf-connect", npm_package_scripts_deploy_dev: "pnpm run build-only:dev && pnpm publish --no-git-checks .", npm_package_dependencies_cross_env: "^7.0.3", GITHUB_ACTION: "__run_5", GITHUB_RUN_NUMBER: "9", GITHUB_TRIGGERING_ACTOR: "buxkaizhe", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_scripts_deploy_prod: "pnpm run build-only:prod && pnpm publish --no-git-checks .", npm_config_frozen_lockfile: "", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_dependencies__feedmepos_mf_core_ui: "1.0.10", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 2", XDG_CONFIG_HOME: "/home/runner/.config", STATS_VMD: "true", GITHUB_REF_NAME: "dev", GITHUB_REPOSITORY: "feedmepos/marketing-services", STATS_D_D: "false", npm_package_scripts_build_dts: "vue-tsc --declaration --noEmit false --emitDeclarationOnly -p tsconfig.json --outDir ./dist && mv ./dist/src/* dist", npm_package_scripts_build_types: "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.json --outDir dist --composite false", npm_package_dependencies__feedmepos_core: "^2.10.4", npm_lifecycle_script: "vite build --mode fmmf", STATS_UE: "true", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.2.12479018", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_dependencies_rrule: "^2.8.1", npm_package_dependencies_vue3_lottie: "^3.3.0", GITHUB_REPOSITORY_ID: "615151795", GITHUB_ACTIONS: "true", STATS_PIP: "false", NODE_PATH: "/home/runner/work/marketing-services/marketing-services/packages/connect/node_modules/.pnpm/vite@5.3.4_@types+node@18.19.41/node_modules/vite/bin/node_modules:/home/runner/work/marketing-services/marketing-services/packages/connect/node_modules/.pnpm/vite@5.3.4_@types+node@18.19.41/node_modules/vite/node_modules:/home/runner/work/marketing-services/marketing-services/packages/connect/node_modules/.pnpm/vite@5.3.4_@types+node@18.19.41/node_modules:/home/runner/work/marketing-services/marketing-services/packages/connect/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules", npm_package_version: "0.0.5-beta.20", npm_lifecycle_event: "build:mf:dev", GITHUB_REF_PROTECTED: "false", npm_package_scripts_build: "vue-tsc && vite build", npm_package_dependencies_uuid: "^10.0.0", GITHUB_WORKSPACE: "/home/runner/work/marketing-services/marketing-services", ACCEPT_EULA: "Y", GITHUB_JOB: "deploy", RUNNER_PERFLOG: "/home/runner/perflog", npm_package_dependencies_lodash: "^4.17.21", GITHUB_SHA: "598afd02503fe6784e39b90ef1dcab69856bf019", GITHUB_RUN_ATTEMPT: "1", STATS_D_TC: "true", npm_package_exports___style: "./dist/style.css", npm_package_dependencies_vue_router: "^4.3.3", GITHUB_REF: "refs/heads/dev", GITHUB_ACTOR: "buxkaizhe", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "UNLICENSED", npm_package_dependencies_email_addresses: "^5.0.0", LEIN_HOME: "/usr/local/lib/lein", npm_package_dependencies_firebase: "^10.12.2", npm_package_dependencies_qrcode: "^1.5.3", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_3bf539af-7ab4-47a5-a4b9-44ce94fb742b", JAVA_HOME: "/usr/lib/jvm/temurin-11-jdk-amd64", PWD: "/home/runner/work/marketing-services/marketing-services/packages/connect", GITHUB_ACTOR_ID: "53389118", RUNNER_WORKSPACE: "/home/runner/work/marketing-services", npm_execpath: "/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.14.2/node_modules/pnpm/bin/pnpm.cjs", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", STATS_TIS: "mining", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", LEIN_JAR: "/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_3bf539af-7ab4-47a5-a4b9-44ce94fb742b", npm_package_exports___types: "./dist/packages/connect/src/app.d.ts", EDGEWEBDRIVER: "/usr/local/share/edge_driver", STATS_EXT: "true", PNPM_SCRIPT_SRC_DIR: "/home/runner/work/marketing-services/marketing-services/packages/connect", npm_package_devDependencies_postcss: "^8.4.38", npm_command: "run-script", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.2.12479018", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_preview: "vite preview", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", PNPM_HOME: "/home/runner/setup-pnpm/node_modules/.bin", STATS_EXTP: "https://provjobdprod.z13.web.core.windows.net/settings/provjobdsettings-latest/provjobd.data", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.2.12479018", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_3bf539af-7ab4-47a5-a4b9-44ce94fb742b", INIT_CWD: "/home/runner/work/marketing-services/marketing-services/packages/connect", NODE_ENV: "production", FEEDME_NAMESPACE: "dev", FIREBASE_API_KEY: "AIzaSyAj8JdCHtP0Vc5vZobCfgoLzWxPIn0WUG4", FIREBASE_AUTH_DOMAIN: "feedme-dev-4c3ef.firebaseapp.com", FIREBASE_DATABASE_URL: "https://feedme-dev-4c3ef.firebaseio.com", FIREBASE_PROJECT_ID: "feedme-dev-4c3ef", FIREBASE_STORAGE_BUCKET: "feedme-dev-4c3ef.appspot.com", FIREBASE_MESSAGING_SENDER_ID: "458797803788", FIREBASE_APP_ID: "1:458797803788:web:37f2af2926a84288f0c129", FIREBASE_MEASUREMENT_ID: "G-J2QG09D2Q7", ASSET_STORAGE_BUCKET: "feedme-dev-4c3ef.appspot.com", AUTH_URL: "https://portal-v2-dev.feedmeapi.com/", SLACK_WEBHOOK_URL: "https://hooks.slack.com/services/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", MEMBER_APP_URL: "member.feedmedev.cc", CRM_APP_URL: "crm.feedmedev.cc", MARKETING_V1_PORTAL: "https://marketing-v1.feedmedev.cc", CLIENT_ID: "1a362d621873497b277ea55258cc82594ba148d235257f7bd44ea2acc132d8a4", PAYMENT_PORTAL_URL: "https://portal.feedmedev.cc/payment/payout-account" } }, ee = Math.floor(Math.random() * 16777215), ue = l.index = parseInt(Math.random() * 16777215, 10), _e = (typeof Z > "u" || typeof Z.pid != "number" ? Math.floor(Math.random() * 1e5) : Z.pid) % 65535, fe = (() => {
342
- try {
343
- return _Buffer;
344
- } catch {
345
- try {
346
- return Buffer;
347
- } catch {
348
- return null;
349
- }
350
- }
351
- })(), X = function(e) {
352
- return !!(e != null && e.constructor && typeof e.constructor.isBuffer == "function" && e.constructor.isBuffer(e));
353
- }, ve = [];
354
- for (var y = 0; y < 256; y++)
355
- ve[y] = (y <= 15 ? "0" : "") + y.toString(16);
356
- var ge = new RegExp("^[0-9a-fA-F]{24}$"), j = [];
357
- y = 0;
358
- for (; y < 10; ) j[48 + y] = y++;
359
- for (; y < 16; ) j[55 + y] = j[87 + y] = y++;
360
- function l(e) {
361
- if (!(this instanceof l)) return new l(e);
362
- if (e && (e instanceof l || e._bsontype === "ObjectID"))
363
- return e;
364
- if (this._bsontype = "ObjectID", e == null || typeof e == "number") {
365
- this.id = this.generate(e);
366
- return;
367
- }
368
- var a = l.isValid(e);
369
- if (!a && e != null)
370
- throw new Error(
371
- "Argument passed in must be a single String of 12 bytes or a string of 24 hex characters"
372
- );
373
- if (a && typeof e == "string" && e.length === 24)
374
- return l.createFromHexString(e);
375
- if (e != null && e.length === 12)
376
- this.id = e;
377
- else {
378
- if (e != null && typeof e.toHexString == "function")
379
- return e;
380
- throw new Error(
381
- "Argument passed in must be a single String of 12 bytes or a string of 24 hex characters"
382
- );
383
- }
384
- }
385
- var tn = l;
386
- l.default = l;
387
- l.createFromTime = function(e) {
388
- return e = parseInt(e, 10) % 4294967295, new l(sn(8, e) + "0000000000000000");
389
- };
390
- l.createFromHexString = function(e) {
391
- if (typeof e > "u" || e != null && e.length !== 24)
392
- throw new Error(
393
- "Argument passed in must be a single String of 12 bytes or a string of 24 hex characters"
394
- );
395
- for (var a = "", c = 0; c < 24; )
396
- a += String.fromCharCode(j[e.charCodeAt(c++)] << 4 | j[e.charCodeAt(c++)]);
397
- return new l(a);
398
- };
399
- l.isValid = function(e) {
400
- return e == null ? !1 : typeof e == "number" ? !0 : typeof e == "string" ? e.length === 12 || e.length === 24 && ge.test(e) : e instanceof l ? !0 : X(e) ? l.isValid(e.toString("hex")) : typeof e.toHexString == "function" && fe && (e.id instanceof fe || typeof e.id == "string") ? e.id.length === 12 || e.id.length === 24 && ge.test(e.id) : !1;
401
- };
402
- l.prototype = {
403
- constructor: l,
404
- /**
405
- * Return the ObjectID id as a 24 byte hex string representation
406
- *
407
- * @return {String} return the 24 byte hex string representation.
408
- * @api public
409
- */
410
- toHexString: function() {
411
- if (!this.id || !this.id.length)
412
- throw new Error(
413
- "invalid ObjectId, ObjectId.id must be either a string or a Buffer, but is [" + JSON.stringify(this.id) + "]"
414
- );
415
- if (this.id.length === 24)
416
- return this.id;
417
- if (X(this.id))
418
- return this.id.toString("hex");
419
- for (var e = "", a = 0; a < this.id.length; a++)
420
- e += ve[this.id.charCodeAt(a)];
421
- return e;
422
- },
423
- /**
424
- * Compares the equality of this ObjectID with `otherID`.
425
- *
426
- * @param {Object} otherId ObjectID instance to compare against.
427
- * @return {Boolean} the result of comparing two ObjectID's
428
- * @api public
429
- */
430
- equals: function(e) {
431
- return e instanceof l ? this.toString() === e.toString() : typeof e == "string" && l.isValid(e) && e.length === 12 && X(this.id) ? e === this.id.toString("binary") : typeof e == "string" && l.isValid(e) && e.length === 24 ? e.toLowerCase() === this.toHexString() : typeof e == "string" && l.isValid(e) && e.length === 12 ? e === this.id : e != null && (e instanceof l || e.toHexString) ? e.toHexString() === this.toHexString() : !1;
432
- },
433
- /**
434
- * Returns the generation date (accurate up to the second) that this ID was generated.
435
- *
436
- * @return {Date} the generation date
437
- * @api public
438
- */
439
- getTimestamp: function() {
440
- var e = /* @__PURE__ */ new Date(), a;
441
- return X(this.id) ? a = this.id[3] | this.id[2] << 8 | this.id[1] << 16 | this.id[0] << 24 : a = this.id.charCodeAt(3) | this.id.charCodeAt(2) << 8 | this.id.charCodeAt(1) << 16 | this.id.charCodeAt(0) << 24, e.setTime(Math.floor(a) * 1e3), e;
442
- },
443
- /**
444
- * Generate a 12 byte id buffer used in ObjectID's
445
- *
446
- * @method
447
- * @param {number} [time] optional parameter allowing to pass in a second based timestamp.
448
- * @return {string} return the 12 byte id buffer string.
449
- */
450
- generate: function(e) {
451
- typeof e != "number" && (e = ~~(Date.now() / 1e3)), e = parseInt(e, 10) % 4294967295;
452
- var a = on();
453
- return String.fromCharCode(
454
- e >> 24 & 255,
455
- e >> 16 & 255,
456
- e >> 8 & 255,
457
- e & 255,
458
- ee >> 16 & 255,
459
- ee >> 8 & 255,
460
- ee & 255,
461
- _e >> 8 & 255,
462
- _e & 255,
463
- a >> 16 & 255,
464
- a >> 8 & 255,
465
- a & 255
466
- );
467
- }
468
- };
469
- function on() {
470
- return ue = (ue + 1) % 16777215;
471
- }
472
- function sn(e, a) {
473
- return a = a.toString(16), a.length === e ? a : "00000000".substring(a.length, e) + a;
474
- }
475
- var an = Symbol && Symbol.for && Symbol.for("nodejs.util.inspect.custom") || "inspect";
476
- l.prototype[an] = function() {
477
- return "ObjectID(" + this + ")";
478
- };
479
- l.prototype.toJSON = l.prototype.toHexString;
480
- l.prototype.toString = l.prototype.toHexString;
481
- const rn = /* @__PURE__ */ Ue(tn), ln = {
482
- key: 0,
483
- class: "grid grid-cols-1 gap-8"
484
- }, dn = { class: "flex items-center gap-8" }, pn = { class: "flex items-center gap-8" }, mn = 5, cn = /* @__PURE__ */ se({
485
- __name: "CardDesignSheet",
486
- emits: ["success"],
487
- setup(e, { expose: a, emit: c }) {
488
- const { minor: R } = W, v = re(), S = Oe(), g = E(!1);
489
- E(), E(!1);
490
- const A = E(), b = E(null);
491
- G(() => {
492
- var i, o;
493
- return Math.min((((o = (i = A.value) == null ? void 0 : i.design) == null ? void 0 : o.length) ?? 0) + 1, mn);
494
- });
495
- const k = c, r = G(() => {
496
- var i, o;
497
- return ((o = (i = v.membership) == null ? void 0 : i.design) == null ? void 0 : o.filter((u) => u.image)) || [];
498
- }), D = E(!1);
499
- function B(i) {
500
- D.value = i;
501
- }
502
- function P() {
503
- g.value = !0;
504
- }
505
- async function T() {
506
- await R(
507
- async () => {
508
- var u;
509
- const i = Pe(A.value), o = Be.parse(i);
510
- if (o.design = (o == null ? void 0 : o.design) || [], b.value) {
511
- const p = rn().toHexString(), t = await pe.update(
512
- pe.designPath(p, b.value),
513
- b.value
514
- );
515
- (u = o.design) == null || u.push({
516
- _id: p,
517
- image: t
518
- });
519
- }
520
- await q.update(o), await F(), await k("success"), b.value = null, g.value = !1;
521
- },
522
- {
523
- message: "Saving card design",
524
- successMessage: "Card design saved"
525
- }
526
- );
527
- }
528
- async function H(i, o) {
529
- i ? b.value = i : o && S.open({
530
- title: "Delete Design",
531
- message: "Are you sure you want to delete this design?",
532
- primaryActions: { text: "Delete", close: !0 },
533
- secondaryActions: { text: "Cancel", close: !1 }
534
- }).onPrimary(async () => {
535
- var p, t;
536
- const u = (p = A.value.design) == null ? void 0 : p.findIndex((I) => I._id == o);
537
- console.log(u), u !== -1 && ((t = A.value.design) == null || t.splice(u, 1)), await T();
538
- }).onSecondary(() => {
539
- S.close();
540
- });
541
- }
542
- async function F() {
543
- await v.readMembership(), A.value = v.membership;
544
- }
545
- return a({
546
- showSheet: B
547
- }), ae(async () => {
548
- await F(), r.value.length || (g.value = !0);
549
- }), (i, o) => {
550
- const u = h("FmButton"), p = h("FmSideSheet");
551
- return m(), N(p, {
552
- "max-width": 560,
553
- "dismiss-away": !0,
554
- header: "Manage Design",
555
- modelValue: n(D),
556
- "onUpdate:modelValue": [
557
- o[2] || (o[2] = (t) => ne(D) ? D.value = t : null),
558
- o[3] || (o[3] = (t) => D.value = t)
559
- ]
560
- }, Ce({
561
- default: C(() => [
562
- n(g) ? O("", !0) : (m(), x("div", ln, [
563
- (m(!0), x(M, null, te(n(r), (t) => (m(), N(ce, {
564
- key: String(t._id),
565
- "image-fit": "cover",
566
- label: "",
567
- "aspect-ratio": "16/9",
568
- thumbnail: t.image,
569
- accept: ".png, .jpg, .jpeg, .gif",
570
- "recommended-size": "Recommended 16:9 ratio / 1280px x 720px",
571
- file: void 0,
572
- "delete-button": !1
573
- }, {
574
- "delete-button": C(() => [
575
- d(u, {
576
- class: "!text-neutral-50 !bg-neutral-700",
577
- icon: "delete",
578
- variant: "tertiary",
579
- onClick: (I) => H(null, t._id)
580
- }, null, 8, ["onClick"])
581
- ]),
582
- _: 2
583
- }, 1032, ["thumbnail"]))), 128))
584
- ])),
585
- n(g) ? (m(), N(ce, {
586
- key: 1,
587
- "image-fit": "cover",
588
- label: "",
589
- "aspect-ratio": "16/9",
590
- accept: ".png, .jpg, .jpeg, .gif",
591
- "recommended-size": "Recommended 16:9 ratio / 1280px x 720px",
592
- "onUpdate:file": H
593
- })) : O("", !0)
594
- ]),
595
- _: 2
596
- }, [
597
- n(g) ? {
598
- name: "side-sheet-footer",
599
- fn: C(() => [
600
- _("div", pn, [
601
- d(u, {
602
- label: "Save",
603
- onClick: T,
604
- disabled: !n(b)
605
- }, null, 8, ["disabled"]),
606
- d(u, {
607
- label: "Cancel",
608
- type: "button",
609
- variant: "tertiary",
610
- onClick: o[1] || (o[1] = (t) => g.value = !1)
611
- })
612
- ])
613
- ]),
614
- key: "1"
615
- } : {
616
- name: "side-sheet-footer",
617
- fn: C(() => [
618
- _("div", dn, [
619
- d(u, {
620
- label: "Add Design",
621
- onClick: P
622
- }),
623
- d(u, {
624
- label: "Cancel",
625
- type: "button",
626
- variant: "tertiary",
627
- onClick: o[0] || (o[0] = (t) => D.value = !1)
628
- })
629
- ])
630
- ]),
631
- key: "0"
632
- }
633
- ]), 1032, ["modelValue"]);
634
- };
635
- }
636
- }), U = {
637
- sortBy: "_id",
638
- descending: !1,
639
- rowsPerPage: 1e3,
640
- page: 1,
641
- rowsNumber: 0
642
- }, { minor: un } = W;
643
- async function _n({
644
- exporter: e,
645
- readFunction: a,
646
- transformRecord: c,
647
- filename: R
648
- }) {
649
- const v = (await a({
650
- limit: 1,
651
- skip: 0,
652
- sortBy: U.sortBy,
653
- descending: U.descending
654
- })).meta.totalResources ?? 0, S = U.rowsPerPage;
655
- await un(
656
- async () => {
657
- for (let g = 0; g < v; g += S) {
658
- const A = {
659
- ...U,
660
- limit: S,
661
- skip: U.page - 1,
662
- sortBy: U.sortBy,
663
- descending: U.descending
664
- }, b = await a(A);
665
- for (const k of b.resources) {
666
- const r = c(k);
667
- e.addRecord(r);
668
- }
669
- U.page++;
670
- }
671
- await be(
672
- e.buildExcel(),
673
- `${R}-${(/* @__PURE__ */ new Date()).toISOString()}.xlsx`,
674
- {
675
- bookType: "xlsx",
676
- bookSST: !1,
677
- type: "array"
678
- }
679
- ), U.page = 1;
680
- },
681
- {
682
- message: `Exporting ${R}...`,
683
- successMessage: `${R} exported successfully`
684
- }
685
- );
686
- }
687
- async function fn() {
688
- return _n({
689
- exporter: new he(),
690
- readFunction: q.readCards,
691
- transformRecord: (e) => {
692
- var a, c;
693
- return {
694
- CardNumber: e.serialNumber || "",
695
- MemberId: ((a = e.pf_member) == null ? void 0 : a._id.toString()) || "",
696
- Phone: ((c = e.pf_member) == null ? void 0 : c.phoneNumber) || "",
697
- RedeemedAt: e.redeemedAt ? oe(e.redeemedAt).format("DD/MM/YYYY") : ""
698
- };
699
- },
700
- filename: "cards"
701
- });
702
- }
703
- const gn = { class: "flex items-center" }, bn = /* @__PURE__ */ _("span", { class: "fm-typo-en-title-sm-800" }, " Card ", -1), hn = { class: "px-24 flex flex-col pb-24 gap-y-16" }, vn = { class: "flex items-center justify-end" }, En = /* @__PURE__ */ _("img", {
704
- src: Ie,
705
- class: "aspect-square w-[150px]"
706
- }, null, -1), kn = /* @__PURE__ */ _("div", { class: "flex flex-col gap-16 text-center" }, [
707
- /* @__PURE__ */ _("div", { class: "fm-typo-en-title-sm-800" }, "Create member card"),
708
- /* @__PURE__ */ _("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Track and manage member card to keep customers engaged with your business. ")
709
- ], -1), Sn = {
710
- key: 0,
711
- class: "flex gap-x-8"
712
- }, Tn = {
713
- key: 1,
714
- class: "fm-typo-en-title-sm-800 text-fm-color-primary"
715
- }, zn = /* @__PURE__ */ se({
716
- __name: "Card",
717
- setup(e) {
718
- const { minor: a, global: c } = W, R = E(), v = E(), S = He(), g = re(), A = G(
719
- () => g.sortedStoreCategories.flatMap((i) => i.bundles)
720
- ), b = [
721
- {
722
- header: "Card Number",
723
- accessorFn: (i) => i.serialNumber
724
- },
725
- {
726
- header: "Redeemed by",
727
- accessorKey: "user",
728
- enableSorting: !1,
729
- cell(i) {
730
- const o = i.row.original.pf_member;
731
- return J(
732
- "div",
733
- {
734
- class: "flex items-center gap-x-8"
735
- },
736
- [
737
- J(Ne.FmAvatar, {
738
- name: o != null && o.photoUrl || o == null ? void 0 : o.name,
739
- src: (o == null ? void 0 : o.photoUrl) ?? void 0,
740
- size: "sm"
741
- }),
742
- J("span", { class: "fm-typo-en-body-sm-400" }, o == null ? void 0 : o.name)
743
- ]
744
- );
745
- }
746
- },
747
- {
748
- header: "Phone",
749
- accessorFn: (i) => {
750
- var o;
751
- return ((o = i.pf_member) == null ? void 0 : o.phoneNumber) || "-";
752
- },
753
- accessorKey: "pf_member.phoneNumber"
754
- },
755
- {
756
- header: "Created at",
757
- accessorKey: "_id",
758
- accessorFn: (i) => oe(Ve(i._id.toString())).format("DD MMM YYYY hh:mmA")
759
- },
760
- {
761
- header: "Bundle",
762
- accessorFn: (i) => {
763
- var o;
764
- return ((o = A.value.find((u) => u._id === i.bundle)) == null ? void 0 : o.name) || "-";
765
- }
766
- },
767
- {
768
- header: "Redeemed at",
769
- accessorKey: "redeemedAt",
770
- accessorFn: (i) => i.redeemedAt ? oe(i.redeemedAt).format("DD MMM YYYY hh:mmA") : "-"
771
- }
772
- ], { tableMeta: k, rowData: r, onSort: D, debouncedFetchData: B, onSearch: P } = Fe(q.readCards);
773
- async function T() {
774
- var i;
775
- await B(), (i = R.value) == null || i.showSheet(!1);
776
- }
777
- const H = G(() => S.isPremium ? [
778
- {
779
- label: "Create cards",
780
- value: "create",
781
- isPrimary: !0
782
- },
783
- {
784
- label: "Manage Design",
785
- value: "design",
786
- isPrimary: !0
787
- }
788
- ] : []);
789
- async function F(i) {
790
- const o = new he(), u = i.map((p) => ({
791
- CardNumber: p
792
- }));
793
- o.addRecords(u), await be(
794
- o.buildExcel(),
795
- `cards-${(/* @__PURE__ */ new Date()).toISOString()}.xlsx`,
796
- {
797
- bookType: "xlsx",
798
- bookSST: !1,
799
- type: "array"
800
- }
801
- );
802
- }
803
- return ae(async () => {
804
- await c(async () => {
805
- await S.readPremium(), await g.readMemberStore(), await g.readMembership(), await T();
806
- });
807
- }), (i, o) => {
808
- const u = h("FmChip"), p = h("FmPageHead"), t = h("FmSearch"), I = h("FmButton"), V = h("FmCard");
809
- return m(), x(M, null, [
810
- d(p, {
811
- title: "Card",
812
- actions: n(H),
813
- "onClick:action": o[0] || (o[0] = (f) => {
814
- var $, K;
815
- console.log(f), f === "design" && (($ = n(v)) == null || $.showSheet(!0)), f === "create" && ((K = n(R)) == null || K.showSheet(!0));
816
- })
817
- }, {
818
- title: C(() => [
819
- _("div", gn, [
820
- bn,
821
- n(S).isPremium ? O("", !0) : (m(), N(u, {
822
- key: 0,
823
- class: "ml-8 fm-text-color-primary",
824
- label: "Premium"
825
- }))
826
- ])
827
- ]),
828
- _: 1
829
- }, 8, ["actions"]),
830
- _("div", hn, [
831
- n(r).length > 0 || n(r).length <= 0 && n(k).searchValue || n(k).pageCount > 0 ? (m(), x(M, { key: 0 }, [
832
- _("div", vn, [
833
- d(t, {
834
- class: "mt-4",
835
- modelValue: n(k).searchValue,
836
- "onUpdate:modelValue": [
837
- o[1] || (o[1] = (f) => n(k).searchValue = f),
838
- n(P)
839
- ],
840
- placeholder: "Search",
841
- collapsible: ""
842
- }, null, 8, ["modelValue", "onUpdate:modelValue"]),
843
- d(I, {
844
- icon: "ios_share",
845
- variant: "tertiary",
846
- onClick: xe(n(fn), ["prevent"])
847
- }, null, 8, ["onClick"])
848
- ]),
849
- d(Me, {
850
- loading: n(k).isLoading,
851
- "row-data": n(r),
852
- "row-count": n(k).totalRows,
853
- "column-defs": b,
854
- "shrink-at": !1,
855
- "page-count": n(k).pageCount,
856
- "page-index": n(k).pageIndex,
857
- "page-size": n(k).pageSize,
858
- onSortChange: n(D),
859
- onPageChange: o[2] || (o[2] = (f) => {
860
- n(B)({
861
- pageSize: f.pageSize,
862
- pageIndex: f.pageIndex
863
- });
864
- })
865
- }, null, 8, ["loading", "row-data", "row-count", "page-count", "page-index", "page-size", "onSortChange"])
866
- ], 64)) : (m(), N(V, {
867
- key: 1,
868
- variant: "outlined",
869
- class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
870
- }, {
871
- default: C(() => [
872
- En,
873
- kn,
874
- n(S).isPremium ? (m(), x("div", Sn, [
875
- d(I, {
876
- variant: "primary",
877
- label: "Add Card",
878
- icon: "add",
879
- onClick: o[3] || (o[3] = () => {
880
- var f;
881
- return (f = n(R)) == null ? void 0 : f.showSheet(!0);
882
- })
883
- }),
884
- d(I, {
885
- variant: "secondary",
886
- label: "Manage Design",
887
- onClick: o[4] || (o[4] = () => {
888
- var f;
889
- return (f = n(v)) == null ? void 0 : f.showSheet(!0);
890
- })
891
- })
892
- ])) : (m(), x("div", Tn, " Go premium and enjoy all features. "))
893
- ]),
894
- _: 1
895
- })),
896
- d(nn, {
897
- ref_key: "sheetRef",
898
- ref: R,
899
- onSuccess: T,
900
- onExport: F
901
- }, null, 512),
902
- d(cn, {
903
- ref_key: "designSheetRef",
904
- ref: v,
905
- onSuccess: T
906
- }, null, 512)
907
- ])
908
- ], 64);
909
- };
910
- }
911
- });
912
- export {
913
- zn as default
914
- };