@feedmepos/mf-connect 0.1.38-beta.75 → 0.1.38-beta.77

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 (109) hide show
  1. package/dist/{Analytic-9B27Q-I3.js → Analytic-CPlnEHSZ.js} +14 -14
  2. package/dist/{App-isiE4pjM.js → App-Cu4p6gbW.js} +7 -7
  3. package/dist/{AuditLogs-BmHr7pNI.js → AuditLogs-CcFMAscb.js} +9 -9
  4. package/dist/{Bin-BR06pDbx.js → Bin-gtBK8XVY.js} +8 -8
  5. package/dist/{Broadcast-D_t80J2I.js → Broadcast-4xWTsz3e.js} +10 -10
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-C5IuPCTB.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DjfHJS4N.js} +6 -6
  7. package/dist/{Card-Zs-1lcSr.js → Card-Bpyi1Mqh.js} +18 -18
  8. package/dist/{Collections-BjeTJSHo.js → Collections-BXJpy-Z6.js} +8 -8
  9. package/dist/{Credit-DdmdsxOF.js → Credit-CACj5WA5.js} +10 -10
  10. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-DkOfrONH.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-CNp7zgbE.js} +33 -33
  11. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-kzk3iEKA.js → EffectSheet.vue_vue_type_style_index_0_lang-Dtu40xSp.js} +6 -6
  12. package/dist/{Experience-WxtE9ZIT.js → Experience-ERwGbs6_.js} +10 -10
  13. package/dist/{FileSaver.min-Vgxo4jNi.js → FileSaver.min-CCloVqBK.js} +1 -1
  14. package/dist/FmTableSelection.vue_vue_type_script_setup_true_lang-DzcUc0_w.js +52 -0
  15. package/dist/{Game-Cc0mZ3y4.js → Game-nn5Kroc_.js} +11 -11
  16. package/dist/{GenerateMaterial-Dsvnpz4o.js → GenerateMaterial-uhORX0wE.js} +6 -6
  17. package/dist/{Grab-CcaXToD-.js → Grab-Baqpbxdr.js} +9 -9
  18. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-D0yJMgs9.js → ImageInput.vue_vue_type_script_setup_true_lang-Dc2Wxjrq.js} +1 -1
  19. package/dist/{Index-C0TcFJJY.js → Index-CYB1KuDA.js} +10 -10
  20. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-CXFtSS9_.js → LocationPicker.vue_vue_type_script_setup_true_lang-B15IWMTx.js} +1 -1
  21. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-Ca7hKpcD.js → LottieAnimation.vue_vue_type_script_setup_true_lang-BFwur41g.js} +1 -1
  22. package/dist/{MainLayout-DPpjvWwq.js → MainLayout-DQI5pMKt.js} +1 -1
  23. package/dist/{Marketing-DfXuNM7X.js → Marketing-BDDNIPbj.js} +4 -4
  24. package/dist/{MarketingMaterialEdit-C63qyQSd.js → MarketingMaterialEdit-CCEojq5A.js} +4 -4
  25. package/dist/{Member-LTYVn-80.js → Member-D97fw6Cd.js} +11 -11
  26. package/dist/{MemberList-Gqr6ha5p.js → MemberList-DDRtiYhf.js} +26 -26
  27. package/dist/{MemberTransactions-CVZ-SPhm.js → MemberTransactions-08ct4MMf.js} +1 -1
  28. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-BGooFTgg.js → MessageInput.vue_vue_type_script_setup_true_lang-Mm-Chxx1.js} +9 -9
  29. package/dist/{Mission-CLQdNsOe.js → Mission-B1sZbVOv.js} +11 -11
  30. package/dist/{Overview-BluyLBRI.js → Overview-CihI2Ydx.js} +18 -18
  31. package/dist/{Point-DQLQxJG1.js → Point-jggxL54s.js} +10 -10
  32. package/dist/{Promotion-BG0xL1ed.js → Promotion-DCFVPRw9.js} +11 -11
  33. package/dist/{Queue-BR7TrLI8.js → Queue-BCfueANY.js} +10 -10
  34. package/dist/{Record-2WFpDhAb.js → Record-cFWNJD__.js} +9 -9
  35. package/dist/{Review-Bu9SGftr.js → Review-BnYNAJHr.js} +244 -240
  36. package/dist/{ReviewFacebookCallback-CV99Udei.js → ReviewFacebookCallback-DxuDeLaX.js} +4 -4
  37. package/dist/{ReviewGoogleCallback-DiqgQzOt.js → ReviewGoogleCallback-CzUOYUhc.js} +4 -4
  38. package/dist/{Reward-CPhM3ChT.js → Reward-C3IQT6Vm.js} +16 -16
  39. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-Q9pVq11w.js → RewardGroup.vue_vue_type_script_setup_true_lang-BHQbHhGE.js} +11 -11
  40. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-BRUQtqjv.js → RuleGroup.vue_vue_type_script_setup_true_lang-CL0gWNDv.js} +14 -14
  41. package/dist/{Segment-D6V8FKUY.js → Segment-Di328H19.js} +24 -24
  42. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-BrE1gGHP.js → SelectItems.vue_vue_type_script_setup_true_lang-CiEEE545.js} +2 -2
  43. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-DQhO9k7V.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-DyKJC5rS.js} +12 -12
  44. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-C9PkNlUG.js +226 -0
  45. package/dist/{Setting-Bh5bB75w.js → Setting-D8it6u-5.js} +14 -14
  46. package/dist/{SettingAdvertisements-CFUjq6s1.js → SettingAdvertisements-CrLcIibQ.js} +12 -12
  47. package/dist/{Store-DiVaUn7w.js → Store-Dr_fUsGl.js} +21 -21
  48. package/dist/{StoreRewards-Bb9iW3Yz.js → StoreRewards-CJjRph_y.js} +15 -15
  49. package/dist/{StoreTransactions.vue_vue_type_script_setup_true_lang-DVFsPzLK.js → StoreTransactions.vue_vue_type_script_setup_true_lang-CcG8ez-X.js} +21 -21
  50. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-D9uZR0si.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-CQwJ43lC.js} +2 -2
  51. package/dist/{Tier-BYxLjqAB.js → Tier-CSfFMEO6.js} +24 -24
  52. package/dist/{Title-D3cdNE2O.js → Title-BJeyjdmZ.js} +21 -21
  53. package/dist/{Transaction-D7ItbBra.js → Transaction-CYT59iim.js} +2 -2
  54. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-UXSlpEM0.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-Bhpfk_pP.js} +6 -6
  55. package/dist/{Voucher-DNQz_ujN.js → Voucher-B7bbNebL.js} +14 -14
  56. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-CztGuaCV.js → VoucherEditor.vue_vue_type_script_setup_true_lang-BWaL1UD_.js} +12 -12
  57. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-RI0mY3Nx.js → ZodTextField.vue_vue_type_script_setup_true_lang-C75XExhq.js} +2 -2
  58. package/dist/{app-zPef9Uzl.js → app-DW87VLhM.js} +52 -52
  59. package/dist/app.js +1 -1
  60. package/dist/{business-DKEB57Mf.js → business-CKorj1jI.js} +1 -1
  61. package/dist/{campaign-BD_s6pW4.js → campaign-KUqRHHsx.js} +2 -2
  62. package/dist/{campaign-D9IfNIPI.js → campaign-v-IDnBOH.js} +8 -8
  63. package/dist/{campaign.enum-gPz5hWSW.js → campaign.enum-Y2VyD9Rk.js} +1 -1
  64. package/dist/{campaign.fn-Csxad3W7.js → campaign.fn-J0h3DHY7.js} +23 -23
  65. package/dist/{collectible.enum-CA-QbTP-.js → collectible.enum-Ct4EH1-M.js} +1 -1
  66. package/dist/{collection.fn-tFxG0UiA.js → collection.fn-4EwI__Kd.js} +2 -2
  67. package/dist/{dto-CdvywxS_.js → dto-CzQ5ZPnM.js} +4 -4
  68. package/dist/{duplicateCampaign-Cj68m0Ti.js → duplicateCampaign-DH4GTkl4.js} +2 -2
  69. package/dist/{effect-KecOJIEK.js → effect-CSmAbPw5.js} +1 -1
  70. package/dist/{email-addresses-Ske7sY-s.js → email-addresses-CDQTaGMc.js} +2 -2
  71. package/dist/{export-17vDh5vq.js → export-CWGMDCOS.js} +3 -3
  72. package/dist/{helper-B-ZDFjy7.js → helper-BTMcmkY-.js} +1 -1
  73. package/dist/{index-BRZC-Cy5.js → index-BGP2XsfH.js} +1 -1
  74. package/dist/{index-CkqQGjg1.js → index-BalocitS.js} +3 -3
  75. package/dist/{index-woXH3LmA.js → index-CHwxbJ-k.js} +1 -1
  76. package/dist/{index-BwLCkOIF.js → index-CINZ-bnq.js} +1 -1
  77. package/dist/{index-Dc2JsMD2.js → index-DNgP9oPe.js} +3 -3
  78. package/dist/{index-CNLqZu6_.js → index-DQxSSe7u.js} +6 -6
  79. package/dist/{index-C1Z4oibL.js → index-DafBqawi.js} +1 -1
  80. package/dist/{index-D05Pcg0E.js → index-DbSJ3Kqw.js} +1 -1
  81. package/dist/{index-DnrSd_o_.js → index-DpYrJ9BA.js} +1 -1
  82. package/dist/{index-Dh78uGTl.js → index-Ds0iCyTa.js} +1 -1
  83. package/dist/{index-DY3_9zbY.js → index-DuKr4NrF.js} +4 -4
  84. package/dist/{index-D58_aTiN.js → index-KfVh_1Mq.js} +5 -3
  85. package/dist/{index-BV_G-XzK.js → index-Th2v5uhF.js} +3 -3
  86. package/dist/{index-DCzjjZgV.js → index-c7bs3-sB.js} +1 -1
  87. package/dist/{index-CdByBgmF.js → index-nxwskabW.js} +1 -1
  88. package/dist/{index.esm2017-DxQe1gCt.js → index.esm2017-BaIOtNg6.js} +1 -1
  89. package/dist/{loading-B1ymwDT_.js → loading-IPAu72W9.js} +1 -1
  90. package/dist/{lodash-BiGSPE0G.js → lodash-8i9BuEpy.js} +1 -1
  91. package/dist/{membership-GnNCDGBk.js → membership-D3C6uxZn.js} +3 -3
  92. package/dist/{money-CG6LGklW.js → money-DgJ-Eu1j.js} +1 -1
  93. package/dist/{number-p19we-YD.js → number-DYvUlYUV.js} +1 -1
  94. package/dist/{objectid-XhaZoPQl.js → objectid-DXtt7nvA.js} +8 -8
  95. package/dist/{plugins-cxSxZO0d.js → plugins-DOuRSYyI.js} +3 -3
  96. package/dist/{reward-siULTu5h.js → reward-DnUBE-5Q.js} +1 -1
  97. package/dist/{rule-GD9oMCPH.js → rule-2xz8bsfH.js} +3 -3
  98. package/dist/{rule-builder-DWFem4d5.js → rule-builder-BUbfKVI2.js} +1 -1
  99. package/dist/{template-o23nw6e2.js → template-DIFr5du7.js} +6 -6
  100. package/dist/{timezone-BVwygiRH.js → timezone-BLOuoWcc.js} +5 -3
  101. package/dist/{trigger-CrEBP1aZ.js → trigger-CTBnJR5J.js} +5 -5
  102. package/dist/usePagination-6vyp3VrT.js +220 -0
  103. package/dist/{user-DcMEufQ6.js → user-oKms24rP.js} +1 -1
  104. package/dist/{vue-i18n-BxV_u4BZ.js → vue-i18n-C1UXB6UQ.js} +291 -291
  105. package/dist/{xlsx-BnJDxONa.js → xlsx-CdtGyyAC.js} +1 -1
  106. package/dist/{zod-CUN5LrI6.js → zod-C2KjnyQW.js} +1 -1
  107. package/package.json +1 -1
  108. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-CyHx6m95.js +0 -147
  109. package/dist/usePagination-BbTCnhtY.js +0 -266
