@ozdao/martyrs 0.2.583 → 0.2.584

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 (202) hide show
  1. package/dist/{main-vq1_XpmQ.js → main-fmp55tJF.js} +11 -11
  2. package/dist/martyrs/dist/{main-vq1_XpmQ.js → main-fmp55tJF.js} +2 -2
  3. package/dist/martyrs/dist/main-fmp55tJF.js.map +1 -0
  4. package/dist/martyrs/dist/{web-BNJDRie_.js → web-BDuQSQKS.js} +2 -2
  5. package/dist/martyrs/dist/{web-BNJDRie_.js.map → web-BDuQSQKS.js.map} +1 -1
  6. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +3 -3
  7. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
  8. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +5 -5
  9. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  10. package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +2 -2
  11. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
  12. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  13. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  14. package/dist/martyrs/src/components/Field/Field.vue.js +2 -2
  15. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  16. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  17. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  18. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js +2 -2
  19. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js.map +1 -1
  20. package/dist/martyrs/src/components/Loader/{Loader.vue2.js → Loader.vue.js} +2 -2
  21. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -0
  22. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  23. package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
  24. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  25. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  26. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  27. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  28. package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
  29. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
  30. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +1 -1
  31. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  32. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  33. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  34. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  35. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  40. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
  41. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  42. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  43. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
  44. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  45. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  46. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  47. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +2 -2
  48. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  49. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
  50. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +2 -2
  51. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -2
  52. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +3 -3
  53. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  54. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +1 -1
  55. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +2 -2
  56. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  57. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js +3 -3
  58. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -1
  59. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
  60. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  61. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  62. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  63. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  64. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +3 -3
  65. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  66. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  68. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
  69. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  70. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  71. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  72. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  73. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  74. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  75. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  76. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  77. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +4 -4
  78. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  79. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
  80. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  81. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  82. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +1 -1
  83. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  84. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  85. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  86. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  87. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  88. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
  89. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  90. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  91. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  92. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  93. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
  94. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  95. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +7 -7
  96. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  97. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
  98. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  99. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  100. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +1 -1
  101. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  102. package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +1 -1
  103. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +1 -1
  104. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js +2 -2
  105. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  106. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  107. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  108. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  109. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  110. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  111. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  112. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  113. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  114. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  115. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  116. package/dist/martyrs/src/modules/orders/router/orders.router.js +23 -0
  117. package/dist/martyrs/src/modules/orders/router/orders.router.js.map +1 -1
  118. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  119. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  120. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  121. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  122. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  123. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  124. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  125. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  126. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -4
  127. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  128. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  129. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  130. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  131. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  132. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +3 -3
  133. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
  134. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  135. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js.map +1 -1
  136. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  137. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  138. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  139. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  140. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
  141. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
  142. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  144. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
  145. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  146. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +3 -3
  147. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
  148. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  150. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +2 -2
  151. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  152. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  153. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  154. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  155. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  156. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  157. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  158. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
  159. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  160. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  161. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  162. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  164. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  165. package/dist/martyrs.css +1 -1
  166. package/dist/martyrs.es.js +1 -1
  167. package/dist/style.css +33 -33
  168. package/dist/{web-BNJDRie_.js → web-BDuQSQKS.js} +1 -1
  169. package/package.json +1 -1
  170. package/src/components/Calendar/Calendar.vue +4 -4
  171. package/src/components/Completion/Completion.vue +3 -3
  172. package/src/components/Field/Field.vue +1 -1
  173. package/src/components/FieldBig/FieldBig.vue +1 -1
  174. package/src/components/FieldDate/FieldDate.vue +1 -1
  175. package/src/modules/community/components/layouts/Community.vue +2 -2
  176. package/src/modules/core/views/components/blocks/CardHeader.vue +1 -1
  177. package/src/modules/core/views/components/partials/Header.vue +1 -1
  178. package/src/modules/core/views/components/partials/Sidebar.vue +1 -1
  179. package/src/modules/core/views/components/sections/Filters.vue +2 -2
  180. package/src/modules/core/views/components/sections/SectionPageTitle.vue +1 -1
  181. package/src/modules/events/components/pages/EditEventTickets.vue +2 -2
  182. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  183. package/src/modules/inventory/components/pages/Inventory.vue +4 -4
  184. package/src/modules/inventory/components/pages/InventoryEdit.vue +1 -1
  185. package/src/modules/music/components/pages/Playlist.vue +5 -5
  186. package/src/modules/orders/router/orders.router.js +33 -0
  187. package/src/modules/organizations/components/blocks/CardOrganization.vue +1 -1
  188. package/src/modules/pages/views/components/pages/PageEdit.vue +2 -2
  189. package/src/modules/pages/views/components/partials/SidebarPages.vue +1 -1
  190. package/src/modules/products/components/pages/Products.vue +1 -1
  191. package/src/modules/products/components/sections/EditDiscounts.vue +1 -1
  192. package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
  193. package/src/modules/spots/components/pages/Spots.vue +1 -1
  194. package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +1 -1
  195. package/src/modules/wallet/views/components/pages/Wallet.vue +1 -1
  196. package/dist/martyrs/dist/main-vq1_XpmQ.js.map +0 -1
  197. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  198. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  199. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +0 -1
  200. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  201. package/dist/martyrs/src/components/Select/Select.vue2.js.map +0 -1
  202. package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.vue.js","sources":["../../../../../src/components/Tab/Tab.vue"],"sourcesContent":["<template>\n <div class=\"flex-nowrap flex-v-center flex pos-relative\">\n <button \n v-for=\"(tab, index) in tabs\" \n :key=\"index\" \n @click=\"handleTabClick(index, tab)\" \n class=\"z-index-1 t-center cursor-pointer\"\n :style=\"isSelected(index, tab) ? 'background: rgb(var(--main)) !important' : ''\"\n :class=\"[\n isSelected(index, tab) ? 'bg-main' : '',\n replaceClasses('pd-small pd-r-medium pd-l-medium w-max pd-small radius-small', classTab)\n ]\"\n >\n {{tab.name || tab.label}}\n </button>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch } from 'vue'\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\nconst { replaceClasses } = useGlobalMixins();\nconst emit = defineEmits(['update:selected', 'tab-click']);\n\nconst props = defineProps({\n tabs: Array,\n classTab: String,\n selected: [String, Number],\n modelValue: [String, Number],\n callback: Function\n})\n\nconst selectedTab = ref(0)\n\n// Handle both v-model and selected prop for backward compatibility\nconst updateSelectedIndex = () => {\n if (props.modelValue !== undefined) {\n const selectedIndex = props.tabs.findIndex(tab => tab.value === props.modelValue)\n if (selectedIndex !== -1) {\n selectedTab.value = selectedIndex\n }\n } else if (props.selected !== undefined) {\n const selectedIndex = props.tabs.findIndex(tab => tab.value === props.selected)\n if (selectedIndex !== -1) {\n selectedTab.value = selectedIndex\n }\n }\n}\n\n// Initial setup\nupdateSelectedIndex()\n\n// Watch for changes in selected or modelValue props\nwatch(() => props.selected, updateSelectedIndex)\nwatch(() => props.modelValue, updateSelectedIndex)\n\n// Check if tab is selected\nconst isSelected = (index, tab) => {\n if (props.modelValue !== undefined) {\n return tab.value === props.modelValue\n } else if (props.selected !== undefined) {\n return tab.value === props.selected\n }\n return index === selectedTab.value\n}\n\n// Handle tab click\nfunction handleTabClick(index, tab) {\n selectedTab.value = index\n \n // Emit both events for flexibility\n emit('update:selected', tab.value)\n emit('tab-click', { index, tab })\n \n // For v-model support\n if (props.modelValue !== undefined) {\n emit('update:modelValue', tab.value)\n }\n \n // Call callback if provided\n if (props.callback) props.callback(tab)\n}\n</script>\n\n<style lang=\"scss\">\n.tab-selector {\n position: absolute;\n width: 50%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 0;\n transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAsBA,UAAM,EAAE,eAAc,IAAK,gBAAe;AAC1C,UAAM,OAAO;AAEb,UAAM,QAAQ;AAQd,UAAM,cAAc,IAAI,CAAC;AAGzB,UAAM,sBAAsB,MAAM;AAChC,UAAI,MAAM,eAAe,QAAW;AAClC,cAAM,gBAAgB,MAAM,KAAK,UAAU,SAAO,IAAI,UAAU,MAAM,UAAU;AAChF,YAAI,kBAAkB,IAAI;AACxB,sBAAY,QAAQ;AAAA,QACtB;AAAA,MACF,WAAW,MAAM,aAAa,QAAW;AACvC,cAAM,gBAAgB,MAAM,KAAK,UAAU,SAAO,IAAI,UAAU,MAAM,QAAQ;AAC9E,YAAI,kBAAkB,IAAI;AACxB,sBAAY,QAAQ;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAGA,wBAAmB;AAGnB,UAAM,MAAM,MAAM,UAAU,mBAAmB;AAC/C,UAAM,MAAM,MAAM,YAAY,mBAAmB;AAGjD,UAAM,aAAa,CAAC,OAAO,QAAQ;AACjC,UAAI,MAAM,eAAe,QAAW;AAClC,eAAO,IAAI,UAAU,MAAM;AAAA,MAC7B,WAAW,MAAM,aAAa,QAAW;AACvC,eAAO,IAAI,UAAU,MAAM;AAAA,MAC7B;AACA,aAAO,UAAU,YAAY;AAAA,IAC/B;AAGA,aAAS,eAAe,OAAO,KAAK;AAClC,kBAAY,QAAQ;AAGpB,WAAK,mBAAmB,IAAI,KAAK;AACjC,WAAK,aAAa,EAAE,OAAO,IAAG,CAAE;AAGhC,UAAI,MAAM,eAAe,QAAW;AAClC,aAAK,qBAAqB,IAAI,KAAK;AAAA,MACrC;AAGA,UAAI,MAAM,SAAU,OAAM,SAAS,GAAG;AAAA,IACxC;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, watch, createElementBlock, openBlock, normalizeClass, createElementVNode, createCommentVNode, withModifiers, createVNode, toDisplayString } from "vue";
2
2
  import axios from "axios";
3
- import Loader from "../Loader/Loader.vue2.js";
3
+ import Loader from "../Loader/Loader.vue.js";
4
4
  import _sfc_main$1 from "../../modules/icons/navigation/IconUpload.vue.js";
