@feedmepos/mf-connect 0.1.98-beta.5 → 0.1.98-beta.50

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 (139) hide show
  1. package/dist/{App-D_4snNiy.js → App-XRTSw_F1.js} +812 -666
  2. package/dist/{AuditLogs-KQU1O9_9.js → AuditLogs-CgsvZ-7X.js} +12 -11
  3. package/dist/{Bin-gp_uuNrE.js → Bin-CDwE00an.js} +8 -8
  4. package/dist/{Broadcast-CbBaOlnn.js → Broadcast-BOh56jYG.js} +39 -36
  5. package/dist/CampaignAnalytic-DZkCSGRF.js +1826 -0
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-2bro245w.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DqYRlwCj.js} +7 -5
  7. package/dist/Card-DZ01wmGw.js +1060 -0
  8. package/dist/{Collections-CKeOHYZ4.js → Collections-CaIWOlsO.js} +14 -13
  9. package/dist/Credit-C8TM9q2f.js +286 -0
  10. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-Bh2O4xdy.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-1UH_Ie4E.js} +34 -30
  11. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-BIdb46VQ.js → EffectSheet.vue_vue_type_style_index_0_lang-CVqMqYhi.js} +6 -6
  12. package/dist/{Experience-B-c5SMns.js → Experience-Cy0K8E9P.js} +112 -86
  13. package/dist/{FileSaver.min-DWnvGKCg.js → FileSaver.min-ClaVGDxU.js} +1 -1
  14. package/dist/Game-DxUNIK1H.js +356 -0
  15. package/dist/GiftCardSetup-DPuRb-29.js +662 -0
  16. package/dist/{Grab-BLC4GcgE.js → Grab-VSlV6K7E.js} +32 -31
  17. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-l2CmQ0nR.js → ImageInput.vue_vue_type_script_setup_true_lang-BJQzLNY1.js} +1 -1
  18. package/dist/{Index-DmAG2skd.js → Index-D_xXXqKL.js} +10 -10
  19. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-UmynGH00.js → LocationPicker.vue_vue_type_script_setup_true_lang-BJl8_bKp.js} +1 -1
  20. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-BThofu65.js → LottieAnimation.vue_vue_type_script_setup_true_lang-BOaXZf3X.js} +1 -1
  21. package/dist/LoyaltyDashboard-CWPV6CHM.js +2218 -0
  22. package/dist/MainLayout-CeA24f8v.js +143 -0
  23. package/dist/{Marketing-DmY25Ri9.js → Marketing-Bw437-ze.js} +7 -6
  24. package/dist/{MarketingMaterialEdit-DP9pba44.js → MarketingMaterialEdit-x6JdhQDh.js} +15 -14
  25. package/dist/Member-zLjxWmJf.js +626 -0
  26. package/dist/MemberDetailSheet.vue_vue_type_script_setup_true_lang-DM9c_Ow1.js +1287 -0
  27. package/dist/MemberImportHistory-BvvIfn9o.js +187 -0
  28. package/dist/MemberList-DqqAduX1.js +336 -0
  29. package/dist/{MemberTransactions-XRvUfeFB.js → MemberTransactions-j4nWa843.js} +1 -1
  30. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-g7v3ZoUS.js → MessageInput.vue_vue_type_script_setup_true_lang-z9lYA425.js} +5434 -5279
  31. package/dist/MetricInfoTooltip.vue_vue_type_script_setup_true_lang-Bg_0YlwG.js +38 -0
  32. package/dist/Mission-CPXEtNBm.js +360 -0
  33. package/dist/Overview-Bel0iCe8.js +1316 -0
  34. package/dist/{Overview-DgmVlUVi.js → Overview-DySRWqyr.js} +21 -20
  35. package/dist/Point-ClovAwUI.js +288 -0
  36. package/dist/Promotion-BiiruWmm.js +423 -0
  37. package/dist/{Queue-DxtykwmI.js → Queue-DY9zRWWp.js} +13 -12
  38. package/dist/{Record-fLCi2Oyh.js → Record-BJ6M5bXk.js} +9 -9
  39. package/dist/Review-Cyi-vRyc.js +45 -0
  40. package/dist/ReviewFacebookCallback-CdSAfiJ7.js +238 -0
  41. package/dist/ReviewGoogleCallback-COen72wx.js +213 -0
  42. package/dist/{Reward-BbdiCAiO.js → Reward-B3--b_8h.js} +35 -35
  43. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-Cfjtk46d.js → RewardGroup.vue_vue_type_script_setup_true_lang-DCmSt5io.js} +14 -13
  44. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-CYEBeuQQ.js → RuleGroup.vue_vue_type_script_setup_true_lang-F2B47wb8.js} +17 -15
  45. package/dist/{Segment-EkGcR2jo.js → Segment-DydGccSi.js} +31 -29
  46. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-DND48RGu.js → SelectItems.vue_vue_type_script_setup_true_lang-Bf_1Lw5R.js} +2 -2
  47. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-sbYDSAFK.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-BXrHY1DU.js} +37 -36
  48. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-D8RmLtRC.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-DhitF847.js} +4 -4
  49. package/dist/{Setting-D3swsR6P.js → Setting-DgXgWy7W.js} +14 -14
  50. package/dist/{SettingAdvertisements-BjhTK11W.js → SettingAdvertisements-TMTfvGdU.js} +12 -12
  51. package/dist/Settings-b3K8fH29.js +230 -0
  52. package/dist/Store-jAGYe4R6.js +2615 -0
  53. package/dist/{StoreRewards-CyrWuwLi.js → StoreRewards-23IXon0V.js} +15 -15
  54. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-BUTYIDGo.js → StoreTransactions.vue_vue_type_script_setup_true_lang-BroaESpx.js} +400 -455
  55. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-DJQ022R4.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-gnjnQhXP.js} +2 -2
  56. package/dist/{Tier-DrPqr8_e.js → Tier-B_ixl0ZY.js} +44 -41
  57. package/dist/{Title-CaZtz98p.js → Title-CUc90kzn.js} +49 -46
  58. package/dist/Transaction-BNVEjOC4.js +45 -0
  59. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-BsBqk0Rs.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-CkbKlnrt.js} +6 -6
  60. package/dist/{Voucher-BZcr4D0y.js → Voucher-eALK6zg9.js} +156 -133
  61. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-DXQF3LZK.js → VoucherEditor.vue_vue_type_script_setup_true_lang-CEsMYQ-L.js} +12 -12
  62. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-DI-tCQeb.js → ZodTextField.vue_vue_type_script_setup_true_lang-BEAJ5tb7.js} +2 -2
  63. package/dist/{app-B0vutEt5.js → app-I3z-EN92.js} +7269 -5971
  64. package/dist/app.js +1 -1
  65. package/dist/{business-IZLJeLD-.js → business-D_ksG_j8.js} +5 -5
  66. package/dist/campaign-BKIxUyuf.js +100 -0
  67. package/dist/{campaign-BPmgteCL.js → campaign-IZaOdcTr.js} +74 -96
  68. package/dist/{campaign.enum-BCdlLIt6.js → campaign.enum-k3u4N6yI.js} +1 -1
  69. package/dist/{campaign.fn-BIFWlQvS.js → campaign.fn-DeQTMPoH.js} +116 -116
  70. package/dist/{collectible.enum-CiuAWn6_.js → collectible.enum-CSQwvFfW.js} +1 -1
  71. package/dist/collection.fn-BtWAPYLz.js +26 -0
  72. package/dist/{duplicateCampaign-BouCkl9n.js → duplicateCampaign-BWdWO-Jv.js} +2 -2
  73. package/dist/{effect-Cov_Xrar.js → effect-BBSG58dq.js} +1 -1
  74. package/dist/{email-addresses-BiopO9xi.js → email-addresses-CJg5ttqC.js} +2 -2
  75. package/dist/{export-DAPTBdHb.js → export-BkjhRe8g.js} +3 -3
  76. package/dist/google-C3S8u0mT.js +4 -0
  77. package/dist/{helper-ClFo4nAk.js → helper-DsSVIIP1.js} +1 -1
  78. package/dist/index-38Rnr26K.js +53 -0
  79. package/dist/{index-N5t83KgP.js → index-BbBies0f.js} +1902 -2559
  80. package/dist/index-BmAoVlN8.js +151 -0
  81. package/dist/{index-BZvvCPbP.js → index-BsAuvfaE.js} +5 -4
  82. package/dist/{index-Kllafq_o.js → index-C-phzlda.js} +105 -123
  83. package/dist/{index-CD_3hR1g.js → index-C0qgi7n9.js} +1 -1
  84. package/dist/index-CPnv5m8Z.js +137 -0
  85. package/dist/{index-BeK9AXvx.js → index-CV1kOec1.js} +1 -1
  86. package/dist/{index-CmgQZKyo.js → index-Ckr8ODhI.js} +1 -1
  87. package/dist/{index-DTSGYksR.js → index-CtF4Z_fd.js} +281 -372
  88. package/dist/{index-k9DTOKkN.js → index-CtXqXihA.js} +4 -1
  89. package/dist/index-DCz9v1dd.js +51 -0
  90. package/dist/index-DdV1nasM.js +896 -0
  91. package/dist/index-ZPKkCZxS.js +72 -0
  92. package/dist/{index-k0hHOUBO.js → index-blX95L2R.js} +579 -571
  93. package/dist/{index-Bm5E2iD6.js → index-f0JDFqAr.js} +14 -14
  94. package/dist/{index-pKdJ8574.js → index-iagCxZ13.js} +5 -5
  95. package/dist/{index-C_AuIVay.js → index-wsdEChJx.js} +5 -5
  96. package/dist/{index.esm2017-ByFUnorr.js → index.esm2017-BMC-Q91P.js} +164 -164
  97. package/dist/{loading-t4ygCIAa.js → loading-3obmcgAf.js} +1 -1
  98. package/dist/{lodash-DwGVChOs.js → lodash-C69G7pFG.js} +1 -1
  99. package/dist/member-import-BxBe9NE7.js +187 -0
  100. package/dist/{membership-CMCTmRdh.js → membership-_XX1_j55.js} +3 -3
  101. package/dist/{money-MhQbdVIt.js → money-DZpYudCC.js} +1 -1
  102. package/dist/{number-klG94_wm.js → number-BbQQzzRA.js} +1 -1
  103. package/dist/objectid-kWi62XJQ.js +145 -0
  104. package/dist/{plugins-2py5EcqG.js → plugins-UfVjLlr4.js} +3 -3
  105. package/dist/remy-Qz_pNsUS.js +13 -0
  106. package/dist/{reward-CE9z-Us7.js → reward-1G2M5tgv.js} +1 -1
  107. package/dist/{rule-BKNHxNrQ.js → rule-DHHGjLt5.js} +3 -3
  108. package/dist/rule-builder-CgNmvg5o.js +126 -0
  109. package/dist/{template-C9yNa_0m.js → template-Ckva65hw.js} +6 -6
  110. package/dist/timezone-Ddve0ese.js +20 -0
  111. package/dist/transaction.fn-7n5XLxfA.js +64 -0
  112. package/dist/{trigger-Dk0tAyDv.js → trigger-F-XaDRpc.js} +14 -14
  113. package/dist/useMarketingMaterialActions-DIhnstdO.js +96 -0
  114. package/dist/{usePagination-cF1F_1NH.js → usePagination-C0TcC_Lo.js} +1 -1
  115. package/dist/{user-CNPPoxKh.js → user-DeuI7T2e.js} +1 -1
  116. package/dist/{vue-i18n-Bk_KpCO_.js → vue-i18n-DRrphfc1.js} +191 -191
  117. package/dist/{xlsx-D3muGzk7.js → xlsx-DaY_eyt1.js} +440 -440
  118. package/dist/{zod-D72USJGr.js → zod-BDdpK5Gp.js} +1 -1
  119. package/package.json +5 -3
  120. package/dist/Card-P7MqKEDT.js +0 -910
  121. package/dist/Credit-Dp5P2k79.js +0 -260
  122. package/dist/Game-CNSbh93g.js +0 -330
  123. package/dist/LoyaltyDashboard-Go9ClMrp.js +0 -1082
  124. package/dist/MainLayout-Dyw9Qqvh.js +0 -41
  125. package/dist/Member-DKXzaqlL.js +0 -280
  126. package/dist/MemberList-BJ5nI3Nz.js +0 -1601
  127. package/dist/Mission-BvHArY3W.js +0 -334
  128. package/dist/Point-BR0R03i6.js +0 -262
  129. package/dist/Promotion-DofFeR2N.js +0 -397
  130. package/dist/Review-7tFJOnrt.js +0 -1076
  131. package/dist/ReviewFacebookCallback-yl0w_vF9.js +0 -243
  132. package/dist/ReviewGoogleCallback-Dn_aF2ZD.js +0 -208
  133. package/dist/Store-U1jysb7b.js +0 -1996
  134. package/dist/Transaction-Bj6bSo8R.js +0 -39
  135. package/dist/campaign-Cxp-DOCG.js +0 -219
  136. package/dist/index-BQ8XZk2Y.js +0 -85
  137. package/dist/index-KmCk2ksK.js +0 -52
  138. package/dist/objectid-C4ak1ctJ.js +0 -145
  139. package/dist/useMarketingMaterialActions-BiXkdMcs.js +0 -107
