@feedmepos/mf-connect 0.1.38-beta.31 → 0.1.38-beta.33

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 (97) hide show
  1. package/dist/{Analytic-C_nMR1Be.js → Analytic-B1hvdnhQ.js} +13 -13
  2. package/dist/{App-s6O0r91S.js → App-BCjFwtVu.js} +7 -7
  3. package/dist/{AuditLogs-BcVkpvGw.js → AuditLogs-DwOzstOt.js} +9 -9
  4. package/dist/{Bin-C5g9jHoQ.js → Bin-BgnnzoZS.js} +8 -8
  5. package/dist/{Broadcast-JPTVWDJC.js → Broadcast-DqSOAE01.js} +9 -9
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CloO2B7A.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CBMG8_Sk.js} +6 -6
  7. package/dist/{Card-Dgj6yukn.js → Card-A9CkhfVY.js} +17 -17
  8. package/dist/{Collections-D-aFYRCq.js → Collections-BgnFnaWo.js} +6 -6
  9. package/dist/{Credit-BZcRB9Wj.js → Credit-a_OpuZJM.js} +9 -9
  10. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-Du7fRSZC.js +128 -0
  11. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-DnPPICf0.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-CNBh1Id6.js} +32 -32
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-DbSiVLaJ.js → EffectSheet.vue_vue_type_style_index_0_lang-oao_UwRf.js} +6 -6
  13. package/dist/{Experience-DHQPxVv3.js → Experience-CpGj9JqO.js} +9 -9
  14. package/dist/{Game-C1XnMgil.js → Game-D0e3MyPK.js} +10 -10
  15. package/dist/{Grab-BbHccgZO.js → Grab-Exo0vj4b.js} +9 -9
  16. package/dist/{Index-DYZsN2H3.js → Index-DU0reBq4.js} +10 -10
  17. package/dist/{Marketing-DnsPHYpt.js → Marketing-BZtDNsA-.js} +6 -6
  18. package/dist/{Member-rkdV1fVo.js → Member-D8buIkBR.js} +10 -10
  19. package/dist/{MemberList-QaB13bxO.js → MemberList-CDwYfTlS.js} +81 -80
  20. package/dist/{MemberTransactions-Dw5qHQVW.js → MemberTransactions-DRkpizb_.js} +1 -1
  21. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-DGyv0LMu.js → MessageInput.vue_vue_type_script_setup_true_lang-VzyI4O5z.js} +7 -7
  22. package/dist/{Mission-B7rAzf6O.js → Mission-BTzIK2Yx.js} +10 -10
  23. package/dist/{Overview-Cg4Szz05.js → Overview-CMkljRYt.js} +18 -18
  24. package/dist/{Point-DuKS8-0D.js → Point-DGPLd8z-.js} +9 -9
  25. package/dist/Promotion-D8K2pFnv.js +359 -0
  26. package/dist/{Queue-BZONVNCP.js → Queue-CySghWZm.js} +10 -10
  27. package/dist/{Record-jNEahJNC.js → Record-CxloqLoN.js} +8 -8
  28. package/dist/{Reward-VS6C6NQO.js → Reward-DxvFaqzm.js} +15 -15
  29. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-D4KMGgkv.js → RewardGroup.vue_vue_type_script_setup_true_lang-WOC3rplt.js} +11 -11
  30. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-Cb-WJA0i.js → RuleGroup.vue_vue_type_script_setup_true_lang-C4zhGkBY.js} +165 -165
  31. package/dist/{Segment-DK5tqeOF.js → Segment-DKD6P0cE.js} +22 -22
  32. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-AYAwO37B.js → SelectItems.vue_vue_type_script_setup_true_lang-bpblaVLq.js} +2 -2
  33. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-K8js6fbo.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-B1g0fHPV.js} +11 -11
  34. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-lcPHPa4K.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-CSR5EuVO.js} +3 -3
  35. package/dist/Setting-khHGWePA.js +1929 -0
  36. package/dist/SettingAdvertisements-DJHKjE95.js +264 -0
  37. package/dist/{Store-DqFW5hr_.js → Store-0cJJpCIV.js} +19 -19
  38. package/dist/{StoreRewards-g-3WtxwG.js → StoreRewards-CV8XStEA.js} +13 -13
  39. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-DNT4PWgl.js → StoreTransactions.vue_vue_type_script_setup_true_lang-Bqw4ayC4.js} +20 -20
  40. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-CXYnNSta.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-BprUyeOJ.js} +1 -1
  41. package/dist/{Tier-SHij9zKX.js → Tier-BgahD6Rs.js} +124 -120
  42. package/dist/{Title-_2JVV1rW.js → Title-DKGqu5SL.js} +19 -19
  43. package/dist/{Transaction-BHLb6hZN.js → Transaction-Bu-Zaa-_.js} +2 -2
  44. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-DolBmHzN.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-cDZZz9DR.js} +7 -7
  45. package/dist/{Voucher-CJk8ZuCA.js → Voucher-sko-4yOv.js} +13 -13
  46. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-BviU3rz6.js → VoucherEditor.vue_vue_type_script_setup_true_lang-DVlYxnyk.js} +10 -10
  47. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-R4Xcn7gl.js → ZodTextField.vue_vue_type_script_setup_true_lang-CeNxiT5A.js} +1 -1
  48. package/dist/{app-D9ygZVP0.js → app-B06WmmlS.js} +58 -52
  49. package/dist/{app-BpcIC6Ud.js → app-DivOpQ--.js} +1 -1
  50. package/dist/app.js +1 -1
  51. package/dist/{business-CzJxdKc-.js → business-ClV-3_wH.js} +1 -1
  52. package/dist/{campaign-s_7F9I6R.js → campaign-C-DtV5gs.js} +2 -2
  53. package/dist/{campaign-RKjwSpJk.js → campaign-ChCAqzSE.js} +9 -9
  54. package/dist/{campaign.enum-BlGYJ6p4.js → campaign.enum-HJvL6WCW.js} +1 -1
  55. package/dist/{campaign.fn-aH0pz1jU.js → campaign.fn-FkHPIhXx.js} +30 -30
  56. package/dist/{collectible.enum-DYV8J5Mg.js → collectible.enum-DlxRyJMy.js} +1 -1
  57. package/dist/{collection.fn-lLG_rLyd.js → collection.fn-DmYKiZsL.js} +2 -2
  58. package/dist/{dto-Cx-z2h2_.js → dto-BKG9T2I2.js} +4 -4
  59. package/dist/{effect-DV2GiHqM.js → effect-qQUWG0In.js} +1 -1
  60. package/dist/{email-addresses-DTfbKDsC.js → email-addresses-Dqyt8I7s.js} +1 -1
  61. package/dist/{export-hHjutAC3.js → export-CUcU1l-K.js} +3 -3
  62. package/dist/{helper-oy_DH4P5.js → helper-Bxi0o7m8.js} +1 -1
  63. package/dist/{index-BA6oC2L9.js → index-B5SrWi06.js} +3 -3
  64. package/dist/{index-DJlZYwDo.js → index-B94mBxiL.js} +1 -1
  65. package/dist/{index-B79nkieV.js → index-BAv3BkZY.js} +1023 -1023
  66. package/dist/{index-Ba05Naif.js → index-BEN3tBqd.js} +4 -6
  67. package/dist/{index-CycW9ri6.js → index-BL_1CL4C.js} +3 -3
  68. package/dist/{index-B1C5UjP5.js → index-BWq6tQbu.js} +1 -1
  69. package/dist/{index-CtxtD8HE.js → index-C06Q7hpx.js} +1 -1
  70. package/dist/{index-ClgsfK3Y.js → index-Ct2-fiN2.js} +1 -1
  71. package/dist/{index-D8JDdV2w.js → index-DdekcTG4.js} +1 -1
  72. package/dist/{index-BoRTW-dI.js → index-Dhh1sEG_.js} +8 -7
  73. package/dist/{index-CV_3mltA.js → index-DlK01rGI.js} +1 -1
  74. package/dist/{index-sSxaqeIi.js → index-DzELBV8R.js} +4 -1
  75. package/dist/{index-8t9y1bUZ.js → index-TKz_0Ysa.js} +1 -1
  76. package/dist/{index-CUGS4y58.js → index-UjD7i6Rs.js} +412 -389
  77. package/dist/{index.esm2017-B3-oEraK.js → index.esm2017-DHCRXeWh.js} +1 -1
  78. package/dist/{loading-D98ofaCB.js → loading-B_UZCyhK.js} +1 -1
  79. package/dist/{membership-CwbI7ZrE.js → membership-_kM8eXz7.js} +3 -3
  80. package/dist/{money-D5cHxcPB.js → money-CoVA-srK.js} +1 -1
  81. package/dist/{number-CPEEKMZZ.js → number-YRitPV2s.js} +1 -1
  82. package/dist/{objectid-Be_atBnH.js → objectid-C1na7D-x.js} +5 -5
  83. package/dist/{plugins-B55BRo5q.js → plugins-CRzS5EeK.js} +2 -2
  84. package/dist/{reward-xrTcTYjt.js → reward-BzSjQxTf.js} +1 -1
  85. package/dist/{rule-w89XmfIg.js → rule-BTgu7Yg-.js} +3 -3
  86. package/dist/rule-builder-DqxBZKm0.js +102 -0
  87. package/dist/{template-Bt_auQZW.js → template-Cb_6r-V_.js} +4 -4
  88. package/dist/{timezone-BcBn2Kb_.js → timezone-_t4BbV7Q.js} +1 -1
  89. package/dist/{trigger-D_6mNiva.js → trigger-B0ldNAaK.js} +4 -4
  90. package/dist/{user-B6YOJ_7r.js → user-B4J6WtQq.js} +1 -1
  91. package/dist/{vue-i18n-QvFKKqSt.js → vue-i18n-c1uC6tyM.js} +2 -2
  92. package/dist/{xlsx-Dr9Ctrs4.js → xlsx-BRAFCQ59.js} +1 -1
  93. package/package.json +1 -1
  94. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-DLnvDVgf.js +0 -108
  95. package/dist/Promotion-CFtLq-LB.js +0 -289
  96. package/dist/Setting-BtiUlWRc.js +0 -1947
  97. package/dist/rule-builder-NTDBB2kj.js +0 -93
