@feedmepos/mf-connect 0.1.8-prod → 0.1.10-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-C5DiiAlc.js → Analytic-CpSbitWV.js} +24 -22
- package/dist/{App-B3pHa-zu.js → App-BPT8XzjX.js} +56 -51
- package/dist/{Broadcast-BbKiYeZC.js → Broadcast-CJHpiQeN.js} +8 -8
- package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CusmGpDT.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DUPqWdIm.js} +7 -8
- package/dist/Card-Bvn36zqZ.js +895 -0
- package/dist/{Collections-DvZEXknp.js → Collections-Bq6OxsJC.js} +24 -29
- package/dist/{Credit-CqjSUWeG.js → Credit-Dno_g7dW.js} +8 -8
- package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-DLnvDVgf.js +108 -0
- package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-Bzd-9d8d.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-cGbwORhw.js} +649 -1284
- package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-C73wNCE4.js → EffectSheet.vue_vue_type_style_index_0_lang-Ho7zwlbb.js} +20 -20
- package/dist/{Experience-BmCrc4-K.js → Experience-BC1qSIGO.js} +8 -8
- package/dist/{Game-CU4AHASb.js → Game-C_CKGMBW.js} +8 -8
- package/dist/Index-BXFaWTfw.js +255 -0
- package/dist/{Marketing-PJO3M5Xy.js → Marketing-Ni0WAie5.js} +5 -5
- package/dist/{Member-DChbb26Z.js → Member-djnisrK1.js} +4 -4
- package/dist/{MemberList-Ckvxgme7.js → MemberList-CclU-3B7.js} +194 -191
- package/dist/{MemberTransactions-KNlKr1DE.js → MemberTransactions-DVVsv3Ux.js} +1 -1
- package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-CDX1qdOw.js → MessageInput.vue_vue_type_script_setup_true_lang-khyDg1m4.js} +2 -2
- package/dist/Mission-Z5somdo_.js +273 -0
- package/dist/Overview-BvMVz3lQ.js +1074 -0
- package/dist/{Point-B-Ot-ZXU.js → Point-DdPukiTg.js} +8 -8
- package/dist/{Promotion-CKEfuwo0.js → Promotion-DCqdIwjG.js} +9 -9
- package/dist/Record-CvMxXm1B.js +337 -0
- package/dist/Reward-CiJHGXfQ.js +441 -0
- package/dist/RewardGroup.vue_vue_type_script_setup_true_lang-CrGCBRmH.js +150 -0
- package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-tnT6i0Jq.js +1638 -0
- package/dist/{Segment-B8JKn5_y.js → Segment-CQb3j-o0.js} +22 -21
- package/dist/SelectItems.vue_vue_type_script_setup_true_lang-B7YqIU5D.js +181 -0
- package/dist/{Setting-BcWDJ-63.js → Setting-91cK3ssU.js} +31 -31
- package/dist/Store-B-uldUKt.js +1744 -0
- package/dist/{StoreRewards-DyfFecSH.js → StoreRewards-dDNeFlA9.js} +15 -14
- package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-BVb1X0aq.js +1132 -0
- package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-CHrZ7pit.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-Ds0WxGxr.js} +1 -1
- package/dist/{Tier-iKOv9e2Y.js → Tier-_jMaLj3u.js} +185 -185
- package/dist/{Title-BRWnLlHd.js → Title-By7o67aT.js} +20 -20
- package/dist/{Transaction-BMnxATxc.js → Transaction-BLpEgeI2.js} +2 -2
- package/dist/UserRuleGroup.vue_vue_type_script_setup_true_lang-Bf_nO9zH.js +130 -0
- package/dist/{Voucher-B_IwtXLW.js → Voucher-CG5tfibn.js} +11 -11
- package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-DpQUoXyQ.js +419 -0
- package/dist/ZodTextField.vue_vue_type_script_setup_true_lang-YwGR2En3.js +56 -0
- package/dist/{app-Bs8TZeMP.js → app-DDmTqTb7.js} +1 -1
- package/dist/{app-CLPpu6jA.js → app-vCqTQIeC.js} +430 -276
- package/dist/app.js +1 -1
- package/dist/{business-Dg5T3krT.js → business-Cz78KGF2.js} +1 -1
- package/dist/{campaign-BMLeXfnZ.js → campaign-BBd4o7F_.js} +2 -2
- package/dist/campaign.enum-CIhi0b-m.js +20 -0
- package/dist/campaign.fn-5silF1DK.js +758 -0
- package/dist/collectible.enum-cMIQ6ogq.js +19 -0
- package/dist/{collection.fn-D4QJRMAS.js → collection.fn-BGc7Qeli.js} +2 -2
- package/dist/dto-i04OPJfW.js +2018 -0
- package/dist/{effect-BT6zDeUe.js → effect-D8UzkYRg.js} +1 -1
- package/dist/{email-addresses-DeUE8GFC.js → email-addresses-u05o35hN.js} +1 -1
- package/dist/{export-DWzBynN8.js → export-BEXuPYEd.js} +3 -3
- package/dist/{helper-Cs4YpYv9.js → helper-RptRJGv6.js} +1 -1
- package/dist/{index-aFNPEkUz.js → index-B8s-gucK.js} +13 -1
- package/dist/{index-B3GqF_vh.js → index-BjHZUhiH.js} +1 -1
- package/dist/{index-BUXB-qmB.js → index-Bpu2DYUc.js} +1348 -1342
- package/dist/{index-n-_5f43h.js → index-C6-rCMhD.js} +3 -3
- package/dist/{index-CjF0scjl.js → index-Cq_ZIbRm.js} +174 -168
- package/dist/{index-CiwzD983.js → index-DFAnoAe9.js} +1 -1
- package/dist/index-DbyJ6Nyn.js +54 -0
- package/dist/{index-BXs-tqST.js → index-Dt6K2eG8.js} +1 -1
- package/dist/{index-xCMvgFRa.js → index-DwzoqCt8.js} +989 -783
- package/dist/index-UfL5qRzR.js +1049 -0
- package/dist/index-g8EbRVnr.js +32 -0
- package/dist/{index-DfhJOhMY.js → index-hEE_ntHd.js} +1 -1
- package/dist/index-vh86FiIQ.js +10 -0
- package/dist/{index.esm2017-cme_1dHU.js → index.esm2017-BSzW_yaL.js} +1 -1
- package/dist/{loading-zw44FQ6v.js → loading-DjEdwdnj.js} +156 -153
- package/dist/{membership-Bg77E5Sx.js → membership-BL9Xs8lD.js} +52 -44
- package/dist/{money-BepQPzrc.js → money-D7lq0cx-.js} +1 -1
- package/dist/{number-BJ4XIfGj.js → number-BiDabTkI.js} +1 -1
- package/dist/objectid-CXf0jb1W.js +145 -0
- package/dist/reward-Cr8rbe5R.js +36 -0
- package/dist/{rule-builder-C1Jwhs7N.js → rule-builder-DPKFZ5UX.js} +1 -1
- package/dist/{rule-oDZ1Kic9.js → rule-vkYJij4h.js} +4 -3
- package/dist/{template-CSeRj8B2.js → template-Bep5Y5ch.js} +4 -4
- package/dist/trigger-fWhQ3bqv.js +144 -0
- package/dist/{usePagination-DUaGlE2s.js → usePagination-DSF5b4hM.js} +1 -1
- package/dist/user-9UiaP0xs.js +54 -0
- package/dist/{vue-i18n-4eZqYBzI.js → vue-i18n-BhiDOB1j.js} +112 -112
- package/dist/zod-Bg2FbC-D.js +90 -0
- package/package.json +2 -2
- package/dist/Card--Q4OMSRz.js +0 -824
- package/dist/Mission-B215NI_F.js +0 -261
- package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-C03bKqvg.js +0 -1804
- package/dist/Store-ada-EZLR.js +0 -1530
- package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-Ra4nMKvT.js +0 -890
- package/dist/ZodTextField.vue_vue_type_script_setup_true_lang-vsgeD3mK.js +0 -141
- package/dist/dto-CQy53qRe.js +0 -2770
- package/dist/index-CvJ_6M8U.js +0 -298
- package/dist/index-QAuJWbpX.js +0 -756
- package/dist/index-sGtk4oiO.js +0 -207
- package/dist/user-Bm4KttFq.js +0 -37
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { h as
|
|
1
|
+
import { defineComponent as pe, computed as Y, ref as X, resolveComponent as F, openBlock as v, createElementBlock as N, Fragment as ee, createElementVNode as a, unref as t, createBlock as j, createCommentVNode as ae, createVNode as _, renderList as se, withCtx as ne, createTextVNode as ue, toDisplayString as M, withDirectives as Pe, vShow as Re, onMounted as Oe, isRef as Ze, h as oe } from "vue";
|
|
2
|
+
import { h as g } from "./moment-BWErdI6_.js";
|
|
3
3
|
import { useDialog as be, components as ce } from "@feedmepos/ui-library";
|
|
4
|
-
import { e as et, M as tt } from "./email-addresses-
|
|
5
|
-
import { a as ot, _ as nt, w as at } from "./usePagination-
|
|
6
|
-
import "./index-
|
|
7
|
-
import { p as Ee, b as De, u as Ye } from "./loading-
|
|
8
|
-
import { u as ye, C as Be, s as st } from "./membership-
|
|
9
|
-
import { c as it } from "./index-
|
|
4
|
+
import { e as et, M as tt } from "./email-addresses-u05o35hN.js";
|
|
5
|
+
import { a as ot, _ as nt, w as at } from "./usePagination-DSF5b4hM.js";
|
|
6
|
+
import "./index-Dt6K2eG8.js";
|
|
7
|
+
import { p as Ee, b as De, u as Ye } from "./loading-DjEdwdnj.js";
|
|
8
|
+
import { u as ye, C as Be, s as st } from "./membership-BL9Xs8lD.js";
|
|
9
|
+
import { c as it } from "./index-C6-rCMhD.js";
|
|
10
10
|
import { _ as Ue } from "./lodash-B5I3zXaY.js";
|
|
11
11
|
import { D as rt } from "./type_drinks-D6jnpvwV.js";
|
|
12
|
-
import { F as lt, a as ct, b as dt, c as mt } from "./index-
|
|
13
|
-
import {
|
|
14
|
-
import { C as pe } from "./collection.fn-D4QJRMAS.js";
|
|
12
|
+
import { F as lt, a as ct, b as dt, c as mt, d as ut } from "./index-DwzoqCt8.js";
|
|
13
|
+
import { C as fe } from "./collection.fn-BGc7Qeli.js";
|
|
15
14
|
import { defineStore as pt } from "pinia";
|
|
16
|
-
import { u as Le } from "./business-
|
|
17
|
-
import { m as J } from "./index-
|
|
15
|
+
import { u as Le } from "./business-Cz78KGF2.js";
|
|
16
|
+
import { m as J } from "./index-BjHZUhiH.js";
|
|
18
17
|
import { o as ze } from "./objectId-dwaoBfJX.js";
|
|
19
|
-
import { f as me } from "./number-
|
|
20
|
-
import { t as ft } from "./money-
|
|
21
|
-
import { g as bt, a as yt, b as vt } from "./user-
|
|
18
|
+
import { f as me } from "./number-BiDabTkI.js";
|
|
19
|
+
import { t as ft } from "./money-D7lq0cx-.js";
|
|
20
|
+
import { g as bt, a as yt, b as vt } from "./user-9UiaP0xs.js";
|
|
22
21
|
import { useRouter as xt } from "vue-router";
|
|
23
|
-
import { R as gt } from "./app-
|
|
22
|
+
import { R as gt } from "./app-vCqTQIeC.js";
|
|
24
23
|
const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800 mb-8" }, "Member tiering", -1), Ct = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800 mt-16 mb-8" }, "Member Card", -1), St = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800 mt-16 mb-8" }, "Titles", -1), Ft = { key: 1 }, Tt = /* @__PURE__ */ a("div", { class: "flex flex-nowrap gap-4 items-center" }, [
|
|
25
24
|
/* @__PURE__ */ a("div", { class: "flex-1" }, "Title"),
|
|
26
25
|
/* @__PURE__ */ a("div", { class: "flex-1" }, "Expires in days"),
|
|
27
26
|
/* @__PURE__ */ a("div", { class: "w-24 h-1" })
|
|
28
27
|
], -1), wt = [
|
|
29
28
|
Tt
|
|
30
|
-
], kt = { class: "flex flex-nowrap gap-4 items-center my-[-4px]" }, Mt = { class: "flex flex-nowrap gap-8 items-center pt-24 w-full" }, At = /* @__PURE__ */
|
|
29
|
+
], kt = { class: "flex flex-nowrap gap-4 items-center my-[-4px]" }, Mt = { class: "flex flex-nowrap gap-8 items-center pt-24 w-full" }, At = /* @__PURE__ */ pe({
|
|
31
30
|
__name: "MemberStatsDialog",
|
|
32
31
|
props: {
|
|
33
32
|
member: {
|
|
@@ -39,26 +38,26 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
39
38
|
required: !0
|
|
40
39
|
}
|
|
41
40
|
},
|
|
42
|
-
setup(
|
|
41
|
+
setup(b) {
|
|
43
42
|
var W, H, G, D;
|
|
44
|
-
const q = be(),
|
|
43
|
+
const q = be(), x = ye(), u = b, E = Y(
|
|
45
44
|
() => {
|
|
46
45
|
var r;
|
|
47
46
|
return (((r = u.member.collection) == null ? void 0 : r.TITLE) ?? []).reduce(
|
|
48
47
|
(c, p) => {
|
|
49
|
-
var n, l,
|
|
50
|
-
const o =
|
|
51
|
-
(
|
|
48
|
+
var n, l, y, m, C;
|
|
49
|
+
const o = x.sortedTitles.find(
|
|
50
|
+
(A) => A._id.toString() === p.collectible
|
|
52
51
|
);
|
|
53
52
|
if (!o) return c;
|
|
54
53
|
const e = [...p.expiryBalance ?? []].sort(
|
|
55
|
-
(
|
|
54
|
+
(A, U) => g(A.expiredAt).isAfter(g(U.expiredAt)) ? -1 : 1
|
|
56
55
|
);
|
|
57
|
-
return (n = e[0]) != null && n.expiredAt &&
|
|
56
|
+
return (n = e[0]) != null && n.expiredAt && g((l = e[0]) == null ? void 0 : l.expiredAt).isBefore(g()) || c.push({
|
|
58
57
|
_id: o._id,
|
|
59
58
|
name: o.name,
|
|
60
|
-
expiredAt: (
|
|
61
|
-
expiresIn:
|
|
59
|
+
expiredAt: (y = e[0]) != null && y.expiredAt ? g((m = e[0]) == null ? void 0 : m.expiredAt).toISOString() : "",
|
|
60
|
+
expiresIn: g((C = e[0]) == null ? void 0 : C.expiredAt).diff(g(), "days")
|
|
62
61
|
}), c;
|
|
63
62
|
},
|
|
64
63
|
[]
|
|
@@ -70,12 +69,12 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
70
69
|
tier: ((D = (G = u.member.collection) == null ? void 0 : G.TIER) == null ? void 0 : D[0].balance) ?? -1,
|
|
71
70
|
titles: E.value.map((r) => ({ expiredAt: r.expiresIn, id: r._id })) ?? void 0
|
|
72
71
|
}), V = Y(
|
|
73
|
-
() => (
|
|
72
|
+
() => (x.sortedTitles ?? []).map((r) => ({
|
|
74
73
|
label: r.name,
|
|
75
74
|
value: r._id.toString(),
|
|
76
75
|
sublabel: E.value.some((c) => c._id === r._id) ? "Owned" : void 0
|
|
77
76
|
}))
|
|
78
|
-
), k = Y(() => (
|
|
77
|
+
), k = Y(() => (x.sortedTiers ?? []).map((r, c) => ({
|
|
79
78
|
label: r.name,
|
|
80
79
|
sublabel: `${r.option.from} - ${r.option.to}`,
|
|
81
80
|
from: r.option.from,
|
|
@@ -91,11 +90,11 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
91
90
|
);
|
|
92
91
|
}
|
|
93
92
|
const I = Y(() => {
|
|
94
|
-
var p, o, e, n, l,
|
|
93
|
+
var p, o, e, n, l, y;
|
|
95
94
|
const r = ((o = (p = u.member.collection) == null ? void 0 : p.TIER) == null ? void 0 : o[0].balance) ?? -1, c = ((n = (e = u.member.collection) == null ? void 0 : e.POINT) == null ? void 0 : n[0].balance) ?? 0;
|
|
96
95
|
if (r != d.value.tier) return !0;
|
|
97
96
|
if (d.value.experience && d.value.experience != c) {
|
|
98
|
-
const m = ((l = k.value[r - 1]) == null ? void 0 : l.from) ?? 0, C = ((
|
|
97
|
+
const m = ((l = k.value[r - 1]) == null ? void 0 : l.from) ?? 0, C = ((y = k.value[r - 1]) == null ? void 0 : y.to) ?? 0;
|
|
99
98
|
if (d.value.experience < m || C && d.value.experience > C)
|
|
100
99
|
return !0;
|
|
101
100
|
}
|
|
@@ -106,7 +105,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
106
105
|
return (c = E.value.find((p) => p._id === r)) == null ? void 0 : c.expiresIn;
|
|
107
106
|
}
|
|
108
107
|
const L = Y(() => {
|
|
109
|
-
const r =
|
|
108
|
+
const r = lt.safeParse(d.value);
|
|
110
109
|
return r.success ? void 0 : r.error.errors;
|
|
111
110
|
});
|
|
112
111
|
function $(r) {
|
|
@@ -121,12 +120,12 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
121
120
|
await u.onSubmit(d.value), q.close();
|
|
122
121
|
}
|
|
123
122
|
return (r, c) => {
|
|
124
|
-
var
|
|
125
|
-
const p = F("FmSelect"), o = F("FmStepperField"), e = F("FmTextField"), n = F("FmField"), l = F("FmFormGroup"),
|
|
126
|
-
return
|
|
123
|
+
var A, U;
|
|
124
|
+
const p = F("FmSelect"), o = F("FmStepperField"), e = F("FmTextField"), n = F("FmField"), l = F("FmFormGroup"), y = F("FmButton"), m = F("FmHelperText"), C = F("FmSpacer");
|
|
125
|
+
return v(), N(ee, null, [
|
|
127
126
|
a("div", _t, [
|
|
128
127
|
ht,
|
|
129
|
-
t(k).length ? (
|
|
128
|
+
t(k).length ? (v(), j(p, {
|
|
130
129
|
key: 0,
|
|
131
130
|
modelValue: t(d).tier,
|
|
132
131
|
"onUpdate:modelValue": [
|
|
@@ -138,7 +137,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
138
137
|
"helper-text": $("tier"),
|
|
139
138
|
"helper-state": $("tier") ? "error" : void 0
|
|
140
139
|
}, null, 8, ["modelValue", "items", "helper-text", "helper-state"])) : ae("", !0),
|
|
141
|
-
|
|
140
|
+
_(o, {
|
|
142
141
|
"model-value": t(d).experience ?? 0,
|
|
143
142
|
"onUpdate:modelValue": c[1] || (c[1] = (i) => t(d).experience = i),
|
|
144
143
|
label: "Member Experience",
|
|
@@ -147,7 +146,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
147
146
|
"helper-state": $("experience") ? "error" : void 0
|
|
148
147
|
}, null, 8, ["model-value", "helper-text", "helper-state"]),
|
|
149
148
|
Ct,
|
|
150
|
-
|
|
149
|
+
_(e, {
|
|
151
150
|
modelValue: t(d).cardNo,
|
|
152
151
|
"onUpdate:modelValue": c[2] || (c[2] = (i) => t(d).cardNo = i),
|
|
153
152
|
label: "Card number",
|
|
@@ -155,30 +154,30 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
155
154
|
"helper-state": $("cardNo") ? "error" : void 0
|
|
156
155
|
}, null, 8, ["modelValue", "helper-text", "helper-state"]),
|
|
157
156
|
St,
|
|
158
|
-
(
|
|
159
|
-
(
|
|
157
|
+
(A = t(d).titles) != null && A.length ? (v(), N("div", Ft, wt)) : ae("", !0),
|
|
158
|
+
(v(!0), N(ee, null, se(t(d).titles ?? [], (i, S) => (v(), N("div", { key: S }, [
|
|
160
159
|
a("div", kt, [
|
|
161
|
-
t(E).some((f) => f._id === i.id) ? (
|
|
160
|
+
t(E).some((f) => f._id === i.id) ? (v(), j(l, {
|
|
162
161
|
key: 1,
|
|
163
162
|
"model-value": "",
|
|
164
163
|
class: "flex-1"
|
|
165
164
|
}, {
|
|
166
165
|
default: ne(() => [
|
|
167
|
-
|
|
166
|
+
_(n, {
|
|
168
167
|
disabled: !0,
|
|
169
168
|
class: "text-fm-color-typo-secondary"
|
|
170
169
|
}, {
|
|
171
170
|
default: ne(() => {
|
|
172
171
|
var f;
|
|
173
172
|
return [
|
|
174
|
-
|
|
173
|
+
ue(M((f = t(V).find((w) => w.value === i.id)) == null ? void 0 : f.label), 1)
|
|
175
174
|
];
|
|
176
175
|
}),
|
|
177
176
|
_: 2
|
|
178
177
|
}, 1024)
|
|
179
178
|
]),
|
|
180
179
|
_: 2
|
|
181
|
-
}, 1024)) : (
|
|
180
|
+
}, 1024)) : (v(), j(p, {
|
|
182
181
|
key: 0,
|
|
183
182
|
modelValue: i.id,
|
|
184
183
|
"onUpdate:modelValue": [(f) => i.id = f, (f) => i.expiredAt = h(f) ?? 1],
|
|
@@ -190,14 +189,14 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
190
189
|
}
|
|
191
190
|
)
|
|
192
191
|
}, null, 8, ["modelValue", "onUpdate:modelValue", "items"])),
|
|
193
|
-
|
|
192
|
+
_(o, {
|
|
194
193
|
modelValue: i.expiredAt,
|
|
195
194
|
"onUpdate:modelValue": (f) => i.expiredAt = f,
|
|
196
195
|
class: "flex-1",
|
|
197
196
|
label: "",
|
|
198
197
|
"max-fraction-digits": 0
|
|
199
198
|
}, null, 8, ["modelValue", "onUpdate:modelValue"]),
|
|
200
|
-
|
|
199
|
+
_(y, {
|
|
201
200
|
class: "w-24 h-24",
|
|
202
201
|
icon: "close",
|
|
203
202
|
variant: "tertiary",
|
|
@@ -207,14 +206,14 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
207
206
|
}
|
|
208
207
|
}, null, 8, ["onClick"])
|
|
209
208
|
]),
|
|
210
|
-
(
|
|
209
|
+
(v(!0), N(ee, null, se(K(`titles.${S}`), (f, w) => (v(), j(m, {
|
|
211
210
|
key: w,
|
|
212
211
|
class: "items-center",
|
|
213
212
|
state: "error",
|
|
214
213
|
text: f.toString()
|
|
215
214
|
}, null, 8, ["text"]))), 128))
|
|
216
215
|
]))), 128)),
|
|
217
|
-
t(V).length && (((U = t(d).titles) == null ? void 0 : U.length) ?? 0) < t(V).length ? (
|
|
216
|
+
t(V).length && (((U = t(d).titles) == null ? void 0 : U.length) ?? 0) < t(V).length ? (v(), j(y, {
|
|
218
217
|
key: 2,
|
|
219
218
|
icon: "add",
|
|
220
219
|
label: "Give title",
|
|
@@ -237,20 +236,20 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
237
236
|
})) : ae("", !0)
|
|
238
237
|
]),
|
|
239
238
|
a("div", Mt, [
|
|
240
|
-
Pe(
|
|
239
|
+
Pe(_(m, {
|
|
241
240
|
state: "warning",
|
|
242
241
|
text: "Updating member will cause tier to change"
|
|
243
242
|
}, null, 512), [
|
|
244
|
-
[
|
|
243
|
+
[Re, t(I)]
|
|
245
244
|
]),
|
|
246
|
-
|
|
247
|
-
|
|
245
|
+
_(C),
|
|
246
|
+
_(y, {
|
|
248
247
|
variant: "secondary",
|
|
249
248
|
label: "Cancel",
|
|
250
249
|
size: "md",
|
|
251
250
|
onClick: c[4] || (c[4] = (i) => t(q).close())
|
|
252
251
|
}),
|
|
253
|
-
|
|
252
|
+
_(y, {
|
|
254
253
|
disabled: !!t(L),
|
|
255
254
|
variant: "primary",
|
|
256
255
|
label: "Submit",
|
|
@@ -261,7 +260,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
261
260
|
], 64);
|
|
262
261
|
};
|
|
263
262
|
}
|
|
264
|
-
}), $t = { class: "fm-typo-en-title-sm-800" }, Nt = { class: "space-y-16" }, Vt = { class: "flex flex-nowrap gap-8 items-center justify-end pt-24 w-full" }, It = /* @__PURE__ */
|
|
263
|
+
}), $t = { class: "fm-typo-en-title-sm-800" }, Nt = { class: "space-y-16" }, Vt = { class: "flex flex-nowrap gap-8 items-center justify-end pt-24 w-full" }, It = /* @__PURE__ */ pe({
|
|
265
264
|
__name: "CreditCoinDialog",
|
|
266
265
|
props: {
|
|
267
266
|
type: { type: String, required: !0 },
|
|
@@ -271,60 +270,60 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
271
270
|
required: !0
|
|
272
271
|
}
|
|
273
272
|
},
|
|
274
|
-
setup(
|
|
275
|
-
const q = be(),
|
|
273
|
+
setup(b) {
|
|
274
|
+
const q = be(), x = b, u = X({
|
|
276
275
|
amount: 1,
|
|
277
276
|
day: 1,
|
|
278
277
|
remark: void 0
|
|
279
|
-
}), E = X(!0), d = Y(() =>
|
|
278
|
+
}), E = X(!0), d = Y(() => fe.formattedType(x.type.toUpperCase()));
|
|
280
279
|
function V(I) {
|
|
281
|
-
E.value = I, !I &&
|
|
280
|
+
E.value = I, !I && x.type === "coin" && (u.value.day = void 0);
|
|
282
281
|
}
|
|
283
282
|
async function k() {
|
|
284
|
-
if (
|
|
283
|
+
if (x.action === "send") {
|
|
285
284
|
const I = u.value.day ? `, expire in ${u.value.day} days` : "";
|
|
286
285
|
Ee.confirm(
|
|
287
286
|
`Are you sure to send ${u.value.amount} ${d.value.toLowerCase()}${I}? This action cannot be reversed.`
|
|
288
287
|
).then(async (h) => {
|
|
289
|
-
h && await
|
|
288
|
+
h && await x.onSubmit(u.value);
|
|
290
289
|
});
|
|
291
290
|
} else
|
|
292
291
|
Ee.confirm(
|
|
293
292
|
`Are you sure to deduct ${u.value.amount} ${d.value.toLowerCase()}? This action cannot be reversed.`
|
|
294
293
|
).then(async (I) => {
|
|
295
|
-
I && await
|
|
294
|
+
I && await x.onSubmit(u.value);
|
|
296
295
|
});
|
|
297
296
|
}
|
|
298
297
|
const T = Y(() => {
|
|
299
|
-
const h = (
|
|
298
|
+
const h = (x.action === "send" ? x.type === "coin" ? ct : dt : x.type === "coin" ? mt : ut).safeParse(u.value);
|
|
300
299
|
return h.success == !1 ? h.error.flatten().fieldErrors : void 0;
|
|
301
300
|
});
|
|
302
301
|
return (I, h) => {
|
|
303
302
|
const L = F("FmStepperField"), $ = F("FmSwitch"), K = F("FmTextarea"), B = F("FmButton"), W = F("FmCard");
|
|
304
|
-
return
|
|
303
|
+
return v(), j(W, { class: "flex flex-col gap-16 p-16" }, {
|
|
305
304
|
default: ne(() => {
|
|
306
305
|
var H, G, D, r, c, p;
|
|
307
306
|
return [
|
|
308
|
-
a("div", $t,
|
|
309
|
-
|
|
307
|
+
a("div", $t, M(x.action == "send" ? "Send" : "Deduct") + " " + M(t(Be)[x.type.toUpperCase()].name), 1),
|
|
308
|
+
ue(" " + M(t(T)) + " ", 1),
|
|
310
309
|
a("div", Nt, [
|
|
311
|
-
|
|
310
|
+
_(L, {
|
|
312
311
|
modelValue: t(u).amount,
|
|
313
312
|
"onUpdate:modelValue": h[0] || (h[0] = (o) => t(u).amount = o),
|
|
314
|
-
label: `${t(Be)[
|
|
313
|
+
label: `${t(Be)[x.type.toUpperCase()].name} amount`,
|
|
315
314
|
"is-currency": !0,
|
|
316
315
|
"max-fraction-digits": 2,
|
|
317
316
|
"helper-state": (H = t(T)) != null && H.amount ? "error" : void 0,
|
|
318
317
|
"helper-text": (D = (G = t(T)) == null ? void 0 : G.amount) == null ? void 0 : D[0]
|
|
319
318
|
}, null, 8, ["modelValue", "label", "helper-state", "helper-text"]),
|
|
320
|
-
|
|
319
|
+
b.action === "send" && x.type === "coin" ? (v(), j($, {
|
|
321
320
|
key: 0,
|
|
322
321
|
"model-value": t(E),
|
|
323
322
|
label: `${t(d)} expires`,
|
|
324
323
|
"label-placement": "right",
|
|
325
324
|
"onUpdate:modelValue": h[1] || (h[1] = (o) => V(o))
|
|
326
325
|
}, null, 8, ["model-value", "label"])) : ae("", !0),
|
|
327
|
-
|
|
326
|
+
b.action === "send" && t(E) ? (v(), j(L, {
|
|
328
327
|
key: 1,
|
|
329
328
|
modelValue: t(u).day,
|
|
330
329
|
"onUpdate:modelValue": h[2] || (h[2] = (o) => t(u).day = o),
|
|
@@ -336,20 +335,20 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
336
335
|
"helper-state": (r = t(T)) != null && r.day ? "error" : void 0,
|
|
337
336
|
"helper-text": (p = (c = t(T)) == null ? void 0 : c.day) == null ? void 0 : p[0]
|
|
338
337
|
}, null, 8, ["modelValue", "label", "helper-state", "helper-text"])) : ae("", !0),
|
|
339
|
-
|
|
338
|
+
_(K, {
|
|
340
339
|
modelValue: t(u).remark,
|
|
341
340
|
"onUpdate:modelValue": h[3] || (h[3] = (o) => t(u).remark = o),
|
|
342
341
|
label: "Remark"
|
|
343
342
|
}, null, 8, ["modelValue"])
|
|
344
343
|
]),
|
|
345
344
|
a("div", Vt, [
|
|
346
|
-
|
|
345
|
+
_(B, {
|
|
347
346
|
variant: "secondary",
|
|
348
347
|
label: "Cancel",
|
|
349
348
|
size: "md",
|
|
350
349
|
onClick: h[4] || (h[4] = (o) => t(q).close())
|
|
351
350
|
}),
|
|
352
|
-
|
|
351
|
+
_(B, {
|
|
353
352
|
disabled: !!t(T),
|
|
354
353
|
variant: "primary",
|
|
355
354
|
label: "Submit",
|
|
@@ -364,33 +363,33 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
364
363
|
};
|
|
365
364
|
}
|
|
366
365
|
}), je = pt("segment", () => {
|
|
367
|
-
const
|
|
366
|
+
const b = X([]);
|
|
368
367
|
async function q() {
|
|
369
|
-
const
|
|
368
|
+
const x = await st.readAll({
|
|
370
369
|
limit: 1e3,
|
|
371
370
|
skip: 0,
|
|
372
371
|
sortBy: "_id",
|
|
373
372
|
descending: !0
|
|
374
373
|
});
|
|
375
|
-
|
|
374
|
+
b.value = x.resources;
|
|
376
375
|
}
|
|
377
376
|
return {
|
|
378
|
-
segments:
|
|
377
|
+
segments: b,
|
|
379
378
|
read: q
|
|
380
379
|
};
|
|
381
|
-
}), Et = { class: "flex flex-col flex-nowrap gap-y-24 max-h-full" }, Dt = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800" }, "Profile Information", -1), Bt = { class: "space-y-16" }, Ut = { class: "flex gap-16 items-center" }, Pt = { class: "flex-auto" },
|
|
380
|
+
}), Et = { class: "flex flex-col flex-nowrap gap-y-24 max-h-full" }, Dt = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800" }, "Profile Information", -1), Bt = { class: "space-y-16" }, Ut = { class: "flex gap-16 items-center" }, Pt = { class: "flex-auto" }, Rt = /* @__PURE__ */ a("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Member Name ", -1), Ot = { class: "fm-typo-en-body-md-600" }, Yt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Lt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, zt = { class: "fm-typo-en-body-md-800" }, jt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, qt = { class: "fm-typo-en-body-md-800" }, Kt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Gt = { class: "fm-typo-en-body-md-600" }, Ht = /* @__PURE__ */ a("div", { class: "border-fm-color-neutral-gray-100 rounded-sm border-t" }, null, -1), Jt = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800" }, "Activities", -1), Xt = { class: "gap-16 grid grid-cols-2" }, Wt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Qt = { class: "fm-typo-en-body-md-600" }, Zt = /* @__PURE__ */ a("div", { class: "border-fm-color-neutral-gray-100 rounded-sm border-t" }, null, -1), eo = { class: "space-y-8" }, to = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800" }, "Segments", -1), oo = {
|
|
382
381
|
key: 0,
|
|
383
382
|
class: "space-x-8"
|
|
384
|
-
},
|
|
383
|
+
}, no = {
|
|
385
384
|
key: 1,
|
|
386
385
|
class: "text-fm-color-typo-secondary"
|
|
387
|
-
},
|
|
386
|
+
}, ao = /* @__PURE__ */ a("div", { class: "border-fm-color-neutral-gray-100 rounded-sm border-t" }, null, -1), so = { class: "space-y-8" }, io = /* @__PURE__ */ a("div", { class: "fm-typo-en-title-sm-800" }, "Title badge", -1), ro = ["src"], lo = { class: "fm-typo-en-body-md-600" }, co = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, mo = {
|
|
388
387
|
key: 1,
|
|
389
388
|
class: "text-fm-color-typo-secondary"
|
|
390
|
-
},
|
|
389
|
+
}, uo = {
|
|
391
390
|
key: 1,
|
|
392
391
|
class: "space-y-24"
|
|
393
|
-
},
|
|
392
|
+
}, po = { class: "space-y-8" }, fo = /* @__PURE__ */ a("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Credit ", -1), bo = { class: "fm-typo-en-title-md-800" }, yo = { class: "space-y-4" }, vo = /* @__PURE__ */ a("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Credit(s) to be expired in 30 days ", -1), xo = { class: "fm-typo-en-body-md-600" }, go = { class: "flex gap-24 items-center xs:flex-col xs:items-start" }, _o = { class: "space-y-8" }, ho = /* @__PURE__ */ a("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Point ", -1), Co = { class: "fm-typo-en-title-md-800" }, So = { class: "space-y-4" }, Fo = /* @__PURE__ */ a("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Point(s) to be expired in 30 days ", -1), To = { class: "fm-typo-en-body-md-600" }, wo = { class: "flex gap-24 items-center xs:flex-col xs:items-start" }, ko = /* @__PURE__ */ pe({
|
|
394
393
|
__name: "MemberDetailSheet",
|
|
395
394
|
props: {
|
|
396
395
|
member: {
|
|
@@ -399,8 +398,8 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
399
398
|
}
|
|
400
399
|
},
|
|
401
400
|
emits: ["update:member"],
|
|
402
|
-
setup(
|
|
403
|
-
const u = ye(), E = Le(), d = je(), V = be(), { minor: k } = Ye, T =
|
|
401
|
+
setup(b, { expose: q, emit: x }) {
|
|
402
|
+
const u = ye(), E = Le(), d = je(), V = be(), { minor: k } = Ye, T = b, I = x, h = Y(() => E.locations.map((e) => ({
|
|
404
403
|
label: e.name,
|
|
405
404
|
value: e._id
|
|
406
405
|
}))), L = Y(() => (T.member.segment || []).map((e) => {
|
|
@@ -417,17 +416,17 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
417
416
|
onSubmit: async (l) => {
|
|
418
417
|
await k(
|
|
419
418
|
async () => {
|
|
420
|
-
const
|
|
419
|
+
const y = {
|
|
421
420
|
"credit-send": J.sendCredit,
|
|
422
421
|
"credit-deduct": J.deductCredit,
|
|
423
422
|
"coin-send": J.sendCoin,
|
|
424
423
|
"coin-deduct": J.deductCoin
|
|
425
|
-
}, m = `${e}-${n}`, C =
|
|
424
|
+
}, m = `${e}-${n}`, C = y[m];
|
|
426
425
|
C && await C(T.member._id, l), I("update:member"), V.close();
|
|
427
426
|
},
|
|
428
427
|
{
|
|
429
|
-
message: `Adjusting ${
|
|
430
|
-
successMessage: `${l.amount} ${
|
|
428
|
+
message: `Adjusting ${fe.formattedType(e.toUpperCase()).toLowerCase()}`,
|
|
429
|
+
successMessage: `${l.amount} ${fe.formattedType(e.toUpperCase()).toLowerCase()} ${n} ${n == "send" ? "to" : "from"} ${T.member.phoneNumber}`
|
|
431
430
|
}
|
|
432
431
|
);
|
|
433
432
|
}
|
|
@@ -462,9 +461,9 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
462
461
|
{
|
|
463
462
|
label: "Tier",
|
|
464
463
|
getter: (e) => {
|
|
465
|
-
var
|
|
466
|
-
const n = (((U = Ue.first((
|
|
467
|
-
return `${l} (${
|
|
464
|
+
var A, U, i, S, f;
|
|
465
|
+
const n = (((U = Ue.first((A = T.member.collection) == null ? void 0 : A.TIER)) == null ? void 0 : U.balance) || 0) - 1, l = H.value.name, y = ((S = (i = e.collection) == null ? void 0 : i.POINT) == null ? void 0 : S[0].balance) ?? 0, m = u.sortedTiers[n + 1], C = ((f = m == null ? void 0 : m.option) == null ? void 0 : f.to) ?? 1 / 0;
|
|
466
|
+
return `${l} (${y}/${C})`;
|
|
468
467
|
}
|
|
469
468
|
},
|
|
470
469
|
{
|
|
@@ -473,12 +472,12 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
473
472
|
},
|
|
474
473
|
{
|
|
475
474
|
label: "Birthday",
|
|
476
|
-
getter: (e) => e.birthday ?
|
|
475
|
+
getter: (e) => e.birthday ? g(e.birthday).format("D MMM YYYY") : "-"
|
|
477
476
|
}
|
|
478
477
|
], W = [
|
|
479
478
|
{
|
|
480
479
|
label: "Customer since",
|
|
481
|
-
getter: (e) =>
|
|
480
|
+
getter: (e) => g(ze(e._id.toString())).format("D MMM YYYY")
|
|
482
481
|
},
|
|
483
482
|
{
|
|
484
483
|
label: "Joined at location",
|
|
@@ -493,7 +492,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
493
492
|
},
|
|
494
493
|
{
|
|
495
494
|
label: "Last visit",
|
|
496
|
-
getter: (e) =>
|
|
495
|
+
getter: (e) => g(e.stats.lastVisit).fromNow()
|
|
497
496
|
},
|
|
498
497
|
{
|
|
499
498
|
label: "Frequency",
|
|
@@ -518,15 +517,15 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
518
517
|
// key: 'lastSeasonPointEarned',
|
|
519
518
|
// },
|
|
520
519
|
], H = Y(() => {
|
|
521
|
-
var l,
|
|
522
|
-
const e = (((
|
|
520
|
+
var l, y;
|
|
521
|
+
const e = (((y = Ue.first((l = T.member.collection) == null ? void 0 : l.TIER)) == null ? void 0 : y.balance) || 0) - 1, n = u.sortedTiers[e];
|
|
523
522
|
return { name: (n == null ? void 0 : n.name) || "-", tier: e, config: n };
|
|
524
523
|
}), G = Y(() => {
|
|
525
524
|
var e;
|
|
526
525
|
return (((e = T.member.collection) == null ? void 0 : e.TITLE) || []).map((n) => {
|
|
527
|
-
var
|
|
528
|
-
const l = (
|
|
529
|
-
(
|
|
526
|
+
var y, m, C;
|
|
527
|
+
const l = (y = u.sortedTitles) == null ? void 0 : y.find(
|
|
528
|
+
(A) => A._id == n.collectible
|
|
530
529
|
);
|
|
531
530
|
return {
|
|
532
531
|
name: l == null ? void 0 : l.name,
|
|
@@ -534,7 +533,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
534
533
|
collectible: l
|
|
535
534
|
};
|
|
536
535
|
}).filter(
|
|
537
|
-
(n) => n.expiredAt ?
|
|
536
|
+
(n) => n.expiredAt ? g(n.expiredAt).isAfter(g()) : !0
|
|
538
537
|
);
|
|
539
538
|
}), D = X(!0);
|
|
540
539
|
function r() {
|
|
@@ -553,14 +552,14 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
553
552
|
value: "loyalty"
|
|
554
553
|
}
|
|
555
554
|
], o = X(p[0]);
|
|
556
|
-
return
|
|
555
|
+
return Oe(async () => {
|
|
557
556
|
await u.readMembership(), E.locations.length || await E.readLocations();
|
|
558
557
|
}), q({
|
|
559
558
|
showSheet: r,
|
|
560
559
|
hideSheet: c
|
|
561
560
|
}), (e, n) => {
|
|
562
|
-
const l = F("FmTabs"),
|
|
563
|
-
return
|
|
561
|
+
const l = F("FmTabs"), y = F("FmAvatar"), m = F("FmButton"), C = F("FmChip"), A = F("FmCard"), U = F("FmSideSheet");
|
|
562
|
+
return v(), j(U, {
|
|
564
563
|
modelValue: t(D),
|
|
565
564
|
"onUpdate:modelValue": n[5] || (n[5] = (i) => Ze(D) ? D.value = i : null),
|
|
566
565
|
header: "Member Detail",
|
|
@@ -571,142 +570,146 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
571
570
|
"side-sheet-footer": ne(() => []),
|
|
572
571
|
default: ne(() => [
|
|
573
572
|
a("div", Et, [
|
|
574
|
-
|
|
573
|
+
_(l, {
|
|
575
574
|
"model-value": t(o).value,
|
|
576
575
|
items: p,
|
|
577
576
|
"onUpdate:modelValue": n[0] || (n[0] = (i) => o.value = p.find((S) => S.value === i))
|
|
578
577
|
}, null, 8, ["model-value"]),
|
|
579
|
-
t(o).value == "overview" ? (
|
|
578
|
+
t(o).value == "overview" ? (v(), N(ee, { key: 0 }, [
|
|
580
579
|
Dt,
|
|
581
580
|
a("div", Bt, [
|
|
582
581
|
a("div", Ut, [
|
|
583
|
-
|
|
584
|
-
name:
|
|
585
|
-
src:
|
|
582
|
+
_(y, {
|
|
583
|
+
name: b.member.photoUrl ? void 0 : b.member.name,
|
|
584
|
+
src: b.member.photoUrl || void 0
|
|
586
585
|
}, null, 8, ["name", "src"]),
|
|
587
586
|
a("div", Pt, [
|
|
588
|
-
|
|
589
|
-
a("div",
|
|
590
|
-
a("div", Yt,
|
|
587
|
+
Rt,
|
|
588
|
+
a("div", Ot, M(b.member.name), 1),
|
|
589
|
+
a("div", Yt, M(b.member._id), 1),
|
|
591
590
|
a("div", Lt, [
|
|
592
|
-
|
|
593
|
-
a("span", zt,
|
|
591
|
+
ue(" Member Card: "),
|
|
592
|
+
a("span", zt, M(b.member.cardNo ? b.member.cardNo : "-"), 1)
|
|
593
|
+
]),
|
|
594
|
+
a("div", jt, [
|
|
595
|
+
ue(" Referral Code: "),
|
|
596
|
+
a("span", qt, M(b.member.referralCode ? b.member.referralCode : "-"), 1)
|
|
594
597
|
])
|
|
595
598
|
]),
|
|
596
|
-
|
|
599
|
+
_(m, {
|
|
597
600
|
variant: "tertiary",
|
|
598
601
|
icon: "settings",
|
|
599
602
|
onClick: K
|
|
600
603
|
})
|
|
601
604
|
]),
|
|
602
|
-
(
|
|
603
|
-
a("div",
|
|
604
|
-
a("div",
|
|
605
|
+
(v(), N(ee, null, se(B, (i, S) => a("div", { key: S }, [
|
|
606
|
+
a("div", Kt, M(i.label), 1),
|
|
607
|
+
a("div", Gt, M(i.key ? b.member[i.key] : i.getter(b.member)), 1)
|
|
605
608
|
])), 64))
|
|
606
609
|
]),
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
a("div",
|
|
610
|
-
(
|
|
610
|
+
Ht,
|
|
611
|
+
Jt,
|
|
612
|
+
a("div", Xt, [
|
|
613
|
+
(v(), N(ee, null, se(W, (i) => a("div", {
|
|
611
614
|
key: i.key
|
|
612
615
|
}, [
|
|
613
|
-
a("div",
|
|
614
|
-
a("div",
|
|
616
|
+
a("div", Wt, M(i.label), 1),
|
|
617
|
+
a("div", Qt, M(i.key ? T.member.stats[i.key] || "-" : i.getter(b.member)), 1)
|
|
615
618
|
])), 64))
|
|
616
619
|
]),
|
|
617
|
-
|
|
618
|
-
a("div",
|
|
619
|
-
|
|
620
|
-
t(L).length ? (
|
|
621
|
-
(
|
|
620
|
+
Zt,
|
|
621
|
+
a("div", eo, [
|
|
622
|
+
to,
|
|
623
|
+
t(L).length ? (v(), N("div", oo, [
|
|
624
|
+
(v(!0), N(ee, null, se(t(L), (i) => (v(), j(C, {
|
|
622
625
|
label: i.toString()
|
|
623
626
|
}, null, 8, ["label"]))), 256))
|
|
624
|
-
])) : (
|
|
627
|
+
])) : (v(), N("div", no, "No titles"))
|
|
625
628
|
]),
|
|
626
|
-
|
|
627
|
-
a("div",
|
|
628
|
-
|
|
629
|
-
t(G).length ? (
|
|
629
|
+
ao,
|
|
630
|
+
a("div", so, [
|
|
631
|
+
io,
|
|
632
|
+
t(G).length ? (v(!0), N(ee, { key: 0 }, se(t(G).filter((i) => i.collectible), (i) => (v(), N("div", {
|
|
630
633
|
class: "flex items-center gap-x-8 h-48",
|
|
631
634
|
key: i.name
|
|
632
635
|
}, [
|
|
633
636
|
a("img", {
|
|
634
637
|
src: i.collectible.image || t(rt),
|
|
635
638
|
class: "aspect-square h-full object-contain"
|
|
636
|
-
}, null, 8,
|
|
639
|
+
}, null, 8, ro),
|
|
637
640
|
a("div", null, [
|
|
638
|
-
a("div",
|
|
639
|
-
a("div",
|
|
641
|
+
a("div", lo, M(i.name), 1),
|
|
642
|
+
a("div", co, " Expired on " + M(t(g)(i.expiredAt).format("MMM D, Y")), 1)
|
|
640
643
|
])
|
|
641
|
-
]))), 128)) : (
|
|
644
|
+
]))), 128)) : (v(), N("div", mo, "No titles"))
|
|
642
645
|
])
|
|
643
|
-
], 64)) : t(o).value == "loyalty" ? (
|
|
644
|
-
|
|
646
|
+
], 64)) : t(o).value == "loyalty" ? (v(), N("div", uo, [
|
|
647
|
+
_(A, {
|
|
645
648
|
class: "p-16 space-y-24",
|
|
646
649
|
variant: "outlined"
|
|
647
650
|
}, {
|
|
648
651
|
default: ne(() => {
|
|
649
652
|
var i, S, f, w, P, Q, Z;
|
|
650
653
|
return [
|
|
651
|
-
a("div",
|
|
652
|
-
|
|
653
|
-
a("div",
|
|
654
|
+
a("div", po, [
|
|
655
|
+
fo,
|
|
656
|
+
a("div", bo, M(((f = (S = (i = b.member.collection) == null ? void 0 : i.CREDIT) == null ? void 0 : S[0]) == null ? void 0 : f.balance) ?? 0), 1)
|
|
654
657
|
]),
|
|
655
|
-
a("div",
|
|
656
|
-
|
|
657
|
-
a("div",
|
|
658
|
-
(
|
|
658
|
+
a("div", yo, [
|
|
659
|
+
vo,
|
|
660
|
+
a("div", xo, M(((Z = (Q = (P = (w = b.member.collection) == null ? void 0 : w.CREDIT) == null ? void 0 : P[0]) == null ? void 0 : Q.expiryBalance) == null ? void 0 : Z.reduce(
|
|
661
|
+
(R, O) => O.expiredAt && t(g)(O.expiredAt).isAfter(t(g)()) && t(g)(O.expiredAt).isBefore(t(g)().add(30, "days")) ? R + O.amount : R,
|
|
659
662
|
0
|
|
660
663
|
)) ?? 0), 1)
|
|
661
664
|
]),
|
|
662
|
-
a("div",
|
|
663
|
-
|
|
665
|
+
a("div", go, [
|
|
666
|
+
_(m, {
|
|
664
667
|
label: "Add credit",
|
|
665
668
|
icon: "add",
|
|
666
669
|
variant: "plain",
|
|
667
|
-
onClick: n[1] || (n[1] = (
|
|
670
|
+
onClick: n[1] || (n[1] = (R) => $("credit", "send"))
|
|
668
671
|
}),
|
|
669
|
-
|
|
672
|
+
_(m, {
|
|
670
673
|
label: "Deduct credit",
|
|
671
674
|
icon: "remove",
|
|
672
675
|
variant: "plain",
|
|
673
|
-
onClick: n[2] || (n[2] = (
|
|
676
|
+
onClick: n[2] || (n[2] = (R) => $("credit", "deduct"))
|
|
674
677
|
})
|
|
675
678
|
])
|
|
676
679
|
];
|
|
677
680
|
}),
|
|
678
681
|
_: 1
|
|
679
682
|
}),
|
|
680
|
-
|
|
683
|
+
_(A, {
|
|
681
684
|
class: "p-16 space-y-24",
|
|
682
685
|
variant: "outlined"
|
|
683
686
|
}, {
|
|
684
687
|
default: ne(() => {
|
|
685
688
|
var i, S, f, w, P, Q, Z;
|
|
686
689
|
return [
|
|
687
|
-
a("div",
|
|
688
|
-
|
|
689
|
-
a("div",
|
|
690
|
+
a("div", _o, [
|
|
691
|
+
ho,
|
|
692
|
+
a("div", Co, M(((f = (S = (i = b.member.collection) == null ? void 0 : i.COIN) == null ? void 0 : S[0]) == null ? void 0 : f.balance) ?? 0), 1)
|
|
690
693
|
]),
|
|
691
|
-
a("div",
|
|
692
|
-
|
|
693
|
-
a("div",
|
|
694
|
-
(
|
|
694
|
+
a("div", So, [
|
|
695
|
+
Fo,
|
|
696
|
+
a("div", To, M(((Z = (Q = (P = (w = b.member.collection) == null ? void 0 : w.COIN) == null ? void 0 : P[0]) == null ? void 0 : Q.expiryBalance) == null ? void 0 : Z.reduce(
|
|
697
|
+
(R, O) => O.expiredAt && t(g)(O.expiredAt).isAfter(t(g)()) && t(g)(O.expiredAt).isBefore(t(g)().add(30, "days")) ? R + O.amount : R,
|
|
695
698
|
0
|
|
696
699
|
)) ?? 0), 1)
|
|
697
700
|
]),
|
|
698
|
-
a("div",
|
|
699
|
-
|
|
701
|
+
a("div", wo, [
|
|
702
|
+
_(m, {
|
|
700
703
|
label: "Add point",
|
|
701
704
|
icon: "add",
|
|
702
705
|
variant: "plain",
|
|
703
|
-
onClick: n[3] || (n[3] = (
|
|
706
|
+
onClick: n[3] || (n[3] = (R) => $("coin", "send"))
|
|
704
707
|
}),
|
|
705
|
-
|
|
708
|
+
_(m, {
|
|
706
709
|
label: "Deduct point",
|
|
707
710
|
icon: "remove",
|
|
708
711
|
variant: "plain",
|
|
709
|
-
onClick: n[4] || (n[4] = (
|
|
712
|
+
onClick: n[4] || (n[4] = (R) => $("coin", "deduct"))
|
|
710
713
|
})
|
|
711
714
|
])
|
|
712
715
|
];
|
|
@@ -720,10 +723,10 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
720
723
|
}, 8, ["modelValue"]);
|
|
721
724
|
};
|
|
722
725
|
}
|
|
723
|
-
}),
|
|
726
|
+
}), Mo = { class: "flex items-center justify-end" }, Wo = /* @__PURE__ */ pe({
|
|
724
727
|
__name: "MemberList",
|
|
725
|
-
setup(
|
|
726
|
-
const q = je(),
|
|
728
|
+
setup(b) {
|
|
729
|
+
const q = je(), x = ye(), u = Le(), { minor: E } = Ye, d = xt(), V = [
|
|
727
730
|
{
|
|
728
731
|
header: "Name",
|
|
729
732
|
enableSorting: !0,
|
|
@@ -733,7 +736,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
733
736
|
}
|
|
734
737
|
},
|
|
735
738
|
{
|
|
736
|
-
accessorFn: (o) =>
|
|
739
|
+
accessorFn: (o) => g(ze(o._id.toString())).format("D MMM YYYY"),
|
|
737
740
|
header: "Customer Since",
|
|
738
741
|
accessorKey: "_id",
|
|
739
742
|
id: "_id"
|
|
@@ -745,7 +748,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
745
748
|
cell(o) {
|
|
746
749
|
return yt(
|
|
747
750
|
o.row.original,
|
|
748
|
-
|
|
751
|
+
x.sortedTiers
|
|
749
752
|
);
|
|
750
753
|
}
|
|
751
754
|
},
|
|
@@ -755,7 +758,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
755
758
|
cell(o) {
|
|
756
759
|
return vt(
|
|
757
760
|
o.row.original,
|
|
758
|
-
|
|
761
|
+
x.sortedTitles
|
|
759
762
|
);
|
|
760
763
|
}
|
|
761
764
|
},
|
|
@@ -811,12 +814,12 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
811
814
|
return oe("div", { class: "flex items-center justify-end gap-4" }, [
|
|
812
815
|
oe(
|
|
813
816
|
"span",
|
|
814
|
-
(e = o.row.original.stats) != null && e.lastVisit ?
|
|
817
|
+
(e = o.row.original.stats) != null && e.lastVisit ? g((n = o.row.original.stats) == null ? void 0 : n.lastVisit).fromNow() : "NA"
|
|
815
818
|
),
|
|
816
819
|
oe(
|
|
817
820
|
ce.FmTooltip,
|
|
818
821
|
{
|
|
819
|
-
content:
|
|
822
|
+
content: g(o.row.original.stats.lastVisit).format(
|
|
820
823
|
"D MMM YYYY - hh:mmA"
|
|
821
824
|
)
|
|
822
825
|
},
|
|
@@ -876,7 +879,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
876
879
|
rowsNumber: 0
|
|
877
880
|
};
|
|
878
881
|
function c(o) {
|
|
879
|
-
const e =
|
|
882
|
+
const e = g(o);
|
|
880
883
|
return e.isValid() ? e.format("DD/MM/YYYY") : "";
|
|
881
884
|
}
|
|
882
885
|
async function p() {
|
|
@@ -888,7 +891,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
888
891
|
})).meta.totalResources ?? 0, n = r.rowsPerPage;
|
|
889
892
|
await E(
|
|
890
893
|
async () => {
|
|
891
|
-
var l,
|
|
894
|
+
var l, y, m, C, A, U, i, S, f, w, P, Q, Z, R, O, ve, xe, ge, _e, he, Ce, Se, Fe, Te, we, ke, Me, Ae;
|
|
892
895
|
for (let $e = 0; $e < e; $e += n) {
|
|
893
896
|
const qe = {
|
|
894
897
|
...r,
|
|
@@ -900,25 +903,25 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
900
903
|
for (const s of Ke.resources) {
|
|
901
904
|
const Ge = (l = et.parseOneAddress(
|
|
902
905
|
s == null ? void 0 : s.email
|
|
903
|
-
)) != null && l.domain.includes("feedmepos.com") ? void 0 : s.email, He = (m = ((
|
|
906
|
+
)) != null && l.domain.includes("feedmepos.com") ? void 0 : s.email, He = (m = ((y = s == null ? void 0 : s.collection) == null ? void 0 : y.TITLE) || []) == null ? void 0 : m.reduce(
|
|
904
907
|
(z, te) => {
|
|
905
908
|
var re, le;
|
|
906
|
-
const ie = (le = (re =
|
|
909
|
+
const ie = (le = (re = x.sortedTitles) == null ? void 0 : re.find(
|
|
907
910
|
(de) => de._id === te.collectible
|
|
908
911
|
)) == null ? void 0 : le.name;
|
|
909
912
|
return !ie || te.balance <= 0 || z.push(ie), z;
|
|
910
913
|
},
|
|
911
914
|
[]
|
|
912
|
-
), Je = (
|
|
915
|
+
), Je = (x.sortedTitles || []).reduce(
|
|
913
916
|
(z, te) => {
|
|
914
917
|
var re, le, de, Ie;
|
|
915
918
|
const ie = (Ie = (de = (le = (((re = s == null ? void 0 : s.collection) == null ? void 0 : re.TITLE) || []).find(
|
|
916
919
|
(Qe) => Qe.collectible === te._id
|
|
917
920
|
)) == null ? void 0 : le.expiryBalance) == null ? void 0 : de[0]) == null ? void 0 : Ie.expiredAt;
|
|
918
|
-
return z[te.name] = ie ?
|
|
921
|
+
return z[te.name] = ie ? g(ie).format("DD/MM/YYYY") : "", z;
|
|
919
922
|
},
|
|
920
923
|
{}
|
|
921
|
-
), Xe = ((U = (
|
|
924
|
+
), Xe = ((U = (A = (C = s.collection) == null ? void 0 : C.CREDIT) == null ? void 0 : A.at(0)) == null ? void 0 : U.balance) || 0, Ne = ((w = (f = (S = (i = s.collection) == null ? void 0 : i.CREDIT) == null ? void 0 : S.at(0)) == null ? void 0 : f.expiryBalance) == null ? void 0 : w.reduce(
|
|
922
925
|
(z, te) => z + te.amount,
|
|
923
926
|
0
|
|
924
927
|
)) || 0, Ve = me(Xe, 2), We = {
|
|
@@ -932,7 +935,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
932
935
|
Credit: (Number(Ve) - Number(Ne)).toFixed(2),
|
|
933
936
|
FreeCredit: Number(Ne.toFixed(2)),
|
|
934
937
|
TotalCredit: Number(Ve),
|
|
935
|
-
Exp: s != null && s.collection ? ((
|
|
938
|
+
Exp: s != null && s.collection ? ((O = (R = (Z = s.collection) == null ? void 0 : Z.POINT) == null ? void 0 : R.at(0)) == null ? void 0 : O.balance) ?? 0 : 0,
|
|
936
939
|
Point: s != null && s.collection ? ((ge = (xe = (ve = s.collection) == null ? void 0 : ve.COIN) == null ? void 0 : xe.at(0)) == null ? void 0 : ge.balance) ?? 0 : 0,
|
|
937
940
|
Level: s != null && s.collection ? ((Ce = (he = (_e = s.collection) == null ? void 0 : _e.TIER) == null ? void 0 : he.at(0)) == null ? void 0 : Ce.balance) ?? 0 : 0,
|
|
938
941
|
Tier: s != null && s.collection ? ((Te = (Fe = (Se = s.collection) == null ? void 0 : Se.TIER) == null ? void 0 : Fe.at(0)) == null ? void 0 : Te.balance) ?? 0 : 0,
|
|
@@ -973,13 +976,13 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
973
976
|
}
|
|
974
977
|
);
|
|
975
978
|
}
|
|
976
|
-
return
|
|
977
|
-
await
|
|
979
|
+
return Oe(async () => {
|
|
980
|
+
await x.readMembership(), await q.read(), await u.readLocations(), await h();
|
|
978
981
|
}), (o, e) => {
|
|
979
|
-
const n = F("FmSearch"), l = F("FmButton"),
|
|
980
|
-
return
|
|
981
|
-
a("div",
|
|
982
|
-
|
|
982
|
+
const n = F("FmSearch"), l = F("FmButton"), y = F("FmSnackbar");
|
|
983
|
+
return v(), N("div", null, [
|
|
984
|
+
a("div", Mo, [
|
|
985
|
+
_(n, {
|
|
983
986
|
class: "mt-4",
|
|
984
987
|
modelValue: t(k).searchValue,
|
|
985
988
|
"onUpdate:modelValue": [
|
|
@@ -989,13 +992,13 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
989
992
|
placeholder: "Search",
|
|
990
993
|
collapsible: ""
|
|
991
994
|
}, null, 8, ["modelValue", "onUpdate:modelValue"]),
|
|
992
|
-
|
|
995
|
+
_(l, {
|
|
993
996
|
icon: "ios_share",
|
|
994
997
|
variant: "tertiary",
|
|
995
998
|
onClick: p
|
|
996
999
|
})
|
|
997
1000
|
]),
|
|
998
|
-
Pe(
|
|
1001
|
+
Pe(_(y, {
|
|
999
1002
|
"z-index": 0,
|
|
1000
1003
|
class: "!max-w-full my-16",
|
|
1001
1004
|
title: "Info",
|
|
@@ -1006,9 +1009,9 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
1006
1009
|
action: "Refresh",
|
|
1007
1010
|
onOnAction: G
|
|
1008
1011
|
}, null, 512), [
|
|
1009
|
-
[
|
|
1012
|
+
[Re, t(K)]
|
|
1010
1013
|
]),
|
|
1011
|
-
|
|
1014
|
+
_(nt, {
|
|
1012
1015
|
loading: t(k).isLoading,
|
|
1013
1016
|
"row-data": t(T),
|
|
1014
1017
|
"row-count": t(k).totalRows,
|
|
@@ -1024,7 +1027,7 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
1024
1027
|
B.value = m.original, (C = t($)) == null || C.showSheet();
|
|
1025
1028
|
})
|
|
1026
1029
|
}, null, 8, ["loading", "row-data", "row-count", "page-count", "page-index", "page-size", "onSortChange"]),
|
|
1027
|
-
t(B) ? (
|
|
1030
|
+
t(B) ? (v(), j(ko, {
|
|
1028
1031
|
key: 0,
|
|
1029
1032
|
ref_key: "sheetRef",
|
|
1030
1033
|
ref: $,
|
|
@@ -1036,5 +1039,5 @@ const _t = { class: "flex flex-col" }, ht = /* @__PURE__ */ a("div", { class: "f
|
|
|
1036
1039
|
}
|
|
1037
1040
|
});
|
|
1038
1041
|
export {
|
|
1039
|
-
|
|
1042
|
+
Wo as default
|
|
1040
1043
|
};
|