@@ -1,21 +1,23 @@
1
1
  import { defineComponent as P, computed as M, resolveComponent as k, openBlock as r, createElementBlock as V, createElementVNode as C, createVNode as v, unref as e, createTextVNode as ne, toDisplayString as A, withCtx as B, onMounted as Z, createBlock as g, createCommentVNode as N, ref as W, watch as pe, Fragment as q, renderList as $, normalizeClass as K, resolveDynamicComponent as me, onBeforeMount as ce, isRef as fe, createSlots as ye } from "vue";
2
- import { m as ge, C as _e, n as ke, a as he, o as Ee } from "./index-k0hHOUBO.js";
3
- import { R as Y, a as Ve } from "./index-DTSGYksR.js";
2
+ import { m as ge, C as _e, n as ke, d as he, o as Ee } from "./index-blX95L2R.js";
3
+ import { R as Y, a as Ve } from "./rule-builder-CgNmvg5o.js";
4
4
  import { useDialog as ue, useDialogChild as ve, useSnackbar as Te } from "@feedmepos/ui-library";
5
- import { u as G } from "./vue-i18n-Bk_KpCO_.js";
6
- import { a as Se, R as w, S as Fe, C as j, g as xe, W as Re, T as ie, O as de } from "./rule-BKNHxNrQ.js";
7
- import { p as Ue } from "./plugins-2py5EcqG.js";
5
+ import { u as G } from "./vue-i18n-DRrphfc1.js";
6
+ import { a as Se, R as w, S as Fe, C as j, g as xe, W as Re, T as ie, O as de } from "./rule-DHHGjLt5.js";
7
+ import { p as Ue } from "./plugins-UfVjLlr4.js";
8
8
  import { h as ae } from "./moment-D7p2TMB-.js";