@@ -1,28 +1,28 @@
1
1
  import { defineComponent as q, resolveComponent as w, openBlock as C, createElementBlock as B, Fragment as Y, createVNode as c, withCtx as V, createElementVNode as a, toDisplayString as O, unref as r, renderSlot as ve, ref as F, computed as G, watch as ie, createBlock as j, isRef as J, resolveDynamicComponent as ne, renderList as re, normalizeClass as de, createTextVNode as ce, createCommentVNode as z, h as te, onMounted as _e } from "vue";
2
2
  import { _ as ge } from "./campaign-CpzFl8Vr.js";
3
- import { u as Z } from "./vue-i18n-QvFKKqSt.js";
4
- import { u as ue } from "./loading-D98ofaCB.js";
5
- import { c as we, p as K } from "./plugins-B55BRo5q.js";
3
+ import { u as Z } from "./vue-i18n-c1uC6tyM.js";
4
+ import { u as ue } from "./loading-B_UZCyhK.js";
5
+ import { c as we, p as K } from "./plugins-CRzS5EeK.js";
6
6
  import { J as X } from "./JsonViewer-v8_C7l5N.js";
7
7
  import { Z as N } from "./zod-Bg2FbC-D.js";
8
8
  import { u as W } from "./app-wDQR6dpb.js";
