@ozdao/martyrs 0.2.454 → 0.2.456

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 (190) hide show
  1. package/dist/{Media-DlEIDFaB.js → Media-1oukRVfv.js} +1 -1
  2. package/dist/{Media-DzQv7XkX.mjs → Media-q-XJSM_H.mjs} +3 -3
  3. package/dist/{main-CSphtCso.js → main-C7jGMDJC.js} +2 -2
  4. package/dist/{main-CjVIbgn3.mjs → main-yXkgrjj8.mjs} +3 -9
  5. package/dist/martyrs/src/components/Button/Button.vue.cjs +1 -1
  6. package/dist/martyrs/src/components/Button/Button.vue.js +1 -1
  7. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs +2 -2
  8. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs.map +1 -1
  9. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +2 -2
  10. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  13. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  14. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  15. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +93 -0
  16. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  17. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +94 -1
  18. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
  19. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +0 -93
  20. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  21. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -94
  22. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  23. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +1 -1
  24. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
  25. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  26. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  27. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
  28. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
  29. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
  30. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
  31. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  32. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  33. package/dist/martyrs/src/components/Media/Media.vue.cjs +2 -2
  34. package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
  35. package/dist/martyrs/src/components/Media/Media.vue.js +2 -2
  36. package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
  37. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  38. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  39. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  40. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  41. package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs +229 -0
  42. package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs.map +1 -0
  43. package/dist/martyrs/src/components/Slider/Slider.native.vue.js +229 -0
  44. package/dist/martyrs/src/components/Slider/Slider.native.vue.js.map +1 -0
  45. package/dist/martyrs/src/components/Slider/Slider.vue.cjs +1 -1
  46. package/dist/martyrs/src/components/Slider/Slider.vue.js +1 -1
  47. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  48. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  52. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  53. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +2 -2
  54. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +2 -2
  56. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  57. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  59. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +3 -4
  60. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs.map +1 -1
  61. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +3 -4
  62. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js.map +1 -1
  63. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +29 -17
  64. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +29 -17
  66. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  68. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  69. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -23
  70. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  71. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +5 -26
  72. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  73. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +50 -132
  74. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  75. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +66 -148
  76. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  77. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +3 -33
  78. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs.map +1 -1
  79. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +3 -33
  80. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  81. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +98 -0
  82. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs.map +1 -0
  83. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +98 -0
  84. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js.map +1 -0
  85. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +4 -6
  86. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +4 -6
  88. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  89. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs +10 -8
  90. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
  91. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js +10 -8
  92. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
  93. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  95. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +4 -4
  96. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +4 -4
  98. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +190 -0
  100. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -0
  101. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +190 -0
  102. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -0
  103. package/dist/martyrs/src/modules/events/events.client.js +12 -12
  104. package/dist/martyrs/src/modules/events/events.client.js.map +1 -1
  105. package/dist/martyrs/src/modules/events/router/events.cjs +15 -0
  106. package/dist/martyrs/src/modules/events/router/events.cjs.map +1 -1
  107. package/dist/martyrs/src/modules/events/router/events.js +15 -0
  108. package/dist/martyrs/src/modules/events/router/events.js.map +1 -1
  109. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  111. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  112. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  113. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  115. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +2 -1
  116. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
  117. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +1 -0
  118. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
  119. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  121. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  123. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  125. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  126. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  127. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  129. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  131. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  133. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  135. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  137. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  139. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  141. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  143. package/dist/martyrs/src/modules/products/components/blocks/Images360.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/products/components/blocks/Images360.vue.js +1 -1
  145. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
  147. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  148. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  149. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  151. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  153. package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
  155. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js +1 -1
  157. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  159. package/dist/martyrs.cjs.js +1 -1
  160. package/dist/martyrs.css +1 -1
  161. package/dist/martyrs.es.js +1 -1
  162. package/dist/organizations.server.js +0 -1
  163. package/dist/organizations.server.mjs +0 -1
  164. package/dist/style.css +93 -6
  165. package/package.json +1 -1
  166. package/src/components/DatePicker/DatePicker.vue +1 -1
  167. package/src/components/EmptyState/EmptyState.vue +1 -1
  168. package/src/components/Media/Media.vue +1 -1
  169. package/src/components/Slider/Slider.native.vue +313 -0
  170. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +2 -2
  171. package/src/modules/community/components/sections/HotPosts.vue +0 -1
  172. package/src/modules/events/components/blocks/CardEvent.vue +21 -7
  173. package/src/modules/events/components/pages/Event.vue +0 -20
  174. package/src/modules/events/components/pages/Events.vue +91 -141
  175. package/src/modules/events/components/pages/EventsBackoffice.vue +5 -3
  176. package/src/modules/events/components/pages/EventsSearch.vue +122 -0
  177. package/src/modules/events/components/sections/EventsHot.vue +3 -5
  178. package/src/modules/events/components/sections/FeaturedEvents.vue +45 -13
  179. package/src/modules/events/components/sections/List.vue +3 -3
  180. package/src/modules/events/components/sections/SelectDate.vue +217 -0
  181. package/src/modules/events/router/events.js +12 -0
  182. package/src/modules/globals/views/components/layouts/App.vue +1 -0
  183. package/src/modules/organizations/policies/organizations.policies.js +0 -1
  184. package/src/modules/products/components/pages/Product.old.vue +201 -0
  185. package/src/styles/base/all.scss +1 -0
  186. package/src/styles/typography.scss +22 -0
  187. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  188. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  189. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  190. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
@@ -9,6 +9,7 @@ const Popup = require("../../../../components/Popup/Popup.vue.cjs");
9
9
  const DatePicker = require("../../../../components/DatePicker/DatePicker.vue.cjs");
10
10
  const CitySelection = require("../../../globals/views/components/partials/CitySelection.vue.cjs");
11
11
  const FeaturedEvents = require("../sections/FeaturedEvents.vue.cjs");
12
+ const SelectDate = require("../sections/SelectDate.vue.cjs");
12
13
  const EventsHot = require("../sections/EventsHot.vue.cjs");
13
14
  const CardEvent = require("../blocks/CardEvent.vue.cjs");
14
15
  const CardOrganization = require("../../../organizations/components/blocks/CardOrganization.vue.cjs");
@@ -16,71 +17,20 @@ const auth = require("../../../auth/views/store/auth.cjs");
16
17
  const organizations = require("../../../organizations/store/organizations.cjs");
17
18
  const memberships = require("../../../organizations/store/memberships.cjs");
18
19
  const events = require("../../store/events.cjs");
19
- const _hoisted_1 = { class: "radius-tl-medium bg-white" };
20
- const _hoisted_2 = { class: "gap-medium pos-t-0 pos-sticky z-index-2 radius-medium" };
20
+ const _hoisted_1 = { class: "bg-white" };
21
+ const _hoisted_2 = { class: "gap-medium pos-t-0 pos-sticky z-index-3 radius-medium" };
21
22
  const _hoisted_3 = { class: "pd-big mobile:pd-thin radius-tr-medium radius-tl-medium bg-white" };