5
5
  import _sfc_main$2 from "../../modules/icons/navigation/IconDelete.vue.js";
6
6
  /* empty css */
@@ -1,6 +1,6 @@
1
1
  import { ref, createElementBlock, openBlock, withModifiers, createVNode, createElementVNode, Transition, withCtx, createBlock, createCommentVNode, toDisplayString } from "vue";
2
2
  import axios from "axios";
3
- import Loader from "../Loader/Loader.vue2.js";
3
+ import Loader from "../Loader/Loader.vue.js";
4
4
  import _sfc_main$1 from "../../modules/icons/navigation/IconUpload.vue.js";
5
5
  import { useStore } from "../../modules/core/views/store/core.store.js";
6
6
  const _hoisted_1 = {
@@ -1,7 +1,7 @@
1
1
  import { ref, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, createTextVNode, withCtx } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
4
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { useI18n } from "vue-i18n";
7
7
  import { state, actions } from "../../store/auth.js";
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, withCtx } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
4
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { state, actions } from "../../store/auth.js";
7
7
  import invitesStore from "../../../../organizations/store/invites.store.js";
@@ -1,9 +1,9 @@
1
1
  import { ref, inject, onMounted, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, createBlock, unref, withCtx, toDisplayString, Fragment, renderList, normalizeClass, resolveDynamicComponent } from "vue";
2
2
  /* empty css */
3
- /* empty css */
4
3
  /* empty css */
4
+ /* empty css */
5
5
  import _sfc_main$1 from "../../../../../components/Dropdown/Dropdown.vue.js";
6
- import _sfc_main$6 from "../../../../../components/Menu/Menu.vue2.js";
6
+ import _sfc_main$6 from "../../../../../components/Menu/Menu.vue.js";
7
7
  import _sfc_main$b from "../../../../../components/Menu/MenuItem.vue.js";
8
8
  import _sfc_main$3 from "../../../../organizations/components/elements/ButtonToggleMembership.vue.js";
9
9
  import _sfc_main$2 from "../../../../reports/components/sections/FormReport.vue.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, watch, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, createVNode, unref, withCtx, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$3 from "../../../../community/components/blocks/CardBlogpost.vue.js";
6
6
  import { state } from "../../store/auth.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, provide, resolveComponent, createBlock, openBlock, withCtx, createElementBlock, createVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
3
- import Loader from "../../../../../components/Loader/Loader.vue2.js";
3
+ import Loader from "../../../../../components/Loader/Loader.vue.js";
4
4
  import _sfc_main$2 from "./ProfileEditSidebar.vue.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { state } from "../../store/auth.js";
@@ -1,6 +1,6 @@
1
1
  import { createElementBlock, openBlock, createVNode, createElementVNode, unref, withCtx, createTextVNode } from "vue";
2
2
  import _sfc_main$2 from "../../../../../components/Checkbox/Checkbox.vue.js";
3
- import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
4
4
  import _sfc_main$1 from "../sections/ProfileEditCredentials.vue.js";
5
5
  import { useRouter } from "vue-router";
6
6
  import { actions as actions$1 } from "../../store/auth.js";
@@ -1,6 +1,6 @@
1
1
  import { createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, withCtx, createTextVNode } from "vue";
2
2
  import Field from "../../../../../components/Field/Field.vue.js";
3
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
4
4
  import UploadImage from "../../../../../components/UploadImage/UploadImage.vue.js";
5
5
  import { useRouter } from "vue-router";
6
6
  import { state, actions } from "../../store/users.js";
@@ -1,8 +1,8 @@
1
1
  import { ref, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { useStore } from "../../../../core/views/store/core.store.js";
@@ -1,8 +1,8 @@
1
1
  import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, createTextVNode, toDisplayString, unref, withCtx, Transition, withDirectives, vShow } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { useStore } from "../../../../core/views/store/core.store.js";