9
- import { u as Q, _ as ye } from "./RewardGroup.vue_vue_type_script_setup_true_lang-D4KMGgkv.js";
10
- import { u as me } from "./reward-xrTcTYjt.js";
11
- import { a as be, b as xe } from "./index-BoRTW-dI.js";
12
- import { l as le, c as se } from "./index-CUGS4y58.js";
13
- import "./index-Ba05Naif.js";
14
- import "./index-CV_3mltA.js";
15
- import "./index-BA6oC2L9.js";
16
- import "./index-B79nkieV.js";
17
- import { C as fe } from "./membership-CwbI7ZrE.js";
18
- import { t as ee } from "./helper-oy_DH4P5.js";
9
+ import { u as Q, _ as ye } from "./RewardGroup.vue_vue_type_script_setup_true_lang-WOC3rplt.js";
10
+ import { u as me } from "./reward-BzSjQxTf.js";
11
+ import { a as be, b as xe } from "./index-Dhh1sEG_.js";
12
+ import { l as le, c as se } from "./index-UjD7i6Rs.js";
13
+ import "./index-BEN3tBqd.js";
14
+ import "./index-DlK01rGI.js";
15
+ import "./index-B5SrWi06.js";
16
+ import "./index-BAv3BkZY.js";
17
+ import { C as fe } from "./membership-_kM8eXz7.js";
18
+ import { t as ee } from "./helper-Bxi0o7m8.js";
19
19
  import { c as H } from "./object-qECH92oz.js";
20
20
  import { useDialog as Ce, components as oe } from "@feedmepos/ui-library";
