@ozdao/martyrs 0.2.444 → 0.2.445

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 (63) hide show
  1. package/dist/auth.server.js +1 -1
  2. package/dist/auth.server.mjs +1 -1
  3. package/dist/chats.server.js +1 -1
  4. package/dist/chats.server.mjs +1 -1
  5. package/dist/events.server.js +1 -1
  6. package/dist/events.server.mjs +1 -1
  7. package/dist/{mailing-DqDlUHrs.js → mailing-D4kWlk3_.js} +13 -9
  8. package/dist/{mailing-D0Vezzzb.mjs → mailing-DvCT5ijo.mjs} +13 -9
  9. package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
  10. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  11. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs → Tooltip.vue2.cjs} +2 -2
  12. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -0
  13. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
  14. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs.map → Tooltip.vue2.js.map} +1 -1
  15. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +2 -5
  16. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs.map +1 -1
  17. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +3 -6
  18. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js.map +1 -1
  19. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  20. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  21. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  22. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  23. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  24. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  25. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
  26. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  27. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
  28. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  29. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +1 -1
  30. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
  31. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  32. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  33. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  34. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  35. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  37. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +30 -23
  38. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  39. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +17 -10
  40. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  41. package/dist/martyrs/src/modules/products/store/products.cjs +28 -0
  42. package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
  43. package/dist/martyrs/src/modules/products/store/products.js +28 -0
  44. package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
  45. package/dist/notifications.server.js +1 -1
  46. package/dist/notifications.server.mjs +1 -1
  47. package/dist/orders.server.js +28 -1
  48. package/dist/orders.server.mjs +28 -1
  49. package/dist/organizations.server.js +1 -1
  50. package/dist/organizations.server.mjs +1 -1
  51. package/dist/{tickets.controller-Bbxe7kaF.mjs → tickets.controller-BIhfgjNb.mjs} +1 -1
  52. package/dist/{tickets.controller-CcxkRHlX.js → tickets.controller-zEHIAe_B.js} +1 -1
  53. package/dist/wallet.server.js +1 -1
  54. package/dist/wallet.server.mjs +1 -1
  55. package/package.json +1 -1
  56. package/src/modules/events/components/sections/Feed.vue +1 -4
  57. package/src/modules/globals/controllers/utils/mailing.js +19 -20
  58. package/src/modules/globals/views/components/partials/Header.vue +1 -0
  59. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +1 -1
  60. package/src/modules/orders/controllers/orders.controller.js +2 -2
  61. package/src/modules/products/components/pages/Products.vue +31 -24
  62. package/src/modules/products/store/products.js +28 -0
  63. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
@@ -6,7 +6,7 @@ const require$$0 = require("jsonwebtoken");
6
6
  const require$$1$1 = require("bcryptjs");
7
7
  const require$$0$1 = require("mongoose");
8
8
  const require$$1 = require("jwk-to-pem");
9
- const mailing = require("./mailing-DqDlUHrs.js");
9
+ const mailing = require("./mailing-D4kWlk3_.js");
10
10
  const index = require("./index-DQqZReAr.js");
11
11
  const require$$0$2 = require("uuid");
12
12
  const addMembersQuantity = require("./addMembersQuantity-DxWjHK1K.js");
@@ -5,7 +5,7 @@ import require$$0 from "jsonwebtoken";
5
5
  import require$$1$1 from "bcryptjs";
6
6
  import require$$0$1 from "mongoose";
7
7
  import require$$1 from "jwk-to-pem";
8
- import { r as requireMailing } from "./mailing-D0Vezzzb.mjs";
8
+ import { r as requireMailing } from "./mailing-DvCT5ijo.mjs";
9
9
  import { r as requireMiddlewares } from "./index-DICZTQ-1.mjs";
10
10
  import require$$0$2 from "uuid";
11
11
  import { r as requireAddUserStatusFields, a as requireAddMembersQuantity } from "./addMembersQuantity-DBfuUEx_.mjs";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const _commonjsHelpers = require("./_commonjsHelpers-DHfMLFPC.js");
3
- const mailing = require("./mailing-DqDlUHrs.js");
3
+ const mailing = require("./mailing-D4kWlk3_.js");
4
4
  const index = require("./index-DQqZReAr.js");
5
5
  var chats_controller;
6
6
  var hasRequiredChats_controller;
@@ -1,5 +1,5 @@
1
1
  import { g as getDefaultExportFromCjs } from "./_commonjsHelpers-CUmg6egw.mjs";
2
- import { r as requireMailing } from "./mailing-D0Vezzzb.mjs";
2
+ import { r as requireMailing } from "./mailing-DvCT5ijo.mjs";
3
3
  import { r as requireMiddlewares } from "./index-DICZTQ-1.mjs";
4
4
  var chats_controller;
5
5
  var hasRequiredChats_controller;
@@ -4,7 +4,7 @@ const require$$0 = require("mongoose");
4
4
  const queryProcessor$1 = require("./queryProcessor-D6GuKfTV.js");
5
5
  const metadata_schema = require("./metadata.schema-CUkLXZ2f.js");
6
6
  const require$$0$1 = require("stripe");
7
- const tickets_controller = require("./tickets.controller-CcxkRHlX.js");
7
+ const tickets_controller = require("./tickets.controller-zEHIAe_B.js");
8
8
  const index = require("./index-DQqZReAr.js");
9
9
  const globals_abac = require("./globals.abac-DT0VjfaZ.js");
10
10
  const common_schema = require("./common.schema-O0w_rDyC.js");
@@ -3,7 +3,7 @@ import require$$0 from "mongoose";
3
3
  import { r as requireQueryProcessor$1 } from "./queryProcessor-CWnMIe2U.mjs";
4
4
  import { a as requireSeoFriendlyUrl, r as requireMetadata_schema } from "./metadata.schema--tle-GU8.mjs";
5
5
  import require$$0$1 from "stripe";
6
- import { r as requireTickets_controller } from "./tickets.controller-Bbxe7kaF.mjs";
6
+ import { r as requireTickets_controller } from "./tickets.controller-BIhfgjNb.mjs";
7
7
  import { r as requireMiddlewares } from "./index-DICZTQ-1.mjs";
8
8
  import { r as requireGlobals_abac } from "./globals.abac-CvmZM8XG.mjs";
9
9
  import { r as requireCommon_schema } from "./common.schema-C2m3O1XY.mjs";