22
- const _hoisted_4 = { class: "gap-medium radius-medium mn-b-big" };
23
- const _hoisted_5 = { class: "gap-medium radius-medium mn-b-thin" };
24
- const _hoisted_6 = { class: "gap-medium radius-medium mn-b-medium" };
25
- const _hoisted_7 = { class: "cols-4 gap-thin" };
26
- const _hoisted_8 = ["onClick"];
27
- const _hoisted_9 = { class: "t-medium" };
28
- const _hoisted_10 = { class: "text-small text-muted" };
29
- const _hoisted_11 = { class: "gap-medium radius-medium mn-b-medium" };
30
- const _hoisted_12 = { class: "gap-medium radius-medium mn-b-medium" };
31
- const _hoisted_13 = { class: "gap-medium radius-medium mn-b-thin" };
23
+ const _hoisted_4 = { class: "gap-medium radius-medium mn-b-semi" };
24
+ const _hoisted_5 = { class: "gap-medium radius-medium mn-b-semi" };
25
+ const _hoisted_6 = { class: "gap-medium radius-medium" };
32
26
  const _sfc_main = {
33
27
  __name: "Events",
34
28
  setup(__props) {
35
29
  const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
36
30
  memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber);
37
31
  };
38
- const route = vueRouter.useRoute();
32
+ vueRouter.useRoute();
39
33
  const router = vueRouter.useRouter();
40
- let baseDate = /* @__PURE__ */ new Date();
41
- const formattedDate = formatDateForRouter(baseDate);
42
- const dateOptions = [
43
- { label: "Today", range: "Tue, 4th Feb" },
44
- { label: "Tomorrow", range: "Wed, 5th Feb" },
45
- { label: "This Weekend", range: "8th - 9th Feb" },
46
- { label: "This Week", range: "3rd - 9th Feb" },
47
- { label: "Next Weekend", range: "15th - 16th Feb" },
48
- { label: "Next Week", range: "10th - 16th Feb" },
49
- { label: "This Month", range: "1st - 28th Feb" },
50
- { label: "Custom Date", range: "Pick Range" }
51
- ];
52
- const selectDate = (date) => {
53
- console.log("Selected date:", date);
54
- };
55
- function formatDateForRouter(date) {
56
- return `${date.getDate().toString().padStart(2, "0")}${(date.getMonth() + 1).toString().padStart(2, "0")}${date.getFullYear()}`;
57
- }
58
- if (route.query) {
59
- const query = route.query;
60
- const newFilterValue = {
61
- tags: query.tags ? query.tags.split(",") : null,
62
- date: query.date ? query.date : null
63
- };
64
- events.state.filter = newFilterValue;
65
- } else {
66
- const newFilterValue = {
67
- date: formattedDate
68
- };
69
- events.state.filter = newFilterValue;
70
- }
71
- vue.watch(() => events.state.filter, (newFilterValue, oldFilterValue) => {
72
- const query = { ...route.query };
73
- Object.keys(oldFilterValue).forEach((key) => {
74
- if (query[key]) {
75
- delete query[key];
76
- }
77
- });
78
- const newQueryValues = Object.fromEntries(
79
- Object.entries(newFilterValue).filter(([key, value]) => Array.isArray(value) && value.length > 0 || typeof value === "string" && value).map(([key, value]) => [key, Array.isArray(value) ? value.join(",") : value])
80
- );
81
- Object.assign(query, newQueryValues);
82
- router.push({ query });
83
- }, { deep: true });
84
34
  const isCitySelectionPopup = vue.ref(false);
