@ozdao/martyrs 0.2.454 → 0.2.455

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 (209) 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/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
  8. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
  9. package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
  10. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
  11. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs +2 -2
  12. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs.map +1 -1
  13. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +2 -2
  14. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  15. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +1 -1
  16. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
  17. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  18. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  19. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
  20. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
  21. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
  23. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  24. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  25. package/dist/martyrs/src/components/Media/Media.vue.cjs +2 -2
  26. package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
  27. package/dist/martyrs/src/components/Media/Media.vue.js +2 -2
  28. package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
  29. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs → Popup.vue2.cjs} +2 -2
  30. package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +1 -0
  31. package/dist/martyrs/src/components/Popup/{Popup.vue.js → Popup.vue2.js} +2 -2
  32. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs.map → Popup.vue2.js.map} +1 -1
  33. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.cjs → SelectMulti.vue.cjs} +2 -2
  34. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js.map → SelectMulti.vue.cjs.map} +1 -1
  35. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
  36. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
  37. package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs +229 -0
  38. package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs.map +1 -0
  39. package/dist/martyrs/src/components/Slider/Slider.native.vue.js +229 -0
  40. package/dist/martyrs/src/components/Slider/Slider.native.vue.js.map +1 -0
  41. package/dist/martyrs/src/components/Slider/Slider.vue.cjs +1 -1
  42. package/dist/martyrs/src/components/Slider/Slider.vue.js +1 -1
  43. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  44. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  49. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  51. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  53. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
  54. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
  55. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  57. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +1 -1
  59. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +30 -18
  60. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  61. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +30 -18
  62. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  63. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
  64. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  65. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -24
  68. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +6 -27
  70. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  71. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +51 -133
  72. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +67 -149
  74. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  75. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +3 -33
  76. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +3 -33
  78. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  79. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +98 -0
  80. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs.map +1 -0
  81. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +98 -0
  82. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js.map +1 -0
  83. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +3 -5
  84. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -1
  85. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +3 -5
  86. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  87. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs +8 -7
  88. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js +8 -7
  90. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  93. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +4 -4
  94. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +4 -4
  96. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  97. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +190 -0
  98. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -0
  99. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +190 -0
  100. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -0
  101. package/dist/martyrs/src/modules/events/router/events.cjs +15 -0
  102. package/dist/martyrs/src/modules/events/router/events.cjs.map +1 -1
  103. package/dist/martyrs/src/modules/events/router/events.js +15 -0
  104. package/dist/martyrs/src/modules/events/router/events.js.map +1 -1
  105. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  107. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  108. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  109. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  111. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
  112. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
  113. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +2 -1
  114. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
  115. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +1 -0
  116. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
  117. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  119. package/dist/martyrs/src/modules/globals/views/plugins/AlertDialog.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/globals/views/plugins/AlertDialog.vue.js +1 -1
  121. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  123. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  125. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
  126. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  127. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  129. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  131. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  132. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  133. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  135. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  137. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  138. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  139. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  141. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  142. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  143. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  145. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  147. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  149. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  151. package/dist/martyrs/src/modules/products/components/blocks/Images360.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/blocks/Images360.vue.js +1 -1
  153. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  155. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  157. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  159. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  160. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  161. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  163. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  164. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  165. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  167. package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
  169. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js +1 -1
  171. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
  172. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
  173. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  174. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  175. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  176. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  177. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  179. package/dist/martyrs.cjs.js +1 -1
  180. package/dist/martyrs.css +1 -1
  181. package/dist/martyrs.es.js +1 -1
  182. package/dist/organizations.server.js +0 -1
  183. package/dist/organizations.server.mjs +0 -1
  184. package/dist/style.css +93 -6
  185. package/package.json +1 -1
  186. package/src/components/DatePicker/DatePicker.vue +1 -1
  187. package/src/components/EmptyState/EmptyState.vue +1 -1
  188. package/src/components/Media/Media.vue +1 -1
  189. package/src/components/Slider/Slider.native.vue +313 -0
  190. package/src/modules/events/components/blocks/CardEvent.vue +21 -7
  191. package/src/modules/events/components/pages/Event.vue +0 -20
  192. package/src/modules/events/components/pages/Events.vue +91 -141
  193. package/src/modules/events/components/pages/EventsBackoffice.vue +5 -3
  194. package/src/modules/events/components/pages/EventsSearch.vue +122 -0
  195. package/src/modules/events/components/sections/EventsHot.vue +3 -5
  196. package/src/modules/events/components/sections/FeaturedEvents.vue +44 -12
  197. package/src/modules/events/components/sections/List.vue +3 -3
  198. package/src/modules/events/components/sections/SelectDate.vue +217 -0
  199. package/src/modules/events/router/events.js +12 -0
  200. package/src/modules/globals/views/components/layouts/App.vue +1 -0
  201. package/src/modules/organizations/policies/organizations.policies.js +0 -1
  202. package/src/modules/products/components/pages/Product.old.vue +201 -0
  203. package/src/styles/base/all.scss +1 -0
  204. package/src/styles/typography.scss +22 -0
  205. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
  206. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
  207. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  208. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +0 -1
  209. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Events.vue.js","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","events.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6OE,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FA,gBAAsB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC/H;AAED,UAAM,QAAQ,SAAU;AACxB,UAAM,SAAS,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,YAAa,SAAS;AAAA,IAC1B,OAAS;AACL,YAAM,iBAAiB;AAAA,QACrB,MAAM;AAAA,MACP;AAEDA,YAAa,SAAS;AAAA,IAC1B;AAEE,UAAM,MAAMA,MAAa,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,uBAAuB,IAAI,KAAK;AAEtC,aAAS,yBAAyB;AAChC,2BAAqB,QAAQ;AAAA,IACjC;AACE,aAAS,0BAA0B;AACjC,2BAAqB,QAAQ;AAAA,IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Events.vue.js","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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAuKE,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FA,gBAAsB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC/H;AAEa,aAAQ;AACtB,UAAM,SAAS,UAAW;AA6C1B,UAAM,uBAAuB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,6 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
- const Table = require("../../../../components/Table/Table.vue.cjs");
8
7
  const CardEvent = require("../blocks/CardEvent.vue.cjs");
9
8
  const auth = require("../../../auth/views/store/auth.cjs");
10
9
  const events = require("../../store/events.cjs");