@@ -64,18 +64,22 @@ function requireMailing() {
64
64
  async function sendChatMessageTelegram(chatIds, text) {
65
65
  const telegramToken = process.env.TELEGRAM_BOT_TOKEN;
66
66
  const telegramUrl = `https://api.telegram.org/bot${telegramToken}/sendMessage`;
67
+ const sendPromises = chatIds.map((chatId) => {
68
+ return axios.post(telegramUrl, {
69
+ chat_id: chatId,
70
+ text
71
+ // reply_markup: inlineKeyboard
72
+ }).catch((error) => {
73
+ console.log(`Failed to send message to chat ${chatId}:`, error.message);
74
+ return false;
75
+ });
76
+ });
67
77
  try {
68
- for (const chatId of chatIds) {
69
- await axios.post(telegramUrl, {
70
- chat_id: chatId,
71
- text
72
- // reply_markup: inlineKeyboard
73
- });
74
- }
75
- console.log("Telegram message sent");
78
+ const results = await Promise.all(sendPromises);
79
+ console.log("Telegram messages processing completed");
76
80
  return true;
77
81
  } catch (error) {
78
- console.log(error);
82
+ console.log("Error in sending Telegram messages:", error.message);
79
83
  return false;
80
84
  }
81
85
  }
@@ -63,18 +63,22 @@ function requireMailing() {
63
63
  async function sendChatMessageTelegram(chatIds, text) {
64
64
  const telegramToken = process.env.TELEGRAM_BOT_TOKEN;
65
65
  const telegramUrl = `https://api.telegram.org/bot${telegramToken}/sendMessage`;
66
+ const sendPromises = chatIds.map((chatId) => {
67
+ return axios.post(telegramUrl, {
68
+ chat_id: chatId,
69
+ text
70
+ // reply_markup: inlineKeyboard
71
+ }).catch((error) => {
72
+ console.log(`Failed to send message to chat ${chatId}:`, error.message);
73
+ return false;
74
+ });
75
+ });
66
76
  try {
67
- for (const chatId of chatIds) {
68
- await axios.post(telegramUrl, {
69
- chat_id: chatId,
70
- text
71
- // reply_markup: inlineKeyboard
72
- });
73
- }
74
- console.log("Telegram message sent");
77
+ const results = await Promise.all(sendPromises);
78
+ console.log("Telegram messages processing completed");
75
79
  return true;
76
80
  } catch (error) {
77
- console.log(error);
81
+ console.log("Error in sending Telegram messages:", error.message);
78
82
  return false;
79
83
  }
80
84
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Tooltip = require("../Tooltip/Tooltip.vue.cjs");
4
+ const Tooltip = require("../Tooltip/Tooltip.vue2.cjs");
5
5
  const _hoisted_1 = { class: "bg-light pd-medium radius-medium" };
6
6
  const _hoisted_2 = {
7
7
  key: 0,
@@ -1,5 +1,5 @@
1
1
  import { useSlots, createElementBlock, openBlock, createCommentVNode, renderSlot, createBlock, toDisplayString, Fragment, renderList, normalizeClass, withCtx, createElementVNode, Comment } from "vue";
2
- import _sfc_main$1 from "../Tooltip/Tooltip.vue.js";
2
+ import _sfc_main$1 from "../Tooltip/Tooltip.vue2.js";
3
3
  const _hoisted_1 = { class: "bg-light pd-medium radius-medium" };
4
4
  const _hoisted_2 = {
5
5
  key: 0,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  const _sfc_main = {
6
6
  __name: "Tooltip",
7
7
  props: {
@@ -49,4 +49,4 @@ const _sfc_main = {
49
49
  }
50
50
  };
51
51
  exports.default = _sfc_main;
52
- //# sourceMappingURL=Tooltip.vue.cjs.map
52
+ //# sourceMappingURL=Tooltip.vue2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.vue2.cjs","sources":["../../../../../src/components/Tooltip/Tooltip.vue"],"sourcesContent":["<template>\n <div class=\"cursor-pointer tooltip-container\" @mouseover=\"showTooltip\" @mouseleave=\"hideTooltip\">\n <slot></slot>\n <div class=\"tooltip-content\" :style=\"tooltipStyle\">\n {{ text }}\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue';\n\nconst props = defineProps({\n text: {\n type: String,\n required: true\n }\n});\n\nconst visible = ref(false);\n\nconst tooltipStyle = reactive({\n position: 'absolute',\n width: 'max-content',\n zIndex: 1000,\n background: '#333',\n color: '#fff',\n padding: '5px 10px',\n borderRadius: '3px',\n fontSize: '14px',\n display: 'none',\n});\n\nfunction showTooltip(event) {\n visible.value = true;\n tooltipStyle.left = `${(event.clientX / 100) + 10 }px`;\n tooltipStyle.top = `${(event.clientY / 100) + 10 }px`;\n tooltipStyle.display = 'block';\n}\n\nfunction hideTooltip() {\n visible.value = false;\n tooltipStyle.display = 'none';\n}\n</script>\n\n<style >\n.tooltip-container {\n position: relative;\n display: inline-block;\n}\n\n.tooltip-content {\n pointer-events: none;\n}\n</style>"],"names":["ref","reactive"],"mappings":";;;;;;;;;;;;;AAmBA,UAAM,UAAUA,IAAG,IAAC,KAAK;AAEzB,UAAM,eAAeC,IAAAA,SAAS;AAAA,MAC5B,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AAED,aAAS,YAAY,OAAO;AAC1B,cAAQ,QAAQ;AAChB,mBAAa,OAAO,GAAI,MAAM,UAAU,MAAO,EAAE;AACjD,mBAAa,MAAM,GAAI,MAAM,UAAU,MAAO,EAAE;AAChD,mBAAa,UAAU;AAAA,IACzB;AAEA,aAAS,cAAc;AACrB,cAAQ,QAAQ;AAChB,mBAAa,UAAU;AAAA,IACzB;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { ref, reactive, createElementBlock, openBlock, renderSlot, createElementVNode, normalizeStyle, toDisplayString } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  const _sfc_main = {
4
4
  __name: "Tooltip",
5
5
  props: {
@@ -49,4 +49,4 @@ const _sfc_main = {
49
49
  export {
50
50
  _sfc_main as default
51
51
  };
52
- //# sourceMappingURL=Tooltip.vue.js.map
52
+ //# sourceMappingURL=Tooltip.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.vue.cjs","sources":["../../../../../src/components/Tooltip/Tooltip.vue"],"sourcesContent":["<template>\n <div class=\"cursor-pointer tooltip-container\" @mouseover=\"showTooltip\" @mouseleave=\"hideTooltip\">\n <slot></slot>\n <div class=\"tooltip-content\" :style=\"tooltipStyle\">\n {{ text }}\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue';\n\nconst props = defineProps({\n text: {\n type: String,\n required: true\n }\n});\n\nconst visible = ref(false);\n\nconst tooltipStyle = reactive({\n position: 'absolute',\n width: 'max-content',\n zIndex: 1000,\n background: '#333',\n color: '#fff',\n padding: '5px 10px',\n borderRadius: '3px',\n fontSize: '14px',\n display: 'none',\n});\n\nfunction showTooltip(event) {\n visible.value = true;\n tooltipStyle.left = `${(event.clientX / 100) + 10 }px`;\n tooltipStyle.top = `${(event.clientY / 100) + 10 }px`;\n tooltipStyle.display = 'block';\n}\n\nfunction hideTooltip() {\n visible.value = false;\n tooltipStyle.display = 'none';\n}\n</script>\n\n<style >\n.tooltip-container {\n position: relative;\n display: inline-block;\n}\n\n.tooltip-content {\n pointer-events: none;\n}\n</style>"],"names":["ref","reactive"],"mappings":";;;;;;;;;;;;;AAmBA,UAAM,UAAUA,IAAG,IAAC,KAAK;AAEzB,UAAM,eAAeC,IAAAA,SAAS;AAAA,MAC5B,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AAED,aAAS,YAAY,OAAO;AAC1B,cAAQ,QAAQ;AAChB,mBAAa,OAAO,GAAI,MAAM,UAAU,MAAO,EAAE;AACjD,mBAAa,MAAM,GAAI,MAAM,UAAU,MAAO,EAAE;AAChD,mBAAa,UAAU;AAAA,IACzB;AAEA,aAAS,cAAc;AACrB,cAAQ,QAAQ;AAChB,mBAAa,UAAU;AAAA,IACzB;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Tooltip.vue2.js","sources":["../../../../../src/components/Tooltip/Tooltip.vue"],"sourcesContent":["<template>\n <div class=\"cursor-pointer tooltip-container\" @mouseover=\"showTooltip\" @mouseleave=\"hideTooltip\">\n <slot></slot>\n <div class=\"tooltip-content\" :style=\"tooltipStyle\">\n {{ text }}\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue';\n\nconst props = defineProps({\n text: {\n type: String,\n required: true\n }\n});\n\nconst visible = ref(false);\n\nconst tooltipStyle = reactive({\n position: 'absolute',\n width: 'max-content',\n zIndex: 1000,\n background: '#333',\n color: '#fff',\n padding: '5px 10px',\n borderRadius: '3px',\n fontSize: '14px',\n display: 'none',\n});\n\nfunction showTooltip(event) {\n visible.value = true;\n tooltipStyle.left = `${(event.clientX / 100) + 10 }px`;\n tooltipStyle.top = `${(event.clientY / 100) + 10 }px`;\n tooltipStyle.display = 'block';\n}\n\nfunction hideTooltip() {\n visible.value = false;\n tooltipStyle.display = 'none';\n}\n</script>\n\n<style >\n.tooltip-container {\n position: relative;\n display: inline-block;\n}\n\n.tooltip-content {\n pointer-events: none;\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;AAmBA,UAAM,UAAU,IAAI,KAAK;AAEzB,UAAM,eAAe,SAAS;AAAA,MAC5B,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AAED,aAAS,YAAY,OAAO;AAC1B,cAAQ,QAAQ;AAChB,mBAAa,OAAO,GAAI,MAAM,UAAU,MAAO,EAAE;AACjD,mBAAa,MAAM,GAAI,MAAM,UAAU,MAAO,EAAE;AAChD,mBAAa,UAAU;AAAA,IACzB;AAEA,aAAS,cAAc;AACrB,cAAQ,QAAQ;AAChB,mBAAa,UAAU;AAAA,IACzB;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ const Loader = require("../../../../components/Loader/Loader.vue2.cjs");
5
5
  const EmptyState = require("../../../../components/EmptyState/EmptyState.vue.cjs");
6
6
  const CardEvent = require("../blocks/CardEvent.vue.cjs");
7
- const SkeletonEvent = require("../../../icons/skeletons/SkeletonEvent.vue.cjs");
8
7
  const events = require("../../store/events.cjs");
9
8
  const _hoisted_1 = { class: "feed" };
10
9
  const _sfc_main = {
@@ -122,9 +121,7 @@ const _sfc_main = {
122
121
  class: "o-hidden bg-light radius-big"
123
122
  }, {
124
123
  default: vue.withCtx(() => [
125
- isLoading.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(limit.value, (i) => {
126
- return vue.openBlock(), vue.createBlock(SkeletonEvent.default, { key: i });
127
- }), 128)) : vue.createCommentVNode("", true)
124
+ isLoading.value ? (vue.openBlock(), vue.createBlock(Loader.default, { key: 0 })) : vue.createCommentVNode("", true)
128
125
  ]),
129
126
  _: 1
130
127
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"Feed.vue.cjs","sources":["../../../../../../../src/modules/events/components/sections/Feed.vue"],"sourcesContent":["<template>\n <section class=\"feed\">\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"o-hidden bg-light radius-big\">\n <SkeletonEvent\n v-if=\"isLoading\"\n v-for=\"i in limit\" :key=\"i\"\n />\n </TransitionGroup>\n\n <transition \n name=\"scaleTransition\"\n >\n <EmptyState \n v-if=\"!isLoading && eventsList.length < 1\"\n title=\"No Events Found\"\n description=\"Currently, there are no events available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"container\">\n <CardEvent \n v-if=\"!isLoading && eventsList.length > 0\"\n @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n v-for=\"(event,index) in eventsList\" \n :key=\"event._id\" \n :event=\"event\" \n :user=\"user\" \n :type=\"'normal'\"\n class=\"bg-light radius-big mn-b-medium\"\n />\n\n <button v-if=\"hasMoreEvents && eventsList.length > 0\" @click=\"loadMoreEvents\" class=\"w-100 bg-main button\">Load more</button> \n \n </TransitionGroup> \n </section>\n</template>\n\n<script setup>\n import { ref, onMounted } from 'vue';\n \n import Loader from '@martyrs/src/components/Loader/Loader.vue';\n import EmptyState from '@martyrs/src/components/EmptyState/EmptyState.vue';\n \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n import SkeletonEvent from '@martyrs/src/modules/icons/skeletons/SkeletonEvent.vue'\n\n import * as events from '@martyrs/src/modules/events/store/events.js';\n\n const props = defineProps({\n category: {\n type: String,\n default: null\n },\n selectedDate: {\n type: String,\n default: null\n },\n organization: {\n type: String,\n default: null\n },\n owner: {\n type: String,\n default: null\n },\n creator: {\n type: String,\n default: null\n },\n user: {\n type: [String, Number],\n default: null\n },\n sortOrder: {\n type: String,\n default: 'desc'\n },\n sortParam: {\n type: String,\n default: 'date.start'\n },\n participant: {\n type: String,\n default: null\n },\n period: {\n type: String,\n default: null\n },\n phase: {\n type: String,\n default: null\n }\n });\n\n const eventsList = ref([]);\n const hasMoreEvents = ref(false);\n const isLoading = ref(true);\n\n const skip = ref(0);\n const limit = ref(20);\n\n const loadMoreEvents = async () => {\n if (hasMoreEvents.value) {\n skip.value += limit.value;\n \n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n participant: props.participant,\n creator: props.creator,\n user: props.user,\n date: props.selectedDate,\n owner: props.owner,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = [...eventsList.value, ...data];\n }\n };\n\n onMounted(async () => {\n isLoading.value = true;\n console.log(props.selectedDate)\n\n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n participant: props.participant,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n user: props.user,\n owner: props.owner,\n creator: props.creator,\n date: props.selectedDate,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = data;\n isLoading.value = false;\n });\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["ref","events.read","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDE,UAAM,QAAQ;AA+Cd,UAAM,aAAaA,IAAG,IAAC,EAAE;AACzB,UAAM,gBAAgBA,IAAG,IAAC,KAAK;AAC/B,UAAM,YAAYA,IAAG,IAAC,IAAI;AAE1B,UAAM,OAAOA,IAAG,IAAC,CAAC;AAClB,UAAM,QAAQA,IAAG,IAAC,EAAE;AAEpB,UAAM,iBAAiB,YAAY;AACjC,UAAI,cAAc,OAAO;AACvB,aAAK,SAAS,MAAM;AAEpB,cAAM,OAAO,MAAMC,YAAY;AAAA,UAC7B,MAAM,KAAK;AAAA,UACX,OAAO,MAAM;AAAA,UACb,UAAU,MAAM;AAAA,UAChB,WAAW,MAAM;AAAA,UACjB,WAAW,MAAM;AAAA,UACjB,aAAa,MAAM;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,cAAc,MAAM;AAAA,UACpB,QAAQ,MAAM;AAAA,UACd,OAAO,MAAM;AAAA,QACrB,CAAO;AAED,YAAI,KAAK,WAAW,GAAG;AACrB,wBAAc,QAAQ;AAAA,QAC9B,OAAa;AACL,wBAAc,QAAQ;AAAA,QAC9B;AAEM,mBAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAG,IAAI;AAAA,MACtD;AAAA,IACG;AAEDC,QAAAA,UAAU,YAAY;AACpB,gBAAU,QAAQ;AAClB,cAAQ,IAAI,MAAM,YAAY;AAE9B,YAAM,OAAO,MAAMD,YAAY;AAAA,QAC7B,MAAM,KAAK;AAAA,QACX,OAAO,MAAM;AAAA,QACb,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,WAAW,MAAM;AAAA,QACjB,WAAW,MAAM;AAAA,QACjB,MAAM,MAAM;AAAA,QACZ,OAAO,MAAM;AAAA,QACb,SAAS,MAAM;AAAA,QACf,MAAM,MAAM;AAAA,QACZ,cAAc,MAAM;AAAA,QACpB,QAAQ,MAAM;AAAA,QACd,OAAO,MAAM;AAAA,MACnB,CAAK;AAED,UAAI,KAAK,WAAW,GAAG;AACrB,sBAAc,QAAQ;AAAA,MAC5B,OAAW;AACL,sBAAc,QAAQ;AAAA,MAC5B;AAEI,iBAAW,QAAQ;AACnB,gBAAU,QAAQ;AAAA,IACtB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Feed.vue.cjs","sources":["../../../../../../../src/modules/events/components/sections/Feed.vue"],"sourcesContent":["<template>\n <section class=\"feed\">\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"o-hidden bg-light radius-big\">\n <Loader v-if=\"isLoading\"/>\n </TransitionGroup>\n\n <transition \n name=\"scaleTransition\"\n >\n <EmptyState \n v-if=\"!isLoading && eventsList.length < 1\"\n title=\"No Events Found\"\n description=\"Currently, there are no events available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"container\">\n <CardEvent \n v-if=\"!isLoading && eventsList.length > 0\"\n @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n v-for=\"(event,index) in eventsList\" \n :key=\"event._id\" \n :event=\"event\" \n :user=\"user\" \n :type=\"'normal'\"\n class=\"bg-light radius-big mn-b-medium\"\n />\n\n <button v-if=\"hasMoreEvents && eventsList.length > 0\" @click=\"loadMoreEvents\" class=\"w-100 bg-main button\">Load more</button> \n \n </TransitionGroup> \n </section>\n</template>\n\n<script setup>\n import { ref, onMounted } from 'vue';\n \n import Loader from '@martyrs/src/components/Loader/Loader.vue';\n import EmptyState from '@martyrs/src/components/EmptyState/EmptyState.vue';\n \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n import SkeletonEvent from '@martyrs/src/modules/icons/skeletons/SkeletonEvent.vue'\n\n import * as events from '@martyrs/src/modules/events/store/events.js';\n\n const props = defineProps({\n category: {\n type: String,\n default: null\n },\n selectedDate: {\n type: String,\n default: null\n },\n organization: {\n type: String,\n default: null\n },\n owner: {\n type: String,\n default: null\n },\n creator: {\n type: String,\n default: null\n },\n user: {\n type: [String, Number],\n default: null\n },\n sortOrder: {\n type: String,\n default: 'desc'\n },\n sortParam: {\n type: String,\n default: 'date.start'\n },\n participant: {\n type: String,\n default: null\n },\n period: {\n type: String,\n default: null\n },\n phase: {\n type: String,\n default: null\n }\n });\n\n const eventsList = ref([]);\n const hasMoreEvents = ref(false);\n const isLoading = ref(true);\n\n const skip = ref(0);\n const limit = ref(20);\n\n const loadMoreEvents = async () => {\n if (hasMoreEvents.value) {\n skip.value += limit.value;\n \n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n participant: props.participant,\n creator: props.creator,\n user: props.user,\n date: props.selectedDate,\n owner: props.owner,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = [...eventsList.value, ...data];\n }\n };\n\n onMounted(async () => {\n isLoading.value = true;\n console.log(props.selectedDate)\n\n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n participant: props.participant,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n user: props.user,\n owner: props.owner,\n creator: props.creator,\n date: props.selectedDate,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = data;\n isLoading.value = false;\n });\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["ref","events.read","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CE,UAAM,QAAQ;AA+Cd,UAAM,aAAaA,IAAG,IAAC,EAAE;AACzB,UAAM,gBAAgBA,IAAG,IAAC,KAAK;AAC/B,UAAM,YAAYA,IAAG,IAAC,IAAI;AAE1B,UAAM,OAAOA,IAAG,IAAC,CAAC;AAClB,UAAM,QAAQA,IAAG,IAAC,EAAE;AAEpB,UAAM,iBAAiB,YAAY;AACjC,UAAI,cAAc,OAAO;AACvB,aAAK,SAAS,MAAM;AAEpB,cAAM,OAAO,MAAMC,YAAY;AAAA,UAC7B,MAAM,KAAK;AAAA,UACX,OAAO,MAAM;AAAA,UACb,UAAU,MAAM;AAAA,UAChB,WAAW,MAAM;AAAA,UACjB,WAAW,MAAM;AAAA,UACjB,aAAa,MAAM;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,cAAc,MAAM;AAAA,UACpB,QAAQ,MAAM;AAAA,UACd,OAAO,MAAM;AAAA,QACrB,CAAO;AAED,YAAI,KAAK,WAAW,GAAG;AACrB,wBAAc,QAAQ;AAAA,QAC9B,OAAa;AACL,wBAAc,QAAQ;AAAA,QAC9B;AAEM,mBAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAG,IAAI;AAAA,MACtD;AAAA,IACG;AAEDC,QAAAA,UAAU,YAAY;AACpB,gBAAU,QAAQ;AAClB,cAAQ,IAAI,MAAM,YAAY;AAE9B,YAAM,OAAO,MAAMD,YAAY;AAAA,QAC7B,MAAM,KAAK;AAAA,QACX,OAAO,MAAM;AAAA,QACb,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,WAAW,MAAM;AAAA,QACjB,WAAW,MAAM;AAAA,QACjB,MAAM,MAAM;AAAA,QACZ,OAAO,MAAM;AAAA,QACb,SAAS,MAAM;AAAA,QACf,MAAM,MAAM;AAAA,QACZ,cAAc,MAAM;AAAA,QACpB,QAAQ,MAAM;AAAA,QACd,OAAO,MAAM;AAAA,MACnB,CAAK;AAED,UAAI,KAAK,WAAW,GAAG;AACrB,sBAAc,QAAQ;AAAA,MAC5B,OAAW;AACL,sBAAc,QAAQ;AAAA,MAC5B;AAEI,iBAAW,QAAQ;AACnB,gBAAU,QAAQ;AAAA,IACtB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,7 @@
1
- import { ref, onMounted, createElementBlock, openBlock, createVNode, TransitionGroup, withCtx, createCommentVNode, Fragment, renderList, createBlock, Transition } from "vue";
2
- /* empty css */
1
+ import { ref, onMounted, createElementBlock, openBlock, createVNode, TransitionGroup, withCtx, createBlock, createCommentVNode, Transition, Fragment, renderList } from "vue";
2
+ import Loader from "../../../../components/Loader/Loader.vue2.js";
3
3
  import _sfc_main$1 from "../../../../components/EmptyState/EmptyState.vue.js";
4
4
  import _sfc_main$2 from "../blocks/CardEvent.vue.js";
5
- import SkeletonEvent from "../../../icons/skeletons/SkeletonEvent.vue.js";
6
5
  import { read } from "../../store/events.js";
7
6
  const _hoisted_1 = { class: "feed" };
8
7
  const _sfc_main = {
@@ -120,9 +119,7 @@ const _sfc_main = {
120
119
  class: "o-hidden bg-light radius-big"
121
120
  }, {
122
121
  default: withCtx(() => [
123
- isLoading.value ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(limit.value, (i) => {
124
- return openBlock(), createBlock(SkeletonEvent, { key: i });
125
- }), 128)) : createCommentVNode("", true)
122
+ isLoading.value ? (openBlock(), createBlock(Loader, { key: 0 })) : createCommentVNode("", true)
126
123
  ]),
127
124
  _: 1
128
125
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"Feed.vue.js","sources":["../../../../../../../src/modules/events/components/sections/Feed.vue"],"sourcesContent":["<template>\n <section class=\"feed\">\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"o-hidden bg-light radius-big\">\n <SkeletonEvent\n v-if=\"isLoading\"\n v-for=\"i in limit\" :key=\"i\"\n />\n </TransitionGroup>\n\n <transition \n name=\"scaleTransition\"\n >\n <EmptyState \n v-if=\"!isLoading && eventsList.length < 1\"\n title=\"No Events Found\"\n description=\"Currently, there are no events available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"container\">\n <CardEvent \n v-if=\"!isLoading && eventsList.length > 0\"\n @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n v-for=\"(event,index) in eventsList\" \n :key=\"event._id\" \n :event=\"event\" \n :user=\"user\" \n :type=\"'normal'\"\n class=\"bg-light radius-big mn-b-medium\"\n />\n\n <button v-if=\"hasMoreEvents && eventsList.length > 0\" @click=\"loadMoreEvents\" class=\"w-100 bg-main button\">Load more</button> \n \n </TransitionGroup> \n </section>\n</template>\n\n<script setup>\n import { ref, onMounted } from 'vue';\n \n import Loader from '@martyrs/src/components/Loader/Loader.vue';\n import EmptyState from '@martyrs/src/components/EmptyState/EmptyState.vue';\n \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n import SkeletonEvent from '@martyrs/src/modules/icons/skeletons/SkeletonEvent.vue'\n\n import * as events from '@martyrs/src/modules/events/store/events.js';\n\n const props = defineProps({\n category: {\n type: String,\n default: null\n },\n selectedDate: {\n type: String,\n default: null\n },\n organization: {\n type: String,\n default: null\n },\n owner: {\n type: String,\n default: null\n },\n creator: {\n type: String,\n default: null\n },\n user: {\n type: [String, Number],\n default: null\n },\n sortOrder: {\n type: String,\n default: 'desc'\n },\n sortParam: {\n type: String,\n default: 'date.start'\n },\n participant: {\n type: String,\n default: null\n },\n period: {\n type: String,\n default: null\n },\n phase: {\n type: String,\n default: null\n }\n });\n\n const eventsList = ref([]);\n const hasMoreEvents = ref(false);\n const isLoading = ref(true);\n\n const skip = ref(0);\n const limit = ref(20);\n\n const loadMoreEvents = async () => {\n if (hasMoreEvents.value) {\n skip.value += limit.value;\n \n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n participant: props.participant,\n creator: props.creator,\n user: props.user,\n date: props.selectedDate,\n owner: props.owner,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = [...eventsList.value, ...data];\n }\n };\n\n onMounted(async () => {\n isLoading.value = true;\n console.log(props.selectedDate)\n\n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n participant: props.participant,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n user: props.user,\n owner: props.owner,\n creator: props.creator,\n date: props.selectedDate,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = data;\n isLoading.value = false;\n });\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["events.read"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDE,UAAM,QAAQ;AA+Cd,UAAM,aAAa,IAAI,EAAE;AACzB,UAAM,gBAAgB,IAAI,KAAK;AAC/B,UAAM,YAAY,IAAI,IAAI;AAE1B,UAAM,OAAO,IAAI,CAAC;AAClB,UAAM,QAAQ,IAAI,EAAE;AAEpB,UAAM,iBAAiB,YAAY;AACjC,UAAI,cAAc,OAAO;AACvB,aAAK,SAAS,MAAM;AAEpB,cAAM,OAAO,MAAMA,KAAY;AAAA,UAC7B,MAAM,KAAK;AAAA,UACX,OAAO,MAAM;AAAA,UACb,UAAU,MAAM;AAAA,UAChB,WAAW,MAAM;AAAA,UACjB,WAAW,MAAM;AAAA,UACjB,aAAa,MAAM;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,cAAc,MAAM;AAAA,UACpB,QAAQ,MAAM;AAAA,UACd,OAAO,MAAM;AAAA,QACrB,CAAO;AAED,YAAI,KAAK,WAAW,GAAG;AACrB,wBAAc,QAAQ;AAAA,QAC9B,OAAa;AACL,wBAAc,QAAQ;AAAA,QAC9B;AAEM,mBAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAG,IAAI;AAAA,MACtD;AAAA,IACG;AAED,cAAU,YAAY;AACpB,gBAAU,QAAQ;AAClB,cAAQ,IAAI,MAAM,YAAY;AAE9B,YAAM,OAAO,MAAMA,KAAY;AAAA,QAC7B,MAAM,KAAK;AAAA,QACX,OAAO,MAAM;AAAA,QACb,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,WAAW,MAAM;AAAA,QACjB,WAAW,MAAM;AAAA,QACjB,MAAM,MAAM;AAAA,QACZ,OAAO,MAAM;AAAA,QACb,SAAS,MAAM;AAAA,QACf,MAAM,MAAM;AAAA,QACZ,cAAc,MAAM;AAAA,QACpB,QAAQ,MAAM;AAAA,QACd,OAAO,MAAM;AAAA,MACnB,CAAK;AAED,UAAI,KAAK,WAAW,GAAG;AACrB,sBAAc,QAAQ;AAAA,MAC5B,OAAW;AACL,sBAAc,QAAQ;AAAA,MAC5B;AAEI,iBAAW,QAAQ;AACnB,gBAAU,QAAQ;AAAA,IACtB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Feed.vue.js","sources":["../../../../../../../src/modules/events/components/sections/Feed.vue"],"sourcesContent":["<template>\n <section class=\"feed\">\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"o-hidden bg-light radius-big\">\n <Loader v-if=\"isLoading\"/>\n </TransitionGroup>\n\n <transition \n name=\"scaleTransition\"\n >\n <EmptyState \n v-if=\"!isLoading && eventsList.length < 1\"\n title=\"No Events Found\"\n description=\"Currently, there are no events available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n <TransitionGroup tag=\"ul\" name=\"scaleTransition\" class=\"container\">\n <CardEvent \n v-if=\"!isLoading && eventsList.length > 0\"\n @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n v-for=\"(event,index) in eventsList\" \n :key=\"event._id\" \n :event=\"event\" \n :user=\"user\" \n :type=\"'normal'\"\n class=\"bg-light radius-big mn-b-medium\"\n />\n\n <button v-if=\"hasMoreEvents && eventsList.length > 0\" @click=\"loadMoreEvents\" class=\"w-100 bg-main button\">Load more</button> \n \n </TransitionGroup> \n </section>\n</template>\n\n<script setup>\n import { ref, onMounted } from 'vue';\n \n import Loader from '@martyrs/src/components/Loader/Loader.vue';\n import EmptyState from '@martyrs/src/components/EmptyState/EmptyState.vue';\n \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n import SkeletonEvent from '@martyrs/src/modules/icons/skeletons/SkeletonEvent.vue'\n\n import * as events from '@martyrs/src/modules/events/store/events.js';\n\n const props = defineProps({\n category: {\n type: String,\n default: null\n },\n selectedDate: {\n type: String,\n default: null\n },\n organization: {\n type: String,\n default: null\n },\n owner: {\n type: String,\n default: null\n },\n creator: {\n type: String,\n default: null\n },\n user: {\n type: [String, Number],\n default: null\n },\n sortOrder: {\n type: String,\n default: 'desc'\n },\n sortParam: {\n type: String,\n default: 'date.start'\n },\n participant: {\n type: String,\n default: null\n },\n period: {\n type: String,\n default: null\n },\n phase: {\n type: String,\n default: null\n }\n });\n\n const eventsList = ref([]);\n const hasMoreEvents = ref(false);\n const isLoading = ref(true);\n\n const skip = ref(0);\n const limit = ref(20);\n\n const loadMoreEvents = async () => {\n if (hasMoreEvents.value) {\n skip.value += limit.value;\n \n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n participant: props.participant,\n creator: props.creator,\n user: props.user,\n date: props.selectedDate,\n owner: props.owner,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = [...eventsList.value, ...data];\n }\n };\n\n onMounted(async () => {\n isLoading.value = true;\n console.log(props.selectedDate)\n\n const data = await events.read({\n skip: skip.value,\n limit: limit.value,\n category: props.category,\n participant: props.participant,\n sortOrder: props.sortOrder,\n sortParam: props.sortParam,\n user: props.user,\n owner: props.owner,\n creator: props.creator,\n date: props.selectedDate,\n organization: props.organization,\n period: props.period,\n phase: props.phase\n });\n\n if (data.length === 0) {\n hasMoreEvents.value = false;\n } else {\n hasMoreEvents.value = true;\n }\n\n eventsList.value = data;\n isLoading.value = false;\n });\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["events.read"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CE,UAAM,QAAQ;AA+Cd,UAAM,aAAa,IAAI,EAAE;AACzB,UAAM,gBAAgB,IAAI,KAAK;AAC/B,UAAM,YAAY,IAAI,IAAI;AAE1B,UAAM,OAAO,IAAI,CAAC;AAClB,UAAM,QAAQ,IAAI,EAAE;AAEpB,UAAM,iBAAiB,YAAY;AACjC,UAAI,cAAc,OAAO;AACvB,aAAK,SAAS,MAAM;AAEpB,cAAM,OAAO,MAAMA,KAAY;AAAA,UAC7B,MAAM,KAAK;AAAA,UACX,OAAO,MAAM;AAAA,UACb,UAAU,MAAM;AAAA,UAChB,WAAW,MAAM;AAAA,UACjB,WAAW,MAAM;AAAA,UACjB,aAAa,MAAM;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,cAAc,MAAM;AAAA,UACpB,QAAQ,MAAM;AAAA,UACd,OAAO,MAAM;AAAA,QACrB,CAAO;AAED,YAAI,KAAK,WAAW,GAAG;AACrB,wBAAc,QAAQ;AAAA,QAC9B,OAAa;AACL,wBAAc,QAAQ;AAAA,QAC9B;AAEM,mBAAW,QAAQ,CAAC,GAAG,WAAW,OAAO,GAAG,IAAI;AAAA,MACtD;AAAA,IACG;AAED,cAAU,YAAY;AACpB,gBAAU,QAAQ;AAClB,cAAQ,IAAI,MAAM,YAAY;AAE9B,YAAM,OAAO,MAAMA,KAAY;AAAA,QAC7B,MAAM,KAAK;AAAA,QACX,OAAO,MAAM;AAAA,QACb,UAAU,MAAM;AAAA,QAChB,aAAa,MAAM;AAAA,QACnB,WAAW,MAAM;AAAA,QACjB,WAAW,MAAM;AAAA,QACjB,MAAM,MAAM;AAAA,QACZ,OAAO,MAAM;AAAA,QACb,SAAS,MAAM;AAAA,QACf,MAAM,MAAM;AAAA,QACZ,cAAc,MAAM;AAAA,QACpB,QAAQ,MAAM;AAAA,QACd,OAAO,MAAM;AAAA,MACnB,CAAK;AAED,UAAI,KAAK,WAAW,GAAG;AACrB,sBAAc,QAAQ;AAAA,MAC5B,OAAW;AACL,sBAAc,QAAQ;AAAA,MAC5B;AAEI,iBAAW,QAAQ;AACnB,gBAAU,QAAQ;AAAA,IACtB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Tooltip = require("../../../../../components/Tooltip/Tooltip.vue.cjs");
5
+ const Tooltip = require("../../../../../components/Tooltip/Tooltip.vue2.cjs");
6
6
  const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue2.cjs");
7
7
  const PlaceholderUserpic = require("../../../../icons/placeholders/PlaceholderUserpic.vue.cjs");
8
8
  const PlaceholderOrganizationPic = require("../../../../icons/placeholders/PlaceholderOrganizationPic.vue.cjs");
@@ -1,6 +1,6 @@
1
1
  import { resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createBlock, withModifiers, resolveDynamicComponent, toDisplayString, withCtx, createTextVNode, Fragment, renderList, normalizeClass } from "vue";
2
2
  import { useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../../components/Tooltip/Tooltip.vue.js";
3
+ import _sfc_main$1 from "../../../../../components/Tooltip/Tooltip.vue2.js";
4
4
  import _sfc_main$3 from "../../../../../components/Dropdown/Dropdown.vue2.js";
5
5
  import PlaceholderUserpic from "../../../../icons/placeholders/PlaceholderUserpic.vue.js";
6
6
  import PlaceholderOrganizationPic from "../../../../icons/placeholders/PlaceholderOrganizationPic.vue.js";
@@ -112,7 +112,7 @@ const _sfc_main = {
112
112
  vue.unref(router).hasRoute("Search") && vue.unref(route).meta.header_search ? (vue.openBlock(), vue.createBlock(Button.default, {
113
113
  key: 0,
114
114
  "aria-label": "search",
115
- class: "pd-zero bg-transp",
115
+ class: vue.normalizeClass(["pd-zero bg-transp", vue.unref(route).meta.header_search_class]),
116
116
  submit: () => vue.unref(router).push({ name: "Search" }),
117
117
  showSucces: false,
118
118
  showLoader: false
@@ -124,7 +124,7 @@ const _sfc_main = {
124
124
  }, null, 8, ["fill"])
125
125
  ]),
126
126
  _: 1
127
- }, 8, ["submit"])) : vue.createCommentVNode("", true),
127
+ }, 8, ["class", "submit"])) : vue.createCommentVNode("", true),
128
128
  vue.createVNode(Button.default, {
129
129
  "aria-label": "shopcart",
130
130
  submit: (a) => shopcart.actions.toggleShopcart(),
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/partials/Header.vue"],"sourcesContent":["<script setup=\"props\">\n\timport { computed, onMounted, toRefs, ref, inject } from 'vue'\n\n\timport { useRouter,useRoute } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\timport * as shopcart from '@martyrs/src/modules/orders/store/shopcart'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\t\n\t// Globasls Component\n\n\timport NotificationBadge from '@martyrs/src/modules/notifications/components/elements/NotificationBadge.vue';\n\t// import Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue'\n\t// Martyrs Component\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\t// Icons module\n\timport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n\timport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue'\n\timport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\n\t// Props\n\tconst props = defineProps({\n theme: {\n \ttype: String,\n\t default: \"light\"\n },\n logotype: {\n\t type: Object\n\t },\n\t location: {\n\t type: Boolean,\n\t\t default: true\n\t },\n\t theme_switcher: {\n\t type: Boolean,\n\t\t default: true\n\t },\n });\n\t// Accessing state\n\tconst router = useRouter()\n\tconst route = useRoute()\n\t// Localization\n\tconst { t } = useI18n()\n\t// const search = computed(() => store.products.state.search)\n\n\tfunction openLocationPopup() {\n\t globals.state.isOpenLocationPopup = true;\n\t}\n\t/////////////////////////////\n\t// MOUNTED\n\t/////////////////////////////\n\tonMounted(() => {\n shopcart.actions.setShopcart()\n });\n</script>\n\n<template>\n\t<header \n\t\tid=\"header\" \n\t\tclass=\"\n\t\t\tpd-thin \n\t\t\tgap-micro\n\t\t\tflex-justify-between\n\t\t\tflex-nowrap\n\t\t\tflex\n\t\t\th-4r\n\t\t\tw-100\n\t\t\tz-index-2 \n\t\t\tpos-relative pos-t-0\n\t\t\tbr-b\n\t\t\tbr-solid\n\t\t\"\n\t\t:class=\"{\n \t\t't-black br-light': theme === 'light',\n \t\t't-white br-dark': theme === 'dark' \n \t}\"\n\t>\n\t<div class=\"flex-nowrap flex-v-center flex-justify-start flex gap-micro \">\n\t\t<!-- MENU -->\n\t\t<button \n\t\t\taria-label=\"menu\"\n\t\t\t@click=\"() => globals.state.isOpenSidebar = !globals.state.isOpenSidebar\" \n\t\t\tclass=\"cursor-pointer menu-btn\"\n\t\t\t:class=\"{\n\t\t\t\t'menu-btn_active': globals.state.isOpenSidebar\n\t\t\t}\"\n\t\t>\n\t <span\n\t \tclass=\"no-events\"\n\t\t :class=\"{\n\t\t 'bg-black': theme === 'light',\n\t\t 'bg-white': theme === 'dark'\n\t\t }\"\n\t\t >\n\t\t <span class=\"menu-btn__before\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t <span class=\"menu-btn__after\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t </span>\n\t </button>\n\n\t\t<!-- LOGO -->\n\t\t<component\n\t\t\tv-if=\"logotype\"\n\t\t :is=\"logotype\"\n\t\t @click=\"router.push({ path: '/' })\" \n\t\t :theme=\"theme\"\n\t\t class=\"cursor-pointer\"\n\t\t/>\n\n\t\t<button\n\t\t\tv-if=\"location\"\n\t\t\taria-label=\"button_location\"\n \tclass=\"\n \t\tcursor-pointer\n \t\tbg-transp \n \t\tpd-l-micro pd-r-micro\n \t\tradius-extra \n \t\tuppercase \n \t\tt-semi\n \t\tbr-solid \n \t\tbr-2px \n \t\ttransition-linear\n \t\tt-nowrap\n \t\n \t\"\n \t:class=\"{\n \t\t'fill-black br-black t-black hover-bg-black hover-t-white hover-fill-white': theme === 'light',\n \t\t'fill-white br-white t-white hover-bg-white hover-t-black hover-fill-black': theme === 'dark' \n \t}\"\n \t@click=\"openLocationPopup()\"\n >\n \t<svg class=\"i-small\" :fill=\"'inherit'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"67\" viewBox=\"0 0 50 67\" fill=\"none\">\n\t\t\t <path d=\"M25 0C11.207 0 0 11.207 0 25C0 38.793 20.832 66.668 25 66.668C29.168 66.668 50 38.793 50 25C50 11.207 38.793 0 25 0ZM25 33.332C20.418 33.332 16.668 29.582 16.668 25C16.668 20.418 20.418 16.668 25 16.668C29.582 16.668 33.332 20.418 33.332 25C33.332 29.582 29.582 33.332 25 33.332Z\" :fill=\"'inherit'\"/>\n\t\t\t</svg>\n \t {{globals.state.position?.country ? globals.state.position.country : 'World'}}\n </button>\n </div>\n\n \t<slot></slot>\n\n\t<div class=\"flex-justify-end flex-v-center flex-nowrap flex gap-micro\">\n\t\t<Button \n\t\t\tv-if=\"router.hasRoute('Search') && route.meta.header_search\"\n\t\t\taria-label=\"search\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:submit=\"() => router.push({name: 'Search'})\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconSearch \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\t\n\t\t<Button\n\t\t\taria-label=\"shopcart\"\n\t\t\t:submit=\"a => shopcart.actions.toggleShopcart()\" \n\t\t\t:counter=\"shopcart.getters.cartTotalAmount\" \n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t\tclass=\"pd-zero mn-r-micro\"\n\t\t\t> \n\t\t\t<IconShopcart \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t\t<!-- <div class=\"w-max p-small pos-absolute pos-t-100 pos-r-0\">Product Added to Shopcart</div> -->\n\t\t</Button>\n\n\n\t\t<NotificationBadge\n\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t/>\n\n\t\t<Button \n\t\t\taria-label=\"profile\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:submit=\"\n\t\t\t\tauth.state.access.status === false \n\t\t\t\t? \n\t\t\t\ta => router.push({name: 'Sign In'}) \n\t\t\t\t: \n\t\t\t\ta => router.push({ name: 'User Profile', params: { _id: auth.state.user._id }})\n\t\t\t\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconProfile \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\n\n\n\t\t<Select \n\t\t\tv-if=\"$i18n.availableLocales.length > 1\"\n\t\t\tv-model:select=\"$i18n.locale\"\n\t\t :options=\"$i18n.availableLocales\"\n\t\t :property=\"'value'\"\n class=\"pos-relative uppercase pd-l-small pd-r-small pd-micro t-semi radius-thin\"\n :class=\"{\n \t\t'bg-light t-black': theme === 'light',\n \t\t'bg-dark t-white': theme === 'dark' \n \t}\"\n />\n </div>\n</header>\n \n</template>\n\n<style lang=\"scss\">\n.location-button { \n\t&:hover {\n\t\tbox-shadow: inset 0 0 0 2px rgb(var(--main));\n\t}\n}\n\n.menu-btn {\n display: block;\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n position: relative;\n}\n.menu-btn span,\n.menu-btn__before,\n.menu-btn__after {\n position: absolute;\n top: 50%;\n margin-top: -1px;\n left: 50%;\n margin-left: -10px;\n width: 20px;\n height: 2px;\n}\n.menu-btn__before,\n.menu-btn__after {\n display: block;\n transition: 0.2s;\n}\n.menu-btn__before {\n transform: translateY(-5px);\n}\n.menu-btn__after {\n transform: translateY(5px);\n}\n.menu-btn_active .menu-btn__before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active .menu-btn__after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-btn_active span:before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active span:after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-block {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.menu-nav {\n background-color: #fff;\n height: 50px;\n \n}\n.menu-nav__link {\n display: inline-block;\n text-decoration: none;\n color: #fff;\n margin-right: 20px;\n}\n.menu-nav__link {\n transition: 0.5s;\n transform-origin: right center;\n transform: translateX(50%);\n opacity: 0;\n}\n.menu-nav__link_active {\n transform: translateX(0%);\n opacity: 1;\n}\n\n</style>"],"names":["useRouter","useRoute","useI18n","globals.state","onMounted","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCC,UAAM,SAASA,UAAS,UAAA;AACxB,UAAM,QAAQC,UAAQ,SAAA;AAEtB,UAAM,EAAE,EAAC,IAAKC,QAAO,QAAA;AAGrB,aAAS,oBAAoB;AAC3BC,cAAa,MAAC,sBAAsB;AAAA,IACvC;AAICC,QAAAA,UAAU,MAAM;AACbC,eAAAA,QAAiB,YAAW;AAAA,IAChC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Header.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/partials/Header.vue"],"sourcesContent":["<script setup=\"props\">\n\timport { computed, onMounted, toRefs, ref, inject } from 'vue'\n\n\timport { useRouter,useRoute } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\timport * as shopcart from '@martyrs/src/modules/orders/store/shopcart'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\t\n\t// Globasls Component\n\n\timport NotificationBadge from '@martyrs/src/modules/notifications/components/elements/NotificationBadge.vue';\n\t// import Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue'\n\t// Martyrs Component\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\t// Icons module\n\timport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n\timport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue'\n\timport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\n\t// Props\n\tconst props = defineProps({\n theme: {\n \ttype: String,\n\t default: \"light\"\n },\n logotype: {\n\t type: Object\n\t },\n\t location: {\n\t type: Boolean,\n\t\t default: true\n\t },\n\t theme_switcher: {\n\t type: Boolean,\n\t\t default: true\n\t },\n });\n\t// Accessing state\n\tconst router = useRouter()\n\tconst route = useRoute()\n\t// Localization\n\tconst { t } = useI18n()\n\t// const search = computed(() => store.products.state.search)\n\n\tfunction openLocationPopup() {\n\t globals.state.isOpenLocationPopup = true;\n\t}\n\t/////////////////////////////\n\t// MOUNTED\n\t/////////////////////////////\n\tonMounted(() => {\n shopcart.actions.setShopcart()\n });\n</script>\n\n<template>\n\t<header \n\t\tid=\"header\" \n\t\tclass=\"\n\t\t\tpd-thin \n\t\t\tgap-micro\n\t\t\tflex-justify-between\n\t\t\tflex-nowrap\n\t\t\tflex\n\t\t\th-4r\n\t\t\tw-100\n\t\t\tz-index-2 \n\t\t\tpos-relative pos-t-0\n\t\t\tbr-b\n\t\t\tbr-solid\n\t\t\"\n\t\t:class=\"{\n \t\t't-black br-light': theme === 'light',\n \t\t't-white br-dark': theme === 'dark' \n \t}\"\n\t>\n\t<div class=\"flex-nowrap flex-v-center flex-justify-start flex gap-micro \">\n\t\t<!-- MENU -->\n\t\t<button \n\t\t\taria-label=\"menu\"\n\t\t\t@click=\"() => globals.state.isOpenSidebar = !globals.state.isOpenSidebar\" \n\t\t\tclass=\"cursor-pointer menu-btn\"\n\t\t\t:class=\"{\n\t\t\t\t'menu-btn_active': globals.state.isOpenSidebar\n\t\t\t}\"\n\t\t>\n\t <span\n\t \tclass=\"no-events\"\n\t\t :class=\"{\n\t\t 'bg-black': theme === 'light',\n\t\t 'bg-white': theme === 'dark'\n\t\t }\"\n\t\t >\n\t\t <span class=\"menu-btn__before\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t <span class=\"menu-btn__after\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t </span>\n\t </button>\n\n\t\t<!-- LOGO -->\n\t\t<component\n\t\t\tv-if=\"logotype\"\n\t\t :is=\"logotype\"\n\t\t @click=\"router.push({ path: '/' })\" \n\t\t :theme=\"theme\"\n\t\t class=\"cursor-pointer\"\n\t\t/>\n\n\t\t<button\n\t\t\tv-if=\"location\"\n\t\t\taria-label=\"button_location\"\n \tclass=\"\n \t\tcursor-pointer\n \t\tbg-transp \n \t\tpd-l-micro pd-r-micro\n \t\tradius-extra \n \t\tuppercase \n \t\tt-semi\n \t\tbr-solid \n \t\tbr-2px \n \t\ttransition-linear\n \t\tt-nowrap\n \t\n \t\"\n \t:class=\"{\n \t\t'fill-black br-black t-black hover-bg-black hover-t-white hover-fill-white': theme === 'light',\n \t\t'fill-white br-white t-white hover-bg-white hover-t-black hover-fill-black': theme === 'dark' \n \t}\"\n \t@click=\"openLocationPopup()\"\n >\n \t<svg class=\"i-small\" :fill=\"'inherit'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"67\" viewBox=\"0 0 50 67\" fill=\"none\">\n\t\t\t <path d=\"M25 0C11.207 0 0 11.207 0 25C0 38.793 20.832 66.668 25 66.668C29.168 66.668 50 38.793 50 25C50 11.207 38.793 0 25 0ZM25 33.332C20.418 33.332 16.668 29.582 16.668 25C16.668 20.418 20.418 16.668 25 16.668C29.582 16.668 33.332 20.418 33.332 25C33.332 29.582 29.582 33.332 25 33.332Z\" :fill=\"'inherit'\"/>\n\t\t\t</svg>\n \t {{globals.state.position?.country ? globals.state.position.country : 'World'}}\n </button>\n </div>\n\n \t<slot></slot>\n\n\t<div class=\"flex-justify-end flex-v-center flex-nowrap flex gap-micro\">\n\t\t<Button \n\t\t\tv-if=\"router.hasRoute('Search') && route.meta.header_search\"\n\t\t\taria-label=\"search\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:class=\"route.meta.header_search_class\"\n\t\t\t:submit=\"() => router.push({name: 'Search'})\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconSearch \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\t\n\t\t<Button\n\t\t\taria-label=\"shopcart\"\n\t\t\t:submit=\"a => shopcart.actions.toggleShopcart()\" \n\t\t\t:counter=\"shopcart.getters.cartTotalAmount\" \n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t\tclass=\"pd-zero mn-r-micro\"\n\t\t\t> \n\t\t\t<IconShopcart \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t\t<!-- <div class=\"w-max p-small pos-absolute pos-t-100 pos-r-0\">Product Added to Shopcart</div> -->\n\t\t</Button>\n\n\n\t\t<NotificationBadge\n\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t/>\n\n\t\t<Button \n\t\t\taria-label=\"profile\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:submit=\"\n\t\t\t\tauth.state.access.status === false \n\t\t\t\t? \n\t\t\t\ta => router.push({name: 'Sign In'}) \n\t\t\t\t: \n\t\t\t\ta => router.push({ name: 'User Profile', params: { _id: auth.state.user._id }})\n\t\t\t\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconProfile \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\n\n\n\t\t<Select \n\t\t\tv-if=\"$i18n.availableLocales.length > 1\"\n\t\t\tv-model:select=\"$i18n.locale\"\n\t\t :options=\"$i18n.availableLocales\"\n\t\t :property=\"'value'\"\n class=\"pos-relative uppercase pd-l-small pd-r-small pd-micro t-semi radius-thin\"\n :class=\"{\n \t\t'bg-light t-black': theme === 'light',\n \t\t'bg-dark t-white': theme === 'dark' \n \t}\"\n />\n </div>\n</header>\n \n</template>\n\n<style lang=\"scss\">\n.location-button { \n\t&:hover {\n\t\tbox-shadow: inset 0 0 0 2px rgb(var(--main));\n\t}\n}\n\n.menu-btn {\n display: block;\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n position: relative;\n}\n.menu-btn span,\n.menu-btn__before,\n.menu-btn__after {\n position: absolute;\n top: 50%;\n margin-top: -1px;\n left: 50%;\n margin-left: -10px;\n width: 20px;\n height: 2px;\n}\n.menu-btn__before,\n.menu-btn__after {\n display: block;\n transition: 0.2s;\n}\n.menu-btn__before {\n transform: translateY(-5px);\n}\n.menu-btn__after {\n transform: translateY(5px);\n}\n.menu-btn_active .menu-btn__before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active .menu-btn__after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-btn_active span:before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active span:after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-block {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.menu-nav {\n background-color: #fff;\n height: 50px;\n \n}\n.menu-nav__link {\n display: inline-block;\n text-decoration: none;\n color: #fff;\n margin-right: 20px;\n}\n.menu-nav__link {\n transition: 0.5s;\n transform-origin: right center;\n transform: translateX(50%);\n opacity: 0;\n}\n.menu-nav__link_active {\n transform: translateX(0%);\n opacity: 1;\n}\n\n</style>"],"names":["useRouter","useRoute","useI18n","globals.state","onMounted","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCC,UAAM,SAASA,UAAS,UAAA;AACxB,UAAM,QAAQC,UAAQ,SAAA;AAEtB,UAAM,EAAE,EAAC,IAAKC,QAAO,QAAA;AAGrB,aAAS,oBAAoB;AAC3BC,cAAa,MAAC,sBAAsB;AAAA,IACvC;AAICC,QAAAA,UAAU,MAAM;AACbC,eAAAA,QAAiB,YAAW;AAAA,IAChC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -110,7 +110,7 @@ const _sfc_main = {
110
110
  unref(router).hasRoute("Search") && unref(route).meta.header_search ? (openBlock(), createBlock(_sfc_main$1, {
111
111
  key: 0,
112
112
  "aria-label": "search",
113
- class: "pd-zero bg-transp",
113
+ class: normalizeClass(["pd-zero bg-transp", unref(route).meta.header_search_class]),
114
114
  submit: () => unref(router).push({ name: "Search" }),
115
115
  showSucces: false,
116
116
  showLoader: false
@@ -122,7 +122,7 @@ const _sfc_main = {
122
122
  }, null, 8, ["fill"])
123
123
  ]),
124
124
  _: 1
125
- }, 8, ["submit"])) : createCommentVNode("", true),
125
+ }, 8, ["class", "submit"])) : createCommentVNode("", true),
126
126
  createVNode(_sfc_main$1, {
127
127
  "aria-label": "shopcart",
128
128
  submit: (a) => actions.toggleShopcart(),
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.js","sources":["../../../../../../../../src/modules/globals/views/components/partials/Header.vue"],"sourcesContent":["<script setup=\"props\">\n\timport { computed, onMounted, toRefs, ref, inject } from 'vue'\n\n\timport { useRouter,useRoute } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\timport * as shopcart from '@martyrs/src/modules/orders/store/shopcart'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\t\n\t// Globasls Component\n\n\timport NotificationBadge from '@martyrs/src/modules/notifications/components/elements/NotificationBadge.vue';\n\t// import Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue'\n\t// Martyrs Component\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\t// Icons module\n\timport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n\timport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue'\n\timport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\n\t// Props\n\tconst props = defineProps({\n theme: {\n \ttype: String,\n\t default: \"light\"\n },\n logotype: {\n\t type: Object\n\t },\n\t location: {\n\t type: Boolean,\n\t\t default: true\n\t },\n\t theme_switcher: {\n\t type: Boolean,\n\t\t default: true\n\t },\n });\n\t// Accessing state\n\tconst router = useRouter()\n\tconst route = useRoute()\n\t// Localization\n\tconst { t } = useI18n()\n\t// const search = computed(() => store.products.state.search)\n\n\tfunction openLocationPopup() {\n\t globals.state.isOpenLocationPopup = true;\n\t}\n\t/////////////////////////////\n\t// MOUNTED\n\t/////////////////////////////\n\tonMounted(() => {\n shopcart.actions.setShopcart()\n });\n</script>\n\n<template>\n\t<header \n\t\tid=\"header\" \n\t\tclass=\"\n\t\t\tpd-thin \n\t\t\tgap-micro\n\t\t\tflex-justify-between\n\t\t\tflex-nowrap\n\t\t\tflex\n\t\t\th-4r\n\t\t\tw-100\n\t\t\tz-index-2 \n\t\t\tpos-relative pos-t-0\n\t\t\tbr-b\n\t\t\tbr-solid\n\t\t\"\n\t\t:class=\"{\n \t\t't-black br-light': theme === 'light',\n \t\t't-white br-dark': theme === 'dark' \n \t}\"\n\t>\n\t<div class=\"flex-nowrap flex-v-center flex-justify-start flex gap-micro \">\n\t\t<!-- MENU -->\n\t\t<button \n\t\t\taria-label=\"menu\"\n\t\t\t@click=\"() => globals.state.isOpenSidebar = !globals.state.isOpenSidebar\" \n\t\t\tclass=\"cursor-pointer menu-btn\"\n\t\t\t:class=\"{\n\t\t\t\t'menu-btn_active': globals.state.isOpenSidebar\n\t\t\t}\"\n\t\t>\n\t <span\n\t \tclass=\"no-events\"\n\t\t :class=\"{\n\t\t 'bg-black': theme === 'light',\n\t\t 'bg-white': theme === 'dark'\n\t\t }\"\n\t\t >\n\t\t <span class=\"menu-btn__before\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t <span class=\"menu-btn__after\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t </span>\n\t </button>\n\n\t\t<!-- LOGO -->\n\t\t<component\n\t\t\tv-if=\"logotype\"\n\t\t :is=\"logotype\"\n\t\t @click=\"router.push({ path: '/' })\" \n\t\t :theme=\"theme\"\n\t\t class=\"cursor-pointer\"\n\t\t/>\n\n\t\t<button\n\t\t\tv-if=\"location\"\n\t\t\taria-label=\"button_location\"\n \tclass=\"\n \t\tcursor-pointer\n \t\tbg-transp \n \t\tpd-l-micro pd-r-micro\n \t\tradius-extra \n \t\tuppercase \n \t\tt-semi\n \t\tbr-solid \n \t\tbr-2px \n \t\ttransition-linear\n \t\tt-nowrap\n \t\n \t\"\n \t:class=\"{\n \t\t'fill-black br-black t-black hover-bg-black hover-t-white hover-fill-white': theme === 'light',\n \t\t'fill-white br-white t-white hover-bg-white hover-t-black hover-fill-black': theme === 'dark' \n \t}\"\n \t@click=\"openLocationPopup()\"\n >\n \t<svg class=\"i-small\" :fill=\"'inherit'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"67\" viewBox=\"0 0 50 67\" fill=\"none\">\n\t\t\t <path d=\"M25 0C11.207 0 0 11.207 0 25C0 38.793 20.832 66.668 25 66.668C29.168 66.668 50 38.793 50 25C50 11.207 38.793 0 25 0ZM25 33.332C20.418 33.332 16.668 29.582 16.668 25C16.668 20.418 20.418 16.668 25 16.668C29.582 16.668 33.332 20.418 33.332 25C33.332 29.582 29.582 33.332 25 33.332Z\" :fill=\"'inherit'\"/>\n\t\t\t</svg>\n \t {{globals.state.position?.country ? globals.state.position.country : 'World'}}\n </button>\n </div>\n\n \t<slot></slot>\n\n\t<div class=\"flex-justify-end flex-v-center flex-nowrap flex gap-micro\">\n\t\t<Button \n\t\t\tv-if=\"router.hasRoute('Search') && route.meta.header_search\"\n\t\t\taria-label=\"search\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:submit=\"() => router.push({name: 'Search'})\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconSearch \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\t\n\t\t<Button\n\t\t\taria-label=\"shopcart\"\n\t\t\t:submit=\"a => shopcart.actions.toggleShopcart()\" \n\t\t\t:counter=\"shopcart.getters.cartTotalAmount\" \n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t\tclass=\"pd-zero mn-r-micro\"\n\t\t\t> \n\t\t\t<IconShopcart \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t\t<!-- <div class=\"w-max p-small pos-absolute pos-t-100 pos-r-0\">Product Added to Shopcart</div> -->\n\t\t</Button>\n\n\n\t\t<NotificationBadge\n\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t/>\n\n\t\t<Button \n\t\t\taria-label=\"profile\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:submit=\"\n\t\t\t\tauth.state.access.status === false \n\t\t\t\t? \n\t\t\t\ta => router.push({name: 'Sign In'}) \n\t\t\t\t: \n\t\t\t\ta => router.push({ name: 'User Profile', params: { _id: auth.state.user._id }})\n\t\t\t\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconProfile \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\n\n\n\t\t<Select \n\t\t\tv-if=\"$i18n.availableLocales.length > 1\"\n\t\t\tv-model:select=\"$i18n.locale\"\n\t\t :options=\"$i18n.availableLocales\"\n\t\t :property=\"'value'\"\n class=\"pos-relative uppercase pd-l-small pd-r-small pd-micro t-semi radius-thin\"\n :class=\"{\n \t\t'bg-light t-black': theme === 'light',\n \t\t'bg-dark t-white': theme === 'dark' \n \t}\"\n />\n </div>\n</header>\n \n</template>\n\n<style lang=\"scss\">\n.location-button { \n\t&:hover {\n\t\tbox-shadow: inset 0 0 0 2px rgb(var(--main));\n\t}\n}\n\n.menu-btn {\n display: block;\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n position: relative;\n}\n.menu-btn span,\n.menu-btn__before,\n.menu-btn__after {\n position: absolute;\n top: 50%;\n margin-top: -1px;\n left: 50%;\n margin-left: -10px;\n width: 20px;\n height: 2px;\n}\n.menu-btn__before,\n.menu-btn__after {\n display: block;\n transition: 0.2s;\n}\n.menu-btn__before {\n transform: translateY(-5px);\n}\n.menu-btn__after {\n transform: translateY(5px);\n}\n.menu-btn_active .menu-btn__before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active .menu-btn__after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-btn_active span:before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active span:after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-block {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.menu-nav {\n background-color: #fff;\n height: 50px;\n \n}\n.menu-nav__link {\n display: inline-block;\n text-decoration: none;\n color: #fff;\n margin-right: 20px;\n}\n.menu-nav__link {\n transition: 0.5s;\n transform-origin: right center;\n transform: translateX(50%);\n opacity: 0;\n}\n.menu-nav__link_active {\n transform: translateX(0%);\n opacity: 1;\n}\n\n</style>"],"names":["globals.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCC,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAEtB,UAAM,EAAE,EAAC,IAAK,QAAO;AAGrB,aAAS,oBAAoB;AAC3BA,YAAc,sBAAsB;AAAA,IACvC;AAIC,cAAU,MAAM;AACbC,cAAiB,YAAW;AAAA,IAChC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Header.vue.js","sources":["../../../../../../../../src/modules/globals/views/components/partials/Header.vue"],"sourcesContent":["<script setup=\"props\">\n\timport { computed, onMounted, toRefs, ref, inject } from 'vue'\n\n\timport { useRouter,useRoute } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\timport * as shopcart from '@martyrs/src/modules/orders/store/shopcart'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\t\n\t// Globasls Component\n\n\timport NotificationBadge from '@martyrs/src/modules/notifications/components/elements/NotificationBadge.vue';\n\t// import Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue'\n\t// Martyrs Component\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\t// Icons module\n\timport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n\timport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue'\n\timport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\n\t// Props\n\tconst props = defineProps({\n theme: {\n \ttype: String,\n\t default: \"light\"\n },\n logotype: {\n\t type: Object\n\t },\n\t location: {\n\t type: Boolean,\n\t\t default: true\n\t },\n\t theme_switcher: {\n\t type: Boolean,\n\t\t default: true\n\t },\n });\n\t// Accessing state\n\tconst router = useRouter()\n\tconst route = useRoute()\n\t// Localization\n\tconst { t } = useI18n()\n\t// const search = computed(() => store.products.state.search)\n\n\tfunction openLocationPopup() {\n\t globals.state.isOpenLocationPopup = true;\n\t}\n\t/////////////////////////////\n\t// MOUNTED\n\t/////////////////////////////\n\tonMounted(() => {\n shopcart.actions.setShopcart()\n });\n</script>\n\n<template>\n\t<header \n\t\tid=\"header\" \n\t\tclass=\"\n\t\t\tpd-thin \n\t\t\tgap-micro\n\t\t\tflex-justify-between\n\t\t\tflex-nowrap\n\t\t\tflex\n\t\t\th-4r\n\t\t\tw-100\n\t\t\tz-index-2 \n\t\t\tpos-relative pos-t-0\n\t\t\tbr-b\n\t\t\tbr-solid\n\t\t\"\n\t\t:class=\"{\n \t\t't-black br-light': theme === 'light',\n \t\t't-white br-dark': theme === 'dark' \n \t}\"\n\t>\n\t<div class=\"flex-nowrap flex-v-center flex-justify-start flex gap-micro \">\n\t\t<!-- MENU -->\n\t\t<button \n\t\t\taria-label=\"menu\"\n\t\t\t@click=\"() => globals.state.isOpenSidebar = !globals.state.isOpenSidebar\" \n\t\t\tclass=\"cursor-pointer menu-btn\"\n\t\t\t:class=\"{\n\t\t\t\t'menu-btn_active': globals.state.isOpenSidebar\n\t\t\t}\"\n\t\t>\n\t <span\n\t \tclass=\"no-events\"\n\t\t :class=\"{\n\t\t 'bg-black': theme === 'light',\n\t\t 'bg-white': theme === 'dark'\n\t\t }\"\n\t\t >\n\t\t <span class=\"menu-btn__before\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t <span class=\"menu-btn__after\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t </span>\n\t </button>\n\n\t\t<!-- LOGO -->\n\t\t<component\n\t\t\tv-if=\"logotype\"\n\t\t :is=\"logotype\"\n\t\t @click=\"router.push({ path: '/' })\" \n\t\t :theme=\"theme\"\n\t\t class=\"cursor-pointer\"\n\t\t/>\n\n\t\t<button\n\t\t\tv-if=\"location\"\n\t\t\taria-label=\"button_location\"\n \tclass=\"\n \t\tcursor-pointer\n \t\tbg-transp \n \t\tpd-l-micro pd-r-micro\n \t\tradius-extra \n \t\tuppercase \n \t\tt-semi\n \t\tbr-solid \n \t\tbr-2px \n \t\ttransition-linear\n \t\tt-nowrap\n \t\n \t\"\n \t:class=\"{\n \t\t'fill-black br-black t-black hover-bg-black hover-t-white hover-fill-white': theme === 'light',\n \t\t'fill-white br-white t-white hover-bg-white hover-t-black hover-fill-black': theme === 'dark' \n \t}\"\n \t@click=\"openLocationPopup()\"\n >\n \t<svg class=\"i-small\" :fill=\"'inherit'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"67\" viewBox=\"0 0 50 67\" fill=\"none\">\n\t\t\t <path d=\"M25 0C11.207 0 0 11.207 0 25C0 38.793 20.832 66.668 25 66.668C29.168 66.668 50 38.793 50 25C50 11.207 38.793 0 25 0ZM25 33.332C20.418 33.332 16.668 29.582 16.668 25C16.668 20.418 20.418 16.668 25 16.668C29.582 16.668 33.332 20.418 33.332 25C33.332 29.582 29.582 33.332 25 33.332Z\" :fill=\"'inherit'\"/>\n\t\t\t</svg>\n \t {{globals.state.position?.country ? globals.state.position.country : 'World'}}\n </button>\n </div>\n\n \t<slot></slot>\n\n\t<div class=\"flex-justify-end flex-v-center flex-nowrap flex gap-micro\">\n\t\t<Button \n\t\t\tv-if=\"router.hasRoute('Search') && route.meta.header_search\"\n\t\t\taria-label=\"search\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:class=\"route.meta.header_search_class\"\n\t\t\t:submit=\"() => router.push({name: 'Search'})\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconSearch \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\t\n\t\t<Button\n\t\t\taria-label=\"shopcart\"\n\t\t\t:submit=\"a => shopcart.actions.toggleShopcart()\" \n\t\t\t:counter=\"shopcart.getters.cartTotalAmount\" \n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t\tclass=\"pd-zero mn-r-micro\"\n\t\t\t> \n\t\t\t<IconShopcart \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t\t<!-- <div class=\"w-max p-small pos-absolute pos-t-100 pos-r-0\">Product Added to Shopcart</div> -->\n\t\t</Button>\n\n\n\t\t<NotificationBadge\n\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t/>\n\n\t\t<Button \n\t\t\taria-label=\"profile\"\n\t\t\tclass=\"pd-zero bg-transp\"\n\t\t\t:submit=\"\n\t\t\t\tauth.state.access.status === false \n\t\t\t\t? \n\t\t\t\ta => router.push({name: 'Sign In'}) \n\t\t\t\t: \n\t\t\t\ta => router.push({ name: 'User Profile', params: { _id: auth.state.user._id }})\n\t\t\t\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconProfile \n\t\t\t\tclass=\"i-semi\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\n\n\n\t\t<Select \n\t\t\tv-if=\"$i18n.availableLocales.length > 1\"\n\t\t\tv-model:select=\"$i18n.locale\"\n\t\t :options=\"$i18n.availableLocales\"\n\t\t :property=\"'value'\"\n class=\"pos-relative uppercase pd-l-small pd-r-small pd-micro t-semi radius-thin\"\n :class=\"{\n \t\t'bg-light t-black': theme === 'light',\n \t\t'bg-dark t-white': theme === 'dark' \n \t}\"\n />\n </div>\n</header>\n \n</template>\n\n<style lang=\"scss\">\n.location-button { \n\t&:hover {\n\t\tbox-shadow: inset 0 0 0 2px rgb(var(--main));\n\t}\n}\n\n.menu-btn {\n display: block;\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n position: relative;\n}\n.menu-btn span,\n.menu-btn__before,\n.menu-btn__after {\n position: absolute;\n top: 50%;\n margin-top: -1px;\n left: 50%;\n margin-left: -10px;\n width: 20px;\n height: 2px;\n}\n.menu-btn__before,\n.menu-btn__after {\n display: block;\n transition: 0.2s;\n}\n.menu-btn__before {\n transform: translateY(-5px);\n}\n.menu-btn__after {\n transform: translateY(5px);\n}\n.menu-btn_active .menu-btn__before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active .menu-btn__after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-btn_active span:before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active span:after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-block {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.menu-nav {\n background-color: #fff;\n height: 50px;\n \n}\n.menu-nav__link {\n display: inline-block;\n text-decoration: none;\n color: #fff;\n margin-right: 20px;\n}\n.menu-nav__link {\n transition: 0.5s;\n transform-origin: right center;\n transform: translateX(50%);\n opacity: 0;\n}\n.menu-nav__link_active {\n transform: translateX(0%);\n opacity: 1;\n}\n\n</style>"],"names":["globals.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCC,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAEtB,UAAM,EAAE,EAAC,IAAK,QAAO;AAGrB,aAAS,oBAAoB;AAC3BA,YAAc,sBAAsB;AAAA,IACvC;AAIC,cAAU,MAAM;AACbC,cAAiB,YAAW;AAAA,IAChC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -57,7 +57,7 @@ const _sfc_main = {
57
57
  };
58
58
  let categoriesFilter = await categories.actions.read(options);
59
59
  categoriesFilter = categoriesFilter.map((category) => ({
60
- value: category.url,
60
+ value: category._id,
61
61
  label: category.name
62
62
  }));
63
63
  const index = marketplace.state.filter.options.findIndex((option) => option.value === "categories");
@@ -1 +1 @@
1
- {"version":3,"file":"Marketplace.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/layouts/Marketplace.vue"],"sourcesContent":["<template>\n\t<div style=\"min-height: 100%;\" class=\"h-min-100\">\n\t\t\n\n\t\t <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big\">\n\n\t\t\t<div class=\"o-y-scroll br-r br-solid br-light z-index-2 desktop-only h-100 pos-relative\">\n\t \t<BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 pd-medium\"\n\t\t />\n\t\t </div>\n\n\t\t\t<!-- Catalog wrapper -->\n\t\t\t<div class=\"pd-thin\">\n\t\t\t\t<header class=\"pd-medium radius-medium bg-light mn-b-thin\">\n\t\t \t<h2 class=\"\">\n\t\t \t\t<span class=\"\">Weed Deliveries in </span>\n\n\t\t \t\t<span \n\t\t \t\t\tv-if=\"localPosition.city || localPosition.state || localPosition.country\"\n\t\t \t\t\t@click=\"a => { globals.state.isOpenLocationPopup = true }\" \n\t\t \t\t\tclass=\"t-main t-semi cursor-pointer \"\n\t\t \t\t>\n\t\t \t\t\t\t<template v-if=\"localPosition.city\">{{localPosition.city}}, </template>\n\t\t \t\t\t\t<template v-if=\"localPosition.state\">{{localPosition.state}}, </template>\n\t\t \t\t\t\t<template v-if=\"localPosition.country\">{{localPosition.country}}</template>\n\t\t \t\t</span>\n\n\t\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"h2 pd-l-small pd-r-small pd-t-micro pd-b-micro d-inline-block t-semi radius-extra bg-main t-black cursor-pointer\">\n\t\t\t\t\t\t\t\tThe World\n\t\t \t\t</span>\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div class=\"rows-1\">\n\t\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route\" :localPosition=\"localPosition\" :is=\"Component\" />\n\t\t\t\t\t</router-view>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport BlockFilter from '@martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n import * as categories from '@martyrs/src/modules/products/store/categories';\n\n\n\timport * as marketplace from '../../store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\tconst desktopFilters = ref(null)\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase()\n\t .replace(/ /g, '-')\n\t .replace(/[^a-z0-9-]/g, '');\n\t}\n\n\tif (route.params) {\n // Загружаем новые значения из параметров маршрута в состояние\n let newState = {\n country: denormalizeUrlParam(route.params.country),\n state: denormalizeUrlParam(route.params.state),\n city: denormalizeUrlParam(route.params.city),\n };\n\n\t // Обновляем глобальное состояние\n\t localPosition.value = newState;\n\t}\n\n\tif (route.query) {\n\t \tconst query = route.query;\n\n\t\tmarketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n\t\tmarketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n\t\tmarketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n\t}\n\n\tif (route.query.sortParam) marketplace.state.sort.param = route.query.sortParam\n\tif (route.query.sortOrder) marketplace.state.sort.order = route.query.sortOrder\n\n\tonMounted(async () => {\n\t let options = {\n status: 'published',\n rootOnly: true\n }\n\n let categoriesFilter = await categories.actions.read(options);\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n\t})\n\n\twatch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n\t\tlet query = { ...route.query}\n\t\t\n\t\tquery.sortParam = newSortValue.param\n\t\tquery.sortOrder = newSortValue.order\n\t \n\t // replace the current route\n\t router.replace({ query });\n\t}, { deep: true });\n\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\n\t delete query.options;\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.replace({ query });\n\t}, { deep: true })\n\n\twatch(() => globals.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n }\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n }\n }\n }\n }\n\n \tconst { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","onMounted","categories.actions","watch","globals.state","useI18n"],"mappings":"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"}
1
+ {"version":3,"file":"Marketplace.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/layouts/Marketplace.vue"],"sourcesContent":["<template>\n\t<div style=\"min-height: 100%;\" class=\"h-min-100\">\n\t\t\n\n\t\t <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big\">\n\n\t\t\t<div class=\"o-y-scroll br-r br-solid br-light z-index-2 desktop-only h-100 pos-relative\">\n\t \t<BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 pd-medium\"\n\t\t />\n\t\t </div>\n\n\t\t\t<!-- Catalog wrapper -->\n\t\t\t<div class=\"pd-thin\">\n\t\t\t\t<header class=\"pd-medium radius-medium bg-light mn-b-thin\">\n\t\t \t<h2 class=\"\">\n\t\t \t\t<span class=\"\">Weed Deliveries in </span>\n\n\t\t \t\t<span \n\t\t \t\t\tv-if=\"localPosition.city || localPosition.state || localPosition.country\"\n\t\t \t\t\t@click=\"a => { globals.state.isOpenLocationPopup = true }\" \n\t\t \t\t\tclass=\"t-main t-semi cursor-pointer \"\n\t\t \t\t>\n\t\t \t\t\t\t<template v-if=\"localPosition.city\">{{localPosition.city}}, </template>\n\t\t \t\t\t\t<template v-if=\"localPosition.state\">{{localPosition.state}}, </template>\n\t\t \t\t\t\t<template v-if=\"localPosition.country\">{{localPosition.country}}</template>\n\t\t \t\t</span>\n\n\t\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"h2 pd-l-small pd-r-small pd-t-micro pd-b-micro d-inline-block t-semi radius-extra bg-main t-black cursor-pointer\">\n\t\t\t\t\t\t\t\tThe World\n\t\t \t\t</span>\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div class=\"rows-1\">\n\t\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route\" :localPosition=\"localPosition\" :is=\"Component\" />\n\t\t\t\t\t</router-view>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport BlockFilter from '@martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n import * as categories from '@martyrs/src/modules/products/store/categories';\n\n\n\timport * as marketplace from '../../store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\tconst desktopFilters = ref(null)\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase()\n\t .replace(/ /g, '-')\n\t .replace(/[^a-z0-9-]/g, '');\n\t}\n\n\tif (route.params) {\n // Загружаем новые значения из параметров маршрута в состояние\n let newState = {\n country: denormalizeUrlParam(route.params.country),\n state: denormalizeUrlParam(route.params.state),\n city: denormalizeUrlParam(route.params.city),\n };\n\n\t // Обновляем глобальное состояние\n\t localPosition.value = newState;\n\t}\n\n\tif (route.query) {\n\t \tconst query = route.query;\n\n\t\tmarketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n\t\tmarketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n\t\tmarketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n\t}\n\n\tif (route.query.sortParam) marketplace.state.sort.param = route.query.sortParam\n\tif (route.query.sortOrder) marketplace.state.sort.order = route.query.sortOrder\n\n\tonMounted(async () => {\n\t let options = {\n status: 'published',\n rootOnly: true\n }\n\n let categoriesFilter = await categories.actions.read(options);\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category._id,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n\t})\n\n\twatch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n\t\tlet query = { ...route.query}\n\t\t\n\t\tquery.sortParam = newSortValue.param\n\t\tquery.sortOrder = newSortValue.order\n\t \n\t // replace the current route\n\t router.replace({ query });\n\t}, { deep: true });\n\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\n\t delete query.options;\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.replace({ query });\n\t}, { deep: true })\n\n\twatch(() => globals.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n }\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n }\n }\n }\n }\n\n \tconst { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","onMounted","categories.actions","watch","globals.state","useI18n"],"mappings":"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"}
@@ -55,7 +55,7 @@ const _sfc_main = {
55
55
  };
56
56
  let categoriesFilter = await actions.read(options);
57
57
  categoriesFilter = categoriesFilter.map((category) => ({
58
- value: category.url,
58
+ value: category._id,
59
59
  label: category.name
60
60
  }));
61
61
  const index = state.filter.options.findIndex((option) => option.value === "categories");