@@ -1,12 +1,12 @@
1
- import { defineComponent as $, useModel as V, computed as I, onMounted as P, resolveComponent as N, openBlock as t, createElementBlock as a, createElementVNode as r, createVNode as y, unref as e, createBlock as b, createCommentVNode as k, toDisplayString as f, normalizeClass as z, Fragment as _, renderList as R, ref as x, onUnmounted as O, watch as L, isRef as B, useSlots as K, renderSlot as Z, withCtx as j, createStaticVNode as J, KeepAlive as Q } from "vue";
2
- import { u as U } from "./vue-i18n-BxV_u4BZ.js";
3
- import { _ as D } from "./DateInput.vue_vue_type_script_setup_true_lang-BN4Q5Y3l.js";
4
- import { u as W } from "./business-DKEB57Mf.js";
5
- import { components as p, useSnackbar as X } from "@feedmepos/ui-library";
6
- import { h as A } from "./moment-D7p2TMB-.js";
7
- import { r as C } from "./index-C1Z4oibL.js";
8
- import { u as ee } from "./loading-B1ymwDT_.js";
9
- const oe = { class: "flex justify-between gap-8" }, te = { class: "flex flex-wrap gap-8" }, ne = /* @__PURE__ */ $({
1
+ import { defineComponent as I, useModel as B, computed as U, onMounted as Y, resolveComponent as A, openBlock as o, createElementBlock as s, createElementVNode as a, createVNode as y, unref as e, createBlock as b, createCommentVNode as _, toDisplayString as w, normalizeClass as P, Fragment as F, renderList as S, ref as x, onUnmounted as K, watch as j, isRef as z, useSlots as Z, renderSlot as J, withCtx as D, createStaticVNode as Q, KeepAlive as W } from "vue";
2
+ import { u as C } from "./vue-i18n-C1UXB6UQ.js";
3
+ import { _ as G } from "./DateInput.vue_vue_type_script_setup_true_lang-BN4Q5Y3l.js";
4
+ import { u as X } from "./business-CKorj1jI.js";
5
+ import { components as p, useSnackbar as ee } from "@feedmepos/ui-library";
6
+ import { h as L } from "./moment-D7p2TMB-.js";
7
+ import { r as R } from "./index-DafBqawi.js";
8
+ import { u as te } from "./loading-IPAu72W9.js";
9
+ const oe = { class: "flex justify-between gap-8" }, ne = { class: "flex flex-wrap gap-8" }, le = /* @__PURE__ */ I({
10
10
  __name: "ReviewListingController",
11
11
  props: {
12
12
  source: { required: !0 },
@@ -21,263 +21,263 @@ const oe = { class: "flex justify-between gap-8" }, te = { class: "flex flex-wra
21
21
  sortModifiers: {}
22
22
  },
23
23
  emits: ["update:source", "update:dateFrom", "update:dateTo", "update:locationId", "update:sort"],
24
- setup(o) {
25
- const { t: n } = U(), u = V(o, "source"), l = V(o, "dateFrom"), c = V(o, "dateTo"), d = V(o, "locationId"), i = V(o, "sort"), v = W(), g = I(() => [
24
+ setup(t) {
25
+ const { t: n } = C(), u = B(t, "source"), l = B(t, "dateFrom"), c = B(t, "dateTo"), d = B(t, "locationId"), i = B(t, "sort"), v = X(), g = U(() => [
26
26
  { label: n("connect.review.filter.allSources"), value: "" },
27
27
  { label: "Google", value: "google" },
28
28
  { label: "Facebook", value: "facebook" }
29
- ]), M = I(() => [
29
+ ]), $ = U(() => [
30
30
  { label: n("connect.review.filter.allLocations"), value: "" },
31
31
  ...v.locationOptions.map((h) => ({ label: h.label, value: h.value }))
32
- ]), T = I(() => [
32
+ ]), T = U(() => [
33
33
  { label: n("connect.review.filter.sort.createTime_desc"), value: "createTime_desc" },
34
34
  { label: n("connect.review.filter.sort.createTime_asc"), value: "createTime_asc" },
35
35
  { label: n("connect.review.filter.sort.rating_asc"), value: "rating_asc" },
36
36
  { label: n("connect.review.filter.sort.rating_desc"), value: "rating_desc" }
37
- ]), S = I(
37
+ ]), V = U(
38
38
  () => v.locations.length > 0
39
39
  );
40
- return P(() => v.readLocations()), (h, s) => {
41
- const m = N("FmSelect");
42
- return t(), a("div", oe, [
43
- r("div", te, [
44
- y(m, {
40
+ return Y(() => v.readLocations()), (h, f) => {
41
+ const r = A("FmSelect");
42
+ return o(), s("div", oe, [
43
+ a("div", ne, [
44
+ y(r, {
45
45
  modelValue: u.value,
46
- "onUpdate:modelValue": s[0] || (s[0] = (w) => u.value = w),
46
+ "onUpdate:modelValue": f[0] || (f[0] = (m) => u.value = m),
47
47
  label: e(n)("connect.review.filter.source"),
48
48
  items: e(g)
49
49
  }, null, 8, ["modelValue", "label", "items"]),
50
- e(S) ? (t(), b(m, {
50
+ e(V) ? (o(), b(r, {
51
51
  key: 0,
52
52
  modelValue: d.value,
53
- "onUpdate:modelValue": s[1] || (s[1] = (w) => d.value = w),
53
+ "onUpdate:modelValue": f[1] || (f[1] = (m) => d.value = m),
54
54
  label: e(n)("connect.review.filter.location"),
55
- items: e(M)
56
- }, null, 8, ["modelValue", "label", "items"])) : k("", !0),
57
- y(D, {
55
+ items: e($)
56
+ }, null, 8, ["modelValue", "label", "items"])) : _("", !0),
57
+ y(G, {
58
58
  label: e(n)("connect.review.filter.dateFrom"),
59
59
  "model-value": l.value,
60
- "onUpdate:modelValue": s[2] || (s[2] = (w) => l.value = w)
60
+ "onUpdate:modelValue": f[2] || (f[2] = (m) => l.value = m)
61
61
  }, null, 8, ["label", "model-value"]),
62
- y(D, {
62
+ y(G, {
63
63
  label: e(n)("connect.review.filter.dateTo"),
64
64
  "model-value": c.value,
65
- "onUpdate:modelValue": s[3] || (s[3] = (w) => c.value = w)
65
+ "onUpdate:modelValue": f[3] || (f[3] = (m) => c.value = m)
66
66
  }, null, 8, ["label", "model-value"])
67
67
  ]),
68
- y(m, {
68
+ y(r, {
69
69
  modelValue: i.value,
70
- "onUpdate:modelValue": s[4] || (s[4] = (w) => i.value = w),
70
+ "onUpdate:modelValue": f[4] || (f[4] = (m) => i.value = m),
71
71
  label: e(n)("connect.review.filter.sort.label"),
72
72
  items: e(T)
73
73
  }, null, 8, ["modelValue", "label", "items"])
74
74
  ]);
75
75
  };
76
76
  }
77
- }), H = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%231877F2'%3e%3cpath%20d='M24%2012.073c0-6.627-5.373-12-12-12s-12%205.373-12%2012c0%205.99%204.388%2010.954%2010.125%2011.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007%201.792-4.669%204.533-4.669%201.312%200%202.686.235%202.686.235v2.953H15.83c-1.491%200-1.956.925-1.956%201.874v2.25h3.328l-.532%203.47h-2.796v8.385C19.612%2023.027%2024%2018.062%2024%2012.073z'/%3e%3c/svg%3e", le = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16 flex flex-col gap-8" }, se = { class: "flex items-center gap-8" }, ae = ["src"], re = { class: "flex flex-col flex-1 min-w-0" }, ce = { class: "fm-typo-en-body-md-600 truncate" }, ie = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400" }, ue = { class: "flex items-center gap-4 shrink-0" }, de = ["src"], me = {
77
+ }), q = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%231877F2'%3e%3cpath%20d='M24%2012.073c0-6.627-5.373-12-12-12s-12%205.373-12%2012c0%205.99%204.388%2010.954%2010.125%2011.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007%201.792-4.669%204.533-4.669%201.312%200%202.686.235%202.686.235v2.953H15.83c-1.491%200-1.956.925-1.956%201.874v2.25h3.328l-.532%203.47h-2.796v8.385C19.612%2023.027%2024%2018.062%2024%2012.073z'/%3e%3c/svg%3e", se = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16 flex flex-col gap-8" }, ae = { class: "flex items-center gap-8" }, re = ["src"], ce = { class: "flex flex-col flex-1 min-w-0" }, ie = { class: "fm-typo-en-body-md-600 truncate" }, ue = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400" }, de = { class: "flex items-center gap-4 shrink-0" }, me = ["src"], ve = {
78
78
  key: 0,
79
79
  class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400"
80
- }, ve = {
80
+ }, fe = {
81
81
  key: 0,
82
82
  class: "flex items-center gap-4"
83
- }, fe = {
83
+ }, we = {
84
84
  key: 1,
85
85
  class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-700 line-clamp-3"
86
- }, we = {
86
+ }, ye = {
87
87
  key: 2,
88
88
  class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-400 italic"
89
- }, ye = /* @__PURE__ */ $({
89
+ }, ge = /* @__PURE__ */ I({
90
90
  __name: "FacebookReviewCard",
91
91
  props: {
92
92
  review: {}
93
93
  },
94
- setup(o) {
95
- const { t: n } = U();
94
+ setup(t) {
95
+ const { t: n } = C();
96
96
  return (u, l) => {
97
97
  var c, d, i;
98
- return t(), a("div", le, [
99
- r("div", se, [
100
- (c = o.review.reviewer) != null && c.pictureUrl ? (t(), a("img", {
98
+ return o(), s("div", se, [
99
+ a("div", ae, [
100
+ (c = t.review.reviewer) != null && c.pictureUrl ? (o(), s("img", {
101
101
  key: 0,
102
- src: (d = o.review.reviewer) == null ? void 0 : d.pictureUrl,
102
+ src: (d = t.review.reviewer) == null ? void 0 : d.pictureUrl,
103
103
  class: "w-32 h-32 rounded-full shrink-0 object-cover"
104
- }, null, 8, ae)) : (t(), b(e(p).FmIcon, {
104
+ }, null, 8, re)) : (o(), b(e(p).FmIcon, {
105
105
  key: 1,
106
106
  name: "person",
107
107
  class: "text-fm-color-neutral-gray-300 shrink-0"
108
108
  })),
109
- r("div", re, [
110
- r("span", ce, f(((i = o.review.reviewer) == null ? void 0 : i.name) ?? e(n)("connect.review.overview.anonymous")), 1),
111
- r("span", ie, f(e(A)(o.review.createTime).format("D MMM YYYY, hh:mmA")), 1)
109
+ a("div", ce, [
110
+ a("span", ie, w(((i = t.review.reviewer) == null ? void 0 : i.name) ?? e(n)("connect.review.overview.anonymous")), 1),
111
+ a("span", ue, w(e(L)(t.review.createTime).format("D MMM YYYY, hh:mmA")), 1)
112
112
  ]),
113
- r("div", ue, [
114
- r("img", {
115
- src: e(H),
113
+ a("div", de, [
114
+ a("img", {
115
+ src: e(q),
116
116
  class: "w-16 h-16"
117
- }, null, 8, de),
118
- o.review.pageName ? (t(), a("span", me, f(o.review.pageName), 1)) : k("", !0)
117
+ }, null, 8, me),
118
+ t.review.pageName ? (o(), s("span", ve, w(t.review.pageName), 1)) : _("", !0)
119
119
  ])
120
120
  ]),
121
- o.review.isPositive != null ? (t(), a("div", ve, [
121
+ t.review.isPositive != null ? (o(), s("div", fe, [
122
122
  y(e(p).FmIcon, {
123
- name: o.review.isPositive ? "thumb_up" : "thumb_down",
123
+ name: t.review.isPositive ? "thumb_up" : "thumb_down",
124
124
  size: "sm",
125
- class: z(
126
- o.review.isPositive ? "text-fm-color-typo-success" : "text-fm-color-system-error-500"
125
+ class: P(
126
+ t.review.isPositive ? "text-fm-color-typo-success" : "text-fm-color-system-error-500"
127
127
  )
128
128
  }, null, 8, ["name", "class"]),
129
- r("span", {
130
- class: z([
129
+ a("span", {
130
+ class: P([
131
131
  "fm-typo-en-body-sm-400",
132
- o.review.isPositive ? "text-fm-color-typo-success" : "text-fm-color-system-error-500"
132
+ t.review.isPositive ? "text-fm-color-typo-success" : "text-fm-color-system-error-500"
133
133
  ])
134
- }, f(o.review.isPositive ? e(n)("connect.review.overview.positive") : e(n)("connect.review.overview.negative")), 3)
135
- ])) : k("", !0),
136
- o.review.comment ? (t(), a("p", fe, f(o.review.comment), 1)) : (t(), a("p", we, f(e(n)("connect.review.overview.noComment")), 1))
134
+ }, w(t.review.isPositive ? e(n)("connect.review.overview.positive") : e(n)("connect.review.overview.negative")), 3)
135
+ ])) : _("", !0),
136
+ t.review.comment ? (o(), s("p", we, w(t.review.comment), 1)) : (o(), s("p", ye, w(e(n)("connect.review.overview.noComment")), 1))
137
137
  ]);
138
138
  };
139
139
  }
140
- }), ge = "/feedme.ico", pe = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16 flex flex-col gap-8" }, be = { class: "flex items-center gap-8" }, he = ["src"], xe = { class: "flex flex-col flex-1 min-w-0" }, ke = { class: "fm-typo-en-body-md-600 truncate" }, _e = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400" }, $e = { class: "flex items-center gap-4 shrink-0" }, Fe = {
140
+ }), pe = "/feedme.ico", be = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16 flex flex-col gap-8" }, he = { class: "flex items-center gap-8" }, xe = ["src"], ke = { class: "flex flex-col flex-1 min-w-0" }, _e = { class: "fm-typo-en-body-md-600 truncate" }, $e = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400" }, Fe = { class: "flex items-center gap-4 shrink-0" }, Ie = {
141
141
  key: 0,
142
142
  class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400"
143
- }, Ie = { class: "flex items-center gap-4" }, Me = {
143
+ }, Me = { class: "flex items-center gap-4" }, Ue = {
144
144
  key: 0,
145
145
  class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-700 line-clamp-3"
146
- }, Ue = {
146
+ }, Ce = {
147
147
  key: 1,
148
148
  class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-400 italic"
149
- }, Ce = /* @__PURE__ */ $({
149
+ }, Re = /* @__PURE__ */ I({
150
150
  __name: "FeedmeReviewCard",
151
151
  props: {
152
152
  review: {}
153
153
  },
154
- setup(o) {
155
- const { t: n } = U();
156
- return (u, l) => (t(), a("div", pe, [
157
- r("div", be, [
158
- o.review.reviewer.photoUrl ? (t(), a("img", {
154
+ setup(t) {
155
+ const { t: n } = C();
156
+ return (u, l) => (o(), s("div", be, [
157
+ a("div", he, [
158
+ t.review.reviewer.photoUrl ? (o(), s("img", {
159
159
  key: 0,
160
- src: o.review.reviewer.photoUrl,
160
+ src: t.review.reviewer.photoUrl,
161
161
  class: "w-32 h-32 rounded-full shrink-0 object-cover"
162
- }, null, 8, he)) : (t(), b(e(p).FmIcon, {
162
+ }, null, 8, xe)) : (o(), b(e(p).FmIcon, {
163
163
  key: 1,
164
164
  name: "person",
165
165
  class: "text-fm-color-neutral-gray-300 shrink-0"
166
166
  })),
167
- r("div", xe, [
168
- r("span", ke, f(o.review.reviewer.name ?? e(n)("connect.review.overview.anonymous")), 1),
169
- r("span", _e, f(e(A)(o.review.createTime).format("D MMM YYYY, hh:mmA")), 1)
167
+ a("div", ke, [
168
+ a("span", _e, w(t.review.reviewer.name ?? e(n)("connect.review.overview.anonymous")), 1),
169
+ a("span", $e, w(e(L)(t.review.createTime).format("D MMM YYYY, hh:mmA")), 1)
170
170
  ]),
171
- r("div", $e, [
172
- l[0] || (l[0] = r("img", {
173
- src: ge,
171
+ a("div", Fe, [
172
+ l[0] || (l[0] = a("img", {
173
+ src: pe,
174
174
  class: "w-16 h-16"
175
175
  }, null, -1)),
176
- o.review.location ? (t(), a("span", Fe, f(o.review.location.name), 1)) : k("", !0)
176
+ t.review.location ? (o(), s("span", Ie, w(t.review.location.name), 1)) : _("", !0)
177
177
  ])
178
178
  ]),
179
- r("div", Ie, [
180
- (t(), a(_, null, R(5, (c) => y(e(p).FmIcon, {
179
+ a("div", Me, [
180
+ (o(), s(F, null, S(5, (c) => y(e(p).FmIcon, {
181
181
  key: c,
182
182
  name: "star",
183
183
  size: "sm",
184
- class: z(
185
- c <= o.review.starRating ? "text-yellow-400" : "text-fm-color-neutral-gray-200"
184
+ class: P(
185
+ c <= t.review.starRating ? "text-yellow-400" : "text-fm-color-neutral-gray-200"
186
186
  )
187
187
  }, null, 8, ["class"])), 64))
188
188
  ]),
189
- o.review.comment ? (t(), a("p", Me, f(o.review.comment), 1)) : (t(), a("p", Ue, f(e(n)("connect.review.overview.noComment")), 1))
189
+ t.review.comment ? (o(), s("p", Ue, w(t.review.comment), 1)) : (o(), s("p", Ce, w(e(n)("connect.review.overview.noComment")), 1))
190
190
  ]));
191
191
  }
192
- }), q = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='%23EA4335'%20d='M24%209.5c3.14%200%205.95%201.08%208.17%202.86l6.08-6.08C34.46%203.1%2029.5%201%2024%201%2014.82%201%206.96%206.48%203.22%2014.44l7.08%205.5C12.08%2013.66%2017.58%209.5%2024%209.5z'/%3e%3cpath%20fill='%234285F4'%20d='M46.52%2024.5c0-1.64-.15-3.22-.42-4.74H24v8.98h12.7c-.55%202.96-2.2%205.46-4.68%207.14l7.18%205.58C43.18%2037.36%2046.52%2031.38%2046.52%2024.5z'/%3e%3cpath%20fill='%23FBBC05'%20d='M10.3%2028.56A14.56%2014.56%200%200%201%209.5%2024c0-1.58.27-3.1.76-4.52l-7.08-5.5A23.94%2023.94%200%200%200%200%2024c0%203.86.92%207.5%202.56%2010.72l7.74-6.16z'/%3e%3cpath%20fill='%2334A853'%20d='M24%2047c5.5%200%2010.12-1.82%2013.48-4.94l-7.18-5.58c-1.82%201.22-4.14%201.94-6.3%201.94-6.42%200-11.92-4.16-13.7-9.86l-7.74%206.16C6.96%2041.52%2014.82%2047%2024%2047z'/%3e%3cpath%20fill='none'%20d='M0%200h48v48H0z'/%3e%3c/svg%3e", Te = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16 flex flex-col gap-8" }, Re = { class: "flex items-center gap-8" }, Se = ["src"], Ve = { class: "flex flex-col flex-1 min-w-0" }, Be = { class: "fm-typo-en-body-md-600 truncate" }, ze = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400" }, Ee = { class: "flex items-center gap-4 shrink-0" }, Pe = ["src"], Ye = {
192
+ }), O = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='%23EA4335'%20d='M24%209.5c3.14%200%205.95%201.08%208.17%202.86l6.08-6.08C34.46%203.1%2029.5%201%2024%201%2014.82%201%206.96%206.48%203.22%2014.44l7.08%205.5C12.08%2013.66%2017.58%209.5%2024%209.5z'/%3e%3cpath%20fill='%234285F4'%20d='M46.52%2024.5c0-1.64-.15-3.22-.42-4.74H24v8.98h12.7c-.55%202.96-2.2%205.46-4.68%207.14l7.18%205.58C43.18%2037.36%2046.52%2031.38%2046.52%2024.5z'/%3e%3cpath%20fill='%23FBBC05'%20d='M10.3%2028.56A14.56%2014.56%200%200%201%209.5%2024c0-1.58.27-3.1.76-4.52l-7.08-5.5A23.94%2023.94%200%200%200%200%2024c0%203.86.92%207.5%202.56%2010.72l7.74-6.16z'/%3e%3cpath%20fill='%2334A853'%20d='M24%2047c5.5%200%2010.12-1.82%2013.48-4.94l-7.18-5.58c-1.82%201.22-4.14%201.94-6.3%201.94-6.42%200-11.92-4.16-13.7-9.86l-7.74%206.16C6.96%2041.52%2014.82%2047%2024%2047z'/%3e%3cpath%20fill='none'%20d='M0%200h48v48H0z'/%3e%3c/svg%3e", Te = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16 flex flex-col gap-8" }, Se = { class: "flex items-center gap-8" }, Ve = ["src"], Be = { class: "flex flex-col flex-1 min-w-0" }, ze = { class: "fm-typo-en-body-md-600 truncate" }, Pe = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400" }, Ee = { class: "flex items-center gap-4 shrink-0" }, Ye = ["src"], Ne = {
193
193
  key: 0,
194
194
  class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400"
195
- }, Ne = { class: "flex items-center gap-4" }, Ae = {
195
+ }, Ae = { class: "flex items-center gap-4" }, Le = {
196
196
  key: 0,
197
197
  class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-700 line-clamp-3"
198
- }, Le = {
198
+ }, je = {
199
199
  key: 1,
200
200
  class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-400 italic"
201
- }, je = /* @__PURE__ */ $({
201
+ }, De = /* @__PURE__ */ I({
202
202
  __name: "GoogleReviewCard",
203
203
  props: {
204
204
  review: {}
205
205
  },
206
- setup(o) {
207
- const { t: n } = U();
206
+ setup(t) {
207
+ const { t: n } = C();
208
208
  return (u, l) => {
209
209
  var c, d, i;
210
- return t(), a("div", Te, [
211
- r("div", Re, [
212
- (c = o.review.reviewer) != null && c.pictureUrl ? (t(), a("img", {
210
+ return o(), s("div", Te, [
211
+ a("div", Se, [
212
+ (c = t.review.reviewer) != null && c.pictureUrl ? (o(), s("img", {
213
213
  key: 0,
214
- src: (d = o.review.reviewer) == null ? void 0 : d.pictureUrl,
214
+ src: (d = t.review.reviewer) == null ? void 0 : d.pictureUrl,
215
215
  class: "w-32 h-32 rounded-full shrink-0 object-cover"
216
- }, null, 8, Se)) : (t(), b(e(p).FmIcon, {
216
+ }, null, 8, Ve)) : (o(), b(e(p).FmIcon, {
217
217
  key: 1,
218
218
  name: "person",
219
219
  class: "text-fm-color-neutral-gray-300 shrink-0"
220
220
  })),
221
- r("div", Ve, [
222
- r("span", Be, f(((i = o.review.reviewer) == null ? void 0 : i.name) ?? e(n)("connect.review.overview.anonymous")), 1),
223
- r("span", ze, f(e(A)(o.review.createTime).format("D MMM YYYY, hh:mmA")), 1)
221
+ a("div", Be, [
222
+ a("span", ze, w(((i = t.review.reviewer) == null ? void 0 : i.name) ?? e(n)("connect.review.overview.anonymous")), 1),
223
+ a("span", Pe, w(e(L)(t.review.createTime).format("D MMM YYYY, hh:mmA")), 1)
224
224
  ]),
225
- r("div", Ee, [
226
- r("img", {
227
- src: e(q),
225
+ a("div", Ee, [
226
+ a("img", {
227
+ src: e(O),
228
228
  class: "w-16 h-16"
229
- }, null, 8, Pe),
230
- o.review.locationDisplayName ? (t(), a("span", Ye, f(o.review.locationDisplayName), 1)) : k("", !0)
229
+ }, null, 8, Ye),
230
+ t.review.locationDisplayName ? (o(), s("span", Ne, w(t.review.locationDisplayName), 1)) : _("", !0)
231
231
  ])
232
232
  ]),
233
- r("div", Ne, [
234
- (t(), a(_, null, R(5, (v) => y(e(p).FmIcon, {
233
+ a("div", Ae, [
234
+ (o(), s(F, null, S(5, (v) => y(e(p).FmIcon, {
235
235
  key: v,
236
236
  name: "star",
237
237
  size: "sm",
238
- class: z(
239
- v <= o.review.starRating ? "text-yellow-400" : "text-fm-color-neutral-gray-200"
238
+ class: P(
239
+ v <= t.review.starRating ? "text-yellow-400" : "text-fm-color-neutral-gray-200"
240
240
  )
241
241
  }, null, 8, ["class"])), 64))
242
242
  ]),
243
- o.review.comment ? (t(), a("p", Ae, f(o.review.comment), 1)) : (t(), a("p", Le, f(e(n)("connect.review.overview.noComment")), 1))
243
+ t.review.comment ? (o(), s("p", Le, w(t.review.comment), 1)) : (o(), s("p", je, w(e(n)("connect.review.overview.noComment")), 1))
244
244
  ]);
245
245
  };
246
246
  }
247
- }), De = /* @__PURE__ */ $({
247
+ }), Ge = /* @__PURE__ */ I({
248
248
  __name: "ReviewCard",
249
249
  props: {
250
250
  review: {}
251
251
  },
252
- setup(o) {
253
- const n = o, u = I(
252
+ setup(t) {
253
+ const n = t, u = U(
254
254
  () => n.review.source === "google" ? n.review : null
255
- ), l = I(
255
+ ), l = U(
256
256
  () => n.review.source === "facebook" ? n.review : null
257
- ), c = I(
257
+ ), c = U(
258
258
  () => n.review.source === "feedme" ? n.review : null
259
259
  );
260
- return console.log(n.review), (d, i) => u.value ? (t(), b(je, {
260
+ return console.log(n.review), (d, i) => u.value ? (o(), b(De, {
261
261
  key: 0,
262
262
  review: u.value
263
- }, null, 8, ["review"])) : l.value ? (t(), b(ye, {
263
+ }, null, 8, ["review"])) : l.value ? (o(), b(ge, {
264
264
  key: 1,
265
265
  review: l.value
266
- }, null, 8, ["review"])) : c.value ? (t(), b(Ce, {
266
+ }, null, 8, ["review"])) : c.value ? (o(), b(Re, {
267
267
  key: 2,
268
268
  review: c.value
269
- }, null, 8, ["review"])) : k("", !0);
269
+ }, null, 8, ["review"])) : _("", !0);
270
270
  }
271
- }), Ge = {
271
+ }), He = {
272
272
  key: 0,
273
273
  class: "flex justify-center py-32"
274
- }, He = {
274
+ }, qe = {
275
275
  key: 1,
276
276
  class: "flex flex-col items-center justify-center py-48 gap-8"
277
- }, qe = { class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-400" }, Oe = {
277
+ }, Oe = { class: "fm-typo-en-body-md-400 text-fm-color-neutral-gray-400" }, Ke = {
278
278
  key: 3,
279
279
  class: "flex justify-center py-16"
280
- }, Ke = /* @__PURE__ */ $({
280
+ }, Ze = /* @__PURE__ */ I({
281
281
  __name: "ReviewFeed",
282
282
  props: {
283
283
  reviews: {},
@@ -285,111 +285,111 @@ const oe = { class: "flex justify-between gap-8" }, te = { class: "flex flex-wra
285
285
  hasMore: { type: Boolean }
286
286
  },
287
287
  emits: ["loadMore"],
288
- setup(o, { emit: n }) {
289
- const { t: u } = U(), l = o, c = n, d = x(null);
290
- return P(() => {
288
+ setup(t, { emit: n }) {
289
+ const { t: u } = C(), l = t, c = n, d = x(null);
290
+ return Y(() => {
291
291
  const i = new IntersectionObserver(
292
292
  (v) => {
293
293
  v[0].isIntersecting && l.hasMore && !l.loading && c("loadMore");
294
294
  },
295
295
  { threshold: 0.5 }
296
296
  );
297
- d.value && i.observe(d.value), O(() => i.disconnect());
298
- }), (i, v) => (t(), a(_, null, [
299
- o.loading && o.reviews.length === 0 ? (t(), a("div", Ge, [
297
+ d.value && i.observe(d.value), K(() => i.disconnect());
298
+ }), (i, v) => (o(), s(F, null, [
299
+ t.loading && t.reviews.length === 0 ? (o(), s("div", He, [
300
300
  y(e(p).FmIcon, {
301
301
  name: "sync",
302
302
  size: "xl",
303
303
  class: "animate-spin text-fm-color-neutral-gray-400"
304
304
  })
305
- ])) : o.reviews.length === 0 ? (t(), a("div", He, [
305
+ ])) : t.reviews.length === 0 ? (o(), s("div", qe, [
306
306
  y(e(p).FmIcon, {
307
307
  name: "rate_review",
308
308
  size: "xl",
309
309
  class: "text-fm-color-neutral-gray-300"
310
310
  }),
311
- r("p", qe, f(e(u)("connect.review.overview.empty")), 1)
312
- ])) : (t(!0), a(_, { key: 2 }, R(o.reviews, (g) => (t(), b(De, {
311
+ a("p", Oe, w(e(u)("connect.review.overview.empty")), 1)
312
+ ])) : (o(!0), s(F, { key: 2 }, S(t.reviews, (g) => (o(), b(Ge, {
313
313
  key: g._id,
314
314
  review: g
315
315
  }, null, 8, ["review"]))), 128)),
316
- r("div", {
316
+ a("div", {
317
317
  ref_key: "sentinel",
318
318
  ref: d,
319
319
  class: "h-1"
320
320
  }, null, 512),
321
- o.loading && o.reviews.length > 0 ? (t(), a("div", Oe, [
321
+ t.loading && t.reviews.length > 0 ? (o(), s("div", Ke, [
322
322
  y(e(p).FmIcon, {
323
323
  name: "sync",
324
324
  size: "md",
325
325
  class: "animate-spin text-fm-color-neutral-gray-400"
326
326
  })
327
- ])) : k("", !0)
327
+ ])) : _("", !0)
328
328
  ], 64));
329
329
  }
330
- }), Ze = { class: "p-24 flex flex-col gap-12" }, Y = 20, Je = /* @__PURE__ */ $({
330
+ }), Je = { class: "p-24 flex flex-col gap-12" }, N = 20, Qe = /* @__PURE__ */ I({
331
331
  __name: "ReviewOverview",
332
- setup(o) {
332
+ setup(t) {
333
333
  const n = x([]), u = x(!1), l = x(!0), c = x(null), d = x(null), i = x(null), v = x(""), g = x("createTime_desc");
334
- L(c, () => {
334
+ j(c, () => {
335
335
  v.value = "";
336
336
  });
337
- function M(h) {
337
+ function $(h) {
338
338
  return {
339
339
  source: c.value || void 0,
340
340
  dateFrom: d.value || void 0,
341
341
  dateTo: i.value || void 0,
342
342
  locationId: v.value || void 0,
343
343
  sort: g.value,
344
- limit: Y,
344
+ limit: N,
345
345
  skip: h
346
346
  };
347
347
  }
348
348
  async function T() {
349
349
  u.value = !0, l.value = !0;
350
350
  try {
351
- const h = await C.listReviews(M(0));
352
- n.value = h, l.value = h.length === Y;
351
+ const h = await R.listReviews($(0));
352
+ n.value = h, l.value = h.length === N;
353
353
  } finally {
354
354
  u.value = !1;
355
355
  }
356
356
  }
357
- async function S() {
357
+ async function V() {
358
358
  if (!(u.value || !l.value)) {
359
359
  u.value = !0;
360
360
  try {
361
- const h = await C.listReviews(M(n.value.length));
362
- n.value = [...n.value, ...h], l.value = h.length === Y;
361
+ const h = await R.listReviews($(n.value.length));
362
+ n.value = [...n.value, ...h], l.value = h.length === N;
363
363
  } finally {
364
364
  u.value = !1;
365
365
  }
366
366
  }
367
367
  }
368
- return L([c, d, i, v, g], T), P(T), (h, s) => (t(), a("div", Ze, [
369
- y(ne, {
368
+ return j([c, d, i, v, g], T), Y(T), (h, f) => (o(), s("div", Je, [
369
+ y(le, {
370
370
  source: e(c),
371
- "onUpdate:source": s[0] || (s[0] = (m) => B(c) ? c.value = m : null),
371
+ "onUpdate:source": f[0] || (f[0] = (r) => z(c) ? c.value = r : null),
372
372
  "date-from": e(d),
373
- "onUpdate:dateFrom": s[1] || (s[1] = (m) => B(d) ? d.value = m : null),
373
+ "onUpdate:dateFrom": f[1] || (f[1] = (r) => z(d) ? d.value = r : null),
374
374
  "date-to": e(i),
375
- "onUpdate:dateTo": s[2] || (s[2] = (m) => B(i) ? i.value = m : null),
375
+ "onUpdate:dateTo": f[2] || (f[2] = (r) => z(i) ? i.value = r : null),
376
376
  "location-id": e(v),
377
- "onUpdate:locationId": s[3] || (s[3] = (m) => B(v) ? v.value = m : null),
377
+ "onUpdate:locationId": f[3] || (f[3] = (r) => z(v) ? v.value = r : null),
378
378
  sort: e(g),
379
- "onUpdate:sort": s[4] || (s[4] = (m) => B(g) ? g.value = m : null)
379
+ "onUpdate:sort": f[4] || (f[4] = (r) => z(g) ? g.value = r : null)
380
380
  }, null, 8, ["source", "date-from", "date-to", "location-id", "sort"]),
381
- y(Ke, {
381
+ y(Ze, {
382
382
  reviews: e(n),
383
383
  loading: e(u),
384
384
  "has-more": e(l),
385
- onLoadMore: S
385
+ onLoadMore: V
386
386
  }, null, 8, ["reviews", "loading", "has-more"])
387
387
  ]));
388
388
  }
389
- }), Qe = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white overflow-hidden" }, We = ["src"], Xe = { class: "flex flex-col flex-1 min-w-0" }, eo = { class: "fm-typo-en-body-md-600 capitalize" }, oo = {
389
+ }), We = { class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white overflow-hidden" }, Xe = ["src"], et = { class: "flex flex-col flex-1 min-w-0" }, tt = { class: "fm-typo-en-body-md-600 capitalize" }, ot = {
390
390
  key: 0,
391
391
  class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400 truncate"
392
- }, G = /* @__PURE__ */ $({
392
+ }, H = /* @__PURE__ */ I({
393
393
  __name: "ReviewSource",
394
394
  props: {
395
395
  icon: {},
@@ -400,140 +400,144 @@ const oe = { class: "flex justify-between gap-8" }, te = { class: "flex flex-wra
400
400
  tokenExpired: { type: Boolean }
401
401
  },
402
402
  emits: ["connect", "sync"],
403
- setup(o, { emit: n }) {
404
- const u = n, { t: l } = U(), c = K();
405
- return (d, i) => (t(), a("div", Qe, [
406
- r("div", {
407
- class: z(["flex items-center gap-12 p-16", e(c).default ? "border-b border-fm-color-neutral-gray-100" : ""])
403
+ setup(t, { emit: n }) {
404
+ const u = n, { t: l } = C(), c = Z();
405
+ return (d, i) => (o(), s("div", We, [
406
+ a("div", {
407
+ class: P(["flex items-center gap-12 p-16", e(c).default ? "border-b border-fm-color-neutral-gray-100" : ""])
408
408
  }, [
409
- r("img", {
410
- src: o.icon,
409
+ a("img", {
410
+ src: t.icon,
411
411
  class: "w-10 h-10 shrink-0"
412
- }, null, 8, We),
413
- r("div", Xe, [
414
- r("span", eo, f(o.name), 1),
415
- o.subtitle ? (t(), a("span", oo, f(o.subtitle), 1)) : k("", !0)
412
+ }, null, 8, Xe),
413
+ a("div", et, [
414
+ a("span", tt, w(t.name), 1),
415
+ t.subtitle ? (o(), s("span", ot, w(t.subtitle), 1)) : _("", !0)
416
416
  ]),
417
- o.connected ? (t(), a(_, { key: 0 }, [
418
- o.tokenExpired ? (t(), b(e(p).FmChip, {
417
+ t.connected ? (o(), s(F, { key: 0 }, [
418
+ t.tokenExpired ? (o(), b(e(p).FmChip, {
419
419
  key: 0,
420
420
  label: e(l)("connect.review.expired"),
421
421
  variant: "critical"
422
- }, null, 8, ["label"])) : k("", !0),
422
+ }, null, 8, ["label"])) : _("", !0),
423
423
  y(e(p).FmButton, {
424
424
  variant: "secondary",
425
425
  "prepend-icon": "refresh",
426
426
  label: e(l)("connect.review.reconnect"),
427
427
  onClick: i[0] || (i[0] = (v) => u("connect"))
428
428
  }, null, 8, ["label"]),
429
- o.tokenExpired ? k("", !0) : (t(), b(e(p).FmButton, {
429
+ t.tokenExpired ? _("", !0) : (o(), b(e(p).FmButton, {
430
430
  key: 1,
431
431
  variant: "primary",
432
432
  "prepend-icon": "sync",
433
433
  label: e(l)("connect.review.sync"),
434
- loading: o.syncing,
434
+ loading: t.syncing,
435
435
  onClick: i[1] || (i[1] = (v) => u("sync"))
436
436
  }, null, 8, ["label", "loading"]))
437
- ], 64)) : (t(), b(e(p).FmButton, {
437
+ ], 64)) : (o(), b(e(p).FmButton, {
438
438
  key: 1,
439
439
  "prepend-icon": "add",
440
440
  label: e(l)("connect.review.connect"),
441
441
  onClick: i[2] || (i[2] = (v) => u("connect"))
442
442
  }, null, 8, ["label"]))
443
443
  ], 2),
444
- Z(d.$slots, "default")
444
+ J(d.$slots, "default")
445
445
  ]));
446
446
  }
447
- }), to = { class: "p-24 flex flex-col gap-8" }, no = { class: "flex flex-col flex-1 min-w-0" }, lo = { class: "fm-typo-en-body-lg-600 truncate" }, so = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400 truncate" }, ao = ["src"], ro = { class: "flex flex-col flex-1 min-w-0" }, co = { class: "fm-typo-en-body-lg-600 truncate" }, io = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400 truncate" }, uo = /* @__PURE__ */ $({
447
+ }), nt = { class: "p-24 flex flex-col gap-8" }, lt = { class: "flex flex-col flex-1 min-w-0" }, st = { class: "fm-typo-en-body-lg-600 truncate" }, at = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400 truncate" }, rt = ["src"], ct = { class: "flex flex-col flex-1 min-w-0" }, it = { class: "fm-typo-en-body-lg-600 truncate" }, ut = { class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400 truncate" }, dt = /* @__PURE__ */ I({
448
448
  __name: "ReviewSettings",
449
- setup(o) {
450
- const { t: n } = U(), u = X(), l = x(null), c = x(!1), d = x(!1), i = I(
449
+ setup(t) {
450
+ const { t: n } = C(), u = ee(), l = x(null), c = x(!1), d = x(!1), i = U(
451
451
  () => {
452
- var s;
453
- return l.value ? ((s = l.value.google) == null ? void 0 : s.token) === null : !1;
452
+ var r;
453
+ return l.value ? ((r = l.value.google) == null ? void 0 : r.token) === null : !1;
454
454
  }
455
- ), v = I(
455
+ ), v = U(
456
456
  () => {
457
- var s;
458
- return l.value ? ((s = l.value.facebook) == null ? void 0 : s.token) === null : !1;
457
+ var r;
458
+ return l.value ? ((r = l.value.facebook) == null ? void 0 : r.token) === null : !1;
459
459
  }
460
460
  );
461
- async function g() {
462
- await ee.minor(async () => {
463
- l.value = await C.getSource();
461
+ function g(r) {
462
+ const m = window.location.pathname.replace(/\/review(?:\/.*)?$/, "");
463
+ return `${window.location.origin}${m}${r}`;
464
+ }
465
+ async function $() {
466
+ await te.minor(async () => {
467
+ l.value = await R.getSource();
464
468
  });
465
469
  }
466
- async function M() {
467
- var s, m;
470
+ async function T() {
471
+ var r, m;
468
472
  c.value = !0;
469
473
  try {
470
- await C.syncGoogleReviews();
471
- } catch (w) {
472
- if (await g(), ((m = (s = l.value) == null ? void 0 : s.google) == null ? void 0 : m.token) === null) {
474
+ await R.syncGoogleReviews();
475
+ } catch (k) {
476
+ if (await $(), ((m = (r = l.value) == null ? void 0 : r.google) == null ? void 0 : m.token) === null) {
473
477
  u.open({
474
478
  message: n("connect.review.tokenExpired"),
475
479
  type: "error"
476
480
  });
477
481
  return;
478
482
  }
479
- throw w;
483
+ throw k;
480
484
  } finally {
481
485
  c.value = !1;
482
486
  }
483
487
  }
484
- async function T() {
485
- var s, m;
488
+ async function V() {
489
+ var r, m;
486
490
  d.value = !0;
487
491
  try {
488
- await C.syncFacebookReviews();
489
- } catch (w) {
490
- if (await g(), ((m = (s = l.value) == null ? void 0 : s.facebook) == null ? void 0 : m.token) === null) {
492
+ await R.syncFacebookReviews();
493
+ } catch (k) {
494
+ if (await $(), ((m = (r = l.value) == null ? void 0 : r.facebook) == null ? void 0 : m.token) === null) {
491
495
  u.open({
492
496
  message: n("connect.review.tokenExpired"),
493
497
  type: "error"
494
498
  });
495
499
  return;
496
500
  }
497
- throw w;
501
+ throw k;
498
502
  } finally {
499
503
  d.value = !1;
500
504
  }
501
505
  }
502
- async function S() {
503
- const s = `${window.location.origin}/review/google/callback`, { callbackUrl: m } = await C.getOauthUrl("google", s);
506
+ async function h() {
507
+ const r = g("/review/google/callback"), { callbackUrl: m } = await R.getOauthUrl("google", r);
504
508
  window.location.href = m;
505
509
  }
506
- async function h() {
507
- const s = `${window.location.origin}/review/facebook/callback`, { callbackUrl: m } = await C.getOauthUrl("facebook", s);
510
+ async function f() {
511
+ const r = g("/review/facebook/callback"), { callbackUrl: m } = await R.getOauthUrl("facebook", r);
508
512
  window.location.href = m;
509
513
  }
510
- return P(g), (s, m) => (t(), a("div", to, [
511
- e(l) ? (t(), a(_, { key: 0 }, [
512
- y(G, {
513
- icon: e(q),
514
+ return Y($), (r, m) => (o(), s("div", nt, [
515
+ e(l) ? (o(), s(F, { key: 0 }, [
516
+ y(H, {
517
+ icon: e(O),
514
518
  name: "google",
515
519
  connected: !!e(l).google,
516
520
  syncing: e(c),
517
521
  "token-expired": e(i),
518
- onConnect: S,
519
- onSync: M
522
+ onConnect: h,
523
+ onSync: T
520
524
  }, {
521
- default: j(() => {
522
- var w;
525
+ default: D(() => {
526
+ var k;
523
527
  return [
524
- (t(!0), a(_, null, R((w = e(l).google) == null ? void 0 : w.locations, (F) => {
528
+ (o(!0), s(F, null, S((k = e(l).google) == null ? void 0 : k.locations, (M) => {
525
529
  var E;
526
- return t(), a("div", {
527
- key: F.googleLocationName,
530
+ return o(), s("div", {
531
+ key: M.googleLocationName,
528
532
  class: "flex items-center gap-12 px-16 py-12 border-b border-fm-color-neutral-gray-100 last:border-b-0"
529
533
  }, [
530
534
  y(e(p).FmIcon, {
531
535
  name: "location_on",
532
536
  class: "text-fm-color-neutral-gray-300 shrink-0"
533
537
  }),
534
- r("div", no, [
535
- r("span", lo, f(F.displayName), 1),
536
- r("span", so, f(((E = F.location) == null ? void 0 : E.name) ?? e(n)("connect.review.google.noLocations")), 1)
538
+ a("div", lt, [
539
+ a("span", st, w(M.displayName), 1),
540
+ a("span", at, w(((E = M.location) == null ? void 0 : E.name) ?? e(n)("connect.review.google.noLocations")), 1)
537
541
  ])
538
542
  ]);
539
543
  }), 128))
@@ -541,71 +545,71 @@ const oe = { class: "flex justify-between gap-8" }, te = { class: "flex flex-wra
541
545
  }),
542
546
  _: 1
543
547
  }, 8, ["icon", "connected", "syncing", "token-expired"]),
544
- y(G, {
545
- icon: e(H),
548
+ y(H, {
549
+ icon: e(q),
546
550
  name: "facebook",
547
551
  connected: !!e(l).facebook,
548
552
  syncing: e(d),
549
553
  "token-expired": e(v),
550
- onConnect: h,
551
- onSync: T
554
+ onConnect: f,
555
+ onSync: V
552
556
  }, {
553
- default: j(() => {
554
- var w;
557
+ default: D(() => {
558
+ var k;
555
559
  return [
556
- (t(!0), a(_, null, R((w = e(l).facebook) == null ? void 0 : w.pages, (F) => (t(), a("div", {
557
- key: F.facebookPageId,
560
+ (o(!0), s(F, null, S((k = e(l).facebook) == null ? void 0 : k.pages, (M) => (o(), s("div", {
561
+ key: M.facebookPageId,
558
562
  class: "flex items-center gap-12 px-16 py-12 border-b border-fm-color-neutral-gray-100 last:border-b-0"
559
563
  }, [
560
- F.pageProfileImageUrl ? (t(), a("img", {
564
+ M.pageProfileImageUrl ? (o(), s("img", {
561
565
  key: 0,
562
- src: F.pageProfileImageUrl,
566
+ src: M.pageProfileImageUrl,
563
567
  class: "w-10 h-10 rounded-full shrink-0 object-cover"
564
- }, null, 8, ao)) : (t(), b(e(p).FmIcon, {
568
+ }, null, 8, rt)) : (o(), b(e(p).FmIcon, {
565
569
  key: 1,
566
570
  name: "person",
567
571
  class: "text-fm-color-neutral-gray-300 shrink-0"
568
572
  })),
569
- r("div", ro, [
570
- r("span", co, f(F.pageName), 1),
571
- r("span", io, f(F.locations.map((E) => E.name).join(", ")), 1)
573
+ a("div", ct, [
574
+ a("span", it, w(M.pageName), 1),
575
+ a("span", ut, w(M.locations.map((E) => E.name).join(", ")), 1)
572
576
  ])
573
577
  ]))), 128))
574
578
  ];
575
579
  }),
576
580
  _: 1
577
581
  }, 8, ["icon", "connected", "syncing", "token-expired"])
578
- ], 64)) : (t(), a(_, { key: 1 }, R(["google", "facebook"], (w) => r("div", {
579
- key: w,
582
+ ], 64)) : (o(), s(F, { key: 1 }, S(["google", "facebook"], (k) => a("div", {
583
+ key: k,
580
584
  class: "rounded-lg border border-fm-color-neutral-gray-200 bg-white p-16"
581
585
  }, [...m[0] || (m[0] = [
582
- J('<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)
586
+ Q('<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)
583
587
  ])])), 64))
584
588
  ]));
585
589
  }
586
- }), mo = { class: "flex flex-col" }, vo = { class: "px-24" }, ko = /* @__PURE__ */ $({
590
+ }), mt = { class: "flex flex-col" }, vt = { class: "px-24" }, kt = /* @__PURE__ */ I({
587
591
  __name: "Review",
588
- setup(o) {
589
- const { t: n } = U(), u = [
592
+ setup(t) {
593
+ const { t: n } = C(), u = [
590
594
  { label: n("connect.review.tabs.overview"), value: "overview" },
591
595
  { label: n("connect.review.tabs.settings"), value: "settings" }
592
596
  ], l = x(u[0]);
593
597
  return (c, d) => {
594
- const i = N("FmPageHead"), v = N("FmTabs");
595
- return t(), a(_, null, [
598
+ const i = A("FmPageHead"), v = A("FmTabs");
599
+ return o(), s(F, null, [
596
600
  y(i, {
597
601
  title: e(n)("connect.navigation.review")
598
602
  }, null, 8, ["title"]),
599
- r("div", mo, [
600
- r("div", vo, [
603
+ a("div", mt, [
604
+ a("div", vt, [
601
605
  y(v, {
602
606
  "model-value": e(l).value,
603
607
  items: u,
604
- "onUpdate:modelValue": d[0] || (d[0] = (g) => l.value = u.find((M) => M.value === g))
608
+ "onUpdate:modelValue": d[0] || (d[0] = (g) => l.value = u.find(($) => $.value === g))
605
609
  }, null, 8, ["model-value"])
606
610
  ]),
607
- (t(), b(Q, null, [
608
- e(l).value === "overview" ? (t(), b(Je, { key: 0 })) : e(l).value === "settings" ? (t(), b(uo, { key: 1 })) : k("", !0)
611
+ (o(), b(W, null, [
612
+ e(l).value === "overview" ? (o(), b(Qe, { key: 0 })) : e(l).value === "settings" ? (o(), b(dt, { key: 1 })) : _("", !0)
609
613
  ], 1024))
610
614
  ])
611
615
  ], 64);
@@ -613,5 +617,5 @@ const oe = { class: "flex justify-between gap-8" }, te = { class: "flex flex-wra
613
617
  }
614
618
  });
615
619
  export {
616
- ko as default
620
+ kt as default
617
621
  };