@@ -100,44 +99,15 @@ const _sfc_main = {
100
99
  options: {
101
100
  user: auth.state.user._id,
102
101
  owner: vue.unref(route).params._id,
103
- creator: vue.unref(route).params.user
102
+ creator: vue.unref(route).params.user,
103
+ sortParam: "date.start",
104
+ sortOrder: "desc"
104
105
  },
105
106
  class: "cols-1 gap-thin"
106
107
  }, {
107
108
  default: vue.withCtx(({
108
109
  items
109
110
  }) => [
110
- vue.createVNode(Table.default, {
111
- class: "radius-semi bg-white",
112
- items,
113
- columns: [
114
- {
115
- key: "_id",
116
- label: "ID",
117
- formatter: (value) => `#${value.slice(0, 4)}...${value.slice(-4)}`
118
- },
119
- {
120
- key: "name",
121
- label: "Name",
122
- formatter: (value) => `${value}`
123
- },
124
- {
125
- key: "tickets",
126
- label: "Tickets",
127
- formatter: (value) => (value == null ? void 0 : value.length) || 0
128
- },
129
- {
130
- key: "status",
131
- label: "Status",
132
- component: _ctx.StatusBadge
133
- },
134
- {
135
- key: "date.start",
136
- label: "Date",
137
- formatter: (value) => new Date(value).toLocaleDateString()
138
- }
139
- ]
140
- }, null, 8, ["items", "columns"]),
141
111
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (event, index) => {
142
112
  return vue.openBlock(), vue.createBlock(CardEvent.default, {
143
113
  onClick: ($event) => _ctx.$router.push({ name: "Event", params: { url: event.url } }),
@@ -1 +1 @@
1
- {"version":3,"file":"EventsBackoffice.vue.cjs","sources":["../../../../../../../src/modules/events/components/pages/EventsBackoffice.vue"],"sourcesContent":["<template>\n\t<div \n\t\tclass=\"\"\n\t>\n\t\t<header \n\t\t\tclass=\"mn-b-medium pd-thin flex-v-center flex-nowrap flex\"\n\t\t>\n \t<h2\n \t\tclass=\"mn-r-medium\"\n \t>\n \t\tEvents\n \t</h2>\n \t\n \t<button \n \t\tv-if=\"auth.state.user._id === route.params.user || route.params._id\"\n \t\t@click=\"router.push({name: 'Create Event'})\" \n \t\tclass=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n \t>\n \t\t+\n \t</button>\n\t\t</header>\n\n\t\t<section class=\"pd-thin rows-1 bg-white\">\n\n\t\t\t<Tab \n\t\t\t\tv-if=\"auth.state.user._id === route.params.user\"\n\t\t\t\tv-model:selected=\"tabEventOwner\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{ name: 'Organizer', \tvalue: 'owner' },\n\t\t\t\t\t{ name: 'Participant', \tvalue: 'participant' },\t\n\t\t\t\t]\"\n\t\t\t\tclass=\"\n\t\t\t\t\tmn-b-thin\n\t\t\t\t\tflex-child-default\n\t\t\t\t\th-max\n\t\t\t\t\to-hidden \n\t\t\t\t\th5 \n\t\t\t\t\tbg-white\n\t\t\t\t\tgap-micro pd-t-thin pd-b-thin\n\t\t\t\t\tbr-b br-solid br-black-transp\n\t\t\t\t\"\n\t\t\t\ttabClass=\"bg-light pd-small radius-small w-100\"\n\t\t\t/>\n\n\t\t\t<Feed\n\t\t\t\t:search=\"true\"\n\t\t\t\tv-model:sort=\"sort\"\n\t\t\t\tv-model:filter=\"filter\"\n\t :states=\"{\n\t empty: {\n\t title: 'No Events Found',\n\t description: 'Currently, there are no events available.'\n\t }\n\t }\"\n\t :store=\"{\n\t read: (options) => events.read(options),\n\t }\"\n\t :options=\"{\n\t user: auth.state.user._id,\n\t owner: route.params._id,\n\t creator: route.params.user\n\t }\"\n\t v-slot=\"{ \n\t items \n\t }\"\n\t class=\"cols-1 gap-thin\"\n\t >\n\t \t<Table \n\t\t\t\t\t\tclass=\"radius-semi bg-white\"\n\t\t\t\t\t\t:items=\"items\"\n\t\t\t\t\t\t:columns=\"[{ \n\t\t\t\t\t key: '_id', \n\t\t\t\t\t label: 'ID',\n\t\t\t\t\t\t\tformatter: (value) => `#${value.slice(0, 4)}...${value.slice(-4)}` \n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'name', \n\t\t\t\t\t label: 'Name',\n\t\t\t\t\t formatter: (value) => `${value}`\n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'tickets', \n\t\t\t\t\t label: 'Tickets',\n\t\t\t\t\t formatter: (value) => value?.length || 0\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'status',\n\t\t\t\t\t label: 'Status',\n\t\t\t\t\t component: StatusBadge\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'date.start',\n\t\t\t\t\t label: 'Date',\n\t\t\t\t\t formatter: (value) => new Date(value).toLocaleDateString()\n\t\t\t\t\t }]\" \n\t\t\t\t\t/>\n\t <CardEvent \n\t @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n\t v-for=\"(event,index) in items\" \n\t :key=\"event._id\" \n\t :event=\"event\" \n\t :user=\"auth.state.user._id\" \n\t :type=\"'normal'\"\n\t class=\"bg-light radius-big\"\n\t >\n\n\t\t\t <div \n\t\t\t v-if=\"route.params._id || route.params.user && hasAccess(route.params._id, 'events', 'read', auth.state.accesses, auth.state.access.roles)\"\n\t\t\t class=\"mn-b-semi w-100 bg-second button t-white uppercase\"\n\t\t\t @click.stop=\"router.push({\n\t\t\t name: 'Edit Event Tickets',\n\t\t\t params: {\n\t\t\t url: event.url\n\t\t\t }\n\t\t\t })\"\n\t\t\t >\n\t\t\t Manage Tickets\n\t\t\t </div>\n\t </CardEvent>\n\t </Feed>\n\t </section>\n\n <!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='owner'\"\n\t \t:user=\"auth.state.user._id\"\n\t\t\t:creator=\"route.params.user\"\n\t\t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'asc'\"\n\t\t/> -->\n\n\n\t\t<!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='participant'\"\n \t\t:user=\"auth.state.user._id\"\n \t\t:participant=\"route.params.user\"\n \t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'desc'\"\n\t\t/> -->\n\t</div>\n</template>\n\n<script setup>\n\timport { watch, ref } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Components\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\nimport Table from '@martyrs/src/components/Table/Table.vue'\n\n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as events from '@martyrs/src/modules/events/store/events.js'; \n\t// Accessing router\n\tconst route = useRoute()\n\tconst router = useRouter()\n\t// State\n\tlet tab = route.query.tab ? route.query.tab : 'owner';\n\n\tconst tabEventOwner = ref(tab)\n\n\troute.query.tab = tabEventOwner.value\n\n\tlet filter = ref({\n active: false,\n class: '',\n selected: {},\n options: [{\n title: 'Delivery',\n value: 'delivery',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' }\n ]\n },{\n title: 'Prices', \n value: 'prices',\n options: [\n { label: 'Under 300฿', value: '<300' },\n { label: '300฿ to 600฿', value: '300-600' },\n { label: '600฿ to 1200฿', value: '600-1200' },\n { label: '$1200 and above', value: '>1200' }\n ]\n }],\n })\n\n let sort = ref({\n param: 'distance',\n order: 'asc',\n options: [{\n label: 'Distance',\n value: 'distance'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Products',\n value: 'numberOfProducts'\n }]\n })\n\n\twatch(tabEventOwner, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>"],"names":["useRoute","useRouter","ref","watch"],"mappings":";;;;;;;;;;;;;;;;;AA2JC,UAAM,QAAQA,UAAQ,SAAA;AACtB,UAAM,SAASC,UAAS,UAAA;AAExB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,gBAAgBC,IAAAA,IAAI,GAAG;AAE7B,UAAM,MAAM,MAAM,cAAc;AAEhC,QAAI,SAASA,IAAAA,IAAI;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU,CAAE;AAAA,MACZ,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,UAAU,OAAO,SAAU;AAAA,UACpC,EAAE,OAAO,WAAW,OAAO,UAAW;AAAA,UACtC,EAAE,OAAO,QAAQ,OAAO,OAAM;AAAA,QACtC;AAAA,MACA,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,cAAqB,OAAO,OAAQ;AAAA,UAC7C,EAAE,OAAO,gBAAqB,OAAO,UAAW;AAAA,UAChD,EAAE,OAAO,iBAAqB,OAAO,WAAY;AAAA,UACjD,EAAE,OAAO,mBAAqB,OAAO,QAAO;AAAA,QACpD;AAAA,MACA,CAAK;AAAA,IACF,CAAA;AAED,QAAI,OAAOA,IAAAA,IAAI;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACR,CAAA;AAAA,IACF,CAAA;AAEFC,cAAM,eAAe,CAAC,aAAa;AACjC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EventsBackoffice.vue.cjs","sources":["../../../../../../../src/modules/events/components/pages/EventsBackoffice.vue"],"sourcesContent":["<template>\n\t<div \n\t\tclass=\"\"\n\t>\n\t\t<header \n\t\t\tclass=\"mn-b-medium pd-thin flex-v-center flex-nowrap flex\"\n\t\t>\n \t<h2\n \t\tclass=\"mn-r-medium\"\n \t>\n \t\tEvents\n \t</h2>\n \t\n \t<button \n \t\tv-if=\"auth.state.user._id === route.params.user || route.params._id\"\n \t\t@click=\"router.push({name: 'Create Event'})\" \n \t\tclass=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n \t>\n \t\t+\n \t</button>\n\t\t</header>\n\n\t\t<section class=\"pd-thin rows-1 bg-white\">\n\n\t\t\t<Tab \n\t\t\t\tv-if=\"auth.state.user._id === route.params.user\"\n\t\t\t\tv-model:selected=\"tabEventOwner\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{ name: 'Organizer', \tvalue: 'owner' },\n\t\t\t\t\t{ name: 'Participant', \tvalue: 'participant' },\t\n\t\t\t\t]\"\n\t\t\t\tclass=\"\n\t\t\t\t\tmn-b-thin\n\t\t\t\t\tflex-child-default\n\t\t\t\t\th-max\n\t\t\t\t\to-hidden \n\t\t\t\t\th5 \n\t\t\t\t\tbg-white\n\t\t\t\t\tgap-micro pd-t-thin pd-b-thin\n\t\t\t\t\tbr-b br-solid br-black-transp\n\t\t\t\t\"\n\t\t\t\ttabClass=\"bg-light pd-small radius-small w-100\"\n\t\t\t/>\n\n\t\t\t<Feed\n\t\t\t\t:search=\"true\"\n\t\t\t\tv-model:sort=\"sort\"\n\t\t\t\tv-model:filter=\"filter\"\n\t :states=\"{\n\t empty: {\n\t title: 'No Events Found',\n\t description: 'Currently, there are no events available.'\n\t }\n\t }\"\n\t :store=\"{\n\t read: (options) => events.read(options),\n\t }\"\n\t :options=\"{\n\t user: auth.state.user._id,\n\t owner: route.params._id,\n\t creator: route.params.user,\n\t sortParam: 'date.start',\n\t sortOrder: 'desc'\n\t }\"\n\t v-slot=\"{ \n\t items \n\t }\"\n\t class=\"cols-1 gap-thin\"\n\t >\n\t \t<!-- <Table \n\t\t\t\t\t\tclass=\"radius-semi bg-white\"\n\t\t\t\t\t\t:items=\"items\"\n\t\t\t\t\t\t:columns=\"[{ \n\t\t\t\t\t key: '_id', \n\t\t\t\t\t label: 'ID',\n\t\t\t\t\t\t\tformatter: (value) => `#${value.slice(0, 4)}...${value.slice(-4)}` \n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'name', \n\t\t\t\t\t label: 'Name',\n\t\t\t\t\t formatter: (value) => `${value}`\n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'tickets', \n\t\t\t\t\t label: 'Tickets',\n\t\t\t\t\t formatter: (value) => value?.length || 0\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'status',\n\t\t\t\t\t label: 'Status',\n\t\t\t\t\t component: StatusBadge\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'date.start',\n\t\t\t\t\t label: 'Date',\n\t\t\t\t\t formatter: (value) => new Date(value).toLocaleDateString()\n\t\t\t\t\t }]\" \n\t\t\t\t\t/> -->\n\t <CardEvent \n\t @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n\t v-for=\"(event,index) in items\" \n\t :key=\"event._id\" \n\t :event=\"event\" \n\t :user=\"auth.state.user._id\" \n\t :type=\"'normal'\"\n\t class=\"bg-light radius-big\"\n\t >\n\n\t\t\t <div \n\t\t\t v-if=\"route.params._id || route.params.user && hasAccess(route.params._id, 'events', 'read', auth.state.accesses, auth.state.access.roles)\"\n\t\t\t class=\"mn-b-semi w-100 bg-second button t-white uppercase\"\n\t\t\t @click.stop=\"router.push({\n\t\t\t name: 'Edit Event Tickets',\n\t\t\t params: {\n\t\t\t url: event.url\n\t\t\t }\n\t\t\t })\"\n\t\t\t >\n\t\t\t Manage Tickets\n\t\t\t </div>\n\t </CardEvent>\n\t </Feed>\n\t </section>\n\n <!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='owner'\"\n\t \t:user=\"auth.state.user._id\"\n\t\t\t:creator=\"route.params.user\"\n\t\t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'asc'\"\n\t\t/> -->\n\n\n\t\t<!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='participant'\"\n \t\t:user=\"auth.state.user._id\"\n \t\t:participant=\"route.params.user\"\n \t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'desc'\"\n\t\t/> -->\n\t</div>\n</template>\n\n<script setup>\n\timport { watch, ref } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Components\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\nimport Table from '@martyrs/src/components/Table/Table.vue'\n\n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as events from '@martyrs/src/modules/events/store/events.js'; \n\t// Accessing router\n\tconst route = useRoute()\n\tconst router = useRouter()\n\t// State\n\tlet tab = route.query.tab ? route.query.tab : 'owner';\n\n\tconst tabEventOwner = ref(tab)\n\n\troute.query.tab = tabEventOwner.value\n\n\tlet filter = ref({\n active: false,\n class: '',\n selected: {},\n options: [{\n title: 'Delivery',\n value: 'delivery',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' }\n ]\n },{\n title: 'Prices', \n value: 'prices',\n options: [\n { label: 'Under 300฿', value: '<300' },\n { label: '300฿ to 600฿', value: '300-600' },\n { label: '600฿ to 1200฿', value: '600-1200' },\n { label: '$1200 and above', value: '>1200' }\n ]\n }],\n })\n\n let sort = ref({\n param: 'distance',\n order: 'asc',\n options: [{\n label: 'Distance',\n value: 'distance'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Products',\n value: 'numberOfProducts'\n }]\n })\n\n\twatch(tabEventOwner, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>"],"names":["useRoute","useRouter","ref","watch"],"mappings":";;;;;;;;;;;;;;;;AA6JC,UAAM,QAAQA,UAAQ,SAAA;AACtB,UAAM,SAASC,UAAS,UAAA;AAExB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,gBAAgBC,IAAAA,IAAI,GAAG;AAE7B,UAAM,MAAM,MAAM,cAAc;AAEhC,QAAI,SAASA,IAAAA,IAAI;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU,CAAE;AAAA,MACZ,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,UAAU,OAAO,SAAU;AAAA,UACpC,EAAE,OAAO,WAAW,OAAO,UAAW;AAAA,UACtC,EAAE,OAAO,QAAQ,OAAO,OAAM;AAAA,QACtC;AAAA,MACA,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,cAAqB,OAAO,OAAQ;AAAA,UAC7C,EAAE,OAAO,gBAAqB,OAAO,UAAW;AAAA,UAChD,EAAE,OAAO,iBAAqB,OAAO,WAAY;AAAA,UACjD,EAAE,OAAO,mBAAqB,OAAO,QAAO;AAAA,QACpD;AAAA,MACA,CAAK;AAAA,IACF,CAAA;AAED,QAAI,OAAOA,IAAAA,IAAI;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACR,CAAA;AAAA,IACF,CAAA;AAEFC,cAAM,eAAe,CAAC,aAAa;AACjC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,6 @@ import { ref, watch, createElementBlock, openBlock, createElementVNode, createCo
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
5
- import Table from "../../../../components/Table/Table.vue.js";
6
5
  import _sfc_main$3 from "../blocks/CardEvent.vue.js";
7
6
  import { state } from "../../../auth/views/store/auth.js";
8
7
  import { read } from "../../store/events.js";
@@ -98,44 +97,15 @@ const _sfc_main = {
98
97
  options: {
99
98
  user: state.user._id,
100
99
  owner: unref(route).params._id,
101
- creator: unref(route).params.user
100
+ creator: unref(route).params.user,
101
+ sortParam: "date.start",
102
+ sortOrder: "desc"
102
103
  },
103
104
  class: "cols-1 gap-thin"
104
105
  }, {
105
106
  default: withCtx(({
106
107
  items
107
108
  }) => [
108
- createVNode(Table, {
109
- class: "radius-semi bg-white",
110
- items,
111
- columns: [
112
- {
113
- key: "_id",
114
- label: "ID",
115
- formatter: (value) => `#${value.slice(0, 4)}...${value.slice(-4)}`
116
- },
117
- {
118
- key: "name",
119
- label: "Name",
120
- formatter: (value) => `${value}`
121
- },
122
- {
123
- key: "tickets",
124
- label: "Tickets",
125
- formatter: (value) => (value == null ? void 0 : value.length) || 0
126
- },
127
- {
128
- key: "status",
129
- label: "Status",
130
- component: _ctx.StatusBadge
131
- },
132
- {
133
- key: "date.start",
134
- label: "Date",
135
- formatter: (value) => new Date(value).toLocaleDateString()
136
- }
137
- ]
138
- }, null, 8, ["items", "columns"]),
139
109
  (openBlock(true), createElementBlock(Fragment, null, renderList(items, (event, index) => {
140
110
  return openBlock(), createBlock(_sfc_main$3, {
141
111
  onClick: ($event) => _ctx.$router.push({ name: "Event", params: { url: event.url } }),
@@ -1 +1 @@
1
- {"version":3,"file":"EventsBackoffice.vue.js","sources":["../../../../../../../src/modules/events/components/pages/EventsBackoffice.vue"],"sourcesContent":["<template>\n\t<div \n\t\tclass=\"\"\n\t>\n\t\t<header \n\t\t\tclass=\"mn-b-medium pd-thin flex-v-center flex-nowrap flex\"\n\t\t>\n \t<h2\n \t\tclass=\"mn-r-medium\"\n \t>\n \t\tEvents\n \t</h2>\n \t\n \t<button \n \t\tv-if=\"auth.state.user._id === route.params.user || route.params._id\"\n \t\t@click=\"router.push({name: 'Create Event'})\" \n \t\tclass=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n \t>\n \t\t+\n \t</button>\n\t\t</header>\n\n\t\t<section class=\"pd-thin rows-1 bg-white\">\n\n\t\t\t<Tab \n\t\t\t\tv-if=\"auth.state.user._id === route.params.user\"\n\t\t\t\tv-model:selected=\"tabEventOwner\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{ name: 'Organizer', \tvalue: 'owner' },\n\t\t\t\t\t{ name: 'Participant', \tvalue: 'participant' },\t\n\t\t\t\t]\"\n\t\t\t\tclass=\"\n\t\t\t\t\tmn-b-thin\n\t\t\t\t\tflex-child-default\n\t\t\t\t\th-max\n\t\t\t\t\to-hidden \n\t\t\t\t\th5 \n\t\t\t\t\tbg-white\n\t\t\t\t\tgap-micro pd-t-thin pd-b-thin\n\t\t\t\t\tbr-b br-solid br-black-transp\n\t\t\t\t\"\n\t\t\t\ttabClass=\"bg-light pd-small radius-small w-100\"\n\t\t\t/>\n\n\t\t\t<Feed\n\t\t\t\t:search=\"true\"\n\t\t\t\tv-model:sort=\"sort\"\n\t\t\t\tv-model:filter=\"filter\"\n\t :states=\"{\n\t empty: {\n\t title: 'No Events Found',\n\t description: 'Currently, there are no events available.'\n\t }\n\t }\"\n\t :store=\"{\n\t read: (options) => events.read(options),\n\t }\"\n\t :options=\"{\n\t user: auth.state.user._id,\n\t owner: route.params._id,\n\t creator: route.params.user\n\t }\"\n\t v-slot=\"{ \n\t items \n\t }\"\n\t class=\"cols-1 gap-thin\"\n\t >\n\t \t<Table \n\t\t\t\t\t\tclass=\"radius-semi bg-white\"\n\t\t\t\t\t\t:items=\"items\"\n\t\t\t\t\t\t:columns=\"[{ \n\t\t\t\t\t key: '_id', \n\t\t\t\t\t label: 'ID',\n\t\t\t\t\t\t\tformatter: (value) => `#${value.slice(0, 4)}...${value.slice(-4)}` \n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'name', \n\t\t\t\t\t label: 'Name',\n\t\t\t\t\t formatter: (value) => `${value}`\n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'tickets', \n\t\t\t\t\t label: 'Tickets',\n\t\t\t\t\t formatter: (value) => value?.length || 0\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'status',\n\t\t\t\t\t label: 'Status',\n\t\t\t\t\t component: StatusBadge\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'date.start',\n\t\t\t\t\t label: 'Date',\n\t\t\t\t\t formatter: (value) => new Date(value).toLocaleDateString()\n\t\t\t\t\t }]\" \n\t\t\t\t\t/>\n\t <CardEvent \n\t @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n\t v-for=\"(event,index) in items\" \n\t :key=\"event._id\" \n\t :event=\"event\" \n\t :user=\"auth.state.user._id\" \n\t :type=\"'normal'\"\n\t class=\"bg-light radius-big\"\n\t >\n\n\t\t\t <div \n\t\t\t v-if=\"route.params._id || route.params.user && hasAccess(route.params._id, 'events', 'read', auth.state.accesses, auth.state.access.roles)\"\n\t\t\t class=\"mn-b-semi w-100 bg-second button t-white uppercase\"\n\t\t\t @click.stop=\"router.push({\n\t\t\t name: 'Edit Event Tickets',\n\t\t\t params: {\n\t\t\t url: event.url\n\t\t\t }\n\t\t\t })\"\n\t\t\t >\n\t\t\t Manage Tickets\n\t\t\t </div>\n\t </CardEvent>\n\t </Feed>\n\t </section>\n\n <!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='owner'\"\n\t \t:user=\"auth.state.user._id\"\n\t\t\t:creator=\"route.params.user\"\n\t\t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'asc'\"\n\t\t/> -->\n\n\n\t\t<!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='participant'\"\n \t\t:user=\"auth.state.user._id\"\n \t\t:participant=\"route.params.user\"\n \t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'desc'\"\n\t\t/> -->\n\t</div>\n</template>\n\n<script setup>\n\timport { watch, ref } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Components\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\nimport Table from '@martyrs/src/components/Table/Table.vue'\n\n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as events from '@martyrs/src/modules/events/store/events.js'; \n\t// Accessing router\n\tconst route = useRoute()\n\tconst router = useRouter()\n\t// State\n\tlet tab = route.query.tab ? route.query.tab : 'owner';\n\n\tconst tabEventOwner = ref(tab)\n\n\troute.query.tab = tabEventOwner.value\n\n\tlet filter = ref({\n active: false,\n class: '',\n selected: {},\n options: [{\n title: 'Delivery',\n value: 'delivery',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' }\n ]\n },{\n title: 'Prices', \n value: 'prices',\n options: [\n { label: 'Under 300฿', value: '<300' },\n { label: '300฿ to 600฿', value: '300-600' },\n { label: '600฿ to 1200฿', value: '600-1200' },\n { label: '$1200 and above', value: '>1200' }\n ]\n }],\n })\n\n let sort = ref({\n param: 'distance',\n order: 'asc',\n options: [{\n label: 'Distance',\n value: 'distance'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Products',\n value: 'numberOfProducts'\n }]\n })\n\n\twatch(tabEventOwner, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;AA2JC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,gBAAgB,IAAI,GAAG;AAE7B,UAAM,MAAM,MAAM,cAAc;AAEhC,QAAI,SAAS,IAAI;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU,CAAE;AAAA,MACZ,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,UAAU,OAAO,SAAU;AAAA,UACpC,EAAE,OAAO,WAAW,OAAO,UAAW;AAAA,UACtC,EAAE,OAAO,QAAQ,OAAO,OAAM;AAAA,QACtC;AAAA,MACA,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,cAAqB,OAAO,OAAQ;AAAA,UAC7C,EAAE,OAAO,gBAAqB,OAAO,UAAW;AAAA,UAChD,EAAE,OAAO,iBAAqB,OAAO,WAAY;AAAA,UACjD,EAAE,OAAO,mBAAqB,OAAO,QAAO;AAAA,QACpD;AAAA,MACA,CAAK;AAAA,IACF,CAAA;AAED,QAAI,OAAO,IAAI;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACR,CAAA;AAAA,IACF,CAAA;AAEF,UAAM,eAAe,CAAC,aAAa;AACjC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EventsBackoffice.vue.js","sources":["../../../../../../../src/modules/events/components/pages/EventsBackoffice.vue"],"sourcesContent":["<template>\n\t<div \n\t\tclass=\"\"\n\t>\n\t\t<header \n\t\t\tclass=\"mn-b-medium pd-thin flex-v-center flex-nowrap flex\"\n\t\t>\n \t<h2\n \t\tclass=\"mn-r-medium\"\n \t>\n \t\tEvents\n \t</h2>\n \t\n \t<button \n \t\tv-if=\"auth.state.user._id === route.params.user || route.params._id\"\n \t\t@click=\"router.push({name: 'Create Event'})\" \n \t\tclass=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n \t>\n \t\t+\n \t</button>\n\t\t</header>\n\n\t\t<section class=\"pd-thin rows-1 bg-white\">\n\n\t\t\t<Tab \n\t\t\t\tv-if=\"auth.state.user._id === route.params.user\"\n\t\t\t\tv-model:selected=\"tabEventOwner\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{ name: 'Organizer', \tvalue: 'owner' },\n\t\t\t\t\t{ name: 'Participant', \tvalue: 'participant' },\t\n\t\t\t\t]\"\n\t\t\t\tclass=\"\n\t\t\t\t\tmn-b-thin\n\t\t\t\t\tflex-child-default\n\t\t\t\t\th-max\n\t\t\t\t\to-hidden \n\t\t\t\t\th5 \n\t\t\t\t\tbg-white\n\t\t\t\t\tgap-micro pd-t-thin pd-b-thin\n\t\t\t\t\tbr-b br-solid br-black-transp\n\t\t\t\t\"\n\t\t\t\ttabClass=\"bg-light pd-small radius-small w-100\"\n\t\t\t/>\n\n\t\t\t<Feed\n\t\t\t\t:search=\"true\"\n\t\t\t\tv-model:sort=\"sort\"\n\t\t\t\tv-model:filter=\"filter\"\n\t :states=\"{\n\t empty: {\n\t title: 'No Events Found',\n\t description: 'Currently, there are no events available.'\n\t }\n\t }\"\n\t :store=\"{\n\t read: (options) => events.read(options),\n\t }\"\n\t :options=\"{\n\t user: auth.state.user._id,\n\t owner: route.params._id,\n\t creator: route.params.user,\n\t sortParam: 'date.start',\n\t sortOrder: 'desc'\n\t }\"\n\t v-slot=\"{ \n\t items \n\t }\"\n\t class=\"cols-1 gap-thin\"\n\t >\n\t \t<!-- <Table \n\t\t\t\t\t\tclass=\"radius-semi bg-white\"\n\t\t\t\t\t\t:items=\"items\"\n\t\t\t\t\t\t:columns=\"[{ \n\t\t\t\t\t key: '_id', \n\t\t\t\t\t label: 'ID',\n\t\t\t\t\t\t\tformatter: (value) => `#${value.slice(0, 4)}...${value.slice(-4)}` \n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'name', \n\t\t\t\t\t label: 'Name',\n\t\t\t\t\t formatter: (value) => `${value}`\n\t\t\t\t\t },\n\t\t\t\t\t { \n\t\t\t\t\t key: 'tickets', \n\t\t\t\t\t label: 'Tickets',\n\t\t\t\t\t formatter: (value) => value?.length || 0\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'status',\n\t\t\t\t\t label: 'Status',\n\t\t\t\t\t component: StatusBadge\n\t\t\t\t\t },\n\t\t\t\t\t {\n\t\t\t\t\t key: 'date.start',\n\t\t\t\t\t label: 'Date',\n\t\t\t\t\t formatter: (value) => new Date(value).toLocaleDateString()\n\t\t\t\t\t }]\" \n\t\t\t\t\t/> -->\n\t <CardEvent \n\t @click=\"$router.push({name: 'Event', params: {url: event.url}})\" \n\t v-for=\"(event,index) in items\" \n\t :key=\"event._id\" \n\t :event=\"event\" \n\t :user=\"auth.state.user._id\" \n\t :type=\"'normal'\"\n\t class=\"bg-light radius-big\"\n\t >\n\n\t\t\t <div \n\t\t\t v-if=\"route.params._id || route.params.user && hasAccess(route.params._id, 'events', 'read', auth.state.accesses, auth.state.access.roles)\"\n\t\t\t class=\"mn-b-semi w-100 bg-second button t-white uppercase\"\n\t\t\t @click.stop=\"router.push({\n\t\t\t name: 'Edit Event Tickets',\n\t\t\t params: {\n\t\t\t url: event.url\n\t\t\t }\n\t\t\t })\"\n\t\t\t >\n\t\t\t Manage Tickets\n\t\t\t </div>\n\t </CardEvent>\n\t </Feed>\n\t </section>\n\n <!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='owner'\"\n\t \t:user=\"auth.state.user._id\"\n\t\t\t:creator=\"route.params.user\"\n\t\t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'asc'\"\n\t\t/> -->\n\n\n\t\t<!-- <Feed \n\t\t\tv-if=\"tabEventOwner ==='participant'\"\n \t\t:user=\"auth.state.user._id\"\n \t\t:participant=\"route.params.user\"\n \t\t:owner=\"route.params._id\"\n\t\t\t:sortOrder=\"'desc'\"\n\t\t/> -->\n\t</div>\n</template>\n\n<script setup>\n\timport { watch, ref } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Components\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\nimport Table from '@martyrs/src/components/Table/Table.vue'\n\n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as events from '@martyrs/src/modules/events/store/events.js'; \n\t// Accessing router\n\tconst route = useRoute()\n\tconst router = useRouter()\n\t// State\n\tlet tab = route.query.tab ? route.query.tab : 'owner';\n\n\tconst tabEventOwner = ref(tab)\n\n\troute.query.tab = tabEventOwner.value\n\n\tlet filter = ref({\n active: false,\n class: '',\n selected: {},\n options: [{\n title: 'Delivery',\n value: 'delivery',\n options: [\n { label: 'Pickup', value: 'pickup' },\n { label: 'Courier', value: 'courier' },\n { label: 'Post', value: 'post' }\n ]\n },{\n title: 'Prices', \n value: 'prices',\n options: [\n { label: 'Under 300฿', value: '<300' },\n { label: '300฿ to 600฿', value: '300-600' },\n { label: '600฿ to 1200฿', value: '600-1200' },\n { label: '$1200 and above', value: '>1200' }\n ]\n }],\n })\n\n let sort = ref({\n param: 'distance',\n order: 'asc',\n options: [{\n label: 'Distance',\n value: 'distance'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Products',\n value: 'numberOfProducts'\n }]\n })\n\n\twatch(tabEventOwner, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;AA6JC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,gBAAgB,IAAI,GAAG;AAE7B,UAAM,MAAM,MAAM,cAAc;AAEhC,QAAI,SAAS,IAAI;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU,CAAE;AAAA,MACZ,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,UAAU,OAAO,SAAU;AAAA,UACpC,EAAE,OAAO,WAAW,OAAO,UAAW;AAAA,UACtC,EAAE,OAAO,QAAQ,OAAO,OAAM;AAAA,QACtC;AAAA,MACA,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,UACP,EAAE,OAAO,cAAqB,OAAO,OAAQ;AAAA,UAC7C,EAAE,OAAO,gBAAqB,OAAO,UAAW;AAAA,UAChD,EAAE,OAAO,iBAAqB,OAAO,WAAY;AAAA,UACjD,EAAE,OAAO,mBAAqB,OAAO,QAAO;AAAA,QACpD;AAAA,MACA,CAAK;AAAA,IACF,CAAA;AAED,QAAI,OAAO,IAAI;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACR,CAAA;AAAA,IACF,CAAA;AAEF,UAAM,eAAe,CAAC,aAAa;AACjC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const vue = require("vue");
4
+ const vueRouter = require("vue-router");
5
+ const Feed = require("../../../../components/Feed/Feed.vue.cjs");
6
+ const CardEvent = require("../blocks/CardEvent.vue.cjs");
7
+ const auth = require("../../../auth/views/store/auth.cjs");
8
+ const events = require("../../store/events.cjs");
9
+ const vueI18n = require("vue-i18n");
10
+ const _hoisted_1 = { class: "pd-big mobile:pd-thin bg-white" };
11
+ const _hoisted_2 = { class: "mn-b-small" };
12
+ const _sfc_main = {
13
+ __name: "EventsSearch",
14
+ setup(__props) {
15
+ const route = vueRouter.useRoute();
16
+ vueRouter.useRouter();
17
+ const { locale, t } = vueI18n.useI18n();
18
+ const feedOptions = vue.computed(() => {
19
+ const options = {
20
+ user: auth.state.user._id,
21
+ limit: 9
22
+ };
23
+ if (route.query.periodStart) {
24
+ options.periodStart = route.query.periodStart;
25
+ }
26
+ if (route.query.periodEnd) {
27
+ options.periodEnd = route.query.periodEnd;
28
+ }
29
+ return options;
30
+ });
31
+ const formatDate = (dateString, format = "long") => {
32
+ try {
33
+ const date = new Date(dateString);
34
+ if (isNaN(date.getTime())) {
35
+ return "";
36
+ }
37
+ return new Intl.DateTimeFormat(
38
+ locale.value,
39
+ format === "long" ? { weekday: "long", year: "numeric", month: "long", day: "numeric" } : { year: "numeric", month: "short", day: "numeric" }
40
+ ).format(date);
41
+ } catch (error) {
42
+ console.error("Error formatting date:", error);
43
+ return dateString;
44
+ }
45
+ };
46
+ const pageTitle = vue.computed(() => {
47
+ const startDate = route.query.periodStart;
48
+ const endDate = route.query.periodEnd;
49
+ if (startDate && endDate) {
50
+ const start = new Date(startDate);
51
+ const end = new Date(endDate);
52
+ const isSameDay = start.getFullYear() === end.getFullYear() && start.getMonth() === end.getMonth() && start.getDate() === end.getDate();
53
+ if (isSameDay) {
54
+ return `Events on ${formatDate(startDate)}`;
55
+ }
56
+ return `Events from ${formatDate(startDate, "short")} to ${formatDate(endDate, "short")}`;
57
+ }
58
+ return "All Events";
59
+ });
60
+ return (_ctx, _cache) => {
61
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1, [
62
+ vue.createElementVNode("h3", _hoisted_2, vue.toDisplayString(pageTitle.value), 1),
63
+ vue.createVNode(Feed.default, {
64
+ search: true,
65
+ showLoadMore: false,
66
+ states: {
67
+ empty: {
68
+ title: "No Events",
69
+ description: "Currently, there are no events available."
70
+ }
71
+ },
72
+ store: {
73
+ read: (options) => events.read(options),
74
+ state: events.state
75
+ },
76
+ options: feedOptions.value,
77
+ class: "cols-1 gap-thin"
78
+ }, {
79
+ default: vue.withCtx(({ items }) => [
80
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (event, index) => {
81
+ return vue.openBlock(), vue.createBlock(CardEvent.default, {
82
+ onClick: ($event) => _ctx.$router.push({ name: "Event", params: { url: event.url } }),
83
+ key: event._id,
84
+ event,
85
+ user: auth.state.user._id,
86
+ type: "normal",
87
+ class: "bg-light radius-big"
88
+ }, null, 8, ["onClick", "event", "user"]);
89
+ }), 128))
90
+ ]),
91
+ _: 1
92
+ }, 8, ["store", "options"])
93
+ ]);
94
+ };
95
+ }
96
+ };
97
+ exports.default = _sfc_main;
98
+ //# sourceMappingURL=EventsSearch.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventsSearch.vue.cjs","sources":["../../../../../../../src/modules/events/components/pages/EventsSearch.vue"],"sourcesContent":["<template>\n <section class=\"pd-big mobile:pd-thin bg-white\"> \n <h3 class=\"mn-b-small\">\n {{ pageTitle }}\n </h3>\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Events',\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=\"feedOptions\"\n v-slot=\"{ items }\"\n class=\"cols-1 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 </section>\n</template>\n\n<script setup=\"props\">\n import { computed, onMounted, watch, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import DatePicker from '@martyrs/src/components/DatePicker/DatePicker.vue' \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n // Import state\n import * as auth from '@martyrs/src/modules/auth/views/store/auth'\n import * as events from '@martyrs/src/modules/events/store/events.js'; \n\n import { useI18n } from 'vue-i18n';\n\n // State\n const route = useRoute();\n const router = useRouter();\n const { locale, t } = useI18n();\n\n // Generate feed options based on route query parameters\n const feedOptions = computed(() => {\n const options = {\n user: auth.state.user._id,\n limit: 9\n };\n \n if (route.query.periodStart) {\n options.periodStart = route.query.periodStart;\n }\n \n if (route.query.periodEnd) {\n options.periodEnd = route.query.periodEnd;\n }\n\n return options;\n });\n\n // Format date for display in title\n const formatDate = (dateString, format = 'long') => {\n try {\n const date = new Date(dateString);\n \n if (isNaN(date.getTime())) {\n return '';\n }\n \n return new Intl.DateTimeFormat(locale.value, \n format === 'long' ? \n { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' } : \n { year: 'numeric', month: 'short', day: 'numeric' }\n ).format(date);\n } catch (error) {\n console.error('Error formatting date:', error);\n return dateString;\n }\n };\n\n // Generate page title based on query parameters\n const pageTitle = computed(() => {\n const startDate = route.query.periodStart;\n const endDate = route.query.periodEnd;\n \n if (startDate && endDate) {\n // Check if the dates represent a single day by comparing just the date parts\n const start = new Date(startDate);\n const end = new Date(endDate);\n \n // Compare only the date portions (year, month, day)\n const isSameDay = start.getFullYear() === end.getFullYear() &&\n start.getMonth() === end.getMonth() &&\n start.getDate() === end.getDate();\n \n if (isSameDay) {\n return `Events on ${formatDate(startDate)}`;\n }\n \n // Otherwise it's a date range\n return `Events from ${formatDate(startDate, 'short')} to ${formatDate(endDate, 'short')}`;\n }\n \n // Fallback case\n return 'All Events';\n});\n</script>\n\n<style lang=\"scss\">\n \n</style>"],"names":["useRoute","useRouter","useI18n","computed","auth.state"],"mappings":";;;;;;;;;;;;;;AAiDE,UAAM,QAAQA,UAAAA,SAAU;AACTC,cAAS,UAAA;AACxB,UAAM,EAAE,QAAQ,EAAG,IAAGC,gBAAS;AAG/B,UAAM,cAAcC,IAAAA,SAAS,MAAM;AACjC,YAAM,UAAU;AAAA,QACd,MAAMC,KAAAA,MAAW,KAAK;AAAA,QACtB,OAAO;AAAA,MACR;AAED,UAAI,MAAM,MAAM,aAAa;AAC3B,gBAAQ,cAAc,MAAM,MAAM;AAAA,MACxC;AAEI,UAAI,MAAM,MAAM,WAAW;AACzB,gBAAQ,YAAY,MAAM,MAAM;AAAA,MACtC;AAEI,aAAO;AAAA,IACX,CAAG;AAGD,UAAM,aAAa,CAAC,YAAY,SAAS,WAAW;AAClD,UAAI;AACF,cAAM,OAAO,IAAI,KAAK,UAAU;AAEhC,YAAI,MAAM,KAAK,QAAO,CAAE,GAAG;AACzB,iBAAO;AAAA,QACf;AAEM,eAAO,IAAI,KAAK;AAAA,UAAe,OAAO;AAAA,UACpC,WAAW,SACT,EAAE,SAAS,QAAQ,MAAM,WAAW,OAAO,QAAQ,KAAK,UAAW,IACnE,EAAE,MAAM,WAAW,OAAO,SAAS,KAAK,UAAS;AAAA,QAC3D,EAAQ,OAAO,IAAI;AAAA,MACd,SAAQ,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAC7C,eAAO;AAAA,MACb;AAAA,IACG;AAGF,UAAM,YAAYD,IAAAA,SAAS,MAAM;AAChC,YAAM,YAAY,MAAM,MAAM;AAC9B,YAAM,UAAU,MAAM,MAAM;AAE5B,UAAI,aAAa,SAAS;AAExB,cAAM,QAAQ,IAAI,KAAK,SAAS;AAChC,cAAM,MAAM,IAAI,KAAK,OAAO;AAG5B,cAAM,YAAY,MAAM,YAAW,MAAO,IAAI,YAAa,KAC1C,MAAM,SAAQ,MAAO,IAAI,SAAU,KACnC,MAAM,QAAO,MAAO,IAAI,QAAS;AAElD,YAAI,WAAW;AACb,iBAAO,aAAa,WAAW,SAAS,CAAC;AAAA,QAC/C;AAGI,eAAO,eAAe,WAAW,WAAW,OAAO,CAAC,OAAO,WAAW,SAAS,OAAO,CAAC;AAAA,MAC3F;AAGE,aAAO;AAAA,IACT,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,98 @@
1
+ import { computed, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, withCtx, Fragment, renderList, createBlock } from "vue";
2
+ import { useRoute, useRouter } from "vue-router";
3
+ import _sfc_main$1 from "../../../../components/Feed/Feed.vue.js";
4
+ import _sfc_main$2 from "../blocks/CardEvent.vue.js";
5
+ import { state } from "../../../auth/views/store/auth.js";
6
+ import { state as state$1, read } from "../../store/events.js";
7
+ import { useI18n } from "vue-i18n";
8
+ const _hoisted_1 = { class: "pd-big mobile:pd-thin bg-white" };
9
+ const _hoisted_2 = { class: "mn-b-small" };
10
+ const _sfc_main = {
11
+ __name: "EventsSearch",
12
+ setup(__props) {
13
+ const route = useRoute();
14
+ useRouter();
15
+ const { locale, t } = useI18n();
16
+ const feedOptions = computed(() => {
17
+ const options = {
18
+ user: state.user._id,
19
+ limit: 9
20
+ };
21
+ if (route.query.periodStart) {
22
+ options.periodStart = route.query.periodStart;
23
+ }
24
+ if (route.query.periodEnd) {
25
+ options.periodEnd = route.query.periodEnd;
26
+ }
27
+ return options;
28
+ });
29
+ const formatDate = (dateString, format = "long") => {
30
+ try {
31
+ const date = new Date(dateString);
32
+ if (isNaN(date.getTime())) {
33
+ return "";
34
+ }
35
+ return new Intl.DateTimeFormat(
36
+ locale.value,
37
+ format === "long" ? { weekday: "long", year: "numeric", month: "long", day: "numeric" } : { year: "numeric", month: "short", day: "numeric" }
38
+ ).format(date);
39
+ } catch (error) {
40
+ console.error("Error formatting date:", error);
41
+ return dateString;
42
+ }
43
+ };
44
+ const pageTitle = computed(() => {
45
+ const startDate = route.query.periodStart;
46
+ const endDate = route.query.periodEnd;
47
+ if (startDate && endDate) {
48
+ const start = new Date(startDate);
49
+ const end = new Date(endDate);
50
+ const isSameDay = start.getFullYear() === end.getFullYear() && start.getMonth() === end.getMonth() && start.getDate() === end.getDate();
51
+ if (isSameDay) {
52
+ return `Events on ${formatDate(startDate)}`;
53
+ }
54
+ return `Events from ${formatDate(startDate, "short")} to ${formatDate(endDate, "short")}`;
55
+ }
56
+ return "All Events";
57
+ });
58
+ return (_ctx, _cache) => {
59
+ return openBlock(), createElementBlock("section", _hoisted_1, [
60
+ createElementVNode("h3", _hoisted_2, toDisplayString(pageTitle.value), 1),
61
+ createVNode(_sfc_main$1, {
62
+ search: true,
63
+ showLoadMore: false,
64
+ states: {
65
+ empty: {
66
+ title: "No Events",
67
+ description: "Currently, there are no events available."
68
+ }
69
+ },
70
+ store: {
71
+ read: (options) => read(options),
72
+ state: state$1
73
+ },
74
+ options: feedOptions.value,
75
+ class: "cols-1 gap-thin"
76
+ }, {
77
+ default: withCtx(({ items }) => [
78
+ (openBlock(true), createElementBlock(Fragment, null, renderList(items, (event, index) => {
79
+ return openBlock(), createBlock(_sfc_main$2, {
80
+ onClick: ($event) => _ctx.$router.push({ name: "Event", params: { url: event.url } }),
81
+ key: event._id,
82
+ event,
83
+ user: state.user._id,
84
+ type: "normal",
85
+ class: "bg-light radius-big"
86
+ }, null, 8, ["onClick", "event", "user"]);
87
+ }), 128))
88
+ ]),
89
+ _: 1
90
+ }, 8, ["store", "options"])
91
+ ]);
92
+ };
93
+ }
94
+ };
95
+ export {
96
+ _sfc_main as default
97
+ };
98
+ //# sourceMappingURL=EventsSearch.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventsSearch.vue.js","sources":["../../../../../../../src/modules/events/components/pages/EventsSearch.vue"],"sourcesContent":["<template>\n <section class=\"pd-big mobile:pd-thin bg-white\"> \n <h3 class=\"mn-b-small\">\n {{ pageTitle }}\n </h3>\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Events',\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=\"feedOptions\"\n v-slot=\"{ items }\"\n class=\"cols-1 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 </section>\n</template>\n\n<script setup=\"props\">\n import { computed, onMounted, watch, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import DatePicker from '@martyrs/src/components/DatePicker/DatePicker.vue' \n import CardEvent from '@martyrs/src/modules/events/components/blocks/CardEvent.vue';\n // Import state\n import * as auth from '@martyrs/src/modules/auth/views/store/auth'\n import * as events from '@martyrs/src/modules/events/store/events.js'; \n\n import { useI18n } from 'vue-i18n';\n\n // State\n const route = useRoute();\n const router = useRouter();\n const { locale, t } = useI18n();\n\n // Generate feed options based on route query parameters\n const feedOptions = computed(() => {\n const options = {\n user: auth.state.user._id,\n limit: 9\n };\n \n if (route.query.periodStart) {\n options.periodStart = route.query.periodStart;\n }\n \n if (route.query.periodEnd) {\n options.periodEnd = route.query.periodEnd;\n }\n\n return options;\n });\n\n // Format date for display in title\n const formatDate = (dateString, format = 'long') => {\n try {\n const date = new Date(dateString);\n \n if (isNaN(date.getTime())) {\n return '';\n }\n \n return new Intl.DateTimeFormat(locale.value, \n format === 'long' ? \n { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' } : \n { year: 'numeric', month: 'short', day: 'numeric' }\n ).format(date);\n } catch (error) {\n console.error('Error formatting date:', error);\n return dateString;\n }\n };\n\n // Generate page title based on query parameters\n const pageTitle = computed(() => {\n const startDate = route.query.periodStart;\n const endDate = route.query.periodEnd;\n \n if (startDate && endDate) {\n // Check if the dates represent a single day by comparing just the date parts\n const start = new Date(startDate);\n const end = new Date(endDate);\n \n // Compare only the date portions (year, month, day)\n const isSameDay = start.getFullYear() === end.getFullYear() &&\n start.getMonth() === end.getMonth() &&\n start.getDate() === end.getDate();\n \n if (isSameDay) {\n return `Events on ${formatDate(startDate)}`;\n }\n \n // Otherwise it's a date range\n return `Events from ${formatDate(startDate, 'short')} to ${formatDate(endDate, 'short')}`;\n }\n \n // Fallback case\n return 'All Events';\n});\n</script>\n\n<style lang=\"scss\">\n \n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;AAiDE,UAAM,QAAQ,SAAU;AACT,cAAS;AACxB,UAAM,EAAE,QAAQ,EAAG,IAAG,QAAS;AAG/B,UAAM,cAAc,SAAS,MAAM;AACjC,YAAM,UAAU;AAAA,QACd,MAAMA,MAAW,KAAK;AAAA,QACtB,OAAO;AAAA,MACR;AAED,UAAI,MAAM,MAAM,aAAa;AAC3B,gBAAQ,cAAc,MAAM,MAAM;AAAA,MACxC;AAEI,UAAI,MAAM,MAAM,WAAW;AACzB,gBAAQ,YAAY,MAAM,MAAM;AAAA,MACtC;AAEI,aAAO;AAAA,IACX,CAAG;AAGD,UAAM,aAAa,CAAC,YAAY,SAAS,WAAW;AAClD,UAAI;AACF,cAAM,OAAO,IAAI,KAAK,UAAU;AAEhC,YAAI,MAAM,KAAK,QAAO,CAAE,GAAG;AACzB,iBAAO;AAAA,QACf;AAEM,eAAO,IAAI,KAAK;AAAA,UAAe,OAAO;AAAA,UACpC,WAAW,SACT,EAAE,SAAS,QAAQ,MAAM,WAAW,OAAO,QAAQ,KAAK,UAAW,IACnE,EAAE,MAAM,WAAW,OAAO,SAAS,KAAK,UAAS;AAAA,QAC3D,EAAQ,OAAO,IAAI;AAAA,MACd,SAAQ,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAC7C,eAAO;AAAA,MACb;AAAA,IACG;AAGF,UAAM,YAAY,SAAS,MAAM;AAChC,YAAM,YAAY,MAAM,MAAM;AAC9B,YAAM,UAAU,MAAM,MAAM;AAE5B,UAAI,aAAa,SAAS;AAExB,cAAM,QAAQ,IAAI,KAAK,SAAS;AAChC,cAAM,MAAM,IAAI,KAAK,OAAO;AAG5B,cAAM,YAAY,MAAM,YAAW,MAAO,IAAI,YAAa,KAC1C,MAAM,SAAQ,MAAO,IAAI,SAAU,KACnC,MAAM,QAAO,MAAO,IAAI,QAAS;AAElD,YAAI,WAAW;AACb,iBAAO,aAAa,WAAW,SAAS,CAAC;AAAA,QAC/C;AAGI,eAAO,eAAe,WAAW,WAAW,OAAO,CAAC,OAAO,WAAW,SAAS,OAAO,CAAC;AAAA,MAC3F;AAGE,aAAO;AAAA,IACT,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,11 @@
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
  ;/* empty css */
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
- const Slider = require("../../../../components/Slider/Slider.vue.cjs");
8
+ const Slider_native = require("../../../../components/Slider/Slider.native.vue.cjs");
9
9
  const Media = require("../../../../components/Media/Media.vue.cjs");
10
10
  const events = require("../../store/events.cjs");
11
11
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -44,13 +44,11 @@ const _sfc_main = {
44
44
  setup(__props) {
45
45
  return (_ctx, _cache) => {
46
46
  const _component_router_link = vue.resolveComponent("router-link");
47
- return vue.openBlock(), vue.createBlock(Slider.default, {
47
+ return vue.openBlock(), vue.createBlock(Slider_native.default, {
48
48
  store: {
49
49
  read: (options) => events.read({
50
50
  skip: __props.skip,
51
51
  limit: __props.limit,
52
- user: __props.userId,
53
- period: __props.period,
54
52
  status: __props.status
55
53
  })
56
54
  },
@@ -1 +1 @@
1
- {"version":3,"file":"EventsHot.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EventsHot.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementVNode, createElementBlock, createCommentVNode, toDisplayString } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
- import Slider from "../../../../components/Slider/Slider.vue.js";
6
+ import SliderNative from "../../../../components/Slider/Slider.native.vue.js";
7
7
  import Media from "../../../../components/Media/Media.vue.js";
8
8
  import { read } from "../../store/events.js";
9
9
  import { state } from "../../../auth/views/store/auth.js";
@@ -42,13 +42,11 @@ const _sfc_main = {
42
42
  setup(__props) {
43
43
  return (_ctx, _cache) => {
44
44
  const _component_router_link = resolveComponent("router-link");
45
- return openBlock(), createBlock(Slider, {
45
+ return openBlock(), createBlock(SliderNative, {
46
46
  store: {
47
47
  read: (options) => read({
48
48
  skip: __props.skip,
49
49
  limit: __props.limit,
50
- user: __props.userId,
51
- period: __props.period,
52
50
  status: __props.status
53
51
  })
54
52
  },
@@ -1 +1 @@
1
- {"version":3,"file":"EventsHot.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"EventsHot.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,9 +5,10 @@ const vueRouter = require("vue-router");
5
5
  const List = require("./List.vue.cjs");
6
6
  require("../../store/events.cjs");
7
7
  const auth = require("../../../auth/views/store/auth.cjs");
8
- const _hoisted_1 = { class: "cols-2" };
9
- const _hoisted_2 = { class: "bg-light pd-medium mn-b-medium radius-semi" };
10
- const _hoisted_3 = { class: "bg-light pd-medium mn-b-medium radius-semi" };
8
+ ;/* empty css */
9
+ const _hoisted_1 = { class: "columns-wrapper scroll-hide gap-thin" };
10
+ const _hoisted_2 = { class: "column flex flex-column flex-child-default" };
11
+ const _hoisted_3 = { class: "column flex flex-column flex-child-default" };
11
12
  const _sfc_main = {
12
13
  __name: "FeaturedEvents",
13
14
  setup(__props) {
@@ -16,18 +17,18 @@ const _sfc_main = {
16
17
  return (_ctx, _cache) => {
17
18
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
18
19
  vue.createElementVNode("div", _hoisted_2, [
19
- _cache[0] || (_cache[0] = vue.createElementVNode("h4", { class: "mn-b-small" }, " Planned ", -1)),
20
+ _cache[0] || (_cache[0] = vue.createElementVNode("h3", { class: "mn-b-small" }, " Planned ", -1)),
20
21
  vue.createVNode(List.default, {
21
22
  user: auth.state.user._id,
22
- class: "bg-white radius-medium",
23
+ class: "bg-light o-hidden h-100 pd-thin radius-medium",
23
24
  phase: "planned"
24
25
  }, null, 8, ["user"])
25
26
  ]),
26
27
  vue.createElementVNode("div", _hoisted_3, [
27
- _cache[1] || (_cache[1] = vue.createElementVNode("h4", { class: "mn-b-small" }, " Finished ", -1)),
28
+ _cache[1] || (_cache[1] = vue.createElementVNode("h3", { class: "mn-b-small" }, " Finished ", -1)),
28
29
  vue.createVNode(List.default, {
29
30
  user: auth.state.user._id,
30
- class: "bg-white radius-medium",
31
+ class: "bg-light o-hidden h-100 pd-thin radius-medium",
31
32
  phase: "finished"
32
33
  }, null, 8, ["user"])
33
34
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"FeaturedEvents.vue.cjs","sources":["../../../../../../../src/modules/events/components/sections/FeaturedEvents.vue"],"sourcesContent":["<template>\n <div class=\"cols-2\">\n <div class=\"bg-light pd-medium mn-b-medium radius-semi\">\n <h4\n class=\"mn-b-small\"\n >\n Planned\n </h4>\n <List\n :user=\"auth.state.user._id\"\n class=\"bg-white radius-medium\"\n :phase=\"'planned'\"\n />\n </div>\n\n <div class=\"bg-light pd-medium mn-b-medium radius-semi\">\n <h4\n class=\"mn-b-small\"\n >\n Finished \n </h4>\n <List\n :user=\"auth.state.user._id\"\n class=\"bg-white radius-medium\"\n :phase=\"'finished'\"\n />\n </div>\n\n\n </div>\n</template>\n\n<script setup=\"props\">\n import { computed, onMounted, watch } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import List from '@martyrs/src/modules/events/components/sections/List.vue'; \n // Import state\n import * as events from '@martyrs/src/modules/events/store/events.js'; \n import * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\n // State\n const route = useRoute();\n const router = useRouter();\n</script>\n\n<style lang=\"scss\">\n \n</style>\n"],"names":["useRoute","useRouter"],"mappings":";;;;;;;;;;;;;AA0CgBA,cAAQ,SAAA;AACPC,cAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FeaturedEvents.vue.cjs","sources":["../../../../../../../src/modules/events/components/sections/FeaturedEvents.vue"],"sourcesContent":["<template>\n <div class=\"columns-wrapper scroll-hide gap-thin\">\n <div class=\"column flex flex-column flex-child-default\">\n <h3\n class=\"mn-b-small\"\n >\n Planned\n </h3>\n <List\n :user=\"auth.state.user._id\"\n class=\"bg-light o-hidden h-100 pd-thin radius-medium\"\n :phase=\"'planned'\"\n />\n </div>\n\n <div class=\"column flex flex-column flex-child-default\">\n <h3\n class=\"mn-b-small\"\n >\n Finished \n </h3>\n <List\n :user=\"auth.state.user._id\"\n class=\"bg-light o-hidden h-100 pd-thin radius-medium\"\n :phase=\"'finished'\"\n />\n </div>\n </div>\n</template>\n\n<script setup=\"props\">\n import { computed, onMounted, watch } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import List from '@martyrs/src/modules/events/components/sections/List.vue'; \n // Import state\n import * as events from '@martyrs/src/modules/events/store/events.js'; \n import * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\n // State\n const route = useRoute();\n const router = useRouter();\n</script>\n\n<style lang=\"scss\">\n.columns-container {\n width: 100%;\n overflow: hidden;\n}\n\n.columns-wrapper {\n display: flex;\n width: 100%;\n \n @media (min-width: 768px) {\n /* Десктоп: 2 колонки рядом */\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n \n @media (max-width: 767px) {\n /* Мобильные устройства: горизонтальный скролл */\n overflow-x: auto;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n.column {\n @media (max-width: 767px) {\n /* Настройки для мобильных устройств */\n max-width: 90%;\n flex: 0 0 auto;\n scroll-snap-align: start;\n \n &:last-child {\n margin-right: 0;\n }\n }\n}\n</style> "],"names":["useRoute","useRouter"],"mappings":";;;;;;;;;;;;;;AAwCgBA,cAAQ,SAAA;AACPC,cAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;"}