@@ -1,8 +1,8 @@
1
1
  import { ref, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, withDirectives, vShow, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { useStore } from "../../../../core/views/store/core.store.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, createElementVNode, createBlock, createVNode, withCtx, createTextVNode } from "vue";
2
2
  import Field from "../../../../../components/Field/Field.vue.js";
3
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
4
4
  import { useRoute, useRouter } from "vue-router";
5
5
  import { actions, state } from "../../store/users.js";
6
6
  import { sendCode, state as state$1 } from "../../store/twofa.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, unref, createBlock, normalizeClass, createTextVNode, withCtx, Transition, resolveDynamicComponent, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import Select from "../../../../components/Select/Select.vue2.js";
3
+ import Select from "../../../../components/Select/Select.vue.js";
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$6 from "../../../organizations/components/blocks/CardOrganization.vue.js";
6
6
  import _sfc_main$1 from "../../../icons/entities/IconFeatured.vue.js";
@@ -23,12 +23,12 @@ const _hoisted_4 = {
23
23
  key: 0,
24
24
  class: "bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex"
25
25
  };
26
- const _hoisted_5 = { class: "pos-relative t-nowrap flex-v-center flex-nowrap flex" };
26
+ const _hoisted_5 = { class: "pos-relative ws-nowrap flex-v-center flex-nowrap flex" };
27
27
  const _hoisted_6 = {
28
28
  key: 1,
29
29
  class: "w-100 pos-relative"
30
30
  };
31
- const _hoisted_7 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide" };
31
+ const _hoisted_7 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll ws-nowrap scroll-hide" };
32
32
  const _hoisted_8 = {
33
33
  style: { "flex": "1 1 auto" },
34
34
  class: "desktop-only pos-sticky pos-b-thin scroll-hide h-100 w-40 h-100 pos-relative"
@@ -1 +1 @@
1
- {"version":3,"file":"Community.vue.js","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["\t<template>\n\t<div class=\"bg-white\">\n\t\t<section class=\"w-100 flex-nowrap flex gap-thin mobile:pd-zero pd-thin pos-relative\">\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<header v-if=\"!route.params.url && route.name !== 'Create BlogPost'\" class=\"bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t\t \t<h2 class=\"pos-relative t-nowrap flex-v-center flex-nowrap flex\">\n\t\t \t\t<span class=\"mn-r-thin\">Posts for </span>\n\n\t\t \t\t<Select \n\t\t\t :options=\"['today','week','month','year','all time']\"\n\t\t\t v-model:select=\"blog.state.filter.period\" \n\t\t\t placeholder=\"all time\"\n\t\t\t class=\"\n\t\t\t \tfw-semi\n\t\t\t \tpos-relative \n\t\t\t \tw-max\n\t\t\t \tbg-main t-black\n\t\t\t \tpd-thin\n\t\t\t \tradius-medium\n\t\t\t h2\n\t\t\t \tt-center\n\t\t\t \tflex-column \n\t\t\t \tflex \n\t\t\t \tgap-regular \n\t\t\t \"\n\t\t\t />\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div v-if=\"!route.params.url && route.name !=='Create BlogPost'\" class=\"w-100 pos-relative\">\n\t\t\t\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide\">\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer flex-v-center flex fw-medium pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFeatured\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer fw-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\t\n\t\t\t\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tPopular\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer fw-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tRecent\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer fw-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFollowing\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t\t\t\t}\" \n\t\t\t\t\t\t\tclass=\"button fw-medium bg-main w-max mn-l-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCreate Post\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\t\t\t</div>\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"desktop-only pos-sticky pos-b-thin scroll-hide h-100 w-40 h-100 pos-relative \">\n\t\t\t\t<div class=\"radius-medium bg-light mn-b-thin pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t\t\t<p class=\"fw-medium mn-b-small\">Latest Comments</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex flex-column gap-thin\">\n\t\t\t\t\t\t<Comment\n\t\t \tv-for=\"comment in comments.slice(0,5)\"\n\t\t\t :key=\"comment._id\"\n\t\t\t :comment=\"comment\"\n\t\t\t :target=\"target\"\n\t\t\t :type=\"type\"\n\t\t\t :owner=\"owner\"\n\t\t\t @reply=\"handleReply\"\n\t\t\t @load-more=\"loadMoreChildren\"\n\t\t\t class=\"comment bg-white pd-small radius-regular\"\n\t\t\t />\n\t\t\t </div>\n\t\t </div>\n\n\t <div class=\"radius-medium bg-light pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-v-center flex-nowrap flex mn-b-small\">\n\t\t\t\t\t\t<p class=\"text-box-trim-end fw-medium\">Popular Communities</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\tto=\"/organizations/create\"\n\t\t\t\t\t\t\tclass=\"fw-medium cursor-pointer hover:scale-[1.05] radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t\t\t<Feed\n\t\t\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t\t\t:LoadMore=\"false\"\n\t\t\t\t :states=\"{\n\t\t\t\t empty: {\n\t\t\t\t title: 'No Organization Found',\n\t\t\t\t description: 'Currently, there are no organization available.'\n\t\t\t\t }\n\t\t\t\t }\"\n\t\t\t\t :store=\"{\n\t\t\t\t read: (options) => organizations.actions.read(options),\n\t\t\t\t state: organizations.state\n\t\t\t\t }\"\n\t\t\t\t :options=\"{\n\t\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlookup: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t\t }\"\n\t\t\t\t v-slot=\"{ \n\t\t\t\t items \n\t\t\t\t }\"\n\t\t\t\t class=\"flex flex-column gap-thin\"\n\t\t\t\t >\n\t\t\t\t \t<CardOrganization \n\t\t\t \t\t\tv-for=\"organization in items\"\n\t\t\t \t:key=\"organization._id\" \n\t\t\t\t \t:organization=\"organization\"\n\t\t\t\t \t:user=\"auth.state.user\"\n\t\t\t\t \t:showProducts=\"false\"\n\t\t\t\t \t:showRating=\"false\"\n\t\t\t\t \t:showFeatured=\"false\"\n\t\t\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\t\t\tclass=\"pd-small w-100 bg-white radius-regular o-hidden\"\n\t\t\t\t\t />\n\t\t\t\t </Feed>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</section>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue'\n\n\nimport axios from 'axios';\n\n\nimport Comment from '../sections/Comment.vue';\n\n\nconst $axios = axios.create({ baseURL: process.env.API_URL });\nconst comments = ref([]);\nconst commentContent = ref('');\n\nconst fetchComments = async () => {\n try {\n const response = await $axios.get('/comments/read', {\n params: {\n maxDepth: 1,\n format: 'plain'\n }\n });\n comments.value = response.data;\n } catch (error) {\n console.error('Error fetching comments:', error);\n }\n};\n\nfetchComments();\n\n// Import state\nimport * as blog from '@martyrs/src/modules/community/store/blogposts.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n// State\nconst route = useRoute();\nconst router = useRouter();\n\nif (route.params.category === 'popular') blog.state.sort.param = 'views'; \nif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.state","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2LA,UAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS;AAC5D,UAAM,WAAW,IAAI,EAAE;AACA,QAAI,EAAE;AAE7B,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAM,OAAO,IAAI,kBAAkB;AAAA,UAClD,QAAQ;AAAA,YACN,UAAU;AAAA,YACV,QAAQ;AAAA,UAChB;AAAA,QACA,CAAK;AACD,iBAAS,QAAQ,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD;AAAA,IACF;AAEA,kBAAa;AASb,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,QAAI,MAAM,OAAO,aAAa,UAAWA,OAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,OAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3F,uBAAiB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Community.vue.js","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["\t<template>\n\t<div class=\"bg-white\">\n\t\t<section class=\"w-100 flex-nowrap flex gap-thin mobile:pd-zero pd-thin pos-relative\">\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<header v-if=\"!route.params.url && route.name !== 'Create BlogPost'\" class=\"bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t\t \t<h2 class=\"pos-relative ws-nowrap flex-v-center flex-nowrap flex\">\n\t\t \t\t<span class=\"mn-r-thin\">Posts for </span>\n\n\t\t \t\t<Select \n\t\t\t :options=\"['today','week','month','year','all time']\"\n\t\t\t v-model:select=\"blog.state.filter.period\" \n\t\t\t placeholder=\"all time\"\n\t\t\t class=\"\n\t\t\t \tfw-semi\n\t\t\t \tpos-relative \n\t\t\t \tw-max\n\t\t\t \tbg-main t-black\n\t\t\t \tpd-thin\n\t\t\t \tradius-medium\n\t\t\t h2\n\t\t\t \tt-center\n\t\t\t \tflex-column \n\t\t\t \tflex \n\t\t\t \tgap-regular \n\t\t\t \"\n\t\t\t />\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div v-if=\"!route.params.url && route.name !=='Create BlogPost'\" class=\"w-100 pos-relative\">\n\t\t\t\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll ws-nowrap scroll-hide\">\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer flex-v-center flex fw-medium pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFeatured\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer fw-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\t\n\t\t\t\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tPopular\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer fw-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tRecent\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer fw-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFollowing\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t\t\t\t}\" \n\t\t\t\t\t\t\tclass=\"button fw-medium bg-main w-max mn-l-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCreate Post\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\t\t\t</div>\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"desktop-only pos-sticky pos-b-thin scroll-hide h-100 w-40 h-100 pos-relative \">\n\t\t\t\t<div class=\"radius-medium bg-light mn-b-thin pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t\t\t<p class=\"fw-medium mn-b-small\">Latest Comments</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex flex-column gap-thin\">\n\t\t\t\t\t\t<Comment\n\t\t \tv-for=\"comment in comments.slice(0,5)\"\n\t\t\t :key=\"comment._id\"\n\t\t\t :comment=\"comment\"\n\t\t\t :target=\"target\"\n\t\t\t :type=\"type\"\n\t\t\t :owner=\"owner\"\n\t\t\t @reply=\"handleReply\"\n\t\t\t @load-more=\"loadMoreChildren\"\n\t\t\t class=\"comment bg-white pd-small radius-regular\"\n\t\t\t />\n\t\t\t </div>\n\t\t </div>\n\n\t <div class=\"radius-medium bg-light pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-v-center flex-nowrap flex mn-b-small\">\n\t\t\t\t\t\t<p class=\"text-box-trim-end fw-medium\">Popular Communities</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<router-link\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\tto=\"/organizations/create\"\n\t\t\t\t\t\t\tclass=\"fw-medium cursor-pointer hover:scale-[1.05] radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t\t\t<Feed\n\t\t\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t\t\t:LoadMore=\"false\"\n\t\t\t\t :states=\"{\n\t\t\t\t empty: {\n\t\t\t\t title: 'No Organization Found',\n\t\t\t\t description: 'Currently, there are no organization available.'\n\t\t\t\t }\n\t\t\t\t }\"\n\t\t\t\t :store=\"{\n\t\t\t\t read: (options) => organizations.actions.read(options),\n\t\t\t\t state: organizations.state\n\t\t\t\t }\"\n\t\t\t\t :options=\"{\n\t\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlookup: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t\t }\"\n\t\t\t\t v-slot=\"{ \n\t\t\t\t items \n\t\t\t\t }\"\n\t\t\t\t class=\"flex flex-column gap-thin\"\n\t\t\t\t >\n\t\t\t\t \t<CardOrganization \n\t\t\t \t\t\tv-for=\"organization in items\"\n\t\t\t \t:key=\"organization._id\" \n\t\t\t\t \t:organization=\"organization\"\n\t\t\t\t \t:user=\"auth.state.user\"\n\t\t\t\t \t:showProducts=\"false\"\n\t\t\t\t \t:showRating=\"false\"\n\t\t\t\t \t:showFeatured=\"false\"\n\t\t\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\t\t\tclass=\"pd-small w-100 bg-white radius-regular o-hidden\"\n\t\t\t\t\t />\n\t\t\t\t </Feed>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</section>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue'\n\n\nimport axios from 'axios';\n\n\nimport Comment from '../sections/Comment.vue';\n\n\nconst $axios = axios.create({ baseURL: process.env.API_URL });\nconst comments = ref([]);\nconst commentContent = ref('');\n\nconst fetchComments = async () => {\n try {\n const response = await $axios.get('/comments/read', {\n params: {\n maxDepth: 1,\n format: 'plain'\n }\n });\n comments.value = response.data;\n } catch (error) {\n console.error('Error fetching comments:', error);\n }\n};\n\nfetchComments();\n\n// Import state\nimport * as blog from '@martyrs/src/modules/community/store/blogposts.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n// State\nconst route = useRoute();\nconst router = useRouter();\n\nif (route.params.category === 'popular') blog.state.sort.param = 'views'; \nif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.state","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2LA,UAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS;AAC5D,UAAM,WAAW,IAAI,EAAE;AACA,QAAI,EAAE;AAE7B,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAM,OAAO,IAAI,kBAAkB;AAAA,UAClD,QAAQ;AAAA,YACN,UAAU;AAAA,YACV,QAAQ;AAAA,UAChB;AAAA,QACA,CAAK;AACD,iBAAS,QAAQ,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD;AAAA,IACF;AAEA,kBAAa;AASb,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,QAAI,MAAM,OAAO,aAAa,UAAWA,OAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,OAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3F,uBAAiB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,13 +1,13 @@
1
1
  import { computed, ref, onServerPrefetch, onMounted, createElementBlock, openBlock, createVNode, TransitionGroup, withCtx, createCommentVNode, Fragment, renderList, Transition, createBlock } from "vue";
2
2
  import { u as useHead } from "../../../../../../node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.js";
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$1 from "../../../../components/EmptyState/EmptyState.vue.js";
5
5
  import _sfc_main$2 from "../blocks/CardBlogpost.vue.js";
6
6
  import SkeletonBlogpost from "../../../icons/skeletons/SkeletonBlogpost.vue.js";
7
7
  import { useRoute } from "vue-router";
8
8
  import "vue-i18n";
9
9
  /* empty css */
10
- /* empty css */
10
+ /* empty css */
11
11
  import { state as state$1 } from "../../../auth/views/store/auth.js";
12
12
  /* empty css */
13
13
  /* empty css */
@@ -6,7 +6,7 @@ import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
6
6
  import _sfc_main$3 from "../../../../components/FieldTags/BlockTags.vue.js";
7
7
  import _sfc_main$6 from "../../../../components/Checkbox/Checkbox.vue.js";
8
8
  import Field from "../../../../components/Field/Field.vue.js";
9
- import _sfc_main$7 from "../../../../components/Button/Button.vue.js";
9
+ import _sfc_main$7 from "../../../../components/Button/Button.vue2.js";
10
10
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
11
11
  import _sfc_main$4 from "../../../core/views/components/blocks/Card.vue.js";
12
12
  import { useRoute, useRouter } from "vue-router";
@@ -6,15 +6,15 @@ import PlaceholderUserpic from "../../../../icons/placeholders/PlaceholderUserpi
6
6
  import PlaceholderOrganizationPic from "../../../../icons/placeholders/PlaceholderOrganizationPic.vue.js";
7
7
  import _sfc_main$4 from "../../../../icons/navigation/IconEllipsis.vue.js";
8
8
  import _sfc_main$5 from "../../../../reports/components/sections/FormReport.vue.js";
9
- /* empty css */
10
9
  /* empty css */
10
+ /* empty css */
11
11
  import _sfc_main$2 from "../elements/PhotoStack.vue.js";
12
12
  const _hoisted_1 = {
13
13
  key: 0,
14
14
  class: "pd-b-zero"
15
15
  };
16
16
  const _hoisted_2 = { class: "w-100 flex-v-center flex-justify-start flex" };
17
- const _hoisted_3 = { class: "w-100 gap-thin p-regular t-nowrap flex-nowrap flex-v-center flex" };
17
+ const _hoisted_3 = { class: "w-100 gap-thin p-regular ws-nowrap flex-nowrap flex-v-center flex" };
18
18
  const _hoisted_4 = ["src"];
19
19
  const _hoisted_5 = {
20
20
  key: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"CardHeader.vue.js","sources":["../../../../../../../../src/modules/core/views/components/blocks/CardHeader.vue"],"sourcesContent":["<template>\n\t<header \n\t\tv-if=\"owner\" \n\t\tclass=\"pd-b-zero \"\n\t>\n\t\t<div \n\t\t\tclass=\"w-100 flex-v-center flex-justify-start flex\"\n\t\t>\n\n\t\t\t<div\n\t\t\t\tclass=\"w-100 gap-thin p-regular t-nowrap flex-nowrap flex-v-center flex\"\n\t\t\t>\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"owner.target?.profile?.photo?.length > 0 && type !== 'short'\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + owner.target.profile.photo\" \n\t\t\t\t\tclass=\"radius-medium bg-white flex-child-default object-fit-cover i-medium\" \n\n\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\tname: owner.type === 'user' ? 'User Profile' : 'Organization', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: owner.target._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t/>\n\t\t\t\t<component\n\t\t\t\t\tv-if=\"!owner.target?.profile?.photo && type !== 'short'\"\n\t\t\t\t\t:is=\"owner.type === 'user' ? PlaceholderUserpic : PlaceholderOrganizationPic\"\n\t\t\t\t\tclass=\"radius-medium flex-child-default cursor-pointer i-medium\"\n\n\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\tname: owner.type === 'user' ? 'User Profile' : 'Organization', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: owner.target._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"type !== 'short'\"\n\t\t\t\t\tclass=\"gap-thin flex flex-nowrap fw-medium w-100 pos-relative\"\n\t\t\t\t>\n\t\t\t\t\t<span \n\t\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\t\tname: owner.type === 'user' ? 'User Profile' : 'Organization', \n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t_id: owner.target._id\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\" \n\t\t\t\t\t\tclass=\"cursor-pointer w-max truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{owner.target?.profile?.name || creator.target?.username || 'Anonymous'}}\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<span v-if=\"!creator.hidden && owner.target?.profile?.name !== creator.target?.profile?.name\">·</span> \n\n\t\t\t\t\t<span\n\t\t\t\t\t\tv-if=\"!creator.hidden && owner.target?.profile?.name !== creator.target?.profile?.name\"\n\t\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\t\tname: 'User Profile', \n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t_id: creator.target?._id\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\" \n\t\t\t\t\t\tclass=\"cursor-pointer w-max truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>by {{creator.target?.profile?.name || creator.target?.username || 'Anonymous'}}</div>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<span v-if=\"date\">·</span> \n\n\t\t\t\t\t<span v-if=\"date\" class=\"pos-relative w-max\">\n\t\t\t\t\t\t<Tooltip v-if=\"date\" :text=\"formatDate(date)\">\n\t\t\t\t\t \t\t{{getTimeElapsed(date)}}\n\t\t\t\t\t \t</Tooltip>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<span v-if=\"dateFormatted\">·</span>\n\n\t\t\t\t\t<span v-if=\"dateFormatted\"> {{dateFormatted}}</span>\n\t\t\t\t</div>\n\t\t\t\t\n\n\t\t\t\t<!-- Participaters avatar -->\n\t\t\t\t<div class=\"d-block mn-l-auto flex-nowrap flex flex-v-center\">\n\t\t\t\t\t<PhotoStack\n\t\t\t\t\t\tv-if=\"members\"\n\t\t\t\t\t\t:number=\"members\"\n\t\t\t \t:photos=\"membersPhotos\" \n\t\t\t />\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Report -->\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"type !== 'short' && user && (user !== creator.target?._id || (actions && actions.length > 0))\"\n\t\t\t\t\t:label=\"{ component: IconEllipsis, class: 't-transp i-regular' }\"\n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer z-index-2\"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black flex-column flex gap-thin pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\tv-if=\"user !== creator.target?._id\"\n\t\t\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t\t\t:type=\"entityType\" \n\t\t\t\t\t\t\t:target=\"entity._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<template \n\t\t\t v-for=\"action in actions\" \n\t\t\t v-if=\"actions && actions.length > 0\"\n\t\t\t >\n\t\t\t <router-link\n\t\t\t v-if=\"action.to\"\n\t\t\t :key=\"action.to\"\n\t\t\t :to=\"action.to\"\n\t\t\t :class=\"action.class || 'w-100 bg-black br-1px br-white-transp-20 t-white button-small button'\"\n\t\t\t >\n\t\t\t {{ action.label }}\n\t\t\t </router-link>\n\n\t\t\t <button\n\t\t\t v-if=\"action.method\"\n\t\t\t @click=\"action.method\"\n\t\t\t :class=\"action.class || 'w-100 bg-black br-1px br-white-transp-20 t-white button-small button'\"\n\t\t\t >\n\t\t\t {{ action.label }}\n\t\t\t </button>\n\t\t\t </template>\n\t\t\t\t\t</section>\n\t\t </Dropdown>\t\n\t\t\t</div>\n\t\t</div>\n\t</header>\n</template>\n\n\n<script setup=\"props\">\n\timport { computed,ref } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\timport Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue'\n\timport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\n\n\timport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n\timport PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\timport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n\timport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n\timport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n\timport PhotoStack from \"@martyrs/src/modules/core/views/components/elements/PhotoStack.vue\"\n\n\n\tconst props = defineProps([\n\t\t'user',\n\t\t'entity',\n\t\t'entityType',\n\t\t'date',\n\t\t'dateFormatted',\n\t\t'owner',\n\t\t'creator',\n\t\t'members',\n\t\t'membersPhotos',\n\t\t'type',\n\t\t'actions'\n\t])\n\n\tconst router = useRouter()\n\n\tfunction getTimeElapsed(timestamp) {\n\t const now = new Date();\n\t const createdAt = new Date(timestamp);\n\t const timeDiff = Math.abs(now - createdAt);\n\t const seconds = Math.floor(timeDiff / 1000);\n\t const minutes = Math.floor(seconds / 60);\n\t const hours = Math.floor(minutes / 60);\n\t const days = Math.floor(hours / 24);\n\t const weeks = Math.floor(days / 7);\n\t \n\t if (weeks > 0) {\n\t return `${weeks} week${weeks > 1 ? 's' : ''} ago`;\n\t } else if (days > 0) {\n\t return `${days} day${days > 1 ? 's' : ''} ago`;\n\t } else if (hours > 0) {\n\t return `${hours} hour${hours > 1 ? 's' : ''} ago`;\n\t } else if (minutes > 0) {\n\t return `${minutes} minute${minutes > 1 ? 's' : ''} ago`;\n\t } else {\n\t return 'Just now';\n\t }\n\t}\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiLgB,cAAS;AAExB,aAAS,eAAe,WAAW;AACjC,YAAM,MAAM,oBAAI,KAAI;AACpB,YAAM,YAAY,IAAI,KAAK,SAAS;AACpC,YAAM,WAAW,KAAK,IAAI,MAAM,SAAS;AACzC,YAAM,UAAU,KAAK,MAAM,WAAW,GAAI;AAC1C,YAAM,UAAU,KAAK,MAAM,UAAU,EAAE;AACvC,YAAM,QAAQ,KAAK,MAAM,UAAU,EAAE;AACrC,YAAM,OAAO,KAAK,MAAM,QAAQ,EAAE;AAClC,YAAM,QAAQ,KAAK,MAAM,OAAO,CAAC;AAEjC,UAAI,QAAQ,GAAG;AACb,eAAO,GAAG,KAAK,QAAQ,QAAQ,IAAI,MAAM,EAAE;AAAA,MAC7C,WAAW,OAAO,GAAG;AACnB,eAAO,GAAG,IAAI,OAAO,OAAO,IAAI,MAAM,EAAE;AAAA,MAC1C,WAAW,QAAQ,GAAG;AACpB,eAAO,GAAG,KAAK,QAAQ,QAAQ,IAAI,MAAM,EAAE;AAAA,MAC7C,WAAW,UAAU,GAAG;AACtB,eAAO,GAAG,OAAO,UAAU,UAAU,IAAI,MAAM,EAAE;AAAA,MACnD,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardHeader.vue.js","sources":["../../../../../../../../src/modules/core/views/components/blocks/CardHeader.vue"],"sourcesContent":["<template>\n\t<header \n\t\tv-if=\"owner\" \n\t\tclass=\"pd-b-zero \"\n\t>\n\t\t<div \n\t\t\tclass=\"w-100 flex-v-center flex-justify-start flex\"\n\t\t>\n\n\t\t\t<div\n\t\t\t\tclass=\"w-100 gap-thin p-regular ws-nowrap flex-nowrap flex-v-center flex\"\n\t\t\t>\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"owner.target?.profile?.photo?.length > 0 && type !== 'short'\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + owner.target.profile.photo\" \n\t\t\t\t\tclass=\"radius-medium bg-white flex-child-default object-fit-cover i-medium\" \n\n\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\tname: owner.type === 'user' ? 'User Profile' : 'Organization', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: owner.target._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t/>\n\t\t\t\t<component\n\t\t\t\t\tv-if=\"!owner.target?.profile?.photo && type !== 'short'\"\n\t\t\t\t\t:is=\"owner.type === 'user' ? PlaceholderUserpic : PlaceholderOrganizationPic\"\n\t\t\t\t\tclass=\"radius-medium flex-child-default cursor-pointer i-medium\"\n\n\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\tname: owner.type === 'user' ? 'User Profile' : 'Organization', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: owner.target._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"type !== 'short'\"\n\t\t\t\t\tclass=\"gap-thin flex flex-nowrap fw-medium w-100 pos-relative\"\n\t\t\t\t>\n\t\t\t\t\t<span \n\t\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\t\tname: owner.type === 'user' ? 'User Profile' : 'Organization', \n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t_id: owner.target._id\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\" \n\t\t\t\t\t\tclass=\"cursor-pointer w-max truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{owner.target?.profile?.name || creator.target?.username || 'Anonymous'}}\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<span v-if=\"!creator.hidden && owner.target?.profile?.name !== creator.target?.profile?.name\">·</span> \n\n\t\t\t\t\t<span\n\t\t\t\t\t\tv-if=\"!creator.hidden && owner.target?.profile?.name !== creator.target?.profile?.name\"\n\t\t\t\t\t\t@click.stop=\"$router.push({\n\t\t\t\t\t\t\tname: 'User Profile', \n\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t_id: creator.target?._id\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\" \n\t\t\t\t\t\tclass=\"cursor-pointer w-max truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>by {{creator.target?.profile?.name || creator.target?.username || 'Anonymous'}}</div>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<span v-if=\"date\">·</span> \n\n\t\t\t\t\t<span v-if=\"date\" class=\"pos-relative w-max\">\n\t\t\t\t\t\t<Tooltip v-if=\"date\" :text=\"formatDate(date)\">\n\t\t\t\t\t \t\t{{getTimeElapsed(date)}}\n\t\t\t\t\t \t</Tooltip>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<span v-if=\"dateFormatted\">·</span>\n\n\t\t\t\t\t<span v-if=\"dateFormatted\"> {{dateFormatted}}</span>\n\t\t\t\t</div>\n\t\t\t\t\n\n\t\t\t\t<!-- Participaters avatar -->\n\t\t\t\t<div class=\"d-block mn-l-auto flex-nowrap flex flex-v-center\">\n\t\t\t\t\t<PhotoStack\n\t\t\t\t\t\tv-if=\"members\"\n\t\t\t\t\t\t:number=\"members\"\n\t\t\t \t:photos=\"membersPhotos\" \n\t\t\t />\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Report -->\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"type !== 'short' && user && (user !== creator.target?._id || (actions && actions.length > 0))\"\n\t\t\t\t\t:label=\"{ component: IconEllipsis, class: 't-transp i-regular' }\"\n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer z-index-2\"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black flex-column flex gap-thin pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\tv-if=\"user !== creator.target?._id\"\n\t\t\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t\t\t:type=\"entityType\" \n\t\t\t\t\t\t\t:target=\"entity._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<template \n\t\t\t v-for=\"action in actions\" \n\t\t\t v-if=\"actions && actions.length > 0\"\n\t\t\t >\n\t\t\t <router-link\n\t\t\t v-if=\"action.to\"\n\t\t\t :key=\"action.to\"\n\t\t\t :to=\"action.to\"\n\t\t\t :class=\"action.class || 'w-100 bg-black br-1px br-white-transp-20 t-white button-small button'\"\n\t\t\t >\n\t\t\t {{ action.label }}\n\t\t\t </router-link>\n\n\t\t\t <button\n\t\t\t v-if=\"action.method\"\n\t\t\t @click=\"action.method\"\n\t\t\t :class=\"action.class || 'w-100 bg-black br-1px br-white-transp-20 t-white button-small button'\"\n\t\t\t >\n\t\t\t {{ action.label }}\n\t\t\t </button>\n\t\t\t </template>\n\t\t\t\t\t</section>\n\t\t </Dropdown>\t\n\t\t\t</div>\n\t\t</div>\n\t</header>\n</template>\n\n\n<script setup=\"props\">\n\timport { computed,ref } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\timport Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue'\n\timport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\n\n\timport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n\timport PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\timport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n\timport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n\timport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n\timport PhotoStack from \"@martyrs/src/modules/core/views/components/elements/PhotoStack.vue\"\n\n\n\tconst props = defineProps([\n\t\t'user',\n\t\t'entity',\n\t\t'entityType',\n\t\t'date',\n\t\t'dateFormatted',\n\t\t'owner',\n\t\t'creator',\n\t\t'members',\n\t\t'membersPhotos',\n\t\t'type',\n\t\t'actions'\n\t])\n\n\tconst router = useRouter()\n\n\tfunction getTimeElapsed(timestamp) {\n\t const now = new Date();\n\t const createdAt = new Date(timestamp);\n\t const timeDiff = Math.abs(now - createdAt);\n\t const seconds = Math.floor(timeDiff / 1000);\n\t const minutes = Math.floor(seconds / 60);\n\t const hours = Math.floor(minutes / 60);\n\t const days = Math.floor(hours / 24);\n\t const weeks = Math.floor(days / 7);\n\t \n\t if (weeks > 0) {\n\t return `${weeks} week${weeks > 1 ? 's' : ''} ago`;\n\t } else if (days > 0) {\n\t return `${days} day${days > 1 ? 's' : ''} ago`;\n\t } else if (hours > 0) {\n\t return `${hours} hour${hours > 1 ? 's' : ''} ago`;\n\t } else if (minutes > 0) {\n\t return `${minutes} minute${minutes > 1 ? 's' : ''} ago`;\n\t } else {\n\t return 'Just now';\n\t }\n\t}\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiLgB,cAAS;AAExB,aAAS,eAAe,WAAW;AACjC,YAAM,MAAM,oBAAI,KAAI;AACpB,YAAM,YAAY,IAAI,KAAK,SAAS;AACpC,YAAM,WAAW,KAAK,IAAI,MAAM,SAAS;AACzC,YAAM,UAAU,KAAK,MAAM,WAAW,GAAI;AAC1C,YAAM,UAAU,KAAK,MAAM,UAAU,EAAE;AACvC,YAAM,QAAQ,KAAK,MAAM,UAAU,EAAE;AACrC,YAAM,OAAO,KAAK,MAAM,QAAQ,EAAE;AAClC,YAAM,QAAQ,KAAK,MAAM,OAAO,CAAC;AAEjC,UAAI,QAAQ,GAAG;AACb,eAAO,GAAG,KAAK,QAAQ,QAAQ,IAAI,MAAM,EAAE;AAAA,MAC7C,WAAW,OAAO,GAAG;AACnB,eAAO,GAAG,IAAI,OAAO,OAAO,IAAI,MAAM,EAAE;AAAA,MAC1C,WAAW,QAAQ,GAAG;AACpB,eAAO,GAAG,KAAK,QAAQ,QAAQ,IAAI,MAAM,EAAE;AAAA,MAC7C,WAAW,UAAU,GAAG;AACtB,eAAO,GAAG,OAAO,UAAU,UAAU,IAAI,MAAM,EAAE;AAAA,MACnD,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { createBlock, openBlock, withCtx, createElementVNode, toDisplayString, createVNode, createTextVNode } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
4
- import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
4
+ import _sfc_main$2 from "../../../../../components/Button/Button.vue2.js";
5
5
  const _hoisted_1 = { class: "t-center" };
6
6
  const _hoisted_2 = { class: "mn-b-medium" };
7
7
  const _hoisted_3 = { class: "mn-b-semi t-transp" };
@@ -1,9 +1,9 @@
1
1
  import { ref, computed, watch, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode, toDisplayString, unref } from "vue";
2
2
  import { useI18n } from "vue-i18n";
3
3
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
4
- import Loader from "../../../../../components/Loader/Loader.vue2.js";
4
+ import Loader from "../../../../../components/Loader/Loader.vue.js";
5
5
  import Calendar from "../../../../../components/Calendar/Calendar.vue2.js";
6
- import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
7
7
  import _sfc_main$4 from "../../../../icons/actions/IconShopcartAdd.vue.js";
8
8
  import _sfc_main$2 from "../../../../orders/components/elements/PriceTotal.vue.js";
9
9
  import { loadAvailability } from "../../../../rents/views/store/rents.store.js";
@@ -7,8 +7,8 @@ import _sfc_main$5 from "../../../../../components/Status/Snack.vue.js";
7
7
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
8
8
  import "vue-i18n";
9
9
  /* empty css */
10
- import Loader from "../../../../../components/Loader/Loader.vue2.js";
11
- /* empty css */
10
+ import Loader from "../../../../../components/Loader/Loader.vue.js";
11
+ /* empty css */
12
12
  /* empty css */
13
13
  import _sfc_main$2 from "../partials/LocationSelection.vue.js";
14
14
  import _sfc_main$3 from "../../../../orders/components/partials/ShopCart.vue.js";
@@ -5,8 +5,8 @@ import { useStore } from "../../store/core.store.js";
5
5
  import { actions, getters } from "../../../../orders/store/shopcart.js";
6
6
  import { state } from "../../../../auth/views/store/auth.js";
7
7
  import NotificationBadge from "../../../../notifications/components/elements/NotificationBadge.vue.js";
8
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
9
- import Select from "../../../../../components/Select/Select.vue2.js";
8
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
9
+ import Select from "../../../../../components/Select/Select.vue.js";
10
10
  import _sfc_main$3 from "../../../../icons/entities/IconShopcart.vue.js";
11
11
  import _sfc_main$4 from "../../../../icons/entities/IconProfile.vue.js";
12
12
  import _sfc_main$2 from "../../../../icons/navigation/IconSearch.vue.js";
@@ -90,7 +90,7 @@ const _sfc_main = {
90
90
  __props.location ? (openBlock(), createElementBlock("button", {
91
91
  key: 1,
92
92
  "aria-label": "button_location",
93
- class: normalizeClass(["cursor-pointer bg-transparent pd-micro radius-extra uppercase fw-semi br-2px ease-linear t-nowrap", {
93
+ class: normalizeClass(["cursor-pointer bg-transparent pd-micro radius-extra uppercase fw-semi br-2px ease-linear ws-nowrap", {
94
94
  "fill-black br-black t-black hover:bg-black hover:t-white hover:fill-white": __props.theme === "light",
95
95
  "fill-white br-white t-white hover:bg-white hover:t-black hover:fill-black": __props.theme === "dark"
96
96
  }]),
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Header.vue"],"sourcesContent":["<script setup=\"props\">\n\timport { computed, onMounted, toRefs, ref, inject } from 'vue'\n\n\timport { useRouter,useRoute } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\n\timport * as shopcart from '@martyrs/src/modules/orders/store/shopcart.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\n\tconst store = useStore()\n\t\n\t// Globasls Component\n\n\timport NotificationBadge from '@martyrs/src/modules/notifications/components/elements/NotificationBadge.vue';\n\t// import Navigation from '@martyrs/src/modules/core/views/components/partials/Navigation.vue'\n\t// Martyrs Component\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\t// Icons module\n\timport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n\timport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue'\n\timport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\n\t// Props\n\tconst props = defineProps({\n theme: {\n \ttype: String,\n\t default: \"light\"\n },\n logotype: {\n\t type: Object\n\t },\n\t location: {\n\t type: Boolean,\n\t\t default: true\n\t },\n\t theme_switcher: {\n\t type: Boolean,\n\t\t default: true\n\t },\n });\n\t// Accessing state\n\tconst router = useRouter()\n\tconst route = useRoute()\n\t// Localization\n\tconst { t } = useI18n()\n\t// const search = computed(() => store.products.state.search)\n\n\tfunction openLocationPopup() {\n\t store.core.state.isOpenLocationPopup = true;\n\t}\n\t/////////////////////////////\n\t// MOUNTED\n\t/////////////////////////////\n\tonMounted(() => {\n shopcart.actions.setShopcart()\n });\n</script>\n\n<template>\n\t<header \n\t\tid=\"header\" \n\t\tclass=\"\n\t\t\tpd-thin \n\t\t\tgap-micro\n\t\t\tflex-justify-between\n\t\t\tflex-nowrap\n\t\t\tflex\n\t\t\th-4r\n\t\t\tw-100\n\t\t\tz-index-2 \n\t\t\tpos-relative pos-t-0\n\t\t\tbr-b-1px\n\t\t\"\n\t\t:class=\"{\n \t\t't-black br-light': theme === 'light',\n \t\t't-white br-dark': theme === 'dark' \n \t}\"\n\t>\n\t<div class=\"flex-nowrap flex-v-center flex-justify-start flex gap-micro \">\n\t\t<!-- MENU -->\n\t\t<button\n\t\t\taria-label=\"menu\"\n\t\t\t@click=\"() => store.core.state.isOpenSidebar = !store.core.state.isOpenSidebar\"\n\t\t\tclass=\"cursor-pointer mobile-only menu-btn\"\n\t\t\t:class=\"{\n\t\t\t\t'menu-btn_active': store.core.state.isOpenSidebar\n\t\t\t}\"\n\t\t>\n\t <span\n\t \tclass=\"no-events\"\n\t\t :class=\"{\n\t\t 'bg-black': theme === 'light',\n\t\t 'bg-white': theme === 'dark'\n\t\t }\"\n\t\t >\n\t\t <span class=\"menu-btn__before\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t <span class=\"menu-btn__after\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t </span>\n\t </button>\n\n\t\t<!-- LOGO -->\n\t\t<component\n\t\t\tv-if=\"logotype\"\n\t\t :is=\"logotype\"\n\t\t @click=\"router.push({ path: '/' })\" \n\t\t :theme=\"theme\"\n\t\t class=\"cursor-pointer h-2r\"\n\t\t/>\n\n\t\t<button\n\t\t\tv-if=\"location\"\n\t\t\taria-label=\"button_location\"\n \tclass=\"\n \t\tcursor-pointer\n \t\tbg-transparent \n \t\tpd-micro\n \t\tradius-extra \n \t\tuppercase \n \t\tfw-semi\n \t\t\n \t\tbr-2px \n \t\tease-linear\n \t\tt-nowrap\n \t\n \t\"\n \t:class=\"{\n \t\t'fill-black br-black t-black hover:bg-black hover:t-white hover:fill-white': theme === 'light',\n \t\t'fill-white br-white t-white hover:bg-white hover:t-black hover:fill-black': theme === 'dark' \n \t}\"\n \t@click=\"openLocationPopup()\"\n >\n \t<svg class=\"i-small\" :fill=\"'inherit'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"67\" viewBox=\"0 0 50 67\" fill=\"none\">\n\t\t\t <path d=\"M25 0C11.207 0 0 11.207 0 25C0 38.793 20.832 66.668 25 66.668C29.168 66.668 50 38.793 50 25C50 11.207 38.793 0 25 0ZM25 33.332C20.418 33.332 16.668 29.582 16.668 25C16.668 20.418 20.418 16.668 25 16.668C29.582 16.668 33.332 20.418 33.332 25C33.332 29.582 29.582 33.332 25 33.332Z\" :fill=\"'inherit'\"/>\n\t\t\t</svg>\n \t {{store.core.state.position?.country ? store.core.state.position.country : 'World'}}\n </button>\n </div>\n\n \t<slot></slot>\n\n\t<div class=\"flex-justify-end flex-v-center flex-nowrap flex gap-micro\">\n\t\t<Button \n\t\t\tv-if=\"router.hasRoute('Search') && route.meta.header_search\"\n\t\t\taria-label=\"search\"\n\t\t\tclass=\"pd-zero bg-transparent\"\n\t\t\t:class=\"route.meta.header_search_class\"\n\t\t\t:submit=\"() => router.push({name: 'Search'})\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconSearch \n\t\t\t\tclass=\"i-medium\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\t\n\t\t<Button\n\t\t\taria-label=\"shopcart\"\n\t\t\t:submit=\"a => shopcart.actions.toggleShopcart()\" \n\t\t\t:counter=\"shopcart.getters.cartTotalAmount\" \n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t\tclass=\"pd-zero mn-r-micro\"\n\t\t\t> \n\t\t\t<IconShopcart \n\t\t\t\tclass=\"i-medium\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t\t<!-- <div class=\"w-max p-small pos-absolute pos-t-100 pos-r-0\">Product Added to Shopcart</div> -->\n\t\t</Button>\n\n\n\t\t<NotificationBadge\n\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t/>\n\n\t\t<Button \n\t\t\taria-label=\"profile\"\n\t\t\tclass=\"pd-zero bg-transparent\"\n\t\t\t:submit=\"\n\t\t\t\tauth.state.access.status === false \n\t\t\t\t? \n\t\t\t\ta => router.push({name: 'Sign In'}) \n\t\t\t\t: \n\t\t\t\ta => router.push({ name: 'User Profile', params: { _id: auth.state.user._id }})\n\t\t\t\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconProfile \n\t\t\t\tclass=\"i-medium\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\n\t\t<Select \n\t\t\tv-if=\"$i18n.availableLocales.length > 1\"\n\t\t\tv-model:select=\"$i18n.locale\"\n\t\t :options=\"$i18n.availableLocales\"\n\t\t :property=\"'value'\"\n class=\"pos-relative flex flex-column gap-small uppercase pd-thin fw-semi radius-thin\"\n :class=\"{\n \t\t'bg-light t-black': theme === 'light',\n \t\t'bg-dark t-white': theme === 'dark' \n \t}\"\n />\n </div>\n</header>\n \n</template>\n\n<style lang=\"scss\">\n.location-button { \n\t&:hover {\n\t\tbox-shadow: inset 0 0 0 2px rgb(var(--main));\n\t}\n}\n\n.menu-btn {\n display: block;\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n position: relative;\n}\n.menu-btn span,\n.menu-btn__before,\n.menu-btn__after {\n position: absolute;\n top: 50%;\n margin-top: -1px;\n left: 50%;\n margin-left: -10px;\n width: 20px;\n height: 2px;\n}\n.menu-btn__before,\n.menu-btn__after {\n display: block;\n transition: 0.2s;\n}\n.menu-btn__before {\n transform: translateY(-5px);\n}\n.menu-btn__after {\n transform: translateY(5px);\n}\n.menu-btn_active .menu-btn__before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active .menu-btn__after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-btn_active span:before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active span:after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-block {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.menu-nav {\n background-color: #fff;\n height: 50px;\n \n}\n.menu-nav__link {\n display: inline-block;\n text-decoration: none;\n color: #fff;\n margin-right: 20px;\n}\n.menu-nav__link {\n transition: 0.5s;\n transform-origin: right center;\n transform: translateX(50%);\n opacity: 0;\n}\n.menu-nav__link_active {\n transform: translateX(0%);\n opacity: 1;\n}\n\n</style>"],"names":["shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUC,UAAM,QAAQ,SAAQ;AAiCtB,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAEtB,UAAM,EAAE,EAAC,IAAK,QAAO;AAGrB,aAAS,oBAAoB;AAC3B,YAAM,KAAK,MAAM,sBAAsB;AAAA,IACzC;AAIA,cAAU,MAAM;AACbA,cAAiB,YAAW;AAAA,IAC9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Header.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Header.vue"],"sourcesContent":["<script setup=\"props\">\n\timport { computed, onMounted, toRefs, ref, inject } from 'vue'\n\n\timport { useRouter,useRoute } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\n\timport * as shopcart from '@martyrs/src/modules/orders/store/shopcart.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\n\tconst store = useStore()\n\t\n\t// Globasls Component\n\n\timport NotificationBadge from '@martyrs/src/modules/notifications/components/elements/NotificationBadge.vue';\n\t// import Navigation from '@martyrs/src/modules/core/views/components/partials/Navigation.vue'\n\t// Martyrs Component\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n\t// Icons module\n\timport IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n\timport IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue'\n\timport IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';\n\t// Props\n\tconst props = defineProps({\n theme: {\n \ttype: String,\n\t default: \"light\"\n },\n logotype: {\n\t type: Object\n\t },\n\t location: {\n\t type: Boolean,\n\t\t default: true\n\t },\n\t theme_switcher: {\n\t type: Boolean,\n\t\t default: true\n\t },\n });\n\t// Accessing state\n\tconst router = useRouter()\n\tconst route = useRoute()\n\t// Localization\n\tconst { t } = useI18n()\n\t// const search = computed(() => store.products.state.search)\n\n\tfunction openLocationPopup() {\n\t store.core.state.isOpenLocationPopup = true;\n\t}\n\t/////////////////////////////\n\t// MOUNTED\n\t/////////////////////////////\n\tonMounted(() => {\n shopcart.actions.setShopcart()\n });\n</script>\n\n<template>\n\t<header \n\t\tid=\"header\" \n\t\tclass=\"\n\t\t\tpd-thin \n\t\t\tgap-micro\n\t\t\tflex-justify-between\n\t\t\tflex-nowrap\n\t\t\tflex\n\t\t\th-4r\n\t\t\tw-100\n\t\t\tz-index-2 \n\t\t\tpos-relative pos-t-0\n\t\t\tbr-b-1px\n\t\t\"\n\t\t:class=\"{\n \t\t't-black br-light': theme === 'light',\n \t\t't-white br-dark': theme === 'dark' \n \t}\"\n\t>\n\t<div class=\"flex-nowrap flex-v-center flex-justify-start flex gap-micro \">\n\t\t<!-- MENU -->\n\t\t<button\n\t\t\taria-label=\"menu\"\n\t\t\t@click=\"() => store.core.state.isOpenSidebar = !store.core.state.isOpenSidebar\"\n\t\t\tclass=\"cursor-pointer mobile-only menu-btn\"\n\t\t\t:class=\"{\n\t\t\t\t'menu-btn_active': store.core.state.isOpenSidebar\n\t\t\t}\"\n\t\t>\n\t <span\n\t \tclass=\"no-events\"\n\t\t :class=\"{\n\t\t 'bg-black': theme === 'light',\n\t\t 'bg-white': theme === 'dark'\n\t\t }\"\n\t\t >\n\t\t <span class=\"menu-btn__before\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t <span class=\"menu-btn__after\" :class=\"{ 'bg-black': theme === 'light', 'bg-white': theme === 'dark' }\"></span>\n\t\t </span>\n\t </button>\n\n\t\t<!-- LOGO -->\n\t\t<component\n\t\t\tv-if=\"logotype\"\n\t\t :is=\"logotype\"\n\t\t @click=\"router.push({ path: '/' })\" \n\t\t :theme=\"theme\"\n\t\t class=\"cursor-pointer h-2r\"\n\t\t/>\n\n\t\t<button\n\t\t\tv-if=\"location\"\n\t\t\taria-label=\"button_location\"\n \tclass=\"\n \t\tcursor-pointer\n \t\tbg-transparent \n \t\tpd-micro\n \t\tradius-extra \n \t\tuppercase \n \t\tfw-semi\n \t\t\n \t\tbr-2px \n \t\tease-linear\n \t\tws-nowrap\n \t\n \t\"\n \t:class=\"{\n \t\t'fill-black br-black t-black hover:bg-black hover:t-white hover:fill-white': theme === 'light',\n \t\t'fill-white br-white t-white hover:bg-white hover:t-black hover:fill-black': theme === 'dark' \n \t}\"\n \t@click=\"openLocationPopup()\"\n >\n \t<svg class=\"i-small\" :fill=\"'inherit'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"67\" viewBox=\"0 0 50 67\" fill=\"none\">\n\t\t\t <path d=\"M25 0C11.207 0 0 11.207 0 25C0 38.793 20.832 66.668 25 66.668C29.168 66.668 50 38.793 50 25C50 11.207 38.793 0 25 0ZM25 33.332C20.418 33.332 16.668 29.582 16.668 25C16.668 20.418 20.418 16.668 25 16.668C29.582 16.668 33.332 20.418 33.332 25C33.332 29.582 29.582 33.332 25 33.332Z\" :fill=\"'inherit'\"/>\n\t\t\t</svg>\n \t {{store.core.state.position?.country ? store.core.state.position.country : 'World'}}\n </button>\n </div>\n\n \t<slot></slot>\n\n\t<div class=\"flex-justify-end flex-v-center flex-nowrap flex gap-micro\">\n\t\t<Button \n\t\t\tv-if=\"router.hasRoute('Search') && route.meta.header_search\"\n\t\t\taria-label=\"search\"\n\t\t\tclass=\"pd-zero bg-transparent\"\n\t\t\t:class=\"route.meta.header_search_class\"\n\t\t\t:submit=\"() => router.push({name: 'Search'})\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconSearch \n\t\t\t\tclass=\"i-medium\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\t\n\t\t<Button\n\t\t\taria-label=\"shopcart\"\n\t\t\t:submit=\"a => shopcart.actions.toggleShopcart()\" \n\t\t\t:counter=\"shopcart.getters.cartTotalAmount\" \n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t\tclass=\"pd-zero mn-r-micro\"\n\t\t\t> \n\t\t\t<IconShopcart \n\t\t\t\tclass=\"i-medium\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t\t<!-- <div class=\"w-max p-small pos-absolute pos-t-100 pos-r-0\">Product Added to Shopcart</div> -->\n\t\t</Button>\n\n\n\t\t<NotificationBadge\n\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t/>\n\n\t\t<Button \n\t\t\taria-label=\"profile\"\n\t\t\tclass=\"pd-zero bg-transparent\"\n\t\t\t:submit=\"\n\t\t\t\tauth.state.access.status === false \n\t\t\t\t? \n\t\t\t\ta => router.push({name: 'Sign In'}) \n\t\t\t\t: \n\t\t\t\ta => router.push({ name: 'User Profile', params: { _id: auth.state.user._id }})\n\t\t\t\"\n\t\t\t:showSucces=\"false\"\n\t\t\t:showLoader=\"false\"\n\t\t>\n\t\t\t<IconProfile \n\t\t\t\tclass=\"i-medium\"\n\t\t\t\t:fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" \n\t\t\t/>\n\t\t</Button>\n\n\t\t<Select \n\t\t\tv-if=\"$i18n.availableLocales.length > 1\"\n\t\t\tv-model:select=\"$i18n.locale\"\n\t\t :options=\"$i18n.availableLocales\"\n\t\t :property=\"'value'\"\n class=\"pos-relative flex flex-column gap-small uppercase pd-thin fw-semi radius-thin\"\n :class=\"{\n \t\t'bg-light t-black': theme === 'light',\n \t\t'bg-dark t-white': theme === 'dark' \n \t}\"\n />\n </div>\n</header>\n \n</template>\n\n<style lang=\"scss\">\n.location-button { \n\t&:hover {\n\t\tbox-shadow: inset 0 0 0 2px rgb(var(--main));\n\t}\n}\n\n.menu-btn {\n display: block;\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n position: relative;\n}\n.menu-btn span,\n.menu-btn__before,\n.menu-btn__after {\n position: absolute;\n top: 50%;\n margin-top: -1px;\n left: 50%;\n margin-left: -10px;\n width: 20px;\n height: 2px;\n}\n.menu-btn__before,\n.menu-btn__after {\n display: block;\n transition: 0.2s;\n}\n.menu-btn__before {\n transform: translateY(-5px);\n}\n.menu-btn__after {\n transform: translateY(5px);\n}\n.menu-btn_active .menu-btn__before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active .menu-btn__after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-btn_active span:before {\n transform: rotate(-35deg);\n width: 10px;\n transform-origin: left bottom;\n}\n.menu-btn_active span:after {\n transform: rotate(35deg);\n width: 10px;\n transform-origin: left top;\n}\n\n.menu-block {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.menu-nav {\n background-color: #fff;\n height: 50px;\n \n}\n.menu-nav__link {\n display: inline-block;\n text-decoration: none;\n color: #fff;\n margin-right: 20px;\n}\n.menu-nav__link {\n transition: 0.5s;\n transform-origin: right center;\n transform: translateX(50%);\n opacity: 0;\n}\n.menu-nav__link_active {\n transform: translateX(0%);\n opacity: 1;\n}\n\n</style>"],"names":["shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUC,UAAM,QAAQ,SAAQ;AAiCtB,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAEtB,UAAM,EAAE,EAAC,IAAK,QAAO;AAGrB,aAAS,oBAAoB;AAC3B,YAAM,KAAK,MAAM,sBAAsB;AAAA,IACzC;AAIA,cAAU,MAAM;AACbA,cAAiB,YAAW;AAAA,IAC9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ import { useRouter, useRoute } from "vue-router";
3
3
  import { useI18n } from "vue-i18n";
4
4
  import _sfc_main$2 from "../../../../icons/entities/IconShopcart.vue.js";
5
5
  import _sfc_main$3 from "../../../../icons/entities/IconProfile.vue.js";
6
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
6
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
7
7
  import { useStore } from "../../store/core.store.js";
8
8
  import { getters, actions } from "../../../../orders/store/shopcart.js";
9
9
  import { state } from "../../../../auth/views/store/auth.js";
@@ -118,7 +118,7 @@ const _sfc_main = {
118
118
  ]])
119
119
  }, [
120
120
  createElementVNode("span", {
121
- class: normalizeClass(["w-100 t-nowrap ease-quint-out t-left fw-medium mn-r-thin", { "hidden": !__props.stateSidebar, "visible": __props.stateSidebar }])
121
+ class: normalizeClass(["w-100 ws-nowrap ease-quint-out t-left fw-medium mn-r-thin", { "hidden": !__props.stateSidebar, "visible": __props.stateSidebar }])
122
122
  }, " Dark Mode ", 2),
123
123
  createElementVNode("span", _hoisted_4, toDisplayString(unref(store).core.state.theme.darkmode ? "🌙" : "☀️"), 1)
124
124
  ], 2)
@@ -127,7 +127,7 @@ const _sfc_main = {
127
127
  };
128
128
  }
129
129
  };
130
- const Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-499f10e6"]]);
130
+ const Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0780c9a9"]]);
131
131
  export {
132
132
  Sidebar as default
133
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Sidebar.vue"],"sourcesContent":["<script setup>\nimport { ref, watch } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/core/views/mixins/mixins.js\"\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\n\nconst store = useStore()\n\nconst props = defineProps({\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n width: {\n type: String,\n default: 'w-15r'\n },\n widthHidden:{\n type: String,\n default: 'w-3r '\n },\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst { isPhone, isTablet } = useGlobalMixins()\nconst router = useRouter()\nconst route = useRoute()\n\n// Отдельный флаг для клика меню на mobile\nconst isManuallyOpened = ref(false)\n\n// Синхронизируем с stateSidebar ТОЛЬКО на mobile\nwatch(() => props.stateSidebar, (newVal) => {\n if (isPhone() || isTablet()) {\n isManuallyOpened.value = newVal\n }\n})\n\nconst toggleSidebar = () => {\n isManuallyOpened.value = !isManuallyOpened.value\n if (!isManuallyOpened.value) {\n emits('closeSidebar')\n }\n}\n\nconst handleMouseEnter = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = true\n }\n}\n\nconst handleMouseLeave = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = false\n }\n}\n\nrouter.beforeEach((to, from) => {\n // На mobile не трогаем state через навигацию\n if (isPhone() || isTablet()) {\n emits('closeSidebar')\n return\n }\n\n\n // Desktop логика\n // Если уходим с профиля И НЕ идем на профиль - закрыть\n if (from.meta?.sidebarCloseOnLeave === true && to.meta?.sidebarOpenOnEnter !== true) {\n store.core.state.isOpenSidebar = false\n }\n\n // Если приходим на профиль - открыть\n if (to.meta?.sidebarOpenOnEnter === true) {\n store.core.state.isOpenSidebar = true\n }\n})\n</script>\n\n<template>\n <aside\n data-sidebar\n class=\"ease-quint-out w-min-0 flex-child-default z-index-2 br-r-1px flex flex-column h-100\"\n :class=\"[\n { 'mobile-opened': isManuallyOpened },\n stateSidebar\n ? `${width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100`\n : `${widthHidden} mobile:w-0`,\n //\n theme === 'light'\n ? 't-black bg-white br-light'\n : 't-white bg-black br-dark'\n ]\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- Header slot - shrink-0 -->\n <div class=\"flex-shrink-0\">\n <slot name=\"header\"></slot>\n </div>\n\n <!-- Main scrollable content - flex-1 overflow-y-auto -->\n <div class=\"flex-child-1 o-y-auto\">\n <slot></slot>\n </div>\n\n <!-- Footer slot - shrink-0 -->\n <div class=\"flex-shrink-0\">\n <slot name=\"footer\"></slot>\n </div>\n <div v-if=\"MOBILE_APP\" @click=\"() => toggleSidebar()\" class=\"flex-shrink-0 pos-relative\">\n <div class=\"bg-light radius-medium pd-medium\">\n <p class=\"fw-medium t-black-transp-60\">\n Close Menu\n </p>\n </div>\n </div>\n <div\n class=\"flex-shrink-0 w-100 br-t-1px\"\n :class=\"{ \n 'pd-micro': !stateSidebar, \n 'pd-small': stateSidebar,\n 'br-light': theme === 'light',\n 'br-dark': theme === 'dark'\n }\"\n >\n <button\n @click=\"() => store.core.actions.toggleTheme()\"\n class=\"ease-quint-out flex w-100 flex-center radius-small cursor-pointer flex-nowrap\"\n :class=\"[\n stateSidebar ? 'pd-thin justify-between' : 'w-100 justify-center',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span\n class=\"w-100 t-nowrap ease-quint-out t-left fw-medium mn-r-thin\"\n :class=\"{ 'hidden': !stateSidebar, 'visible': stateSidebar }\"\n >\n Dark Mode\n </span>\n <span class=\"aspect-1x1 flex-child-default w-max-big w-100 flex flex-center \">\n {{ store.core.state.theme.darkmode ? '🌙' : '☀️' }}\n </span>\n </button>\n </div>\n </aside>\n</template>\n\n<style scoped>\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */\n@media (max-width: 1024px) {\n aside[data-sidebar] {\n position: absolute !important;\n left: 0 !important;\n transform: translateX(-100%) !important;\n visibility: hidden !important;\n z-index: 1000 !important;\n }\n\n /* Показываем ТОЛЬКО когда manual клик (НЕ от SSR state) */\n aside[data-sidebar].mobile-opened {\n transform: translateX(0) !important;\n visibility: visible !important;\n }\n}\n\n/* Scrollbar styles */\n::-webkit-scrollbar {\n width: 6px;\n}\n::-webkit-scrollbar-track {\n background: transparent;\n}\n::-webkit-scrollbar-thumb {\n background-color: var(--grey-micro);\n border-radius: 3px;\n}\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--grey-small);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ,SAAQ;AAEtB,UAAM,QAAQ;AAmBd,UAAM,QAAQ;AAId,UAAM,EAAE,SAAS,SAAQ,IAAK,gBAAe;AAC7C,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAGtB,UAAM,mBAAmB,IAAI,KAAK;AAGlC,UAAM,MAAM,MAAM,cAAc,CAAC,WAAW;AAC1C,UAAI,QAAO,KAAM,YAAY;AAC3B,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF,CAAC;AAED,UAAM,gBAAgB,MAAM;AAC1B,uBAAiB,QAAQ,CAAC,iBAAiB;AAC3C,UAAI,CAAC,iBAAiB,OAAO;AAC3B,cAAM,cAAc;AAAA,MACtB;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,WAAO,WAAW,CAAC,IAAI,SAAS;AAE9B,UAAI,QAAO,KAAM,YAAY;AAC3B,cAAM,cAAc;AACpB;AAAA,MACF;AAKA,UAAI,KAAK,MAAM,wBAAwB,QAAQ,GAAG,MAAM,uBAAuB,MAAM;AACnF,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAGA,UAAI,GAAG,MAAM,uBAAuB,MAAM;AACxC,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Sidebar.vue"],"sourcesContent":["<script setup>\nimport { ref, watch } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/core/views/mixins/mixins.js\"\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\n\nconst store = useStore()\n\nconst props = defineProps({\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n width: {\n type: String,\n default: 'w-15r'\n },\n widthHidden:{\n type: String,\n default: 'w-3r '\n },\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst { isPhone, isTablet } = useGlobalMixins()\nconst router = useRouter()\nconst route = useRoute()\n\n// Отдельный флаг для клика меню на mobile\nconst isManuallyOpened = ref(false)\n\n// Синхронизируем с stateSidebar ТОЛЬКО на mobile\nwatch(() => props.stateSidebar, (newVal) => {\n if (isPhone() || isTablet()) {\n isManuallyOpened.value = newVal\n }\n})\n\nconst toggleSidebar = () => {\n isManuallyOpened.value = !isManuallyOpened.value\n if (!isManuallyOpened.value) {\n emits('closeSidebar')\n }\n}\n\nconst handleMouseEnter = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = true\n }\n}\n\nconst handleMouseLeave = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = false\n }\n}\n\nrouter.beforeEach((to, from) => {\n // На mobile не трогаем state через навигацию\n if (isPhone() || isTablet()) {\n emits('closeSidebar')\n return\n }\n\n\n // Desktop логика\n // Если уходим с профиля И НЕ идем на профиль - закрыть\n if (from.meta?.sidebarCloseOnLeave === true && to.meta?.sidebarOpenOnEnter !== true) {\n store.core.state.isOpenSidebar = false\n }\n\n // Если приходим на профиль - открыть\n if (to.meta?.sidebarOpenOnEnter === true) {\n store.core.state.isOpenSidebar = true\n }\n})\n</script>\n\n<template>\n <aside\n data-sidebar\n class=\"ease-quint-out w-min-0 flex-child-default z-index-2 br-r-1px flex flex-column h-100\"\n :class=\"[\n { 'mobile-opened': isManuallyOpened },\n stateSidebar\n ? `${width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100`\n : `${widthHidden} mobile:w-0`,\n //\n theme === 'light'\n ? 't-black bg-white br-light'\n : 't-white bg-black br-dark'\n ]\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- Header slot - shrink-0 -->\n <div class=\"flex-shrink-0\">\n <slot name=\"header\"></slot>\n </div>\n\n <!-- Main scrollable content - flex-1 overflow-y-auto -->\n <div class=\"flex-child-1 o-y-auto\">\n <slot></slot>\n </div>\n\n <!-- Footer slot - shrink-0 -->\n <div class=\"flex-shrink-0\">\n <slot name=\"footer\"></slot>\n </div>\n <div v-if=\"MOBILE_APP\" @click=\"() => toggleSidebar()\" class=\"flex-shrink-0 pos-relative\">\n <div class=\"bg-light radius-medium pd-medium\">\n <p class=\"fw-medium t-black-transp-60\">\n Close Menu\n </p>\n </div>\n </div>\n <div\n class=\"flex-shrink-0 w-100 br-t-1px\"\n :class=\"{ \n 'pd-micro': !stateSidebar, \n 'pd-small': stateSidebar,\n 'br-light': theme === 'light',\n 'br-dark': theme === 'dark'\n }\"\n >\n <button\n @click=\"() => store.core.actions.toggleTheme()\"\n class=\"ease-quint-out flex w-100 flex-center radius-small cursor-pointer flex-nowrap\"\n :class=\"[\n stateSidebar ? 'pd-thin justify-between' : 'w-100 justify-center',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span\n class=\"w-100 ws-nowrap ease-quint-out t-left fw-medium mn-r-thin\"\n :class=\"{ 'hidden': !stateSidebar, 'visible': stateSidebar }\"\n >\n Dark Mode\n </span>\n <span class=\"aspect-1x1 flex-child-default w-max-big w-100 flex flex-center \">\n {{ store.core.state.theme.darkmode ? '🌙' : '☀️' }}\n </span>\n </button>\n </div>\n </aside>\n</template>\n\n<style scoped>\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */\n@media (max-width: 1024px) {\n aside[data-sidebar] {\n position: absolute !important;\n left: 0 !important;\n transform: translateX(-100%) !important;\n visibility: hidden !important;\n z-index: 1000 !important;\n }\n\n /* Показываем ТОЛЬКО когда manual клик (НЕ от SSR state) */\n aside[data-sidebar].mobile-opened {\n transform: translateX(0) !important;\n visibility: visible !important;\n }\n}\n\n/* Scrollbar styles */\n::-webkit-scrollbar {\n width: 6px;\n}\n::-webkit-scrollbar-track {\n background: transparent;\n}\n::-webkit-scrollbar-thumb {\n background-color: var(--grey-micro);\n border-radius: 3px;\n}\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--grey-small);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ,SAAQ;AAEtB,UAAM,QAAQ;AAmBd,UAAM,QAAQ;AAId,UAAM,EAAE,SAAS,SAAQ,IAAK,gBAAe;AAC7C,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAGtB,UAAM,mBAAmB,IAAI,KAAK;AAGlC,UAAM,MAAM,MAAM,cAAc,CAAC,WAAW;AAC1C,UAAI,QAAO,KAAM,YAAY;AAC3B,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF,CAAC;AAED,UAAM,gBAAgB,MAAM;AAC1B,uBAAiB,QAAQ,CAAC,iBAAiB;AAC3C,UAAI,CAAC,iBAAiB,OAAO;AAC3B,cAAM,cAAc;AAAA,MACtB;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,WAAO,WAAW,CAAC,IAAI,SAAS;AAE9B,UAAI,QAAO,KAAM,YAAY;AAC3B,cAAM,cAAc;AACpB;AAAA,MACF;AAKA,UAAI,KAAK,MAAM,wBAAwB,QAAQ,GAAG,MAAM,uBAAuB,MAAM;AACnF,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAGA,UAAI,GAAG,MAAM,uBAAuB,MAAM;AACxC,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,10 +11,10 @@ import _export_sfc from "../../../../../../../_virtual/_plugin-vue_export-helper
11
11
  import _sfc_main$6 from "./filters/FilterOptions.vue.js";
12
12
  import _sfc_main$1 from "../../../../icons/navigation/IconFilter.vue.js";
13
13
  /* empty css */
14
- const _hoisted_1 = { class: "flex o-x-scroll scroll-hide t-nowrap gap-thin" };
14
+ const _hoisted_1 = { class: "flex o-x-scroll scroll-hide ws-nowrap gap-thin" };
15
15
  const _hoisted_2 = { key: 0 };
16
16
  const _hoisted_3 = ["onClick"];
17
- const _hoisted_4 = { class: "t-nowrap" };
17
+ const _hoisted_4 = { class: "ws-nowrap" };
18
18
  const _hoisted_5 = {
19
19
  key: 1,
20
20
  class: "mn-l-micro"
@@ -266,7 +266,7 @@ const _sfc_main = {
266
266
  };
267
267
  }
268
268
  };
269
- const Filters = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2c930cac"]]);
269
+ const Filters = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-026224ab"]]);
270
270
  export {
271
271
  Filters as default
272
272
  };