85
35
  function openCitySelectionPopup() {
86
36
  isCitySelectionPopup.value = true;
@@ -88,24 +38,50 @@ const _sfc_main = {
88
38
  function closeCitySelectionPopup() {
89
39
  isCitySelectionPopup.value = false;
90
40
  }
41
+ const handleDatePickerChange = (date) => {
42
+ if (date) {
43
+ const selectedDate = new Date(date);
44
+ const startOfDay = new Date(selectedDate);
45
+ startOfDay.setHours(0, 0, 0, 0);
46
+ const endOfDay = new Date(selectedDate);
47
+ endOfDay.setHours(23, 59, 59, 999);
48
+ router.push({
49
+ name: "Events Search",
50
+ query: {
51
+ period: "day",
52
+ periodStart: startOfDay.toISOString(),
53
+ periodEnd: endOfDay.toISOString()
54
+ }
55
+ });
56
+ }
57
+ };
58
+ const handleDateSelection = (dateData) => {
59
+ console.log("Selected date data:", dateData);
60
+ router.push({
61
+ name: "Events Search",
62
+ query: {
63
+ periodStart: dateData.startDate.toISOString(),
64
+ periodEnd: dateData.endDate.toISOString()
65
+ }
66
+ });
67
+ };
91
68
  return (_ctx, _cache) => {
92
69
  return vue.openBlock(), vue.createElementBlock("section", _hoisted_1, [
93
70
  vue.createElementVNode("div", _hoisted_2, [
94
71
  vue.createVNode(DatePicker.default, {
95
- date: events.state.filter.date,
96
- "onUpdate:date": _cache[0] || (_cache[0] = ($event) => events.state.filter.date = $event),
72
+ "onUpdate:date": handleDatePickerChange,
97
73
  locale: _ctx.$i18n.locale,
98
74
  options: {
99
75
  dateStart: 0,
100
76
  dateEnd: 30
101
77
  },
102
78
  class: "bs-black-small br-b br-solid br-black-transp-10 o-hidden bg-white pd-l-zero pd-r-zero pd-medium"
103
- }, null, 8, ["date", "locale"])
79
+ }, null, 8, ["locale"])
104
80
  ]),
105
81
  vue.createElementVNode("section", _hoisted_3, [
106
82
  vue.createElementVNode("div", _hoisted_4, [
107
83
  vue.createElementVNode("h2", { class: "mn-b-small" }, [
108
- _cache[1] || (_cache[1] = vue.createTextVNode(" Events in ")),
84
+ _cache[0] || (_cache[0] = vue.createTextVNode(" Events in ")),
109
85
  vue.createElementVNode("p", {
110
86
  onClick: openCitySelectionPopup,
111
87
  class: "d-inline-block hover-bg-second hover-t-white cursor-pointer transition-elastic transition-timing-1 h2 pd-micro pd-t-thin pd-r-small pd-l-small br-solid br-1px br-black-transp-10 radius-extra"
@@ -121,73 +97,15 @@ const _sfc_main = {
121
97
  ]),
122
98
  _: 1
123
99
  }, 8, ["isPopupOpen"]),
124
- vue.createVNode(EventsHot.default, {
125
- options: {
126
- status: "featured"
127
- },
128
- class: "mn-big-negative pd-big"
129
- })
100
+ vue.createVNode(EventsHot.default, { options: {} })
130
101
  ]),
102
+ vue.createVNode(FeaturedEvents.default, { class: "mn-b-semi" }),
103
+ vue.createVNode(SelectDate.default, {
104
+ class: "mn-b-semi",
105
+ onDateSelected: handleDateSelection
106
+ }),
131
107
  vue.createElementVNode("div", _hoisted_5, [
132
- _cache[2] || (_cache[2] = vue.createElementVNode("h3", { class: "mn-b-small" }, " Popular Events ", -1)),
133
- vue.createVNode(FeaturedEvents.default, { class: "gap-thin" })
134
- ]),
135
- vue.createElementVNode("div", _hoisted_6, [
136
- _cache[3] || (_cache[3] = vue.createElementVNode("h3", { class: "mn-b-small" }, " Explore by Date ", -1)),
137
- vue.createElementVNode("div", _hoisted_7, [
138
- (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(dateOptions, (date, index) => {
139
- return vue.createElementVNode("div", {
140
- key: index,
141
- class: "bg-light radius-medium pd-medium cursor-pointer",
142
- onClick: ($event) => selectDate(date)
143
- }, [
144
- vue.createElementVNode("h4", _hoisted_9, vue.toDisplayString(date.label), 1),
145
- vue.createElementVNode("div", _hoisted_10, vue.toDisplayString(date.range), 1)
146
- ], 8, _hoisted_8);
147
- }), 64))
148
- ])
149
- ]),
150
- vue.createElementVNode("div", _hoisted_11, [
151
- _cache[4] || (_cache[4] = vue.createElementVNode("h3", { class: "mn-b-small" }, " Popular Events ", -1)),
152
- vue.createVNode(Feed.default, {
153
- showLoadMore: false,
154
- LoadMore: false,
155
- states: {
156
- empty: {
157
- title: "No Events Today",
158
- description: "Currently, there are no events available."
159
- }
160
- },
161
- store: {
162
- read: (options) => events.read(options),
163
- state: events.state
164
- },
165
- options: {
166
- user: auth.state.user._id,
167
- limit: 3,
168
- page: 1
169
- },
170
- class: "cols-3 gap-thin"
171
- }, {
172
- default: vue.withCtx(({
173
- items
174
- }) => [
175
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (event, index) => {
176
- return vue.openBlock(), vue.createBlock(CardEvent.default, {
177
- onClick: ($event) => _ctx.$router.push({ name: "Event", params: { url: event.url } }),
178
- key: event._id,
179
- event,
180
- user: auth.state.user._id,
181
- type: "normal",
182
- class: "bg-light radius-big mn-b-thin"
183
- }, null, 8, ["onClick", "event", "user"]);
184
- }), 128))
185
- ]),
186
- _: 1
187
- }, 8, ["store", "options"])
188
- ]),
189
- vue.createElementVNode("div", _hoisted_12, [
190
- _cache[5] || (_cache[5] = vue.createElementVNode("h3", { class: "mn-b-small" }, " Most Happening Organizers ", -1)),
108
+ _cache[1] || (_cache[1] = vue.createElementVNode("h3", { class: "mn-b-small" }, " Most Happening Organizers ", -1)),
191
109
  vue.createVNode(Feed.default, {
192
110
  showLoadMore: false,
193
111
  LoadMore: false,
@@ -206,9 +124,9 @@ const _sfc_main = {
206
124
  sort: "numberOfMemberships",
207
125
  contain: ["blogposts"],
208
126
  lookup: ["blogposts"],
209
- limit: 8
127
+ limit: 6
210
128
  },
211
- class: "cols-4 gap-thin"
129
+ class: "cols-2 gap-thin"
212
130
  }, {
213
131
  default: vue.withCtx(({
214
132
  items
@@ -230,8 +148,8 @@ const _sfc_main = {
230
148
  _: 1
231
149
  }, 8, ["store", "options"])
232
150
  ]),
233
- vue.createElementVNode("div", _hoisted_13, [
234
- _cache[6] || (_cache[6] = vue.createElementVNode("h3", { class: "mn-b-small" }, " All Events ", -1)),
151
+ vue.createElementVNode("div", _hoisted_6, [
152
+ _cache[2] || (_cache[2] = vue.createElementVNode("h3", { class: "mn-b-small" }, " All Events ", -1)),
235
153
  vue.createVNode(Feed.default, {
236
154
  search: true,
237
155
  showLoadMore: false,
@@ -247,7 +165,7 @@ const _sfc_main = {
247
165
  },
248
166
  options: {
249
167
  user: auth.state.user._id,
250
- limit: 10
168
+ limit: 9
251
169
  },
252
170
  class: "cols-3 gap-thin"
253
171
  }, {
@@ -261,7 +179,7 @@ const _sfc_main = {
261
179
  event,
262
180
  user: auth.state.user._id,
263
181
  type: "normal",
264
- class: "bg-light radius-big mn-t-thin"
182
+ class: "bg-light radius-big"
265
183
  }, null, 8, ["onClick", "event", "user"]);
266
184
  }), 128))
267
185
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"Events.vue.cjs","sources":["../../../../../../../src/modules/events/components/pages/Events.vue"],"sourcesContent":["<template>\n <section class=\"radius-tl-medium bg-white\"> \n\n\n <div class=\"gap-medium pos-t-0 pos-sticky z-index-2 radius-medium \">\n <DatePicker\n v-model:date=\"events.state.filter.date\"\n :locale=\"$i18n.locale\"\n :options=\"{\n dateStart: 0,\n dateEnd: 30\n }\"\n class=\"bs-black-small br-b br-solid br-black-transp-10 o-hidden bg-white pd-l-zero pd-r-zero pd-medium\"\n />\n </div>\n\n <section class=\"pd-big mobile:pd-thin radius-tr-medium radius-tl-medium bg-white\"> \n\n <div class=\"gap-medium radius-medium mn-b-big\">\n <h2\n class=\"mn-b-small\"\n >\n Events in <p @click=\"openCitySelectionPopup\" class=\"d-inline-block hover-bg-second hover-t-white cursor-pointer transition-elastic transition-timing-1 h2 pd-micro pd-t-thin pd-r-small pd-l-small br-solid br-1px br-black-transp-10 radius-extra\">Phuket</p>\n </h2>\n\n <Popup \n @close-popup=\"closeCitySelectionPopup\" \n :isPopupOpen=\"isCitySelectionPopup\"\n class=\"w-m-33r t-left pd-medium bg-white radius-semi\"\n\n >\n <CitySelection/>\n </Popup>\n\n <EventsHot \n :options=\"{\n status: 'featured'\n }\"\n class=\" mn-big-negative pd-big\"\n />\n </div>\n\n\n <div class=\"gap-medium radius-medium mn-b-thin\">\n <h3\n class=\"mn-b-small\"\n >\n Popular Events\n </h3>\n <FeaturedEvents class=\"gap-thin\"/>\n </div>\n\n <div class=\"gap-medium radius-medium mn-b-medium\">\n <h3 class=\"mn-b-small\">\n Explore by Date\n </h3>\n \n <div class=\"cols-4 gap-thin\">\n <div \n v-for=\"(date, index) in dateOptions\" \n :key=\"index\"\n class=\"bg-light radius-medium pd-medium cursor-pointer\"\n @click=\"selectDate(date)\"\n >\n <h4 class=\"t-medium\">{{ date.label }}</h4>\n <div class=\"text-small text-muted\">{{ date.range }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"gap-medium radius-medium mn-b-medium\">\n \n <h3\n class=\"mn-b-small\"\n >\n Popular Events\n </h3>\n \n <Feed\n :showLoadMore=\"false\"\n :LoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Events Today',\n description: 'Currently, there are no events available.'\n }\n }\"\n :store=\"{\n read: (options) => events.read(options),\n state: events.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n limit: 3,\n page: 1\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-3 gap-thin\"\n >\n <CardEvent \n @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n v-for=\"(event,index) in items\" \n :key=\"event._id\" \n :event=\"event\" \n :user=\"auth.state.user._id\" \n :type=\"'normal'\"\n class=\"bg-light radius-big mn-b-thin\"\n >\n </CardEvent>\n </Feed>\n \n\n </div>\n\n <div class=\"gap-medium radius-medium mn-b-medium\">\n\n <h3\n class=\"mn-b-small\"\n >\n Most Happening Organizers\n </h3>\n <Feed\n :showLoadMore=\"false\"\n :LoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Organization Found',\n description: 'Currently, there are no organization available.'\n }\n }\"\n :store=\"{\n read: (options) => organizations.actions.read(options),\n state: organizations.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n sort: 'numberOfMemberships',\n contain: ['blogposts'],\n lookup: ['blogposts'],\n limit: 8\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 gap-thin\"\n >\n <CardOrganization \n v-for=\"organization in items\"\n :key=\"organization._id\" \n :organization=\"organization\"\n :user=\"auth.state.user\"\n :showProducts=\"false\"\n :showRating=\"false\"\n :showFeatured=\"false\"\n :showFollowers=\"false\"\n @updateMembership=\"handleMembershipUpdate\"\n class=\"pd-small w-100 pd-0 bg-light radius-semi o-hidden\"\n />\n </Feed>\n\n </div>\n \n <div class=\"gap-medium radius-medium mn-b-thin\">\n\n <h3\n class=\"mn-b-small\"\n >\n All Events\n </h3>\n\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Events Today',\n description: 'Currently, there are no events available.'\n }\n }\"\n :store=\"{\n read: (options) => events.read(options),\n state: events.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n limit: 10\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-3 gap-thin\"\n >\n <CardEvent \n @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n v-for=\"(event,index) in items\" \n :key=\"event._id\" \n :event=\"event\" \n :user=\"auth.state.user._id\" \n :type=\"'normal'\"\n class=\"bg-light radius-big mn-t-thin\"\n >\n </CardEvent>\n </Feed>\n\n </div>\n\n </section>\n </section>\n</template>\n\n<script setup=\"props\">\n import { computed, onMounted, watch, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import Breadcrumbs from '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Popup from '@martyrs/src/components/Popup/Popup.vue'\n import DatePicker from '@martyrs/src/components/DatePicker/DatePicker.vue'\n\n import CitySelection from '@martyrs/src/modules/globals/views/components/partials/CitySelection.vue';\n\n import FeaturedEvents from '@martyrs/src/modules/events/components/sections/FeaturedEvents.vue'; \n\n import EventsHot from '@martyrs/src/modules/events/components/sections/EventsHot.vue'; \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n import CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n // Import state\n import * as auth from '@martyrs/src/modules/auth/views/store/auth'\n import * as organizations from '@martyrs/src/modules/organizations/store/organizations'\n import * as memberships from '@martyrs/src/modules/organizations/store/memberships'\n\n\n import * as events from '@martyrs/src/modules/events/store/events.js'; \n\n const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n };\n // State\n const route = useRoute();\n const router = useRouter();\n\n let baseDate = new Date();\n const formattedDate = formatDateForRouter(baseDate);\n\n const dateOptions = [\n { label: 'Today', range: 'Tue, 4th Feb' },\n { label: 'Tomorrow', range: 'Wed, 5th Feb' },\n { label: 'This Weekend', range: '8th - 9th Feb' },\n { label: 'This Week', range: '3rd - 9th Feb' },\n { label: 'Next Weekend', range: '15th - 16th Feb' },\n { label: 'Next Week', range: '10th - 16th Feb' },\n { label: 'This Month', range: '1st - 28th Feb' },\n { label: 'Custom Date', range: 'Pick Range' }\n ];\n\n const selectDate = (date) => {\n // Здесь можно добавить логику выбора даты\n console.log('Selected date:', date);\n };\n \n function formatDateForRouter(date) {\n return `${date.getDate().toString().padStart(2, '0')}${(date.getMonth() + 1).toString().padStart(2, '0')}${date.getFullYear()}`;\n }\n\n if (route.query) {\n const query = route.query;\n \n const newFilterValue = {\n tags: query.tags ? query.tags.split(',') : null,\n date: query.date ? query.date : null,\n };\n\n events.state.filter = newFilterValue; // <-- Modified\n } else {\n const newFilterValue = {\n date: formattedDate,\n };\n\n events.state.filter = newFilterValue;\n }\n\n watch(() => events.state.filter, (newFilterValue, oldFilterValue) => { // <-- Modified\n const query = { ...route.query };\n\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => (Array.isArray(value) && value.length > 0) || (typeof value === 'string' && value))\n .map(([key, value]) => [key, Array.isArray(value) ? value.join(',') : value])\n );\n Object.assign(query, newQueryValues);\n\n router.push({ query });\n }, { deep: true })\n\n const isCitySelectionPopup = ref(false)\n\n function openCitySelectionPopup() {\n isCitySelectionPopup.value = true;\n }\n function closeCitySelectionPopup() {\n isCitySelectionPopup.value = false;\n }\n</script>\n\n<style lang=\"scss\">\n \n</style>\n"],"names":["memberships.mutations","organizations.state","useRoute","useRouter","events.state","watch","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6OE,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FA,4BAAsB,uBAAuBC,cAAAA,MAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC/H;AAED,UAAM,QAAQC,UAAAA,SAAU;AACxB,UAAM,SAASC,UAAAA,UAAW;AAE1B,QAAI,WAAW,oBAAI,KAAM;AACzB,UAAM,gBAAgB,oBAAoB,QAAQ;AAElD,UAAM,cAAc;AAAA,MAClB,EAAE,OAAO,SAAS,OAAO,eAAgB;AAAA,MACzC,EAAE,OAAO,YAAY,OAAO,eAAgB;AAAA,MAC5C,EAAE,OAAO,gBAAgB,OAAO,gBAAiB;AAAA,MACjD,EAAE,OAAO,aAAa,OAAO,gBAAiB;AAAA,MAC9C,EAAE,OAAO,gBAAgB,OAAO,kBAAmB;AAAA,MACnD,EAAE,OAAO,aAAa,OAAO,kBAAmB;AAAA,MAChD,EAAE,OAAO,cAAc,OAAO,iBAAkB;AAAA,MAChD,EAAE,OAAO,eAAe,OAAO,aAAY;AAAA,IAC5C;AAED,UAAM,aAAa,CAAC,SAAS;AAE3B,cAAQ,IAAI,kBAAkB,IAAI;AAAA,IACnC;AAED,aAAS,oBAAoB,MAAM;AACjC,aAAO,GAAG,KAAK,UAAU,WAAW,SAAS,GAAG,GAAG,CAAC,IAAI,KAAK,SAAQ,IAAK,GAAG,SAAU,EAAC,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,YAAW,CAAE;AAAA,IACjI;AAEE,QAAI,MAAM,OAAO;AACf,YAAM,QAAQ,MAAM;AAEpB,YAAM,iBAAiB;AAAA,QACrB,MAAM,MAAM,OAAO,MAAM,KAAK,MAAM,GAAG,IAAI;AAAA,QAC3C,MAAM,MAAM,OAAO,MAAM,OAAO;AAAA,MACjC;AAEDC,aAAY,MAAC,SAAS;AAAA,IAC1B,OAAS;AACL,YAAM,iBAAiB;AAAA,QACrB,MAAM;AAAA,MACP;AAEDA,aAAY,MAAC,SAAS;AAAA,IAC1B;AAEEC,QAAAA,MAAM,MAAMD,OAAY,MAAC,QAAQ,CAAC,gBAAgB,mBAAmB;AACnE,YAAM,QAAQ,EAAE,GAAG,MAAM,MAAO;AAEhC,aAAO,KAAK,cAAc,EAAE,QAAQ,SAAO;AACzC,YAAI,MAAM,GAAG,GAAG;AACd,iBAAO,MAAM,GAAG;AAAA,QACxB;AAAA,MACA,CAAK;AAED,YAAM,iBAAiB,OAAO;AAAA,QAC5B,OAAO,QAAQ,cAAc,EAC1B,OAAO,CAAC,CAAC,KAAK,KAAK,MAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,KAAO,OAAO,UAAU,YAAY,KAAM,EAC3G,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,MAAM,QAAQ,KAAK,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;AAAA,MAC/E;AACD,aAAO,OAAO,OAAO,cAAc;AAEnC,aAAO,KAAK,EAAE,OAAO;AAAA,IACzB,GAAK,EAAE,MAAM,KAAM,CAAA;AAEjB,UAAM,uBAAuBE,IAAAA,IAAI,KAAK;AAEtC,aAAS,yBAAyB;AAChC,2BAAqB,QAAQ;AAAA,IACjC;AACE,aAAS,0BAA0B;AACjC,2BAAqB,QAAQ;AAAA,IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Events.vue.cjs","sources":["../../../../../../../src/modules/events/components/pages/Events.vue"],"sourcesContent":["<template>\n <section class=\"bg-white\"> \n <div class=\"gap-medium pos-t-0 pos-sticky z-index-3 radius-medium \">\n <DatePicker\n @update:date=\"handleDatePickerChange\"\n :locale=\"$i18n.locale\"\n :options=\"{\n dateStart: 0,\n dateEnd: 30\n }\"\n class=\"bs-black-small br-b br-solid br-black-transp-10 o-hidden bg-white pd-l-zero pd-r-zero pd-medium\"\n />\n </div>\n\n <section class=\"pd-big mobile:pd-thin radius-tr-medium radius-tl-medium bg-white\"> \n\n <div class=\"gap-medium radius-medium mn-b-semi\">\n <h2\n class=\"mn-b-small\"\n >\n Events in <p @click=\"openCitySelectionPopup\" class=\"d-inline-block hover-bg-second hover-t-white cursor-pointer transition-elastic transition-timing-1 h2 pd-micro pd-t-thin pd-r-small pd-l-small br-solid br-1px br-black-transp-10 radius-extra\">Phuket</p>\n </h2>\n\n <Popup \n @close-popup=\"closeCitySelectionPopup\" \n :isPopupOpen=\"isCitySelectionPopup\"\n class=\"w-m-33r t-left pd-medium bg-white radius-semi\"\n\n >\n <CitySelection/>\n </Popup>\n\n <EventsHot \n :options=\"{\n }\"\n />\n </div>\n\n\n <FeaturedEvents class=\"mn-b-semi\"/>\n <SelectDate \n class=\"mn-b-semi\"\n @date-selected=\"handleDateSelection\" \n />\n\n <div class=\"gap-medium radius-medium mn-b-semi\">\n\n <h3\n class=\"mn-b-small\"\n >\n Most Happening Organizers\n </h3>\n <Feed\n :showLoadMore=\"false\"\n :LoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Organization Found',\n description: 'Currently, there are no organization available.'\n }\n }\"\n :store=\"{\n read: (options) => organizations.actions.read(options),\n state: organizations.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n sort: 'numberOfMemberships',\n contain: ['blogposts'],\n lookup: ['blogposts'],\n limit: 6\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-2 gap-thin\"\n >\n <CardOrganization \n v-for=\"organization in items\"\n :key=\"organization._id\" \n :organization=\"organization\"\n :user=\"auth.state.user\"\n :showProducts=\"false\"\n :showRating=\"false\"\n :showFeatured=\"false\"\n :showFollowers=\"false\"\n @updateMembership=\"handleMembershipUpdate\"\n class=\"pd-small w-100 pd-0 bg-light radius-semi o-hidden\"\n />\n </Feed>\n\n </div>\n \n <div class=\"gap-medium radius-medium\">\n\n <h3\n class=\"mn-b-small\"\n >\n All Events\n </h3>\n\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Events Today',\n description: 'Currently, there are no events available.'\n }\n }\"\n :store=\"{\n read: (options) => events.read(options),\n state: events.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n limit: 9\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-3 gap-thin\"\n >\n <CardEvent \n @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n v-for=\"(event,index) in items\" \n :key=\"event._id\" \n :event=\"event\" \n :user=\"auth.state.user._id\" \n :type=\"'normal'\"\n class=\"bg-light radius-big\"\n >\n </CardEvent>\n </Feed>\n\n </div>\n\n </section>\n </section>\n</template>\n\n<script setup=\"props\">\n import { computed, onMounted, watch, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import Breadcrumbs from '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Popup from '@martyrs/src/components/Popup/Popup.vue'\n import DatePicker from '@martyrs/src/components/DatePicker/DatePicker.vue'\n\n import CitySelection from '@martyrs/src/modules/globals/views/components/partials/CitySelection.vue';\n\n import FeaturedEvents from '@martyrs/src/modules/events/components/sections/FeaturedEvents.vue'; \n import SelectDate from '@martyrs/src/modules/events/components/sections/SelectDate.vue'; \n\n import EventsHot from '@martyrs/src/modules/events/components/sections/EventsHot.vue'; \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n import CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n // Import state\n import * as auth from '@martyrs/src/modules/auth/views/store/auth'\n import * as organizations from '@martyrs/src/modules/organizations/store/organizations'\n import * as memberships from '@martyrs/src/modules/organizations/store/memberships'\n\n\n import * as events from '@martyrs/src/modules/events/store/events.js'; \n\n const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n };\n // State\n const route = useRoute();\n const router = useRouter();\n\n // let baseDate = new Date();\n // const formattedDate = formatDateForRouter(baseDate);\n \n // function formatDateForRouter(date) {\n // return `${date.getDate().toString().padStart(2, '0')}${(date.getMonth() + 1).toString().padStart(2, '0')}${date.getFullYear()}`;\n // }\n\n // if (route.query) {\n // const query = route.query;\n \n // const newFilterValue = {\n // tags: query.tags ? query.tags.split(',') : null,\n // date: query.date ? query.date : null,\n // };\n\n // events.state.filter = newFilterValue; // <-- Modified\n // } else {\n // const newFilterValue = {\n // date: formattedDate,\n // };\n\n // events.state.filter = newFilterValue;\n // }\n\n // watch(() => events.state.filter, (newFilterValue, oldFilterValue) => { // <-- Modified\n // const query = { ...route.query };\n\n // Object.keys(oldFilterValue).forEach(key => {\n // if (query[key]) {\n // delete query[key];\n // }\n // });\n\n // const newQueryValues = Object.fromEntries(\n // Object.entries(newFilterValue)\n // .filter(([key, value]) => (Array.isArray(value) && value.length > 0) || (typeof value === 'string' && value))\n // .map(([key, value]) => [key, Array.isArray(value) ? value.join(',') : value])\n // );\n // Object.assign(query, newQueryValues);\n\n // router.push({ query });\n // }, { deep: true })\n\n const isCitySelectionPopup = ref(false)\n\n function openCitySelectionPopup() {\n isCitySelectionPopup.value = true;\n }\n function closeCitySelectionPopup() {\n isCitySelectionPopup.value = false;\n }\n \n const handleDatePickerChange = (date) => {\n if (date) {\n // Убедимся, что у нас действительно объект даты\n const selectedDate = new Date(date);\n \n // Создаем начало дня в локальной временной зоне\n const startOfDay = new Date(selectedDate);\n startOfDay.setHours(0, 0, 0, 0);\n \n // Создаем конец дня в локальной временной зоне\n const endOfDay = new Date(selectedDate);\n endOfDay.setHours(23, 59, 59, 999);\n \n router.push({\n name: 'Events Search',\n query: {\n period: 'day',\n periodStart: startOfDay.toISOString(),\n periodEnd: endOfDay.toISOString()\n }\n });\n }\n };\n\n // Update the existing handleDateSelection method\n const handleDateSelection = (dateData) => {\n console.log('Selected date data:', dateData);\n router.push({\n name: 'Events Search',\n query: {\n periodStart: dateData.startDate.toISOString(),\n periodEnd: dateData.endDate.toISOString()\n }\n });\n };\n</script>\n\n<style lang=\"scss\">\n \n</style>\n"],"names":["memberships.mutations","organizations.state","useRoute","useRouter","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuKE,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FA,4BAAsB,uBAAuBC,cAAAA,MAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC/H;AAEaC,cAAQ,SAAA;AACtB,UAAM,SAASC,UAAAA,UAAW;AA6C1B,UAAM,uBAAuBC,IAAAA,IAAI,KAAK;AAEtC,aAAS,yBAAyB;AAChC,2BAAqB,QAAQ;AAAA,IACjC;AACE,aAAS,0BAA0B;AACjC,2BAAqB,QAAQ;AAAA,IACjC;AAEE,UAAM,yBAAyB,CAAC,SAAS;AACvC,UAAI,MAAM;AAER,cAAM,eAAe,IAAI,KAAK,IAAI;AAGlC,cAAM,aAAa,IAAI,KAAK,YAAY;AACxC,mBAAW,SAAS,GAAG,GAAG,GAAG,CAAC;AAG9B,cAAM,WAAW,IAAI,KAAK,YAAY;AACtC,iBAAS,SAAS,IAAI,IAAI,IAAI,GAAG;AAEjC,eAAO,KAAK;AAAA,UACV,MAAM;AAAA,UACN,OAAO;AAAA,YACL,QAAQ;AAAA,YACR,aAAa,WAAW,YAAa;AAAA,YACrC,WAAW,SAAS,YAAW;AAAA,UACzC;AAAA,QACA,CAAO;AAAA,MACP;AAAA,IACG;AAGD,UAAM,sBAAsB,CAAC,aAAa;AACxC,cAAQ,IAAI,uBAAuB,QAAQ;AAC3C,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,UACL,aAAa,SAAS,UAAU,YAAa;AAAA,UAC7C,WAAW,SAAS,QAAQ,YAAW;AAAA,QAC/C;AAAA,MACA,CAAK;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { watch, ref, createElementBlock, openBlock, createElementVNode, createVNode, createTextVNode, withCtx, Fragment, renderList, toDisplayString, createBlock } from "vue";
1
+ import { ref, createElementBlock, openBlock, createElementVNode, createVNode, createTextVNode, withCtx, Fragment, renderList, createBlock } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
@@ -6,79 +6,29 @@ import _sfc_main$6 from "../../../../components/Feed/Feed.vue.js";
6
6
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
7
7
  import _sfc_main$1 from "../../../../components/DatePicker/DatePicker.vue.js";
8
8
  import _sfc_main$3 from "../../../globals/views/components/partials/CitySelection.vue.js";
9
- import _sfc_main$5 from "../sections/FeaturedEvents.vue.js";
9
+ import FeaturedEvents from "../sections/FeaturedEvents.vue.js";
10
+ import _sfc_main$5 from "../sections/SelectDate.vue.js";
10
11
  import _sfc_main$4 from "../sections/EventsHot.vue.js";
11
- import _sfc_main$7 from "../blocks/CardEvent.vue.js";
12
- import _sfc_main$8 from "../../../organizations/components/blocks/CardOrganization.vue.js";
13
- import { state as state$1 } from "../../../auth/views/store/auth.js";
14
- import { state as state$2, actions } from "../../../organizations/store/organizations.js";
12
+ import _sfc_main$8 from "../blocks/CardEvent.vue.js";
13
+ import _sfc_main$7 from "../../../organizations/components/blocks/CardOrganization.vue.js";
14
+ import { state } from "../../../auth/views/store/auth.js";
15
+ import { state as state$1, actions } from "../../../organizations/store/organizations.js";
15
16
  import { mutations } from "../../../organizations/store/memberships.js";
16
- import { state, read } from "../../store/events.js";
17
- const _hoisted_1 = { class: "radius-tl-medium bg-white" };
18
- const _hoisted_2 = { class: "gap-medium pos-t-0 pos-sticky z-index-2 radius-medium" };
17
+ import { state as state$2, read } from "../../store/events.js";
18
+ const _hoisted_1 = { class: "bg-white" };
19
+ const _hoisted_2 = { class: "gap-medium pos-t-0 pos-sticky z-index-3 radius-medium" };
19
20
  const _hoisted_3 = { class: "pd-big mobile:pd-thin radius-tr-medium radius-tl-medium bg-white" };
20
- const _hoisted_4 = { class: "gap-medium radius-medium mn-b-big" };
21
- const _hoisted_5 = { class: "gap-medium radius-medium mn-b-thin" };
22
- const _hoisted_6 = { class: "gap-medium radius-medium mn-b-medium" };
23
- const _hoisted_7 = { class: "cols-4 gap-thin" };
24
- const _hoisted_8 = ["onClick"];
25
- const _hoisted_9 = { class: "t-medium" };
26
- const _hoisted_10 = { class: "text-small text-muted" };
27
- const _hoisted_11 = { class: "gap-medium radius-medium mn-b-medium" };
28
- const _hoisted_12 = { class: "gap-medium radius-medium mn-b-medium" };
29
- const _hoisted_13 = { class: "gap-medium radius-medium mn-b-thin" };
21
+ const _hoisted_4 = { class: "gap-medium radius-medium mn-b-semi" };
22
+ const _hoisted_5 = { class: "gap-medium radius-medium mn-b-semi" };
23
+ const _hoisted_6 = { class: "gap-medium radius-medium" };
30
24
  const _sfc_main = {
31
25
  __name: "Events",
32
26
  setup(__props) {
33
27
  const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
34
- mutations.handleMembershipUpdate(state$2.current, membership, status, target, statusName, statusNumber);
28
+ mutations.handleMembershipUpdate(state$1.current, membership, status, target, statusName, statusNumber);
35
29
  };
36
- const route = useRoute();
30
+ useRoute();
37
31
  const router = useRouter();
38
- let baseDate = /* @__PURE__ */ new Date();
39
- const formattedDate = formatDateForRouter(baseDate);
40
- const dateOptions = [
41
- { label: "Today", range: "Tue, 4th Feb" },
42
- { label: "Tomorrow", range: "Wed, 5th Feb" },
43
- { label: "This Weekend", range: "8th - 9th Feb" },
44
- { label: "This Week", range: "3rd - 9th Feb" },
45
- { label: "Next Weekend", range: "15th - 16th Feb" },
46
- { label: "Next Week", range: "10th - 16th Feb" },
47
- { label: "This Month", range: "1st - 28th Feb" },
48
- { label: "Custom Date", range: "Pick Range" }
49
- ];
50
- const selectDate = (date) => {
51
- console.log("Selected date:", date);
52
- };
53
- function formatDateForRouter(date) {
54
- return `${date.getDate().toString().padStart(2, "0")}${(date.getMonth() + 1).toString().padStart(2, "0")}${date.getFullYear()}`;
55
- }
56
- if (route.query) {
57
- const query = route.query;
58
- const newFilterValue = {
59
- tags: query.tags ? query.tags.split(",") : null,
60
- date: query.date ? query.date : null
61
- };
62
- state.filter = newFilterValue;
63
- } else {
64
- const newFilterValue = {
65
- date: formattedDate
66
- };
67
- state.filter = newFilterValue;
68
- }
69
- watch(() => state.filter, (newFilterValue, oldFilterValue) => {
70
- const query = { ...route.query };
71
- Object.keys(oldFilterValue).forEach((key) => {
72
- if (query[key]) {
73
- delete query[key];
74
- }
75
- });
76
- const newQueryValues = Object.fromEntries(
77
- Object.entries(newFilterValue).filter(([key, value]) => Array.isArray(value) && value.length > 0 || typeof value === "string" && value).map(([key, value]) => [key, Array.isArray(value) ? value.join(",") : value])
78
- );
79
- Object.assign(query, newQueryValues);
80
- router.push({ query });
81
- }, { deep: true });
82
32
  const isCitySelectionPopup = ref(false);
83
33
  function openCitySelectionPopup() {
84
34
  isCitySelectionPopup.value = true;
@@ -86,24 +36,50 @@ const _sfc_main = {
86
36
  function closeCitySelectionPopup() {
87
37
  isCitySelectionPopup.value = false;
88
38
  }
39
+ const handleDatePickerChange = (date) => {
40
+ if (date) {
41
+ const selectedDate = new Date(date);
42
+ const startOfDay = new Date(selectedDate);
43
+ startOfDay.setHours(0, 0, 0, 0);
44
+ const endOfDay = new Date(selectedDate);
45
+ endOfDay.setHours(23, 59, 59, 999);
46
+ router.push({
47
+ name: "Events Search",
48
+ query: {
49
+ period: "day",
50
+ periodStart: startOfDay.toISOString(),
51
+ periodEnd: endOfDay.toISOString()
52
+ }
53
+ });
54
+ }
55
+ };
56
+ const handleDateSelection = (dateData) => {
57
+ console.log("Selected date data:", dateData);
58
+ router.push({
59
+ name: "Events Search",
60
+ query: {
61
+ periodStart: dateData.startDate.toISOString(),
62
+ periodEnd: dateData.endDate.toISOString()
63
+ }
64
+ });
65
+ };
89
66
  return (_ctx, _cache) => {
90
67
  return openBlock(), createElementBlock("section", _hoisted_1, [
91
68
  createElementVNode("div", _hoisted_2, [
92
69
  createVNode(_sfc_main$1, {
93
- date: state.filter.date,
94
- "onUpdate:date": _cache[0] || (_cache[0] = ($event) => state.filter.date = $event),
70
+ "onUpdate:date": handleDatePickerChange,
95
71
  locale: _ctx.$i18n.locale,
96
72
  options: {
97
73
  dateStart: 0,
98
74
  dateEnd: 30
99
75
  },
100
76
  class: "bs-black-small br-b br-solid br-black-transp-10 o-hidden bg-white pd-l-zero pd-r-zero pd-medium"
101
- }, null, 8, ["date", "locale"])
77
+ }, null, 8, ["locale"])
102
78
  ]),
103
79
  createElementVNode("section", _hoisted_3, [
104
80
  createElementVNode("div", _hoisted_4, [
105
81
  createElementVNode("h2", { class: "mn-b-small" }, [
106
- _cache[1] || (_cache[1] = createTextVNode(" Events in ")),
82
+ _cache[0] || (_cache[0] = createTextVNode(" Events in ")),
107
83
  createElementVNode("p", {
108
84
  onClick: openCitySelectionPopup,
109
85
  class: "d-inline-block hover-bg-second hover-t-white cursor-pointer transition-elastic transition-timing-1 h2 pd-micro pd-t-thin pd-r-small pd-l-small br-solid br-1px br-black-transp-10 radius-extra"
@@ -119,73 +95,15 @@ const _sfc_main = {
119
95
  ]),
120
96
  _: 1
121
97
  }, 8, ["isPopupOpen"]),
122
- createVNode(_sfc_main$4, {
123
- options: {
124
- status: "featured"
125
- },
126
- class: "mn-big-negative pd-big"
127
- })
98
+ createVNode(_sfc_main$4, { options: {} })
128
99
  ]),
100
+ createVNode(FeaturedEvents, { class: "mn-b-semi" }),
101
+ createVNode(_sfc_main$5, {
102
+ class: "mn-b-semi",
103
+ onDateSelected: handleDateSelection
104
+ }),
129
105
  createElementVNode("div", _hoisted_5, [
130
- _cache[2] || (_cache[2] = createElementVNode("h3", { class: "mn-b-small" }, " Popular Events ", -1)),
131
- createVNode(_sfc_main$5, { class: "gap-thin" })
132
- ]),
133
- createElementVNode("div", _hoisted_6, [
134
- _cache[3] || (_cache[3] = createElementVNode("h3", { class: "mn-b-small" }, " Explore by Date ", -1)),
135
- createElementVNode("div", _hoisted_7, [
136
- (openBlock(), createElementBlock(Fragment, null, renderList(dateOptions, (date, index) => {
137
- return createElementVNode("div", {
138
- key: index,
139
- class: "bg-light radius-medium pd-medium cursor-pointer",
140
- onClick: ($event) => selectDate(date)
141
- }, [
142
- createElementVNode("h4", _hoisted_9, toDisplayString(date.label), 1),
143
- createElementVNode("div", _hoisted_10, toDisplayString(date.range), 1)
144
- ], 8, _hoisted_8);
145
- }), 64))
146
- ])
147
- ]),
148
- createElementVNode("div", _hoisted_11, [
149
- _cache[4] || (_cache[4] = createElementVNode("h3", { class: "mn-b-small" }, " Popular Events ", -1)),
150
- createVNode(_sfc_main$6, {
151
- showLoadMore: false,
152
- LoadMore: false,
153
- states: {
154
- empty: {
155
- title: "No Events Today",
156
- description: "Currently, there are no events available."
157
- }
158
- },
159
- store: {
160
- read: (options) => read(options),
161
- state
162
- },
163
- options: {
164
- user: state$1.user._id,
165
- limit: 3,
166
- page: 1
167
- },
168
- class: "cols-3 gap-thin"
169
- }, {
170
- default: withCtx(({
171
- items
172
- }) => [
173
- (openBlock(true), createElementBlock(Fragment, null, renderList(items, (event, index) => {
174
- return openBlock(), createBlock(_sfc_main$7, {
175
- onClick: ($event) => _ctx.$router.push({ name: "Event", params: { url: event.url } }),
176
- key: event._id,
177
- event,
178
- user: state$1.user._id,
179
- type: "normal",
180
- class: "bg-light radius-big mn-b-thin"
181
- }, null, 8, ["onClick", "event", "user"]);
182
- }), 128))
183
- ]),
184
- _: 1
185
- }, 8, ["store", "options"])
186
- ]),
187
- createElementVNode("div", _hoisted_12, [
188
- _cache[5] || (_cache[5] = createElementVNode("h3", { class: "mn-b-small" }, " Most Happening Organizers ", -1)),
106
+ _cache[1] || (_cache[1] = createElementVNode("h3", { class: "mn-b-small" }, " Most Happening Organizers ", -1)),
189
107
  createVNode(_sfc_main$6, {
190
108
  showLoadMore: false,
191
109
  LoadMore: false,
@@ -197,25 +115,25 @@ const _sfc_main = {
197
115
  },
198
116
  store: {
199
117
  read: (options) => actions.read(options),
200
- state: state$2
118
+ state: state$1
201
119
  },
202
120
  options: {
203
- user: state$1.user._id,
121
+ user: state.user._id,
204
122
  sort: "numberOfMemberships",
205
123
  contain: ["blogposts"],
206
124
  lookup: ["blogposts"],
207
- limit: 8
125
+ limit: 6
208
126
  },
209
- class: "cols-4 gap-thin"
127
+ class: "cols-2 gap-thin"
210
128
  }, {
211
129
  default: withCtx(({
212
130
  items
213
131
  }) => [
214
132
  (openBlock(true), createElementBlock(Fragment, null, renderList(items, (organization) => {
215
- return openBlock(), createBlock(_sfc_main$8, {
133
+ return openBlock(), createBlock(_sfc_main$7, {
216
134
  key: organization._id,
217
135
  organization,
218
- user: state$1.user,
136
+ user: state.user,
219
137
  showProducts: false,
220
138
  showRating: false,
221
139
  showFeatured: false,
@@ -228,8 +146,8 @@ const _sfc_main = {
228
146
  _: 1
229
147
  }, 8, ["store", "options"])
230
148
  ]),
231
- createElementVNode("div", _hoisted_13, [
232
- _cache[6] || (_cache[6] = createElementVNode("h3", { class: "mn-b-small" }, " All Events ", -1)),
149
+ createElementVNode("div", _hoisted_6, [
150
+ _cache[2] || (_cache[2] = createElementVNode("h3", { class: "mn-b-small" }, " All Events ", -1)),
233
151
  createVNode(_sfc_main$6, {
234
152
  search: true,
235
153
  showLoadMore: false,
@@ -241,11 +159,11 @@ const _sfc_main = {
241
159
  },
242
160
  store: {
243
161
  read: (options) => read(options),
244
- state
162
+ state: state$2
245
163
  },
246
164
  options: {
247
- user: state$1.user._id,
248
- limit: 10
165
+ user: state.user._id,
166
+ limit: 9
249
167
  },
250
168
  class: "cols-3 gap-thin"
251
169
  }, {
@@ -253,13 +171,13 @@ const _sfc_main = {
253
171
  items
254
172
  }) => [
255
173
  (openBlock(true), createElementBlock(Fragment, null, renderList(items, (event, index) => {
256
- return openBlock(), createBlock(_sfc_main$7, {
174
+ return openBlock(), createBlock(_sfc_main$8, {
257
175
  onClick: ($event) => _ctx.$router.push({ name: "Event", params: { url: event.url } }),
258
176
  key: event._id,
259
177
  event,
260
- user: state$1.user._id,
178
+ user: state.user._id,
261
179
  type: "normal",
262
- class: "bg-light radius-big mn-t-thin"
180
+ class: "bg-light radius-big"
263
181
  }, null, 8, ["onClick", "event", "user"]);
264
182
  }), 128))
265
183
  ]),