9
- import { z as Ce } from "./app-B0vutEt5.js";
10
- import { u as X } from "./membership-CMCTmRdh.js";
11
- import { u as te } from "./business-IZLJeLD-.js";
12
- import "./index-C_AuIVay.js";
9
+ import { z as Ce } from "./app-I3z-EN92.js";
10
+ import { u as X } from "./membership-_XX1_j55.js";
11
+ import { u as te } from "./business-D_ksG_j8.js";
12
+ import "./index-wsdEChJx.js";
13
13
  import { _ as O } from "./CustomSelect.vue_vue_type_script_setup_true_lang-Du7fRSZC.js";
14
14
  import { c as be } from "./object-BYyQ0PZp.js";
15
- import { Z as le } from "./zod-D72USJGr.js";
16
- import { _ as Ye } from "./SelectItems.vue_vue_type_script_setup_true_lang-DND48RGu.js";
17
- import "./index-N5t83KgP.js";
18
- import "./index-pKdJ8574.js";
15
+ import { Z as le } from "./zod-BDdpK5Gp.js";
16
+ import { _ as Ye } from "./SelectItems.vue_vue_type_script_setup_true_lang-Bf_1Lw5R.js";
17
+ import "./index-CtF4Z_fd.js";
18
+ import "./index-BbBies0f.js";
19
+ import "./index-DdV1nasM.js";
20
+ import "./index-iagCxZ13.js";
19
21
  const Oe = { class: "flex items-center justify-between" }, De = { class: "flex items-center gap-8 xs:flex-wrap" }, we = { class: "text-fm-color-primary line-clamp-1 text-ellipsis" }, qe = /* @__PURE__ */ P({
20
22
  __name: "RuleEntry",
21
23
  props: {
@@ -1819,7 +1821,7 @@ const Be = [
1819
1821
  });
1820
1822
  };
1821
1823
  }