21
- import { _ as Re } from "./ZodTextField.vue_vue_type_script_setup_true_lang-R4Xcn7gl.js";
22
- import { a as Se, _ as Fe, b as ke } from "./trigger-D_6mNiva.js";
23
- import { O as $e } from "./objectid-Be_atBnH.js";
24
- import { r as pe } from "./index-D8JDdV2w.js";
25
- import { u as Pe } from "./business-CzJxdKc-.js";
21
+ import { _ as Re } from "./ZodTextField.vue_vue_type_script_setup_true_lang-CeNxiT5A.js";
22
+ import { a as Se, _ as Fe, b as ke } from "./trigger-B0ldNAaK.js";
23
+ import { O as $e } from "./objectid-C1na7D-x.js";
24
+ import { r as pe } from "./index-DdekcTG4.js";
25
+ import { u as Pe } from "./business-ClV-3_wH.js";
26
26
  const Ve = { class: "flex items-center justify-between flex-1 xs:hidden" }, Ie = { class: "flex items-center gap-x-24 h-[80px] p-8 flex-1" }, Te = { class: "flex-1" }, Ue = { class: "flex items-center gap-8" }, Ae = { class: "fm-typo-en-title-sm-800" }, Le = { class: "flex gap-8 items-center" }, Ee = { class: "space-y-4 hidden xs:block border-b border-fm-color-neutral-gray-100 px-16 flex-1 pb-24" }, Be = { class: "flex items-center justify-between" }, Oe = { class: "flex items-center gap-x-24 h-[80px] p-8 flex-1" }, je = { class: "flex-1 space-y-4" }, De = { class: "fm-typo-en-body-lg-600" }, Ge = /* @__PURE__ */ q({
27
27
  __name: "ReferralRewadGroupCard",
28
28
  props: {
@@ -1,16 +1,16 @@
1
1
  import { defineComponent as j, ref as P, computed as E, h as M, onMounted as H, resolveComponent as l, openBlock as u, createElementBlock as w, Fragment as b, createVNode as r, unref as o, withCtx as g, createElementVNode as a, toDisplayString as d, renderList as q, createBlock as C, resolveDynamicComponent as z } from "vue";
2
2
  import { _ as G } from "./campaign-CpzFl8Vr.js";
3
3
  import { useDialog as J, components as Q } from "@feedmepos/ui-library";
4
- import { p as W } from "./plugins-B55BRo5q.js";
5
- import { u as X } from "./loading-D98ofaCB.js";
6
- import { u as Y } from "./business-CzJxdKc-.js";
7
- import { u as Z } from "./campaign-s_7F9I6R.js";
8
- import { g as ee, a as V, b as B } from "./campaign-RKjwSpJk.js";
4
+ import { p as W } from "./plugins-CRzS5EeK.js";
5
+ import { u as X } from "./loading-B_UZCyhK.js";
6
+ import { u as Y } from "./business-ClV-3_wH.js";
7
+ import { u as Z } from "./campaign-C-DtV5gs.js";
8
+ import { g as ee, a as V, b as B } from "./campaign-ChCAqzSE.js";
9
9
  import { _ as te } from "./FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js";
10
- import { _ as oe } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-DnPPICf0.js";
11
- import { u as ne } from "./template-Bt_auQZW.js";
12
- import { u as ae } from "./vue-i18n-QvFKKqSt.js";
13
- import { c as _ } from "./index-sSxaqeIi.js";
10
+ import { _ as oe } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-CNBh1Id6.js";
11
+ import { u as ne } from "./template-Cb_6r-V_.js";
12
+ import { u as ae } from "./vue-i18n-c1uC6tyM.js";
13
+ import { c as _ } from "./index-DzELBV8R.js";
14
14
  const se = { class: "flex items-center" }, re = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2 mr-8" }, ie = { class: "px-24 flex flex-col gap-y-16" }, le = { class: "flex items-center justify-between w-full" }, ce = { class: "flex gap-8 overflow-x-auto" }, me = { class: "space-y-8" }, de = { class: "flex w-full gap-4 items-center" }, pe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ue = { class: "space-y-4" }, fe = { class: "fm-typo-en-body-lg-600" }, ye = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ge = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, _e = { class: "flex flex-col gap-16 text-center" }, he = { class: "fm-typo-en-title-sm-800" }, we = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Ne = /* @__PURE__ */ j({
15
15
  __name: "Point",
16
16
  setup(be) {
@@ -0,0 +1,359 @@
1
+ import { defineComponent as K, ref as b, resolveComponent as u, openBlock as f, createBlock as S, unref as a, isRef as Y, withCtx as x, createElementVNode as l, createVNode as i, computed as Z, h as ee, onMounted as oe, createElementBlock as T, Fragment as V, renderList as te, resolveDynamicComponent as ne, toDisplayString as F } from "vue";
2
+ import { _ as ae } from "./campaign-CpzFl8Vr.js";
3
+ import { useDialog as se, components as re } from "@feedmepos/ui-library";
4
+ import { c as M, p as $ } from "./plugins-CRzS5EeK.js";
5
+ import { u as le } from "./loading-B_UZCyhK.js";
6
+ import { u as ie } from "./business-ClV-3_wH.js";
7
+ import { u as ce } from "./campaign-C-DtV5gs.js";
8
+ import { u as me } from "./vue-i18n-c1uC6tyM.js";
9
+ import { g as ue, a as N } from "./campaign-ChCAqzSE.js";
10
+ import { e as j } from "./effect-qQUWG0In.js";
11
+ import { _ as de } from "./EditCampaignSheet.vue_vue_type_script_setup_true_lang-CNBh1Id6.js";
12
+ import { c as g } from "./index-DzELBV8R.js";
13
+ import { u as pe } from "./template-Cb_6r-V_.js";
14
+ import { _ as q } from "./FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js";
15
+ const fe = { class: "space-y-8" }, ye = /* @__PURE__ */ K({
16
+ __name: "QueueSheet",
17
+ emits: ["update:model-value"],
18
+ setup(U, { expose: n, emit: O }) {
19
+ const p = b(!1), h = b([]);
20
+ async function k() {
21
+ p.value = !0;
22
+ const r = await g.getPromotionQueue();
23
+ console.log(r, "jobs"), h.value = r;
24
+ }
25
+ const v = [
26
+ {
27
+ header: "Started At",
28
+ accessorFn: (r) => r.createdAt,
29
+ enableSorting: !0
30
+ },
31
+ {
32
+ header: "Campaigns",
33
+ accessorFn: (r) => r.campaigns
34
+ // cell(props) {
35
+ // const r = props.row.original;
36
+ // return h('div', {
37
+ // innerHTML: r.campaigns.map((c: any) => c.name).join(', '),
38
+ // });
39
+ // },
40
+ }
41
+ ];
42
+ return n({
43
+ showSheet: k
44
+ }), (r, m) => {
45
+ const _ = u("FmTable"), P = u("FmSideSheet");
46
+ return f(), S(P, {
47
+ "max-width": 550,
48
+ header: "Promotion Sync Queue",
49
+ modelValue: a(p),
50
+ "onUpdate:modelValue": [
51
+ m[1] || (m[1] = (s) => Y(p) ? p.value = s : null),
52
+ m[2] || (m[2] = (s) => p.value = s)
53
+ ]
54
+ }, {
55
+ default: x(() => [
56
+ l("div", fe, [
57
+ m[3] || (m[3] = l("div", { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, " Promotion synchonizing to your restaurant(s) is queued here. Depending on the number of campaigns and restaurants, this process may take several minutes. No task displayed here means there are no pending promotions to sync. ", -1)),
58
+ i(_, {
59
+ modelValue: r.tableRef,
60
+ "onUpdate:modelValue": m[0] || (m[0] = (s) => r.tableRef = s),
61
+ "column-filter": r.jobFilters,
62
+ "column-defs": v,
63
+ "row-data": a(h),
64
+ "hide-footer": a(h).length <= 10
65
+ }, null, 8, ["modelValue", "column-filter", "row-data", "hide-footer"])
66
+ ])
67
+ ]),
68
+ _: 1
69
+ }, 8, ["modelValue"]);
70
+ };
71
+ }
72
+ }), ge = { class: "px-24 flex flex-col gap-y-16" }, he = { class: "flex items-center justify-between w-full" }, _e = { class: "flex gap-8 overflow-x-auto" }, be = { class: "space-y-8" }, ve = { class: "flex w-full gap-4 items-center" }, we = { class: "space-y-4" }, Ce = { class: "fm-typo-en-body-lg-600" }, Fe = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Se = { class: "flex flex-col gap-16 text-center" }, xe = { class: "fm-typo-en-title-sm-800" }, ke = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Ke = /* @__PURE__ */ K({
73
+ __name: "Promotion",
74
+ setup(U) {
75
+ const { t: n } = me(), O = {
76
+ label: n("connect.promotion.createCampaign"),
77
+ value: "create",
78
+ isPrimary: !0,
79
+ prependIcon: "add"
80
+ }, p = {
81
+ label: "Force sync",
82
+ value: "sync",
83
+ isPrimary: !1,
84
+ prependIcon: "refresh"
85
+ }, h = {
86
+ label: "Queue",
87
+ value: "queue",
88
+ isPrimary: !1,
89
+ prependIcon: "work_history"
90
+ }, k = pe("PROMOTION", se()), v = ie(), r = ce(), { global: m, minor: _ } = le, P = [
91
+ {
92
+ label: "Bill promotion",
93
+ value: "BILL"
94
+ },
95
+ {
96
+ label: "Item promotion",
97
+ value: "ITEM"
98
+ }
99
+ ], s = b({
100
+ searchKey: "",
101
+ location: [],
102
+ effectType: []
103
+ });
104
+ function D(e) {
105
+ const o = s.value.location;
106
+ return !o || o.length === 0 || !e.targetLocation ? !0 : Array.isArray(o) ? o.some((d) => {
107
+ var c;
108
+ return (c = e == null ? void 0 : e.targetLocation) == null ? void 0 : c.includes(d);
109
+ }) : e.targetLocation.includes(o);
110
+ }
111
+ function E(e) {
112
+ var c, C;
113
+ const o = s.value.effectType;
114
+ if (!o || o.length === 0) return !0;
115
+ const d = (C = (c = e.effect) == null ? void 0 : c.options) == null ? void 0 : C.target;
116
+ return o.includes(d);
117
+ }
118
+ const y = Z(
119
+ () => r.campaigns.promotion.filter(
120
+ (e) => D(e) && E(e)
121
+ )
122
+ ), Q = [
123
+ {
124
+ header: n("connect.promotion.promotionTitle"),
125
+ accessorFn: (e) => e.name
126
+ },
127
+ {
128
+ header: n("connect.promotion.status"),
129
+ accessorFn: (e) => ue(e),
130
+ cell(e) {
131
+ return N(e.row.original);
132
+ }
133
+ },
134
+ {
135
+ header: n("connect.promotion.type"),
136
+ accessorFn: (e) => `${M.title(e.effect.options.target)} promotion`
137
+ },
138
+ {
139
+ header: n("connect.promotion.summary"),
140
+ accessorFn: (e) => j(e.effect)
141
+ },
142
+ {
143
+ header: n("connect.promotion.actions"),
144
+ cell(e) {
145
+ return ee(re.FmButton, {
146
+ variant: "tertiary",
147
+ icon: "delete",
148
+ iconColor: "neutral-gray-400",
149
+ onClick: (o) => {
150
+ o.stopPropagation(), R(e.row.original);
151
+ }
152
+ });
153
+ }
154
+ }
155
+ ], L = b(), I = b();
156
+ async function R(e) {
157
+ await $.remove(
158
+ n("connect.promotion.confirmRemove", { name: e.name })
159
+ ) && await _(
160
+ async () => {
161
+ await g.delete(e._id), await r.read("PROMOTION");
162
+ },
163
+ {
164
+ message: n("connect.promotion.removing", { name: e.name }),
165
+ successMessage: n("connect.promotion.removedSuccessfully", {
166
+ name: e.name
167
+ })
168
+ }
169
+ );
170
+ }
171
+ async function w(e) {
172
+ e ? await o() : k.open(async (d) => {
173
+ await o(d);
174
+ });
175
+ async function o(d) {
176
+ var c;
177
+ (c = L.value) == null || c.showSheet(
178
+ !0,
179
+ "PROMOTION",
180
+ e ? await g.readById(e._id) : void 0,
181
+ d
182
+ );
183
+ }
184
+ }
185
+ async function H(e) {
186
+ await _(
187
+ async () => {
188
+ e.campaign._id ? await g.update(e.campaign._id, e) : await g.create(e), await r.read("PROMOTION");
189
+ },
190
+ {
191
+ message: n(
192
+ e.campaign._id ? "connect.promotion.updating" : "connect.promotion.creating"
193
+ ),
194
+ successMessage: n(
195
+ e.campaign._id ? "connect.promotion.updatedSuccessfully" : "connect.promotion.createdSuccessfully"
196
+ )
197
+ }
198
+ );
199
+ }
200
+ async function z(e) {
201
+ var o;
202
+ switch (e) {
203
+ case "create":
204
+ w();
205
+ break;
206
+ case "sync":
207
+ await $.confirm(
208
+ "Are you sure you want to synchronize all promotions to POS?",
209
+ "Force sync"
210
+ ) && _(
211
+ async () => {
212
+ await g.syncAllPromotion();
213
+ },
214
+ {
215
+ message: "Syncing promotions...",
216
+ successMessage: "All promotions synced"
217
+ }
218
+ );
219
+ break;
220
+ case "queue":
221
+ (o = I.value) == null || o.showSheet();
222
+ break;
223
+ }
224
+ }
225
+ return oe(async () => {
226
+ await m(async () => {
227
+ await v.readLocations(), await r.read("PROMOTION");
228
+ });
229
+ }), (e, o) => {
230
+ const d = u("FmPageHead"), c = u("FmSearch"), C = u("FmTable"), G = u("FmChip"), B = u("FmButton"), J = u("FmListItem"), W = u("FmList"), X = u("FmCard");
231
+ return f(), T(V, null, [
232
+ i(d, {
233
+ title: a(n)("connect.promotion.title"),
234
+ actions: a(y).length > 0 ? [O, p, h] : [],
235
+ "onClick:action": z
236
+ }, null, 8, ["title", "actions"]),
237
+ l("div", ge, [
238
+ i(c, {
239
+ modelValue: s.value.searchKey,
240
+ "onUpdate:modelValue": o[0] || (o[0] = (t) => s.value.searchKey = t),
241
+ class: "hidden xs:block border-b-2 border-fm-color-neutral-gray-100",
242
+ placeholder: a(n)("connect.promotion.search"),
243
+ collapsible: ""
244
+ }, null, 8, ["modelValue", "placeholder"]),
245
+ a(y) && a(y).length > 0 ? (f(), T(V, { key: 0 }, [
246
+ l("div", he, [
247
+ l("div", _e, [
248
+ i(q, {
249
+ label: `${a(n)("connect.common.location")}: `,
250
+ "right-icon": "keyboard_arrow_down",
251
+ modelValue: s.value.location,
252
+ "onUpdate:modelValue": o[1] || (o[1] = (t) => s.value.location = t),
253
+ icon: "storefront",
254
+ "show-item-label": !0,
255
+ items: a(v).locationOptions
256
+ }, null, 8, ["label", "modelValue", "items"]),
257
+ i(q, {
258
+ label: "Type:",
259
+ "right-icon": "keyboard_arrow_down",
260
+ modelValue: s.value.effectType,
261
+ "onUpdate:modelValue": o[2] || (o[2] = (t) => s.value.effectType = t),
262
+ icon: "filter_list",
263
+ "show-item-label": !0,
264
+ items: P
265
+ }, null, 8, ["modelValue"])
266
+ ]),
267
+ i(c, {
268
+ modelValue: s.value.searchKey,
269
+ "onUpdate:modelValue": o[3] || (o[3] = (t) => s.value.searchKey = t),
270
+ class: "xs:hidden",
271
+ placeholder: "search",
272
+ collapsible: ""
273
+ }, null, 8, ["modelValue"])
274
+ ]),
275
+ i(C, {
276
+ class: "xs:hidden",
277
+ "row-data": a(y),
278
+ "column-defs": Q,
279
+ "search-value": s.value.searchKey,
280
+ "column-filter": [],
281
+ onRowClick: o[4] || (o[4] = (t) => w(t.original)),
282
+ "hide-footer": a(y).length < 10
283
+ }, null, 8, ["row-data", "search-value", "hide-footer"]),
284
+ i(W, { class: "hidden xs:flex flex-col mx-[-24px]" }, {
285
+ default: x(() => [
286
+ (f(!0), T(V, null, te(a(y).filter(
287
+ (t) => t.name.toLowerCase().includes(s.value.searchKey.toLowerCase())
288
+ ), (t) => (f(), S(J, {
289
+ key: t._id.toString(),
290
+ onClick: (A) => w(t),
291
+ class: "py-12 px-16 flex items-center justify-between border-b border-fm-color-neutral-gray-100"
292
+ }, {
293
+ default: x(() => [
294
+ l("div", be, [
295
+ l("div", ve, [
296
+ (f(), S(ne(a(N)(t)))),
297
+ i(G, {
298
+ class: "!text-fm-color-typo-info !bg-fm-color-system-info-100",
299
+ compact: !0,
300
+ label: `${a(M).title(t.effect.options.target)} promotion`
301
+ }, null, 8, ["label"])
302
+ ]),
303
+ l("div", we, [
304
+ l("div", Ce, F(t.name), 1),
305
+ l("div", Fe, F(a(j)(t.effect)), 1)
306
+ ])
307
+ ]),
308
+ i(B, {
309
+ icon: "delete",
310
+ "icon-color": "neutral-gray-400",
311
+ variant: "tertiary",
312
+ onClick: (A) => (A.stopPropagation(), R(t))
313
+ }, null, 8, ["onClick"])
314
+ ]),
315
+ _: 2
316
+ }, 1032, ["onClick"]))), 128))
317
+ ]),
318
+ _: 1
319
+ })
320
+ ], 64)) : (f(), S(X, {
321
+ key: 1,
322
+ variant: "outlined",
323
+ class: "w-full flex flex-col items-center justify-center gap-y-24 p-24"
324
+ }, {
325
+ default: x(() => [
326
+ o[6] || (o[6] = l("img", {
327
+ src: ae,
328
+ class: "aspect-square w-[150px]"
329
+ }, null, -1)),
330
+ l("div", Se, [
331
+ l("div", xe, F(a(n)("connect.promotion.createPromotionCampaign")), 1),
332
+ l("div", ke, F(a(n)("connect.promotion.description")), 1)
333
+ ]),
334
+ i(B, {
335
+ variant: "primary",
336
+ label: a(n)("connect.promotion.createPromotionCampaign"),
337
+ icon: "add",
338
+ onClick: o[5] || (o[5] = (t) => w())
339
+ }, null, 8, ["label"])
340
+ ]),
341
+ _: 1
342
+ }))
343
+ ]),
344
+ i(de, {
345
+ ref_key: "sheetRef",
346
+ ref: L,
347
+ "onSubmit:modelValue": H
348
+ }, null, 512),
349
+ i(ye, {
350
+ ref_key: "queueSheetRef",
351
+ ref: I
352
+ }, null, 512)
353
+ ], 64);
354
+ };
355
+ }
356
+ });
357
+ export {
358
+ Ke as default
359
+ };
@@ -1,19 +1,19 @@
1
1
  import { defineComponent as h, h as n, ref as A, watch as B, onBeforeMount as U, resolveComponent as V, openBlock as z, createElementBlock as O, Fragment as q, createVNode as m, unref as o, createElementVNode as g } from "vue";
2
2
  import { u as G, _ as L } from "./usePagination-Ds-cuHop.js";
3
3
  import { _ as S } from "./FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js";
4
- import { c as u, a as Y } from "./plugins-B55BRo5q.js";
4
+ import { c as u, a as Y } from "./plugins-CRzS5EeK.js";
5
5
  import { useDialog as j, components as y } from "@feedmepos/ui-library";
6
- import "./index-BoRTW-dI.js";
7
- import { J as c, c as d } from "./index-CUGS4y58.js";
8
- import "./index-Ba05Naif.js";
9
- import "./index-CV_3mltA.js";
10
- import "./index-BA6oC2L9.js";
11
- import "./index-B79nkieV.js";
6
+ import "./index-Dhh1sEG_.js";
7
+ import { J as c, c as d } from "./index-UjD7i6Rs.js";
8
+ import "./index-BEN3tBqd.js";
9
+ import "./index-DlK01rGI.js";
10
+ import "./index-B5SrWi06.js";
11
+ import "./index-BAv3BkZY.js";
12
12
  import { h as b } from "./moment-D7p2TMB-.js";
13
- import { u as W } from "./vue-i18n-QvFKKqSt.js";
14
- import { u as H, v as J, w as K } from "./index.esm2017-B3-oEraK.js";
13
+ import { u as W } from "./vue-i18n-c1uC6tyM.js";
14
+ import { u as H, v as J, w as K } from "./index.esm2017-DHCRXeWh.js";
15
15
  import { useRoute as Q } from "vue-router";
16
- import { g as $, S as Z, u as X } from "./index-CycW9ri6.js";
16
+ import { g as $, S as Z, u as X } from "./index-BL_1CL4C.js";
17
17
  import { o as ee } from "./objectId-dwaoBfJX.js";
18
18
  const te = () => {
19
19
  if (!Z.getBusinessId()) throw new Error("Invalid business ID");
@@ -3,17 +3,17 @@ var G = (g, o, m) => o in g ? q(g, o, { enumerable: !0, configurable: !0, writab
3
3
  var z = (g, o, m) => G(g, typeof o != "symbol" ? o + "" : o, m);
4
4
  import { defineComponent as T, ref as B, computed as H, resolveComponent as C, openBlock as I, createBlock as J, unref as n, isRef as Q, withCtx as X, createElementBlock as U, createVNode as w, withModifiers as Z, createCommentVNode as ee, createElementVNode as N, h, onMounted as re, Fragment as te } from "vue";
5
5
  import { u as oe, _ as ae } from "./usePagination-Ds-cuHop.js";
6
- import { g as A } from "./user-B6YOJ_7r.js";
6
+ import { g as A } from "./user-B4J6WtQq.js";
7
7
  import { components as R } from "@feedmepos/ui-library";
8
- import "./index-B79nkieV.js";
9
- import { u as j } from "./vue-i18n-QvFKKqSt.js";
10
- import { u as L } from "./loading-D98ofaCB.js";
8
+ import "./index-BAv3BkZY.js";
9
+ import { u as j } from "./vue-i18n-c1uC6tyM.js";
10
+ import { u as L } from "./loading-B_UZCyhK.js";
11
11
  import { useCoreStore as se } from "@feedmepos/mf-common";
12
- import { r as v } from "./index-D8JDdV2w.js";
12
+ import { r as v } from "./index-DdekcTG4.js";
13
13
  import { c as ie, a as ne } from "./object-qECH92oz.js";
14
- import { u as ce } from "./membership-CwbI7ZrE.js";
15
- import { a as le, c as de } from "./plugins-B55BRo5q.js";
16
- import { u as V, w as me } from "./xlsx-Dr9Ctrs4.js";
14
+ import { u as ce } from "./membership-_kM8eXz7.js";
15
+ import { a as le, c as de } from "./plugins-CRzS5EeK.js";
16
+ import { u as V, w as me } from "./xlsx-BRAFCQ59.js";
17
17
  import { e as f } from "./index-vh86FiIQ.js";
18
18
  import { h as ue } from "./moment-D7p2TMB-.js";
19
19
  import { o as pe } from "./objectId-dwaoBfJX.js";
@@ -1,26 +1,26 @@
1
1
  import { defineComponent as X, ref as x, computed as H, resolveComponent as w, openBlock as b, createBlock as h, unref as t, isRef as Z, withCtx as A, createElementVNode as f, createVNode as d, createCommentVNode as k, createElementBlock as M, Fragment as Y, h as O, onMounted as q, toDisplayString as B } from "vue";
2
2
  import { _ as z } from "./campaign-CpzFl8Vr.js";
3
3
  import { useDialog as Q, components as L } from "@feedmepos/ui-library";
4
- import { u as G } from "./loading-D98ofaCB.js";
5
- import { u as J, C as ee } from "./membership-CwbI7ZrE.js";
6
- import { f as j, p as te } from "./plugins-B55BRo5q.js";
7
- import { u as oe } from "./vue-i18n-QvFKKqSt.js";
4
+ import { u as G } from "./loading-B_UZCyhK.js";
5
+ import { u as J, C as ee } from "./membership-_kM8eXz7.js";
6
+ import { f as j, p as te } from "./plugins-CRzS5EeK.js";
7
+ import { u as oe } from "./vue-i18n-c1uC6tyM.js";
8
8
  import { c as ae } from "./object-qECH92oz.js";
9
9
  import { Z as _ } from "./zod-Bg2FbC-D.js";
10
- import "./index-Ba05Naif.js";
11
- import { F as N } from "./index-BA6oC2L9.js";
10
+ import "./index-BEN3tBqd.js";
11
+ import { F as N } from "./index-B5SrWi06.js";
12
12
  import { useCoreStore as le } from "@feedmepos/mf-common";
13
- import { _ as ne, a as ie } from "./VoucherEditor.vue_vue_type_script_setup_true_lang-BviU3rz6.js";
14
- import { b as re } from "./EffectSheet.vue_vue_type_style_index_0_lang-DbSiVLaJ.js";
13
+ import { _ as ne, a as ie } from "./VoucherEditor.vue_vue_type_script_setup_true_lang-DVlYxnyk.js";
14
+ import { b as re } from "./EffectSheet.vue_vue_type_style_index_0_lang-oao_UwRf.js";
15
15
  import { J as K } from "./JsonViewer-v8_C7l5N.js";
16
- import { _ as se } from "./ZodTextField.vue_vue_type_script_setup_true_lang-R4Xcn7gl.js";
17
- import { i as de } from "./helper-oy_DH4P5.js";
18
- import { u as pe, r as P } from "./reward-xrTcTYjt.js";
19
- import "./index-8t9y1bUZ.js";
20
- import { C as ce } from "./campaign.fn-aH0pz1jU.js";
21
- import { e as me } from "./effect-DV2GiHqM.js";
16
+ import { _ as se } from "./ZodTextField.vue_vue_type_script_setup_true_lang-CeNxiT5A.js";
17
+ import { i as de } from "./helper-Bxi0o7m8.js";
18
+ import { u as pe, r as P } from "./reward-BzSjQxTf.js";
19
+ import "./index-TKz_0Ysa.js";
20
+ import { C as ce } from "./campaign.fn-FkHPIhXx.js";
21
+ import { e as me } from "./effect-qQUWG0In.js";
22
22
  import { useRouter as ue } from "vue-router";
23
- import { R as ye } from "./app-D9ygZVP0.js";
23
+ import { R as ye } from "./app-B06WmmlS.js";
24
24
  const fe = { class: "flex gap-8 items-center justify-start" }, we = /* @__PURE__ */ X({
25
25
  __name: "EditRewardSheet",
26
26
  emits: ["update"],
@@ -1,19 +1,19 @@
1
1
  import { ref as p, defineComponent as T, computed as x, resolveComponent as y, openBlock as U, createBlock as G, unref as e, isRef as $, withCtx as b, createElementVNode as v, createVNode as u, toDisplayString as j } from "vue";
2
- import { u as B } from "./loading-D98ofaCB.js";
2
+ import { u as B } from "./loading-B_UZCyhK.js";
3
3
  import { J as P } from "./JsonViewer-v8_C7l5N.js";
4
- import { _ as D } from "./ZodTextField.vue_vue_type_script_setup_true_lang-R4Xcn7gl.js";
5
- import { _ as I } from "./UserRuleGroup.vue_vue_type_script_setup_true_lang-DolBmHzN.js";
4
+ import { _ as D } from "./ZodTextField.vue_vue_type_script_setup_true_lang-CeNxiT5A.js";
5
+ import { _ as I } from "./UserRuleGroup.vue_vue_type_script_setup_true_lang-cDZZz9DR.js";
6
6
  import { Z as L } from "./zod-Bg2FbC-D.js";
7
7
  import { u as V } from "./app-wDQR6dpb.js";
8
8
  import { defineStore as N } from "pinia";
9
- import { r as k } from "./index-D8JDdV2w.js";
10
- import { c as E } from "./index-BoRTW-dI.js";
11
- import "./index-CUGS4y58.js";
12
- import "./index-Ba05Naif.js";
13
- import "./index-CV_3mltA.js";
14
- import "./index-BA6oC2L9.js";
15
- import "./index-B79nkieV.js";
16
- import { u as J } from "./vue-i18n-QvFKKqSt.js";
9
+ import { r as k } from "./index-DdekcTG4.js";
10
+ import { c as E } from "./index-Dhh1sEG_.js";
11
+ import "./index-UjD7i6Rs.js";
12
+ import "./index-BEN3tBqd.js";
13
+ import "./index-DlK01rGI.js";
14
+ import "./index-B5SrWi06.js";
15
+ import "./index-BAv3BkZY.js";
16
+ import { u as J } from "./vue-i18n-c1uC6tyM.js";
17
17
  import { c as C } from "./object-qECH92oz.js";
18
18
  import { useDialog as Z } from "@feedmepos/ui-library";
19
19
  const A = N("mf-connect-referral", () => {