@feedmepos/mf-connect 0.0.10-prod → 0.0.11-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.
- package/dist/{Analytic-BFeicKpw.js → Analytic-CpXLcGWV.js} +7 -7
- package/dist/{Broadcast-D0NyeAPC.js → Broadcast-CEMQS5PI.js} +7 -7
- package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DAUidvXJ.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-D0Kvpl_V.js} +8 -8
- package/dist/{Card-DsFHDP5R.js → Card-BqX-aRK9.js} +177 -182
- package/dist/{Collections-mc47YFfd.js → Collections-SRmluAj0.js} +102 -84
- package/dist/{Credit-TQYanlxz.js → Credit-DdBKFsII.js} +7 -7
- package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BYNpBySQ.js +2600 -0
- package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-kA-uGqCI.js → EffectSheet.vue_vue_type_style_index_0_lang-admNNBWu.js} +1864 -1830
- package/dist/{Experience-CyASWXXY.js → Experience-CSfRrWqI.js} +7 -7
- package/dist/Game-BV--qn0e.js +250 -0
- package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-D-wHmyMe.js → ImageInput.vue_vue_type_script_setup_true_lang-DpYjrT3G.js} +1 -1
- package/dist/{MainLayout-zw-S_EV5.js → MainLayout-B_ZXQrMD.js} +1 -1
- package/dist/{Marketing-BcmbBw-5.js → Marketing-Bac3EbOu.js} +4 -4
- package/dist/{Member-DWRIIPj-.js → Member-CGMRVEuI.js} +2 -2
- package/dist/{MemberList-DNG0mNej.js → MemberList-CSyb4bNE.js} +196 -195
- package/dist/{MemberTransactions-xdm0zGuQ.js → MemberTransactions-BdraBHg6.js} +2 -2
- package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-Bqs3tfs_.js → MessageInput.vue_vue_type_script_setup_true_lang-BvAFOoym.js} +2 -2
- package/dist/Mission-D8-D99g-.js +248 -0
- package/dist/Point-BOI4mT-K.js +220 -0
- package/dist/{Promotion-DlxqsZFt.js → Promotion-D0MLMo9m.js} +8 -8
- package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-DcLK4o-E.js → RuleGroup.vue_vue_type_script_setup_true_lang-1L68zx5t.js} +58 -58
- package/dist/Segment-BeUbkVj7.js +444 -0
- package/dist/{Setting-CWftoE15.js → Setting-uM4iKdyM.js} +386 -379
- package/dist/{Store-jqibjN4j.js → Store-BkccNTnM.js} +432 -413
- package/dist/{StoreRewards-DWbp79R_.js → StoreRewards-BLgP6Mfv.js} +9 -9
- package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-b21Sy462.js → StoreTransactions.vue_vue_type_script_setup_true_lang-Z0nqQyi8.js} +39 -38
- package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-BUOfEY4s.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-C771jjYx.js} +1 -1
- package/dist/{Tier-lymEcCqJ.js → Tier-DwKAfz6f.js} +17 -16
- package/dist/{Title-CYkql8-l.js → Title-B1_yd9pC.js} +16 -15
- package/dist/{Transaction-Ca_AVh3S.js → Transaction-DcVCMUY4.js} +1 -1
- package/dist/{Voucher-DX70cORv.js → Voucher-Djvai5vL.js} +9 -9
- package/dist/{app-Bpd1FsZZ.js → app-BvizV9z5.js} +2757 -2743
- package/dist/app.js +1 -1
- package/dist/{campaign-CfsRf50J.js → campaign-BdSwq7MJ.js} +31 -27
- package/dist/dto-CkH5Zama.js +1150 -0
- package/dist/{effect-CiUKauPm.js → effect-DT4ivttr.js} +1 -1
- package/dist/{export-oV5_2WhN.js → export-BAJL8_2G.js} +3 -3
- package/dist/{helper-dCIRT9Az.js → helper-CiIZ1pUo.js} +21 -8
- package/dist/{index-Qqifr9f8.js → index-7uOMMdXt.js} +245 -184
- package/dist/{index-BL_KPUtI.js → index-8nrxC9d5.js} +1 -1
- package/dist/{index-De3pocAb.js → index-B5gJ6P15.js} +269 -21
- package/dist/{index-DL_XK8dd.js → index-BLWw_MlC.js} +1363 -1341
- package/dist/{index-D9opigZA.js → index-C5N8jeJ1.js} +1 -1
- package/dist/{index-Dd41k099.js → index-C8dIiNQb.js} +1 -1
- package/dist/{index-XTz7nzez.js → index-Ccn7PGoB.js} +268 -267
- package/dist/{index-BYvX1Aa7.js → index-CjZxaXvZ.js} +69 -64
- package/dist/{index-BgPP5w8f.js → index-DCs4-zXS.js} +7 -17
- package/dist/{index-C8kJRh0b.js → index-DMyaEjMn.js} +26 -20
- package/dist/{loading-Baon-6K7.js → loading-C1IzY-n2.js} +1312 -1312
- package/dist/{lodash-C7zZd2mb.js → lodash-BMQ4xbjY.js} +1 -1
- package/dist/membership-D3I4udu3.js +221 -0
- package/dist/{money-CI5RX_Uc.js → money-BQEcWGhZ.js} +1 -1
- package/dist/{number-BD3GORAT.js → number-DGx2QPUy.js} +1 -1
- package/dist/{rule-BnlZjqSN.js → rule-CvlhLEGy.js} +2 -2
- package/dist/{rule-builder-Qvpo2dS_.js → rule-builder-Di3qiIBb.js} +1 -1
- package/dist/{template-CG_Y7BYa.js → template-D6Abrya4.js} +5 -5
- package/dist/{usePagination-BHEEnWBL.js → usePagination-MhbjQgN7.js} +1 -1
- package/dist/{xlsx-DQZIpY73.js → xlsx-mL_3T1k3.js} +226 -226
- package/package.json +2 -2
- package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BtEHnivB.js +0 -2002
- package/dist/Game-Tek__-5h.js +0 -242
- package/dist/Point-C1mfq_Fd.js +0 -211
- package/dist/Segment-BLMz7i-L.js +0 -407
- package/dist/dto-COz9T0F3.js +0 -1092
- package/dist/membership-Cg82yybg.js +0 -210
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as m, ref as i, resolveComponent as p, openBlock as t, createElementBlock as _, createVNode as d, unref as e, createBlock as r, createCommentVNode as f } from "vue";
|
|
2
|
-
import { _ as v, a as b } from "./StoreTransactions.vue_vue_type_script_setup_true_lang-
|
|
3
|
-
import { R as k } from "./app-
|
|
2
|
+
import { _ as v, a as b } from "./StoreTransactions.vue_vue_type_script_setup_true_lang-Z0nqQyi8.js";
|
|
3
|
+
import { R as k } from "./app-BvizV9z5.js";
|
|
4
4
|
const x = { class: "flex flex-col gap-y-32 pb-24" }, V = /* @__PURE__ */ m({
|
|
5
5
|
__name: "MemberTransactions",
|
|
6
6
|
setup(C) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as M, ref as C, computed as E, onMounted as D, resolveComponent as l, openBlock as p, createElementBlock as v, createElementVNode as m, createVNode as c, unref as u, withCtx as h, createTextVNode as F, toDisplayString as T, Fragment as j, renderList as k, createBlock as U } from "vue";
|
|
2
|
-
import { p as A } from "./loading-
|
|
3
|
-
import { r as B } from "./index-
|
|
2
|
+
import { p as A } from "./loading-C1IzY-n2.js";
|
|
3
|
+
import { r as B } from "./index-7uOMMdXt.js";
|
|
4
4
|
const L = {
|
|
5
5
|
"user.name": {
|
|
6
6
|
name: "User name"
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { defineComponent as j, ref as I, computed as A, onMounted as D, resolveComponent as r, openBlock as c, createElementBlock as _, Fragment as h, createVNode as i, unref as a, createElementVNode as s, withCtx as w, renderList as E, createBlock as x, resolveDynamicComponent as H, toDisplayString as y, h as m } from "vue";
|
|
2
|
+
import { _ as q } from "./campaign-CpzFl8Vr.js";
|
|
3
|
+
import { useDialog as z, components as C } from "@feedmepos/ui-library";
|
|
4
|
+
import { u as G, a as J, p as Q } from "./loading-C1IzY-n2.js";
|
|
5
|
+
import { a as W } from "./app-BvizV9z5.js";
|
|
6
|
+
import { u as X } from "./campaign-BdSwq7MJ.js";
|
|
7
|
+
import { g as M, b as V } from "./dto-CkH5Zama.js";
|
|
8
|
+
import { _ as Y } from "./ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js";
|
|
9
|
+
import { _ as Z } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-BYNpBySQ.js";
|
|
10
|
+
import { u as ee } from "./template-D6Abrya4.js";
|
|
11
|
+
import { s as oe } from "./index-CuvNtC_M.js";
|
|
12
|
+
import { c as g } from "./index-DCs4-zXS.js";
|
|
13
|
+
const te = { class: "px-24 flex flex-col gap-y-16" }, ae = { class: "flex items-center justify-between w-full" }, se = { class: "flex gap-8 overflow-x-auto" }, ne = { class: "space-y-8" }, ie = { class: "flex w-full gap-4 items-center" }, re = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, le = { class: "space-y-4" }, ce = { class: "fm-typo-en-body-lg-600" }, me = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, de = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ue = /* @__PURE__ */ s("img", {
|
|
14
|
+
src: q,
|
|
15
|
+
class: "aspect-square w-[150px]"
|
|
16
|
+
}, null, -1), pe = /* @__PURE__ */ s("div", { class: "flex flex-col gap-16 text-center" }, [
|
|
17
|
+
/* @__PURE__ */ s("div", { class: "fm-typo-en-title-sm-800" }, "Create your mission program"),
|
|
18
|
+
/* @__PURE__ */ s("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " The mission feature adds a fun element to shopping, encouraging customers to engage more. ")
|
|
19
|
+
], -1), Ie = /* @__PURE__ */ j({
|
|
20
|
+
__name: "Mission",
|
|
21
|
+
setup(fe) {
|
|
22
|
+
const L = {
|
|
23
|
+
label: "Create campaign",
|
|
24
|
+
value: "create",
|
|
25
|
+
isPrimary: !0,
|
|
26
|
+
prependIcon: "add"
|
|
27
|
+
}, B = ee("MISSION", z()), $ = W(), l = X(), { global: K, minor: b } = G, n = I({
|
|
28
|
+
searchKey: "",
|
|
29
|
+
location: null
|
|
30
|
+
}), d = A(
|
|
31
|
+
() => l.campaigns.mission.filter(
|
|
32
|
+
(e) => !n.value.location || !e.targetLocation || e.targetLocation.includes(n.value.location)
|
|
33
|
+
)
|
|
34
|
+
), R = [
|
|
35
|
+
{
|
|
36
|
+
header: "Program title",
|
|
37
|
+
accessorKey: "name",
|
|
38
|
+
// accessorFn: (v) => v.name,
|
|
39
|
+
cell(e) {
|
|
40
|
+
return m("div", { class: "flex items-center justify-between gap-4" }, [
|
|
41
|
+
m("div", { class: "flex items-center" }, [
|
|
42
|
+
m(
|
|
43
|
+
C.FmTooltip,
|
|
44
|
+
{
|
|
45
|
+
content: e.row.original._id,
|
|
46
|
+
onClick: (o) => {
|
|
47
|
+
o.stopPropagation(), J(e.row.original._id);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
[
|
|
51
|
+
m(C.FmIcon, {
|
|
52
|
+
name: "info",
|
|
53
|
+
outline: !0,
|
|
54
|
+
size: "sm"
|
|
55
|
+
})
|
|
56
|
+
]
|
|
57
|
+
)
|
|
58
|
+
]),
|
|
59
|
+
m("div", { class: "flex-1" }, e.row.original.name)
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
header: "Mission type",
|
|
65
|
+
accessorFn: (e) => oe(e.mission.type)
|
|
66
|
+
//v.effect,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
header: "Status",
|
|
70
|
+
cell(e) {
|
|
71
|
+
return M(e.row.original);
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
header: "Summary",
|
|
76
|
+
accessorFn: (e) => V(e)
|
|
77
|
+
//v.effect,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
header: "Missions received",
|
|
81
|
+
accessorFn: (e) => {
|
|
82
|
+
var o;
|
|
83
|
+
return ((o = e == null ? void 0 : e.pf_collectible) == null ? void 0 : o.currentReceive) ?? 0;
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
header: "Actions",
|
|
88
|
+
cell(e) {
|
|
89
|
+
return m(C.FmButton, {
|
|
90
|
+
variant: "tertiary",
|
|
91
|
+
icon: "delete",
|
|
92
|
+
iconColor: "neutral-gray-400",
|
|
93
|
+
onClick: (o) => {
|
|
94
|
+
o.stopPropagation(), S(e.row.original);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
], v = I();
|
|
100
|
+
async function S(e) {
|
|
101
|
+
await Q.remove(`Are you sure you want to remove ${e.name}?`) && await b(
|
|
102
|
+
async () => {
|
|
103
|
+
await g.delete(e._id), await l.read("MISSION");
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
message: `Removing ${e.name}`,
|
|
107
|
+
successMessage: `Removed ${e.name} successfully`
|
|
108
|
+
}
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
async function f(e) {
|
|
112
|
+
e ? await o() : B.open(async (u) => {
|
|
113
|
+
await o(u);
|
|
114
|
+
});
|
|
115
|
+
async function o(u) {
|
|
116
|
+
var p;
|
|
117
|
+
(p = v.value) == null || p.showSheet(
|
|
118
|
+
!0,
|
|
119
|
+
"MISSION",
|
|
120
|
+
e ? await g.readById(e._id) : void 0,
|
|
121
|
+
u
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async function N(e) {
|
|
126
|
+
await b(
|
|
127
|
+
async () => {
|
|
128
|
+
e.campaign._id ? await g.update(e.campaign._id, e) : await g.create(e), await l.read("MISSION");
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
message: `${e.campaign._id ? "Updating" : "Creating"} Mission program`,
|
|
132
|
+
successMessage: `Mission program ${e.campaign._id ? "updated" : "created"} successfully`
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
return D(async () => {
|
|
137
|
+
await K(async () => {
|
|
138
|
+
await l.read("MISSION"), console.log(d);
|
|
139
|
+
});
|
|
140
|
+
}), (e, o) => {
|
|
141
|
+
const u = r("FmPageHead"), p = r("FmSearch"), P = r("FmTable"), F = r("FmButton"), T = r("FmListItem"), O = r("FmList"), U = r("FmCard");
|
|
142
|
+
return c(), _(h, null, [
|
|
143
|
+
i(u, {
|
|
144
|
+
title: "Mission",
|
|
145
|
+
actions: a(d).length > 0 ? [L] : [],
|
|
146
|
+
"onClick:action": o[0] || (o[0] = () => f())
|
|
147
|
+
}, null, 8, ["actions"]),
|
|
148
|
+
s("div", te, [
|
|
149
|
+
i(p, {
|
|
150
|
+
modelValue: a(n).searchKey,
|
|
151
|
+
"onUpdate:modelValue": o[1] || (o[1] = (t) => a(n).searchKey = t),
|
|
152
|
+
class: "hidden xs:block border-b-2 border-fm-color-neutral-gray-100",
|
|
153
|
+
placeholder: "search",
|
|
154
|
+
collapsible: ""
|
|
155
|
+
}, null, 8, ["modelValue"]),
|
|
156
|
+
a(l).campaigns.mission && a(l).campaigns.mission.length > 0 ? (c(), _(h, { key: 0 }, [
|
|
157
|
+
s("div", ae, [
|
|
158
|
+
s("div", se, [
|
|
159
|
+
i(Y, {
|
|
160
|
+
modelValue: a(n).location,
|
|
161
|
+
"onUpdate:modelValue": o[2] || (o[2] = (t) => a(n).location = t),
|
|
162
|
+
label: "Location: ",
|
|
163
|
+
"show-item-label": !0,
|
|
164
|
+
icon: "storefront",
|
|
165
|
+
placement: "bottom-start",
|
|
166
|
+
items: a($).locationItems
|
|
167
|
+
}, null, 8, ["modelValue", "items"])
|
|
168
|
+
]),
|
|
169
|
+
i(p, {
|
|
170
|
+
modelValue: a(n).searchKey,
|
|
171
|
+
"onUpdate:modelValue": o[3] || (o[3] = (t) => a(n).searchKey = t),
|
|
172
|
+
class: "xs:hidden",
|
|
173
|
+
placeholder: "search",
|
|
174
|
+
collapsible: ""
|
|
175
|
+
}, null, 8, ["modelValue"])
|
|
176
|
+
]),
|
|
177
|
+
i(P, {
|
|
178
|
+
class: "xs:hidden",
|
|
179
|
+
"row-data": a(d),
|
|
180
|
+
"column-defs": R,
|
|
181
|
+
"search-value": a(n).searchKey,
|
|
182
|
+
"column-filter": [],
|
|
183
|
+
onRowClick: o[4] || (o[4] = (t) => f(t.original)),
|
|
184
|
+
"hide-footer": a(d).length < 10
|
|
185
|
+
}, null, 8, ["row-data", "search-value", "hide-footer"]),
|
|
186
|
+
i(O, { class: "hidden xs:flex flex-col mx-[-24px]" }, {
|
|
187
|
+
default: w(() => [
|
|
188
|
+
(c(!0), _(h, null, E(a(d).filter(
|
|
189
|
+
(t) => t.name.toLowerCase().includes(a(n).searchKey.toLowerCase())
|
|
190
|
+
), (t) => (c(), x(T, {
|
|
191
|
+
key: t._id.toString(),
|
|
192
|
+
onClick: (k) => f(t),
|
|
193
|
+
class: "py-12 px-16 flex items-center justify-between border-b border-fm-color-neutral-gray-100"
|
|
194
|
+
}, {
|
|
195
|
+
default: w(() => [
|
|
196
|
+
s("div", ne, [
|
|
197
|
+
s("div", ie, [
|
|
198
|
+
(c(), x(H(a(M)(t)))),
|
|
199
|
+
s("div", re, y(t.currentReceive ?? 0) + " used ", 1)
|
|
200
|
+
]),
|
|
201
|
+
s("div", le, [
|
|
202
|
+
s("div", ce, y(t.name), 1),
|
|
203
|
+
s("div", me, y(a(V)(t)), 1)
|
|
204
|
+
]),
|
|
205
|
+
s("div", de, " Token received: " + y(t.currentReceive ?? 0), 1)
|
|
206
|
+
]),
|
|
207
|
+
i(F, {
|
|
208
|
+
icon: "delete",
|
|
209
|
+
"icon-color": "neutral-gray-400",
|
|
210
|
+
variant: "tertiary",
|
|
211
|
+
onClick: (k) => (k.stopPropagation(), S(t))
|
|
212
|
+
}, null, 8, ["onClick"])
|
|
213
|
+
]),
|
|
214
|
+
_: 2
|
|
215
|
+
}, 1032, ["onClick"]))), 128))
|
|
216
|
+
]),
|
|
217
|
+
_: 1
|
|
218
|
+
})
|
|
219
|
+
], 64)) : (c(), x(U, {
|
|
220
|
+
key: 1,
|
|
221
|
+
variant: "outlined",
|
|
222
|
+
class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
|
|
223
|
+
}, {
|
|
224
|
+
default: w(() => [
|
|
225
|
+
ue,
|
|
226
|
+
pe,
|
|
227
|
+
i(F, {
|
|
228
|
+
variant: "primary",
|
|
229
|
+
label: "Create Mission program",
|
|
230
|
+
icon: "add",
|
|
231
|
+
onClick: o[5] || (o[5] = (t) => f())
|
|
232
|
+
})
|
|
233
|
+
]),
|
|
234
|
+
_: 1
|
|
235
|
+
})),
|
|
236
|
+
i(Z, {
|
|
237
|
+
ref_key: "sheetRef",
|
|
238
|
+
ref: v,
|
|
239
|
+
"onSubmit:modelValue": N
|
|
240
|
+
}, null, 512)
|
|
241
|
+
])
|
|
242
|
+
], 64);
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
export {
|
|
247
|
+
Ie as default
|
|
248
|
+
};
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { defineComponent as D, ref as S, computed as T, onMounted as j, resolveComponent as l, openBlock as c, createElementBlock as g, Fragment as h, createVNode as i, unref as o, withCtx as f, createElementVNode as n, renderList as E, createBlock as C, resolveDynamicComponent as M, toDisplayString as y, h as H } from "vue";
|
|
2
|
+
import { _ as q } from "./campaign-CpzFl8Vr.js";
|
|
3
|
+
import { useDialog as z, components as G } from "@feedmepos/ui-library";
|
|
4
|
+
import { u as J, p as Q } from "./loading-C1IzY-n2.js";
|
|
5
|
+
import { a as W } from "./app-BvizV9z5.js";
|
|
6
|
+
import { u as X } from "./campaign-BdSwq7MJ.js";
|
|
7
|
+
import { g as V, b as L } from "./dto-CkH5Zama.js";
|
|
8
|
+
import { _ as Y } from "./ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js";
|
|
9
|
+
import { _ as Z } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-BYNpBySQ.js";
|
|
10
|
+
import { u as ee } from "./template-D6Abrya4.js";
|
|
11
|
+
import { c as _ } from "./index-DCs4-zXS.js";
|
|
12
|
+
const te = { class: "flex items-center" }, oe = /* @__PURE__ */ n("span", { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2 mr-8" }, "Point", -1), ae = { class: "px-24 flex flex-col gap-y-16" }, ne = { class: "flex items-center justify-between w-full" }, se = { class: "flex gap-8 overflow-x-auto" }, ie = { class: "space-y-8" }, le = { class: "flex w-full gap-4 items-center" }, re = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ce = { class: "space-y-4" }, me = { class: "fm-typo-en-body-lg-600" }, de = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, pe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ue = /* @__PURE__ */ n("img", {
|
|
13
|
+
src: q,
|
|
14
|
+
class: "aspect-square w-[150px]"
|
|
15
|
+
}, null, -1), fe = /* @__PURE__ */ n("div", { class: "flex flex-col gap-16 text-center" }, [
|
|
16
|
+
/* @__PURE__ */ n("div", { class: "fm-typo-en-title-sm-800" }, "Create your point program"),
|
|
17
|
+
/* @__PURE__ */ n("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Points are virtual point that customers can earn and use to purchase bundle items. ")
|
|
18
|
+
], -1), Se = /* @__PURE__ */ D({
|
|
19
|
+
__name: "Point",
|
|
20
|
+
setup(ye) {
|
|
21
|
+
const I = {
|
|
22
|
+
label: "Create campaign",
|
|
23
|
+
value: "create",
|
|
24
|
+
isPrimary: !0,
|
|
25
|
+
prependIcon: "add"
|
|
26
|
+
}, B = ee("COIN", z()), v = W(), r = X(), { global: $, minor: w } = J, s = S({
|
|
27
|
+
searchKey: "",
|
|
28
|
+
location: null
|
|
29
|
+
}), d = T(
|
|
30
|
+
() => r.campaigns.point.filter(
|
|
31
|
+
(e) => !s.value.location || !e.targetLocation || e.targetLocation.includes(s.value.location)
|
|
32
|
+
)
|
|
33
|
+
), K = [
|
|
34
|
+
{
|
|
35
|
+
header: "Program title",
|
|
36
|
+
accessorFn: (e) => e.name
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
header: "Status",
|
|
40
|
+
cell(e) {
|
|
41
|
+
return V(e.row.original);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
header: "Summary",
|
|
46
|
+
accessorFn: (e) => L(e)
|
|
47
|
+
//v.effect,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
header: "Actions",
|
|
51
|
+
cell(e) {
|
|
52
|
+
return H(G.FmButton, {
|
|
53
|
+
variant: "tertiary",
|
|
54
|
+
icon: "delete",
|
|
55
|
+
iconColor: "neutral-gray-400",
|
|
56
|
+
onClick: (a) => {
|
|
57
|
+
a.stopPropagation(), b(e.row.original);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
], x = S();
|
|
63
|
+
async function b(e) {
|
|
64
|
+
await Q.remove(`Are you sure you want to remove ${e.name}?`) && await w(
|
|
65
|
+
async () => {
|
|
66
|
+
await _.delete(e._id), await r.read("COIN");
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
message: `Removing ${e.name}`,
|
|
70
|
+
successMessage: `Removed ${e.name} successfully`
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
async function p(e) {
|
|
75
|
+
e ? await a() : B.open(async (m) => {
|
|
76
|
+
await a(m);
|
|
77
|
+
});
|
|
78
|
+
async function a(m) {
|
|
79
|
+
var u;
|
|
80
|
+
(u = x.value) == null || u.showSheet(
|
|
81
|
+
!0,
|
|
82
|
+
"COIN",
|
|
83
|
+
e ? await _.readById(e._id) : void 0,
|
|
84
|
+
m
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async function N(e) {
|
|
89
|
+
await w(
|
|
90
|
+
async () => {
|
|
91
|
+
e.campaign._id ? await _.update(e.campaign._id, e) : await _.create(e), await r.read("COIN");
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
message: `${e.campaign._id ? "Updating" : "Creating"} point program`,
|
|
95
|
+
successMessage: `Point program ${e.campaign._id ? "updated" : "created"} successfully`
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
return j(async () => {
|
|
100
|
+
await $(async () => {
|
|
101
|
+
await r.read("COIN");
|
|
102
|
+
});
|
|
103
|
+
}), (e, a) => {
|
|
104
|
+
const m = l("FmPill"), u = l("FmPageHead"), F = l("FmSearch"), R = l("FmTable"), k = l("FmButton"), O = l("FmListItem"), U = l("FmList"), A = l("FmCard");
|
|
105
|
+
return c(), g(h, null, [
|
|
106
|
+
i(u, {
|
|
107
|
+
title: "Point",
|
|
108
|
+
actions: o(d).length > 0 ? [I] : [],
|
|
109
|
+
"onClick:action": a[0] || (a[0] = () => p())
|
|
110
|
+
}, {
|
|
111
|
+
title: f(() => [
|
|
112
|
+
n("div", te, [
|
|
113
|
+
oe,
|
|
114
|
+
i(m, { variant: "premium" })
|
|
115
|
+
])
|
|
116
|
+
]),
|
|
117
|
+
_: 1
|
|
118
|
+
}, 8, ["actions"]),
|
|
119
|
+
n("div", ae, [
|
|
120
|
+
i(F, {
|
|
121
|
+
modelValue: o(s).searchKey,
|
|
122
|
+
"onUpdate:modelValue": a[1] || (a[1] = (t) => o(s).searchKey = t),
|
|
123
|
+
class: "hidden xs:block border-b-2 border-fm-color-neutral-gray-100",
|
|
124
|
+
placeholder: "search",
|
|
125
|
+
collapsible: ""
|
|
126
|
+
}, null, 8, ["modelValue"]),
|
|
127
|
+
o(r).campaigns.point && o(r).campaigns.point.length > 0 ? (c(), g(h, { key: 0 }, [
|
|
128
|
+
n("div", ne, [
|
|
129
|
+
n("div", se, [
|
|
130
|
+
i(Y, {
|
|
131
|
+
modelValue: o(s).location,
|
|
132
|
+
"onUpdate:modelValue": a[2] || (a[2] = (t) => o(s).location = t),
|
|
133
|
+
label: "Location: ",
|
|
134
|
+
"show-item-label": !0,
|
|
135
|
+
icon: "storefront",
|
|
136
|
+
placement: "bottom-start",
|
|
137
|
+
items: o(v).locationItems
|
|
138
|
+
}, null, 8, ["modelValue", "items"])
|
|
139
|
+
]),
|
|
140
|
+
i(F, {
|
|
141
|
+
modelValue: o(s).searchKey,
|
|
142
|
+
"onUpdate:modelValue": a[3] || (a[3] = (t) => o(s).searchKey = t),
|
|
143
|
+
class: "xs:hidden",
|
|
144
|
+
placeholder: "search",
|
|
145
|
+
collapsible: ""
|
|
146
|
+
}, null, 8, ["modelValue"])
|
|
147
|
+
]),
|
|
148
|
+
i(R, {
|
|
149
|
+
class: "xs:hidden",
|
|
150
|
+
"row-data": o(d),
|
|
151
|
+
"column-defs": K,
|
|
152
|
+
"search-value": o(s).searchKey,
|
|
153
|
+
"column-filter": [],
|
|
154
|
+
onRowClick: a[4] || (a[4] = (t) => p(t.original)),
|
|
155
|
+
"hide-footer": o(d).length < 10
|
|
156
|
+
}, null, 8, ["row-data", "search-value", "hide-footer"]),
|
|
157
|
+
i(U, { class: "hidden xs:flex flex-col mx-[-24px]" }, {
|
|
158
|
+
default: f(() => [
|
|
159
|
+
(c(!0), g(h, null, E(o(d).filter(
|
|
160
|
+
(t) => t.name.toLowerCase().includes(o(s).searchKey.toLowerCase())
|
|
161
|
+
), (t) => (c(), C(O, {
|
|
162
|
+
key: t._id.toString(),
|
|
163
|
+
onClick: (P) => p(t),
|
|
164
|
+
class: "py-12 px-16 flex items-center justify-between border-b border-fm-color-neutral-gray-100"
|
|
165
|
+
}, {
|
|
166
|
+
default: f(() => [
|
|
167
|
+
n("div", ie, [
|
|
168
|
+
n("div", le, [
|
|
169
|
+
(c(), C(M(o(V)(t)))),
|
|
170
|
+
n("div", re, y(t.currentReceive ?? 0) + " used ", 1)
|
|
171
|
+
]),
|
|
172
|
+
n("div", ce, [
|
|
173
|
+
n("div", me, y(t.name), 1),
|
|
174
|
+
n("div", de, y(o(L)(t)), 1)
|
|
175
|
+
]),
|
|
176
|
+
n("div", pe, " Point received: " + y(t.currentReceive ?? 0), 1)
|
|
177
|
+
]),
|
|
178
|
+
i(k, {
|
|
179
|
+
icon: "delete",
|
|
180
|
+
"icon-color": "neutral-gray-400",
|
|
181
|
+
variant: "tertiary",
|
|
182
|
+
onClick: (P) => (P.stopPropagation(), b(t))
|
|
183
|
+
}, null, 8, ["onClick"])
|
|
184
|
+
]),
|
|
185
|
+
_: 2
|
|
186
|
+
}, 1032, ["onClick"]))), 128))
|
|
187
|
+
]),
|
|
188
|
+
_: 1
|
|
189
|
+
})
|
|
190
|
+
], 64)) : (c(), C(A, {
|
|
191
|
+
key: 1,
|
|
192
|
+
variant: "outlined",
|
|
193
|
+
class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
|
|
194
|
+
}, {
|
|
195
|
+
default: f(() => [
|
|
196
|
+
ue,
|
|
197
|
+
fe,
|
|
198
|
+
i(k, {
|
|
199
|
+
variant: "primary",
|
|
200
|
+
label: "Create point program",
|
|
201
|
+
disabled: !o(v).isPremium,
|
|
202
|
+
icon: "add",
|
|
203
|
+
onClick: a[5] || (a[5] = (t) => p())
|
|
204
|
+
}, null, 8, ["disabled"])
|
|
205
|
+
]),
|
|
206
|
+
_: 1
|
|
207
|
+
})),
|
|
208
|
+
i(Z, {
|
|
209
|
+
ref_key: "sheetRef",
|
|
210
|
+
ref: x,
|
|
211
|
+
"onSubmit:modelValue": N
|
|
212
|
+
}, null, 512)
|
|
213
|
+
])
|
|
214
|
+
], 64);
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
export {
|
|
219
|
+
Se as default
|
|
220
|
+
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { defineComponent as A, ref as k, computed as D, onMounted as j, resolveComponent as i, openBlock as c, createElementBlock as g, Fragment as y, createVNode as s, unref as l, createElementVNode as a, withCtx as _, renderList as E, createBlock as h, resolveDynamicComponent as H, toDisplayString as P, h as q } from "vue";
|
|
2
2
|
import { _ as z } from "./campaign-CpzFl8Vr.js";
|
|
3
3
|
import { useDialog as G, components as J } from "@feedmepos/ui-library";
|
|
4
|
-
import { c as S, u as Q, p as W } from "./loading-
|
|
5
|
-
import { a as X } from "./app-
|
|
6
|
-
import { u as Y } from "./campaign-
|
|
7
|
-
import { g as O } from "./dto-
|
|
8
|
-
import { e as L } from "./effect-
|
|
4
|
+
import { c as S, u as Q, p as W } from "./loading-C1IzY-n2.js";
|
|
5
|
+
import { a as X } from "./app-BvizV9z5.js";
|
|
6
|
+
import { u as Y } from "./campaign-BdSwq7MJ.js";
|
|
7
|
+
import { g as O } from "./dto-CkH5Zama.js";
|
|
8
|
+
import { e as L } from "./effect-DT4ivttr.js";
|
|
9
9
|
import { _ as Z } from "./ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js";
|
|
10
|
-
import { _ as ee } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-
|
|
11
|
-
import { u as oe } from "./template-
|
|
12
|
-
import { c as f } from "./index-
|
|
10
|
+
import { _ as ee } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-BYNpBySQ.js";
|
|
11
|
+
import { u as oe } from "./template-D6Abrya4.js";
|
|
12
|
+
import { c as f } from "./index-DCs4-zXS.js";
|
|
13
13
|
const te = { class: "px-24 flex flex-col gap-y-16" }, ae = { class: "flex items-center justify-between w-full" }, ne = { class: "flex gap-8 overflow-x-auto" }, se = { class: "space-y-8" }, le = { class: "flex w-full gap-4 items-center" }, ie = { class: "space-y-4" }, re = { class: "fm-typo-en-body-lg-600" }, ce = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, me = /* @__PURE__ */ a("img", {
|
|
14
14
|
src: z,
|
|
15
15
|
class: "aspect-square w-[150px]"
|