1822
- }), Vt = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, $t = /* @__PURE__ */ P({
1824
+ }), Vt = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Wt = /* @__PURE__ */ P({
1823
1825
  __name: "RuleGroup",
1824
1826
  props: {
1825
1827
  triggerType: {
@@ -1906,6 +1908,6 @@ const Be = [
1906
1908
  }
1907
1909
  });
1908
1910
  export {
1909
- $t as _,
1911
+ Wt as _,
1910
1912
  re as a
1911
1913
  };
@@ -1,37 +1,39 @@
1
1
  import { defineComponent as le, ref as W, resolveComponent as S, openBlock as r, createElementBlock as k, createElementVNode as s, createVNode as d, unref as e, createCommentVNode as J, withCtx as $, Fragment as Z, renderList as me, createBlock as V, toDisplayString as D, normalizeClass as ce, computed as O, onMounted as we, isRef as Te, createSlots as Ee, h as B, onBeforeMount as De } from "vue";
2
2
  import { _ as $e } from "./campaign-CpzFl8Vr.js";
3
- import { n as Ae, p as Pe } from "./plugins-2py5EcqG.js";
4
- import { u as Re } from "./loading-t4ygCIAa.js";
3
+ import { n as Ae, p as Pe } from "./plugins-UfVjLlr4.js";
4
+ import { u as Re } from "./loading-3obmcgAf.js";
5
5
  import { FmButtonVariant as re, useSnackbar as Ne, components as ae } from "@feedmepos/ui-library";
6
- import { u as Fe, _ as Ce } from "./usePagination-cF1F_1NH.js";
7
- import { u as pe } from "./vue-i18n-Bk_KpCO_.js";
8
- import { R as ye } from "./index-DTSGYksR.js";
9
- import { i as Be, j as U, D as Ue, k as Ve, c as ge } from "./index-N5t83KgP.js";
10
- import "./index-k0hHOUBO.js";
11
- import { F as ve, z as Le } from "./index-C_AuIVay.js";
12
- import "./index-pKdJ8574.js";
13
- import { u as de, w as ke } from "./xlsx-D3muGzk7.js";
14
- import { e as Ye, M as ze } from "./email-addresses-BiopO9xi.js";
15
- import { Z as Oe } from "./zod-D72USJGr.js";
6
+ import { u as Fe, _ as Ce } from "./usePagination-C0TcC_Lo.js";
7
+ import { u as pe } from "./vue-i18n-DRrphfc1.js";
8
+ import "./index-CtF4Z_fd.js";
9
+ import { g as Be, h as U, D as Ue, i as Ve } from "./index-BbBies0f.js";
10
+ import "./index-blX95L2R.js";
11
+ import { F as ye, z as Le } from "./index-wsdEChJx.js";
12
+ import { a as ge } from "./index-DdV1nasM.js";
13
+ import "./index-iagCxZ13.js";
14
+ import { u as de, w as ke } from "./xlsx-DaY_eyt1.js";
15
+ import { e as Ye, M as ze } from "./email-addresses-CJg5ttqC.js";
16
+ import { Z as Oe } from "./zod-BDdpK5Gp.js";
16
17
  import { u as je } from "./app-wDQR6dpb.js";
17
- import { _ as qe } from "./ZodTextField.vue_vue_type_script_setup_true_lang-DI-tCQeb.js";
18
- import { _ as Ge } from "./RuleGroup.vue_vue_type_script_setup_true_lang-CYEBeuQQ.js";
19
- import { u as He, v as Je, w as Ke } from "./index.esm2017-ByFUnorr.js";
20
- import { F as Qe } from "./FileSaver.min-DWnvGKCg.js";
18
+ import { R as ve } from "./rule-builder-CgNmvg5o.js";
19
+ import { _ as qe } from "./ZodTextField.vue_vue_type_script_setup_true_lang-BEAJ5tb7.js";
20
+ import { _ as Ge } from "./RuleGroup.vue_vue_type_script_setup_true_lang-F2B47wb8.js";
21
+ import { u as He, v as Je, w as Ke } from "./index.esm2017-BMC-Q91P.js";
22
+ import { F as Qe } from "./FileSaver.min-ClaVGDxU.js";
21
23
  import { h as se } from "./moment-D7p2TMB-.js";
22
- import { s as z, u as We } from "./membership-CMCTmRdh.js";
24
+ import { s as z, u as We } from "./membership-_XX1_j55.js";
23
25
  import { o as Ze } from "./objectId-dwaoBfJX.js";
24
26
  import { J as Xe } from "./JsonViewer-v8_C7l5N.js";
25
- import { u as Ie } from "./business-IZLJeLD-.js";
26
- import { f as et } from "./number-klG94_wm.js";
27
- import { t as tt } from "./money-MhQbdVIt.js";
28
- import "./index-CmgQZKyo.js";
27
+ import { u as Ie } from "./business-D_ksG_j8.js";
28
+ import { f as et } from "./number-BbQQzzRA.js";
29
+ import { t as tt } from "./money-DZpYudCC.js";
30
+ import "./index-Ckr8ODhI.js";
29
31
  import { useRouter as ot } from "vue-router";
30
- import { m as _e } from "./index-BQ8XZk2Y.js";
31
- import { R as xe } from "./app-B0vutEt5.js";
32
+ import { m as _e } from "./index-CPnv5m8Z.js";
33
+ import { R as xe } from "./app-I3z-EN92.js";
32
34
  const nt = Be.extend({
33
- _id: ve.optional(),
34
- business: ve.optional(),
35
+ _id: ye.optional(),
36
+ business: ye.optional(),
35
37
  file: Le.any().nullish()
36
38
  });
37
39
  var at = { firebase: { apiKey: "AIzaSyAj8JdCHtP0Vc5vZobCfgoLzWxPIn0WUG4", authDomain: "feedme-dev-4c3ef.firebaseapp.com", databaseURL: "https://feedme-dev-4c3ef.firebaseio.com", projectId: "feedme-dev-4c3ef", storageBucket: "feedme-dev-4c3ef.appspot.com", messagingSenderId: "458797803788", appId: "1:458797803788:web:37f2af2926a84288f0c129", measurementId: "G-J2QG09D2Q7" }, assetBucketUrl: "feedme-dev-4c3ef.appspot.com", importFilesBucketUrl: "feedme-dev-4c3ef.appspot.com", clientId: "1a362d621873497b277ea55258cc82594ba148d235257f7bd44ea2acc132d8a4" };
@@ -328,7 +330,7 @@ const st = { class: "flex flex-col space-y-16" }, lt = {
328
330
  name: "",
329
331
  isActive: !0,
330
332
  type: U.enum.DYNAMIC,
331
- rule: ye.scaffoldGroup(),
333
+ rule: ve.scaffoldGroup(),
332
334
  members: []
333
335
  }, E = nt, a = W(T), m = O(() => !!a.value.defaultKey), i = O(
334
336
  () => a.value.defaultKey ? `connect.loyalty.segment.default_segments.${a.value.defaultKey.toLowerCase()}` : void 0
@@ -358,7 +360,7 @@ const st = { class: "flex flex-col space-y-16" }, lt = {
358
360
  v === U.enum.STATIC ? x() : u.value = !1;
359
361
  }
360
362
  async function I() {
361
- a.value.type === U.enum.STATIC ? (a.value.rule = ye.scaffoldGroup(), a.value.isActive = !0) : a.value.file = void 0, K("update:model-value", a.value);
363
+ a.value.type === U.enum.STATIC ? (a.value.rule = ve.scaffoldGroup(), a.value.isActive = !0) : a.value.file = void 0, K("update:model-value", a.value);
362
364
  }
363
365
  async function G(v) {
364
366
  a.value.type = v;
@@ -581,7 +583,7 @@ const Nt = {
581
583
  )}`
582
584
  };
583
585
  }
584
- }, Bt = { class: "flex items-center" }, Ut = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2 mr-8" }, Vt = { class: "px-24 flex flex-col gap-y-16" }, Lt = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Yt = { class: "flex flex-wrap items-center gap-8" }, zt = { class: "fm-typo-en-body-md-600" }, Ot = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, jt = { class: "flex flex-col gap-16 text-center" }, qt = { class: "fm-typo-en-title-sm-800" }, Gt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, be = "text-fm-color-typo-info bg-fm-color-system-info-100", Co = /* @__PURE__ */ le({
586
+ }, Bt = { class: "flex items-center" }, Ut = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2 mr-8" }, Vt = { class: "px-24 flex flex-col gap-y-16" }, Lt = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, Yt = { class: "flex flex-wrap items-center gap-8" }, zt = { class: "fm-typo-en-body-md-600" }, Ot = { class: "fm-typo-en-body-md-600 text-fm-color-typo-secondary" }, jt = { class: "flex flex-col gap-16 text-center" }, qt = { class: "fm-typo-en-title-sm-800" }, Gt = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, be = "text-fm-color-typo-info bg-fm-color-system-info-100", Io = /* @__PURE__ */ le({
585
587
  __name: "Segment",
586
588
  setup(t) {
587
589
  const { minor: f } = Re, { t: c } = pe(), M = Ie(), { mapMemberExportRow: b } = Nt, _ = Ne(), u = ot(), T = W(0);
@@ -1010,5 +1012,5 @@ const Nt = {
1010
1012
  }
1011
1013
  });
1012
1014
  export {
1013
- Co as default
1015
+ Io as default
1014
1016
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as N, computed as f, ref as V, onMounted as H, resolveComponent as _, openBlock as c, createElementBlock as u, createVNode as i, withCtx as F, createElementVNode as p, toDisplayString as q, normalizeClass as A, Fragment as x, renderList as S, createCommentVNode as B } from "vue";
2
- import { F as D } from "./app-B0vutEt5.js";
3
- import "./index-C_AuIVay.js";
2
+ import { F as D } from "./app-I3z-EN92.js";
3
+ import "./index-wsdEChJx.js";
4
4
  import { c as E } from "./object-BYyQ0PZp.js";
5
5
  const M = { class: "flex flex-col flex-nowrap" }, T = { class: "flex gap-16 items-center w-full" }, $ = { class: "flex grow items-center" }, z = { class: "grow text-fm-color-typo-secondary" }, K = { key: 0 }, J = { class: "px-16" }, X = /* @__PURE__ */ N({
6
6
  __name: "SelectItems",
@@ -1,34 +1,35 @@
1
- import { defineComponent as L, ref as p, computed as C, onMounted as P, resolveComponent as i, openBlock as $, createBlock as D, unref as e, isRef as H, withCtx as S, createElementVNode as v, createVNode as c, toDisplayString as w } from "vue";
2
- import { u as O } from "./loading-t4ygCIAa.js";
3
- import { p as Z } from "./plugins-2py5EcqG.js";
1
+ import { defineComponent as L, ref as p, computed as C, onMounted as P, resolveComponent as i, openBlock as $, createBlock as D, unref as e, isRef as H, withCtx as S, createElementVNode as b, createVNode as c, toDisplayString as w } from "vue";
2
+ import { u as O } from "./loading-3obmcgAf.js";
3
+ import { p as Z } from "./plugins-UfVjLlr4.js";
4
4
  import { u as q } from "./app-wDQR6dpb.js";
5
- import { m as z } from "./index-BQ8XZk2Y.js";
6
- import "./index-DTSGYksR.js";
7
- import { b as G } from "./index-N5t83KgP.js";
8
- import "./index-k0hHOUBO.js";
9
- import "./index-C_AuIVay.js";
10
- import "./index-pKdJ8574.js";
11
- import { Z as d } from "./zod-D72USJGr.js";
12
- import { z as Y } from "./app-B0vutEt5.js";
13
- import { u as j } from "./vue-i18n-Bk_KpCO_.js";
14
- import { c as J } from "./campaign-Cxp-DOCG.js";
15
- const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-400" }, W = { class: "flex items-center gap-8" }, fe = /* @__PURE__ */ L({
5
+ import { m as z } from "./index-CPnv5m8Z.js";
6
+ import "./index-CtF4Z_fd.js";
7
+ import { a as G } from "./index-BbBies0f.js";
8
+ import "./index-blX95L2R.js";
9
+ import "./index-wsdEChJx.js";
10
+ import "./index-DdV1nasM.js";
11
+ import "./index-iagCxZ13.js";
12
+ import { Z as d } from "./zod-BDdpK5Gp.js";
13
+ import { z as Y } from "./app-I3z-EN92.js";
14
+ import { u as j } from "./vue-i18n-DRrphfc1.js";
15
+ import { c as J } from "./index-BmAoVlN8.js";
16
+ const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-400" }, W = { class: "flex items-center gap-8" }, he = /* @__PURE__ */ L({
16
17
  __name: "SendCollectionSheet",
17
18
  emits: ["success"],
18
19
  setup(X, { expose: V, emit: I }) {
19
- const { t: l } = j(), { minor: k } = O, A = I, n = p({
20
+ const { t: m } = j(), { minor: k } = O, A = I, n = p({
20
21
  memberId: [],
21
22
  amount: 1,
22
23
  ref: ""
23
- }), h = p(null), f = p(), b = p([]), r = p(!1), _ = p(), T = G.extend({
24
+ }), h = p(null), f = p(), v = p([]), r = p(!1), _ = p(), T = G.extend({
24
25
  ref: Y.string().max(50, "Reference must be at most 50 characters").optional()
25
26
  }), F = C(() => {
26
27
  var a;
27
28
  switch ((a = h.value) == null ? void 0 : a.type) {
28
29
  case "MISSION":
29
- return l("connect.sendCollectionSheet.stamp");
30
+ return m("connect.sendCollectionSheet.stamp");
30
31
  case "GAME":
31
- return l("connect.sendCollectionSheet.game_token");
32
+ return m("connect.sendCollectionSheet.game_token");
32
33
  default:
33
34
  return "Unknown";
34
35
  }
@@ -54,28 +55,28 @@ const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-
54
55
  search: a,
55
56
  descending: !1
56
57
  });
57
- b.value = t.resources.map((s) => ({
58
+ v.value = t.resources.map((s) => ({
58
59
  label: `${s.name} (${s.phoneNumber})`,
59
60
  value: s._id
60
61
  }));
61
- const m = 100;
62
- await new Promise((s) => setTimeout(s, m));
62
+ const l = 100;
63
+ await new Promise((s) => setTimeout(s, l));
63
64
  }
64
65
  async function U() {
65
66
  var t;
66
67
  await Z.confirm(
67
- l("connect.sendCollectionSheet.confirmation_message", {
68
+ m("connect.sendCollectionSheet.confirmation_message", {
68
69
  amount: n.value.amount,
69
70
  type: F.value,
70
- memberName: f.value ? (t = b.value.find((m) => m.value === f.value)) == null ? void 0 : t.label : "Unknown Member"
71
+ memberName: f.value ? (t = v.value.find((l) => l.value === f.value)) == null ? void 0 : t.label : "Unknown Member"
71
72
  }),
72
- l("connect.common.confirm"),
73
- l("connect.common.confirm"),
74
- l("connect.common.cancel")
73
+ m("connect.common.confirm"),
74
+ m("connect.common.confirm"),
75
+ m("connect.common.cancel")
75
76
  ) && await k(
76
77
  async () => {
77
- var m;
78
- await J.sendStamp((m = h.value) == null ? void 0 : m._id.toString(), {
78
+ var l;
79
+ await J.sendStamp((l = h.value) == null ? void 0 : l._id.toString(), {
79
80
  memberId: n.value.memberId,
80
81
  amount: n.value.amount,
81
82
  ref: n.value.ref
@@ -93,11 +94,11 @@ const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-
93
94
  }), P(async () => {
94
95
  await y("");
95
96
  }), (a, t) => {
96
- const m = i("FmCard"), s = i("FmSelect"), B = i("FmStepperField"), N = i("FmTextField"), E = i("FmForm"), x = i("FmButton"), R = i("FmSideSheet");
97
+ const l = i("FmCard"), s = i("FmSelect"), B = i("FmStepperField"), N = i("FmTextField"), E = i("FmForm"), x = i("FmButton"), R = i("FmSideSheet");
97
98
  return $(), D(R, {
98
99
  "max-width": 560,
99
100
  "dismiss-away": !0,
100
- header: e(l)("connect.sendCollectionSheet.title", {
101
+ header: e(m)("connect.sendCollectionSheet.title", {
101
102
  type: e(F)
102
103
  }),
103
104
  modelValue: e(r),
@@ -107,7 +108,7 @@ const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-
107
108
  ]
108
109
  }, {
109
110
  "side-sheet-footer": S(() => [
110
- v("div", W, [
111
+ b("div", W, [
111
112
  c(x, {
112
113
  label: "Send",
113
114
  loading: e(q)().isLoading,
@@ -133,15 +134,15 @@ const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-
133
134
  blameFormChildOnValidationFailed: ""
134
135
  }, {
135
136
  default: S(() => [
136
- c(m, {
137
+ c(l, {
137
138
  variant: "outlined",
138
139
  class: "p-16"
139
140
  }, {
140
141
  default: S(() => {
141
142
  var o;
142
143
  return [
143
- v("div", K, w(e(l)("connect.campaign.common.campaign")), 1),
144
- v("div", Q, w((o = e(h)) == null ? void 0 : o.name), 1)
144
+ b("div", K, w(e(m)("connect.campaign.common.campaign")), 1),
145
+ b("div", Q, w((o = e(h)) == null ? void 0 : o.name), 1)
145
146
  ];
146
147
  }),
147
148
  _: 1
@@ -153,7 +154,7 @@ const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-
153
154
  }),
154
155
  label: "Select member",
155
156
  searchable: "",
156
- items: e(b),
157
+ items: e(v),
157
158
  onSearch: y,
158
159
  rules: [(o) => !!o || "Member is required"],
159
160
  "helper-text": "Type to search member",
@@ -184,5 +185,5 @@ const K = { class: "fm-typo-en-body-lg-600" }, Q = { class: "fm-typo-en-body-lg-
184
185
  }
185
186
  });
186
187
  export {
187
- fe as _
188
+ he as _
188
189
  };
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as O, ref as p, computed as g, watch as T, onMounted as q, resolveComponent as x, openBlock as I, createBlock as G, unref as t, isRef as k, withCtx as z, createElementVNode as n, createVNode as s, toDisplayString as f, createElementBlock as H, createCommentVNode as K } from "vue";
2
2
  import { J as Q } from "./JsonViewer-v8_C7l5N.js";
3
3
  import { _ as F } from "./FmTableSelection.vue_vue_type_script_setup_true_lang-DzcUc0_w.js";
4
- import { u as W } from "./loading-t4ygCIAa.js";
4
+ import { u as W } from "./loading-3obmcgAf.js";
5
5
  import { u as X } from "./app-wDQR6dpb.js";
6
- import { l as Y } from "./lodash-DwGVChOs.js";
7
- import { m as Z } from "./index-BQ8XZk2Y.js";
8
- import { c as ee } from "./campaign-Cxp-DOCG.js";
6
+ import { l as Y } from "./lodash-C69G7pFG.js";
7
+ import { m as Z } from "./index-CPnv5m8Z.js";
8
+ import { c as ee } from "./index-BmAoVlN8.js";
9
9
  const ae = { class: "space-y-16" }, te = { class: "fm-typo-en-body-md-600" }, oe = { class: "flex items-center justify-end" }, le = {
10
10
  key: 0,
11
11
  class: "basis-72 bg-white flex items-center justify-between px-24 pt-6 border-t border-fm-color-border"
@@ -1,23 +1,23 @@
1
1
  import { defineComponent as Le, ref as $, computed as j, onMounted as Ze, resolveComponent as N, openBlock as U, createBlock as te, withCtx as H, createElementVNode as p, createVNode as P, unref as c, isRef as Me, watch as At, createElementBlock as x, toDisplayString as B, Fragment as Z, renderList as Se, createTextVNode as X, createCommentVNode as we } from "vue";
2
2
  import { h as Bt } from "./moment-D7p2TMB-.js";
3
- import { Z as qe } from "./zod-D72USJGr.js";
3
+ import { Z as qe } from "./zod-BDdpK5Gp.js";
4
4
  import { useDialog as et } from "@feedmepos/ui-library";
5
- import { u as Pt } from "./loading-t4ygCIAa.js";
5
+ import { u as Pt } from "./loading-3obmcgAf.js";
6
6
  import { u as Mt } from "./app-wDQR6dpb.js";
7
- import { u as Ie, l as tt } from "./business-IZLJeLD-.js";
8
- import { u as nt } from "./membership-CMCTmRdh.js";
9
- import { P as be } from "./index-C_AuIVay.js";
10
- import { M as St, l as It } from "./index-N5t83KgP.js";
11
- import { _ as Tt } from "./ImageInput.vue_vue_type_script_setup_true_lang-l2CmQ0nR.js";
12
- import { c as ot, p as Nt, f as re } from "./plugins-2py5EcqG.js";
13
- import { p as Ut, r as Ft, _ as Lt } from "./TargetLocationInput.vue_vue_type_script_setup_true_lang-DJQ022R4.js";
14
- import { u as st } from "./vue-i18n-Bk_KpCO_.js";
15
- import { M as Rt, _ as kt } from "./MessageInput.vue_vue_type_script_setup_true_lang-g7v3ZoUS.js";
7
+ import { u as Ie, l as tt } from "./business-D_ksG_j8.js";
8
+ import { u as nt } from "./membership-_XX1_j55.js";
9
+ import { P as be } from "./index-wsdEChJx.js";
10
+ import { m as St, b as It } from "./index-DdV1nasM.js";
11
+ import { _ as Tt } from "./ImageInput.vue_vue_type_script_setup_true_lang-BJQzLNY1.js";
12
+ import { c as ot, p as Nt, f as re } from "./plugins-UfVjLlr4.js";
13
+ import { p as Ut, r as Ft, _ as Lt } from "./TargetLocationInput.vue_vue_type_script_setup_true_lang-gnjnQhXP.js";
14
+ import { u as st } from "./vue-i18n-DRrphfc1.js";
15
+ import { M as Rt, a as kt } from "./MessageInput.vue_vue_type_script_setup_true_lang-z9lYA425.js";
16
16
  import { useCoreStore as Dt } from "@feedmepos/mf-common";
17
17
  import { useRouter as Vt } from "vue-router";
18
- import { R as xt } from "./app-B0vutEt5.js";
19
- import { m as ve } from "./index-k9DTOKkN.js";
20
- import { S as Ge } from "./index-BZvvCPbP.js";
18
+ import { R as xt } from "./app-I3z-EN92.js";
19
+ import { m as ve } from "./index-CtXqXihA.js";
20
+ import { S as Ge } from "./index-BsAuvfaE.js";
21
21
  import { o as $t } from "./objectId-dwaoBfJX.js";
22
22
  import { a as zt } from "./object-BYyQ0PZp.js";
23
23
  var oe = {}, Ht = function() {
@@ -1,18 +1,18 @@
1
1
  import { defineComponent as J, ref as y, computed as z, onMounted as K, resolveComponent as A, openBlock as u, createElementBlock as b, createElementVNode as s, createVNode as d, createTextVNode as W, toDisplayString as v, unref as e, withCtx as k, createBlock as B, Fragment as Y, renderList as Z, createCommentVNode as N, isRef as ee } from "vue";
2
- import { u as te } from "./loading-t4ygCIAa.js";
2
+ import { u as te } from "./loading-3obmcgAf.js";
3
3
  import { u as ne } from "./app-wDQR6dpb.js";
4
- import { u as se } from "./business-IZLJeLD-.js";
5
- import { u as oe } from "./membership-CMCTmRdh.js";
6
- import "./index-C_AuIVay.js";
7
- import { l as ae } from "./index-N5t83KgP.js";
8
- import "./index-CmgQZKyo.js";
9
- import { _ as le } from "./ImageInput.vue_vue_type_script_setup_true_lang-l2CmQ0nR.js";
10
- import { f as D, p as ie } from "./plugins-2py5EcqG.js";
11
- import { _ as re } from "./TargetLocationInput.vue_vue_type_script_setup_true_lang-DJQ022R4.js";
12
- import { u as ce } from "./vue-i18n-Bk_KpCO_.js";
4
+ import { u as se } from "./business-D_ksG_j8.js";
5
+ import { u as oe } from "./membership-_XX1_j55.js";
6
+ import "./index-wsdEChJx.js";
7
+ import { b as ae } from "./index-DdV1nasM.js";
8
+ import "./index-Ckr8ODhI.js";
9
+ import { _ as le } from "./ImageInput.vue_vue_type_script_setup_true_lang-BJQzLNY1.js";
10
+ import { f as D, p as ie } from "./plugins-UfVjLlr4.js";
11
+ import { _ as re } from "./TargetLocationInput.vue_vue_type_script_setup_true_lang-gnjnQhXP.js";
12
+ import { u as ce } from "./vue-i18n-DRrphfc1.js";
13
13
  import { useRouter as de } from "vue-router";
14
- import { m as me } from "./index-k9DTOKkN.js";
15
- import { R as ue } from "./app-B0vutEt5.js";
14
+ import { m as me } from "./index-CtXqXihA.js";
15
+ import { R as ue } from "./app-I3z-EN92.js";
16
16
  import { a as ve } from "./object-BYyQ0PZp.js";
17
17
  const pe = { class: "min-h-screen bg-fm-color-neutral-gray-50" }, fe = { class: "bg-white border-b border-fm-color-neutral-gray-100 sticky top-0 z-10" }, ge = { class: "px-24 py-16 flex items-center justify-between" }, _e = { class: "flex items-center gap-16" }, he = { class: "fm-typo-en-title-md-800 flex items-center gap-8" }, ye = { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, be = {
18
18
  key: 0,
@@ -0,0 +1,230 @@
1
+ import { defineComponent as A, useSlots as L, ref as E, watch as M, computed as g, openBlock as t, createElementBlock as s, createElementVNode as c, normalizeClass as $, unref as e, toDisplayString as m, Fragment as x, createBlock as V, createCommentVNode as w, createVNode as B, renderSlot as U, onMounted as Y, withCtx as D, renderList as F, createStaticVNode as G } from "vue";
2
+ import { u as O } from "./loading-3obmcgAf.js";
3
+ import { u as z } from "./business-D_ksG_j8.js";
4
+ import { components as k, useSnackbar as W } from "@feedmepos/ui-library";
5
+ import { u as H } from "./vue-i18n-DRrphfc1.js";
6
+ import { h as I } from "./moment-D7p2TMB-.js";
7
+ import { g as j } from "./google-C3S8u0mT.js";
8
+ import { R as P } from "./app-I3z-EN92.js";
9
+ import { useRouter as q } from "vue-router";
10
+ import { r as T } from "./index-ZPKkCZxS.js";
11
+ const J = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white overflow-hidden" }, K = ["src"], Q = { class: "flex flex-col flex-1 gap-4 min-w-0" }, X = { class: "fm-typo-en-body-md-600 capitalize" }, Z = { class: "truncate" }, ee = { class: "truncate" }, ne = {
12
+ key: 1,
13
+ class: "truncate"
14
+ }, te = {
15
+ key: 2,
16
+ class: "truncate"
17
+ }, oe = {
18
+ key: 1,
19
+ class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400 truncate"
20
+ }, ce = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400" }, se = /* @__PURE__ */ A({
21
+ __name: "ReviewSource",
22
+ props: {
23
+ icon: {},
24
+ name: {},
25
+ connected: { type: Boolean },
26
+ subtitle: {},
27
+ syncing: { type: Boolean },
28
+ tokenExpired: { type: Boolean },
29
+ lastSyncTime: {}
30
+ },
31
+ emits: ["connect", "sync"],
32
+ setup(a, { emit: h }) {
33
+ const y = a, p = h, { t: r } = H(), o = L(), f = E(null);
34
+ M(
35
+ () => y.syncing,
36
+ (i) => {
37
+ i && (f.value = /* @__PURE__ */ new Date());
38
+ },
39
+ { immediate: !0 }
40
+ );
41
+ const b = g(
42
+ () => y.lastSyncTime ? I(y.lastSyncTime) : null
43
+ ), C = g(() => {
44
+ var i;
45
+ return ((i = b.value) == null ? void 0 : i.fromNow()) ?? "";
46
+ }), S = g(
47
+ () => {
48
+ var i;
49
+ return ((i = b.value) == null ? void 0 : i.format("D MMM YYYY, HH:mm")) ?? "";
50
+ }
51
+ ), N = g(
52
+ () => I(f.value ?? void 0).format("HH:mm")
53
+ ), d = g(() => y.syncing ? "syncing" : b.value ? "synced" : "never");
54
+ return (i, u) => (t(), s("div", J, [
55
+ c("div", {
56
+ class: $(["flex items-center gap-12 p-16", e(o).default ? "border-b border-fm-color-neutral-gray-100" : ""])
57
+ }, [
58
+ c("img", {
59
+ src: a.icon,
60
+ class: "w-10 h-10 shrink-0"
61
+ }, null, 8, K),
62
+ c("div", Q, [
63
+ c("span", X, m(a.name), 1),
64
+ a.connected ? (t(), s("div", {
65
+ key: 0,
66
+ class: $(["flex items-center gap-8 fm-typo-en-body-sm-400 truncate", {
67
+ "text-fm-color-typo-secondary": d.value !== "syncing",
68
+ "text-fm-color-typo-warning": d.value === "syncing"
69
+ }])
70
+ }, [
71
+ c("span", {
72
+ class: $(["w-8 h-8 rounded-full shrink-0", {
73
+ "bg-fm-color-system-success-400": d.value === "synced",
74
+ "bg-fm-color-primary": d.value === "syncing",
75
+ "bg-fm-color-neutral-gray-300": d.value === "never"
76
+ }])
77
+ }, null, 2),
78
+ d.value === "synced" ? (t(), s(x, { key: 0 }, [
79
+ c("span", Z, m(e(r)("connect.review.lastSynced", { relative: C.value })), 1),
80
+ u[3] || (u[3] = c("span", { class: "text-fm-color-neutral-gray-300" }, "·", -1)),
81
+ c("span", ee, m(S.value), 1)
82
+ ], 64)) : d.value === "syncing" ? (t(), s("span", ne, m(e(r)("connect.review.syncingNow", { time: N.value })), 1)) : (t(), s("span", te, m(e(r)("connect.review.neverSynced")), 1))
83
+ ], 2)) : (t(), s("span", oe, m(a.subtitle || e(r)("connect.review.notConnected")), 1))
84
+ ]),
85
+ a.connected ? (t(), s(x, { key: 0 }, [
86
+ a.tokenExpired ? (t(), V(e(k).FmChip, {
87
+ key: 0,
88
+ label: e(r)("connect.review.expired"),
89
+ variant: "critical"
90
+ }, null, 8, ["label"])) : w("", !0),
91
+ B(e(k).FmButton, {
92
+ variant: "secondary",
93
+ "prepend-icon": "refresh",
94
+ label: e(r)("connect.review.reconnect"),
95
+ onClick: u[0] || (u[0] = (n) => p("connect"))
96
+ }, null, 8, ["label"]),
97
+ a.tokenExpired ? w("", !0) : (t(), V(e(k).FmButton, {
98
+ key: 1,
99
+ variant: "primary",
100
+ "prepend-icon": "sync",
101
+ label: e(r)("connect.review.sync"),
102
+ loading: a.syncing,
103
+ onClick: u[1] || (u[1] = (n) => p("sync"))
104
+ }, null, 8, ["label", "loading"]))
105
+ ], 64)) : w("", !0)
106
+ ], 2),
107
+ a.connected ? w("", !0) : (t(), s("div", {
108
+ key: 0,
109
+ class: $(["flex items-center justify-between gap-12 p-16", e(o).default ? "border-b border-fm-color-neutral-gray-100" : ""])
110
+ }, [
111
+ c("span", ce, m(e(r)("connect.review.connectHint", { name: a.name })), 1),
112
+ B(e(k).FmButton, {
113
+ "prepend-icon": "add",
114
+ label: e(r)("connect.review.connect"),
115
+ onClick: u[2] || (u[2] = (n) => p("connect"))
116
+ }, null, 8, ["label"])
117
+ ], 2)),
118
+ U(i.$slots, "default")
119
+ ]));
120
+ }
121
+ }), ae = { class: "p-24 flex flex-col gap-8" }, re = { class: "flex flex-col flex-1 min-w-0" }, le = { class: "fm-typo-en-body-lg-600 truncate" }, ie = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400 truncate" }, ke = /* @__PURE__ */ A({
122
+ __name: "Settings",
123
+ setup(a) {
124
+ const { t: h } = H(), y = W(), p = q(), r = z(), o = E(null), f = E(!1);
125
+ E(!1);
126
+ const b = g(
127
+ () => {
128
+ var n;
129
+ return o.value ? ((n = o.value.google) == null ? void 0 : n.accessToken) === null : !1;
130
+ }
131
+ );
132
+ g(
133
+ () => {
134
+ var n;
135
+ return o.value ? ((n = o.value.facebook) == null ? void 0 : n.token) === null : !1;
136
+ }
137
+ );
138
+ function C(n) {
139
+ const l = window.location.pathname.replace(/\/review(?:\/.*)?$/, "");
140
+ return `${window.location.origin}${l}${n}`;
141
+ }
142
+ async function S() {
143
+ await O.minor(async () => {
144
+ o.value = await T.getSource();
145
+ });
146
+ }
147
+ function N(n) {
148
+ var l;
149
+ return (l = r.locations.find(
150
+ (v) => v._id.toString() === n
151
+ )) == null ? void 0 : l.name;
152
+ }
153
+ function d() {
154
+ y.open({
155
+ message: h("connect.review.syncSuccess"),
156
+ type: "success"
157
+ }), p.push({ name: P["$connect-REVIEW_OVERVIEW"] });
158
+ }
159
+ async function i() {
160
+ var n, l;
161
+ f.value = !0;
162
+ try {
163
+ await T.syncGoogleReviews(), d();
164
+ } catch (v) {
165
+ if (await S(), ((l = (n = o.value) == null ? void 0 : n.google) == null ? void 0 : l.accessToken) === null) {
166
+ y.open({
167
+ message: h("connect.review.tokenExpired"),
168
+ type: "error"
169
+ });
170
+ return;
171
+ }
172
+ throw v;
173
+ } finally {
174
+ f.value = !1;
175
+ }
176
+ }
177
+ async function u() {
178
+ const n = C("/review/google/callback"), { callbackUrl: l } = await T.getOauthUrl("google", n);
179
+ window.location.href = l;
180
+ }
181
+ return Y(() => {
182
+ S(), r.readLocations();
183
+ }), (n, l) => {
184
+ var v;
185
+ return t(), s("div", ae, [
186
+ e(o) ? (t(), s(x, { key: 0 }, [
187
+ B(se, {
188
+ icon: e(j),
189
+ name: "google",
190
+ connected: !!e(o).google,
191
+ syncing: e(f),
192
+ "token-expired": e(b),
193
+ "last-sync-time": (v = e(o).google) == null ? void 0 : v.lastSyncTime,
194
+ onConnect: u,
195
+ onSync: i
196
+ }, {
197
+ default: D(() => {
198
+ var _;
199
+ return [
200
+ (t(!0), s(x, null, F((_ = e(o).google) == null ? void 0 : _.locations, (R) => (t(), s("div", {
201
+ key: R.googleLocationName,
202
+ class: "flex items-center gap-12 px-16 py-12 border-b border-fm-color-neutral-gray-100 last:border-b-0"
203
+ }, [
204
+ B(e(k).FmIcon, {
205
+ name: "location_on",
206
+ class: "text-fm-color-neutral-gray-300 shrink-0"
207
+ }),
208
+ c("div", re, [
209
+ c("span", le, m(R.displayName), 1),
210
+ c("span", ie, m(N(R.locationId)), 1)
211
+ ])
212
+ ]))), 128))
213
+ ];
214
+ }),
215
+ _: 1
216
+ }, 8, ["icon", "connected", "syncing", "token-expired", "last-sync-time"]),
217
+ w("", !0)
218
+ ], 64)) : (t(), s(x, { key: 1 }, F(["google", "facebook"], (_) => c("div", {
219
+ key: _,
220
+ class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16"
221
+ }, [...l[0] || (l[0] = [
222
+ G('<div class="animate-pulse flex items-center gap-12"><div class="w-10 h-10 rounded-full bg-fm-color-neutral-gray-100 shrink-0"></div><div class="flex-1 min-w-0 space-y-8"><div class="h-16 w-20 rounded bg-fm-color-neutral-gray-100"></div><div class="h-12 w-full max-w-[160px] rounded bg-fm-color-neutral-gray-100"></div></div><div class="h-32 w-24 rounded bg-fm-color-neutral-gray-100 shrink-0"></div></div>', 1)
223
+ ])])), 64))
224
+ ]);
225
+ };
226
+ }
227
+ });
228
+ export {
229
+ ke as default
230
+ };