@ozdao/martyrs 0.2.542 → 0.2.544

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 (346) hide show
  1. package/dist/builder.cjs +10 -2
  2. package/dist/builder.js +10 -2
  3. package/dist/{main-Czyu-VcC.cjs → main-8f945Ngn.cjs} +7 -7
  4. package/dist/{main-ByKkD9qa.js → main-d9n_ibdE.js} +2621 -2622
  5. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  6. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  7. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  8. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  9. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +4 -2
  10. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
  11. package/dist/martyrs/src/components/Feed/Carousel.vue.js +5 -3
  12. package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
  13. package/dist/martyrs/src/components/Feed/{Feed.vue.cjs → Feed.vue2.cjs} +7 -5
  14. package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +1 -0
  15. package/dist/martyrs/src/components/Feed/{Feed.vue.js → Feed.vue2.js} +7 -5
  16. package/dist/martyrs/src/components/Feed/Feed.vue2.js.map +1 -0
  17. package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +2 -2
  18. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
  19. package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +2 -2
  20. package/dist/martyrs/src/components/Field/{Field.vue.cjs.map → Field.vue2.js.map} +1 -1
  21. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  22. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  23. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs → BlockTags.vue2.cjs} +2 -2
  24. package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +1 -0
  25. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.js → BlockTags.vue2.js} +2 -2
  26. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs.map → BlockTags.vue2.js.map} +1 -1
  27. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  28. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  29. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  30. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  31. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs +3 -1
  32. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -1
  33. package/dist/martyrs/src/components/Tab/Tab.vue2.js +4 -2
  34. package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -1
  35. package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.cjs → UploadImage.vue2.cjs} +7 -7
  36. package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs.map +1 -0
  37. package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.js → UploadImage.vue2.js} +7 -7
  38. package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.js.map +1 -0
  39. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  40. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  46. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  47. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +2 -2
  50. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
  51. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  53. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  59. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  61. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +2 -7
  62. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
  63. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +2 -7
  64. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  65. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs +2 -13
  66. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs.map +1 -1
  67. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +2 -13
  68. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  69. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  71. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
  73. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +3 -3
  74. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
  75. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +1 -1
  77. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +2 -2
  78. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
  79. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  81. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +4 -4
  82. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  83. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  84. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  85. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +7 -5
  86. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +7 -5
  88. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  89. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  91. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  93. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +1 -1
  95. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  97. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  98. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  99. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +38 -30
  100. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +39 -31
  102. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
  103. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js +1 -1
  105. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  107. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  109. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +3 -1
  110. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  111. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +3 -1
  112. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  113. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  115. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +7 -7
  116. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -1
  117. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +8 -8
  118. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -1
  119. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs +1 -0
  120. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js +1 -0
  122. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js.map +1 -1
  123. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +21 -1
  124. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  125. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +21 -1
  126. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  127. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +1 -1
  129. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  131. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  133. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +3 -3
  134. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -2
  135. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  136. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  137. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +2 -2
  138. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  139. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  140. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
  143. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -1
  145. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  147. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  148. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  149. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +2 -2
  150. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +2 -2
  151. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  152. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  153. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
  154. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  155. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +1 -1
  157. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  159. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
  160. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  161. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
  162. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  163. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +7 -5
  164. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +8 -6
  166. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  169. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
  171. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  173. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +1 -1
  174. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +1 -1
  175. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +1 -1
  176. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +1 -1
  177. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +5 -3
  178. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +5 -3
  180. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +4 -4
  182. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
  184. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  185. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +8 -6
  186. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +8 -6
  188. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  189. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +3 -1
  190. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +3 -1
  192. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  193. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -3
  194. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
  195. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +7 -7
  196. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +7 -7
  197. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  199. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +3 -3
  200. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +3 -3
  201. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  203. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +7 -7
  204. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +7 -7
  205. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +7 -7
  206. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +7 -7
  207. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +6 -6
  208. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +6 -6
  209. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  210. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  211. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  212. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  213. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  215. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  217. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  218. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  219. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  220. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  221. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  222. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  223. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  224. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  225. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  227. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +11 -5
  228. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +12 -6
  230. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
  232. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
  233. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +4 -2
  234. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  235. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -3
  236. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -2
  238. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  239. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +5 -3
  240. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
  242. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
  243. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
  244. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
  245. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +5 -2
  246. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  247. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +5 -2
  248. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
  250. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
  251. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  252. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  253. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +8 -8
  254. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  255. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +8 -8
  256. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  257. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  258. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  259. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  260. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  261. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
  262. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
  263. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
  264. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  265. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +5 -3
  266. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  267. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +5 -3
  268. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  270. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  271. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  272. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  273. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  274. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  275. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
  276. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
  277. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  278. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  279. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
  280. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
  281. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  282. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  283. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
  284. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
  285. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  286. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  287. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  288. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  289. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  290. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  291. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.cjs +1 -1
  292. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
  293. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  294. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  295. package/dist/martyrs.cjs.js +1 -1
  296. package/dist/martyrs.css +1 -1
  297. package/dist/martyrs.es.js +1 -1
  298. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  299. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  300. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  301. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  302. package/dist/style.css +23 -23
  303. package/dist/{web-BklgIiYr.js → web-BkaOiiSn.js} +1 -1
  304. package/dist/{web-CQBm7C6L.cjs → web-CROHFHoW.cjs} +1 -1
  305. package/package.json +1 -1
  306. package/src/builder/modes/ssr.prod.js +2 -0
  307. package/src/builder/modes/ssr.rspack.dev.js +2 -0
  308. package/src/builder/templates/page.js +4 -0
  309. package/src/builder/templates/screen.js +4 -0
  310. package/src/components/Feed/Carousel.vue +3 -0
  311. package/src/components/Feed/Feed.vue +3 -0
  312. package/src/components/Tab/Tab.vue +2 -0
  313. package/src/components/UploadImage/UploadImage.vue +4 -4
  314. package/src/modules/community/components/blocks/CardBlogpost.vue +2 -7
  315. package/src/modules/community/components/blocks/FooterBlogpost.vue +2 -13
  316. package/src/modules/events/components/pages/Event.vue +2 -0
  317. package/src/modules/globals/TASK.MD +105 -1
  318. package/src/modules/globals/views/classes/globals.app.js +76 -48
  319. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +2 -0
  320. package/src/modules/globals/views/components/sections/Filters.vue +1 -1
  321. package/src/modules/globals/views/plugins/alert.plugin.js +1 -0
  322. package/src/modules/globals/views/utils/vue-app-renderer.js +25 -1
  323. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  324. package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -0
  325. package/src/modules/orders/components/blocks/CardOrderVar1.vue +12 -1
  326. package/src/modules/orders/components/pages/OrderBackoffice.vue +2 -0
  327. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +1 -1
  328. package/src/modules/orders/components/pages/Orders.vue +2 -0
  329. package/src/modules/orders/components/partials/ShopCart.vue +2 -0
  330. package/src/modules/products/components/blocks/CardCategory.vue +6 -0
  331. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -0
  332. package/src/modules/products/components/elements/Price.vue +3 -0
  333. package/src/modules/products/components/pages/Categories.vue +4 -1
  334. package/src/modules/products/components/pages/Products.vue +1 -1
  335. package/src/modules/products/components/sections/EditVariants.vue +2 -0
  336. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  337. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +0 -1
  338. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +0 -1
  339. package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
  340. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +0 -1
  341. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  342. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  343. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +0 -1
  344. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +0 -1
  345. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
  346. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.vue2.cjs","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'\n\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":["ref","watch"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,UAAM,OAAO;AAEb,UAAM,QAAQ;AAQd,UAAM,cAAcA,IAAAA,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;AAGnBC,QAAAA,MAAM,MAAM,MAAM,UAAU,mBAAmB;AAC/CA,QAAAA,MAAM,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
+ {"version":3,"file":"Tab.vue2.cjs","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/globals/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":["useGlobalMixins","ref","watch"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,UAAM,EAAE,eAAc,IAAKA,uBAAe;AAC1C,UAAM,OAAO;AAEb,UAAM,QAAQ;AAQd,UAAM,cAAcC,IAAAA,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;AAGnBC,QAAAA,MAAM,MAAM,MAAM,UAAU,mBAAmB;AAC/CA,QAAAA,MAAM,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,4 +1,5 @@
1
- import { ref, watch, createElementBlock, openBlock, Fragment, renderList, normalizeStyle, normalizeClass, toDisplayString } from "vue";
1
+ import { ref, watch, createElementBlock, openBlock, Fragment, renderList, normalizeStyle, normalizeClass, unref, toDisplayString } from "vue";
2
+ import { useGlobalMixins } from "../../modules/globals/views/mixins/mixins.js";
2
3
  /* empty css */
3
4
  const _hoisted_1 = { class: "flex-nowrap flex-v-center flex pos-relative" };
4
5
  const _hoisted_2 = ["onClick"];
@@ -13,6 +14,7 @@ const _sfc_main = {
13
14
  },
14
15
  emits: ["update:selected", "tab-click"],
15
16
  setup(__props, { emit: __emit }) {
17
+ const { replaceClasses } = useGlobalMixins();
16
18
  const emit = __emit;
17
19
  const props = __props;
18
20
  const selectedTab = ref(0);
@@ -57,7 +59,7 @@ const _sfc_main = {
57
59
  onClick: ($event) => handleTabClick(index, tab),
58
60
  class: normalizeClass(["z-index-1 t-center cursor-pointer", [
59
61
  isSelected(index, tab) ? "bg-main" : "",
60
- _ctx.replaceClasses("pd-small pd-r-medium pd-l-medium w-max pd-small radius-small", __props.classTab)
62
+ unref(replaceClasses)("pd-small pd-r-medium pd-l-medium w-max pd-small radius-small", __props.classTab)
61
63
  ]]),
62
64
  style: normalizeStyle(isSelected(index, tab) ? "background: rgb(var(--main)) !important" : "")
63
65
  }, toDisplayString(tab.name || tab.label), 15, _hoisted_2);
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.vue2.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'\n\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":";;;;;;;;;;;;;;;AAqBA,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
+ {"version":3,"file":"Tab.vue2.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/globals/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;;;;;;;;;;;;;;;;;;"}
@@ -5,14 +5,14 @@ const axios = require("axios");
5
5
  const Loader = require("../Loader/Loader.vue2.cjs");
6
6
  const IconUpload = ;/* empty css */
7
7
  const IconDelete = require("../../modules/icons/navigation/IconDelete.vue.cjs");
8
- ;/* empty css */
8
+ ;/* empty css */
9
9
  const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.cjs");
10
10
  const _hoisted_1 = ["src"];
11
11
  const _hoisted_2 = {
12
12
  key: 1,
13
- class: "flex-v-center z-index-2 flex-h-center flex w-100 h-100 bg-second"
13
+ class: "flex-v-center pos-relative z-index-2 flex-h-center flex w-100 h-100 radius-small bg-second"
14
14
  };
15
- const _hoisted_3 = { class: "z-index-2 hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex" };
15
+ const _hoisted_3 = { class: "z-index-2 pos-relative hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex" };
16
16
  const _hoisted_4 = {
17
17
  key: 0,
18
18
  class: "hover-upload-icon"
@@ -138,14 +138,14 @@ const _sfc_main = {
138
138
  onDrop,
139
139
  onDragover: _cache[0] || (_cache[0] = vue.withModifiers(() => {
140
140
  }, ["prevent"])),
141
- class: "pos-relative bg-light radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer"
141
+ class: "pos-relative radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer"
142
142
  }, [
143
143
  imageUrl.value || __props.photo || previewUrl.value ? (vue.openBlock(), vue.createElementBlock("img", {
144
144
  key: 0,
145
145
  loading: "lazy",
146
146
  src: previewUrl.value || (_ctx.FILE_SERVER_URL || "") + (imageUrl.value || __props.photo),
147
147
  alt: "Uploaded image",
148
- class: "pos-absolute z-index-1 w-100 h-100 object-fit-cover"
148
+ class: "pos-absolute radius-small o-hidden z-index-1 w-100 h-100 object-fit-cover"
149
149
  }, null, 8, _hoisted_1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
150
150
  vue.createVNode(IconUpload.default, {
151
151
  class: "i-medium upload-icon",
@@ -214,6 +214,6 @@ const _sfc_main = {
214
214
  };
215
215
  }
216
216
  };
217
- const UploadImage = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-78cc3140"]]);
217
+ const UploadImage = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-26da6988"]]);
218
218
  exports.default = UploadImage;
219
- //# sourceMappingURL=UploadImage.vue.cjs.map
219
+ //# sourceMappingURL=UploadImage.vue2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadImage.vue2.cjs","sources":["../../../../../src/components/UploadImage/UploadImage.vue"],"sourcesContent":["<template>\n <div class=\"upload-image-wrapper flex-v-center flex-nowrap flex gap-small\" :class=\"{'with-text': text}\">\n <div \n @click=\"onComponentClick\"\n @drop=\"onDrop\"\n @dragover.prevent\n class=\"pos-relative radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer\"\n >\n <img loading=\"lazy\" \n v-if=\"imageUrl || photo || previewUrl\" \n :src=\"previewUrl || (FILE_SERVER_URL || '') + (imageUrl || photo)\"\n alt=\"Uploaded image\" \n class=\"pos-absolute radius-small o-hidden z-index-1 w-100 h-100 object-fit-cover\"\n />\n \n <div v-else class=\"flex-v-center pos-relative z-index-2 flex-h-center flex w-100 h-100 radius-small bg-second\" >\n <IconUpload class=\"i-medium upload-icon\" fill=\"rgb(var(--white))\" />\n </div>\n \n <!-- Hover controls -->\n <div class=\"z-index-2 pos-relative hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <div v-if=\"!imageUrl && !photo && !previewUrl\" class=\"hover-upload-icon\">\n <IconUpload class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </div>\n <div v-else class=\"hover-buttons flex gap-small\">\n <button @click.stop=\"onComponentClick\" class=\"hover-button radius-small pd-thin bg-main t-white br-none cursor-pointer\">\n <IconUpload class=\"i-semi\" fill=\"rgb(var(--white))\" />\n </button>\n <button @click.stop=\"deleteImage\" class=\"hover-button radius-small pd-thin bg-danger t-white br-none cursor-pointer\">\n <IconDelete class=\"i-semi\" fill=\"rgb(var(--white))\" />\n </button>\n </div>\n </div>\n \n <!-- Loading overlay -->\n <div v-if=\"loading\" class=\"z-index-2 loading-overlay pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <Loader :centered=\"false\" />\n </div>\n \n <input type=\"file\" name=\"file\" ref=\"fileInput\" @change=\"onFileChange\" style=\"display: none\"/>\n </div>\n \n <!-- Text block -->\n <div v-if=\"text\" class=\"upload-text-block flex flex-column\">\n <span class=\"mn-b-small t-medium\">{{ textConfig.title }}</span>\n <span class=\"mn-b-medium t-transp\">{{ textConfig.subtitle }}</span>\n <div v-if=\"!imageUrl && !photo && !previewUrl\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-main t-black cursor-pointer\">\n {{ textConfig.buttonText }}\n </button>\n </div>\n <div v-else class=\"flex gap-thin\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-second t-white cursor-pointer\">\n Upload \n </button>\n <button @click=\"deleteImage\" class=\"button button-small w-max bg-red t-white cursor-pointer\">\n Delete\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch, computed } from 'vue';\nimport axios from 'axios';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nconst imageUrl = ref(null);\nconst fileInput = ref(null);\nconst previewUrl = ref(null);\nconst loading = ref(false);\n\nconst props = defineProps({\n uploadPath: {\n type: String,\n required: true\n },\n photo: {\n type: String,\n default: null\n },\n text: {\n type: [Object, Boolean],\n default: null\n }\n});\n\nconst emit = defineEmits(['update:photo', 'error']);\n\n// Text configuration with defaults\nconst textConfig = computed(() => {\n const defaults = {\n title: 'Upload Image',\n subtitle: 'Drag & drop your image here or click button. Supported: JPG, PNG, GIF. Max size: 2MB',\n buttonText: 'Choose Image'\n };\n \n if (props.text === true) {\n return defaults;\n } else if (typeof props.text === 'object' && props.text !== null) {\n return {\n title: props.text.title || defaults.title,\n subtitle: props.text.subtitle || defaults.subtitle,\n buttonText: props.text.buttonText || defaults.buttonText\n };\n }\n \n return defaults;\n});\n\nwatch(props, ({photo}) => {\n if(photo) imageUrl.value = photo;\n});\n\nfunction onComponentClick() {\n fileInput.value.click();\n}\n\nasync function onFileChange(e) {\n let file = e.target.files[0];\n if (!file) {\n console.error(\"No file selected\");\n return;\n }\n \n // Create preview from file\n const reader = new FileReader();\n reader.onload = (e) => {\n previewUrl.value = e.target.result;\n };\n reader.readAsDataURL(file);\n \n let formData = new FormData();\n formData.append(\"file\", file);\n\n console.log(\"Sending file:\", file.name); // Логируем имя файла перед отправкой\n \n loading.value = true;\n\n try {\n const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true }); \n\n let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData);\n console.log(\"Upload response:\", response); // Логируем ответ сервера\n imageUrl.value = response.data[0].filepath;\n previewUrl.value = null; // Clear preview after successful upload\n emit('update:photo', imageUrl.value);\n } catch (error) {\n emit('error', error);\n console.error(\"Upload error:\", error); // Логируем ошибку\n previewUrl.value = null; // Clear preview on error\n } finally {\n loading.value = false;\n }\n}\n\n\nfunction onDrop(e) {\n e.preventDefault();\n onFileChange({\n target: {\n files: e.dataTransfer.files\n }\n });\n}\n\nfunction deleteImage() {\n imageUrl.value = null;\n previewUrl.value = null;\n emit('update:photo', null);\n // Reset file input\n if (fileInput.value) {\n fileInput.value.value = '';\n }\n}\n</script>\n\n<style scoped>\n.image-upload-area {\n overflow: hidden;\n transition: all 0.3s ease;\n}\n\n.image-upload-area:hover {\n opacity: 0.95;\n}\n\n/* Hover controls */\n.hover-controls {\n top: 0;\n left: 0;\n background: rgba(0, 0, 0, 0.7);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n}\n\n.image-upload-area:hover .hover-controls {\n opacity: 1;\n pointer-events: all;\n}\n\n.hover-upload-icon {\n animation: pulse 1.5s infinite;\n}\n\n.hover-button {\n transition: transform 0.2s ease, background-color 0.2s ease;\n}\n\n.hover-button:hover {\n transform: scale(1.1);\n}\n\n.hover-button:active {\n transform: scale(0.95);\n}\n\n/* Loading overlay */\n.loading-overlay {\n top: 0;\n left: 0;\n background: rgba(255, 255, 255, 0.9);\n z-index: 10;\n}\n\n/* Animations */\n@keyframes pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n/* Upload icon in empty state */\n.upload-icon {\n transition: transform 0.3s ease;\n}\n\n.image-upload-area:hover .upload-icon {\n transform: scale(1.1);\n}\n</style>\n"],"names":["ref","computed","watch","e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,UAAM,WAAWA,IAAAA,IAAI,IAAI;AACzB,UAAM,YAAYA,IAAAA,IAAI,IAAI;AAC1B,UAAM,aAAaA,IAAAA,IAAI,IAAI;AAC3B,UAAM,UAAUA,IAAAA,IAAI,KAAK;AAEzB,UAAM,QAAQ;AAed,UAAM,OAAO;AAGb,UAAM,aAAaC,IAAAA,SAAS,MAAM;AAChC,YAAM,WAAW;AAAA,QACf,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY;AAAA,MAChB;AAEE,UAAI,MAAM,SAAS,MAAM;AACvB,eAAO;AAAA,MACT,WAAW,OAAO,MAAM,SAAS,YAAY,MAAM,SAAS,MAAM;AAChE,eAAO;AAAA,UACL,OAAO,MAAM,KAAK,SAAS,SAAS;AAAA,UACpC,UAAU,MAAM,KAAK,YAAY,SAAS;AAAA,UAC1C,YAAY,MAAM,KAAK,cAAc,SAAS;AAAA,QACpD;AAAA,MACE;AAEA,aAAO;AAAA,IACT,CAAC;AAEDC,QAAAA,MAAM,OAAO,CAAC,EAAC,MAAK,MAAM;AACxB,UAAG,MAAO,UAAS,QAAQ;AAAA,IAC7B,CAAC;AAED,aAAS,mBAAmB;AAC1B,gBAAU,MAAM,MAAK;AAAA,IACvB;AAEA,mBAAe,aAAa,GAAG;AAC7B,UAAI,OAAO,EAAE,OAAO,MAAM,CAAC;AAC3B,UAAI,CAAC,MAAM;AACT,gBAAQ,MAAM,kBAAkB;AAChC;AAAA,MACF;AAGA,YAAM,SAAS,IAAI,WAAU;AAC7B,aAAO,SAAS,CAACC,OAAM;AACrB,mBAAW,QAAQA,GAAE,OAAO;AAAA,MAC9B;AACA,aAAO,cAAc,IAAI;AAEzB,UAAI,WAAW,IAAI,SAAQ;AAC3B,eAAS,OAAO,QAAQ,IAAI;AAE5B,cAAQ,IAAI,iBAAiB,KAAK,IAAI;AAEtC,cAAQ,QAAQ;AAEhB,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS,iBAAiB,KAAI,CAAE;AAEnF,YAAI,WAAW,MAAM,OAAO,KAAK,mCAAmC,mBAAmB,MAAM,UAAU,CAAC,IAAI,QAAQ;AACpH,gBAAQ,IAAI,oBAAoB,QAAQ;AACxC,iBAAS,QAAQ,SAAS,KAAK,CAAC,EAAE;AAClC,mBAAW,QAAQ;AACnB,aAAK,gBAAgB,SAAS,KAAK;AAAA,MACrC,SAAS,OAAO;AACd,aAAK,SAAS,KAAK;AACnB,gBAAQ,MAAM,iBAAiB,KAAK;AACpC,mBAAW,QAAQ;AAAA,MACrB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAGA,aAAS,OAAO,GAAG;AACjB,QAAE,eAAc;AAChB,mBAAa;AAAA,QACX,QAAQ;AAAA,UACN,OAAO,EAAE,aAAa;AAAA,QAC5B;AAAA,MACA,CAAG;AAAA,IACH;AAEA,aAAS,cAAc;AACrB,eAAS,QAAQ;AACjB,iBAAW,QAAQ;AACnB,WAAK,gBAAgB,IAAI;AAEzB,UAAI,UAAU,OAAO;AACnB,kBAAU,MAAM,QAAQ;AAAA,MAC1B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,14 +3,14 @@ import axios from "axios";
3
3
  import Loader from "../Loader/Loader.vue2.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
- /* empty css */
6
+ /* empty css */
7
7
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
8
8
  const _hoisted_1 = ["src"];
9
9
  const _hoisted_2 = {
10
10
  key: 1,
11
- class: "flex-v-center z-index-2 flex-h-center flex w-100 h-100 bg-second"
11
+ class: "flex-v-center pos-relative z-index-2 flex-h-center flex w-100 h-100 radius-small bg-second"
12
12
  };
13
- const _hoisted_3 = { class: "z-index-2 hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex" };
13
+ const _hoisted_3 = { class: "z-index-2 pos-relative hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex" };
14
14
  const _hoisted_4 = {
15
15
  key: 0,
16
16
  class: "hover-upload-icon"
@@ -136,14 +136,14 @@ const _sfc_main = {
136
136
  onDrop,
137
137
  onDragover: _cache[0] || (_cache[0] = withModifiers(() => {
138
138
  }, ["prevent"])),
139
- class: "pos-relative bg-light radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer"
139
+ class: "pos-relative radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer"
140
140
  }, [
141
141
  imageUrl.value || __props.photo || previewUrl.value ? (openBlock(), createElementBlock("img", {
142
142
  key: 0,
143
143
  loading: "lazy",
144
144
  src: previewUrl.value || (_ctx.FILE_SERVER_URL || "") + (imageUrl.value || __props.photo),
145
145
  alt: "Uploaded image",
146
- class: "pos-absolute z-index-1 w-100 h-100 object-fit-cover"
146
+ class: "pos-absolute radius-small o-hidden z-index-1 w-100 h-100 object-fit-cover"
147
147
  }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock("div", _hoisted_2, [
148
148
  createVNode(_sfc_main$1, {
149
149
  class: "i-medium upload-icon",
@@ -212,8 +212,8 @@ const _sfc_main = {
212
212
  };
213
213
  }
214
214
  };
215
- const UploadImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-78cc3140"]]);
215
+ const UploadImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-26da6988"]]);
216
216
  export {
217
217
  UploadImage as default
218
218
  };
219
- //# sourceMappingURL=UploadImage.vue.js.map
219
+ //# sourceMappingURL=UploadImage.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadImage.vue2.js","sources":["../../../../../src/components/UploadImage/UploadImage.vue"],"sourcesContent":["<template>\n <div class=\"upload-image-wrapper flex-v-center flex-nowrap flex gap-small\" :class=\"{'with-text': text}\">\n <div \n @click=\"onComponentClick\"\n @drop=\"onDrop\"\n @dragover.prevent\n class=\"pos-relative radius-small br-solid br-1px br-black-transp-10 h-100 aspect-1x1 flex-v-center flex-h-center flex cursor-pointer\"\n >\n <img loading=\"lazy\" \n v-if=\"imageUrl || photo || previewUrl\" \n :src=\"previewUrl || (FILE_SERVER_URL || '') + (imageUrl || photo)\"\n alt=\"Uploaded image\" \n class=\"pos-absolute radius-small o-hidden z-index-1 w-100 h-100 object-fit-cover\"\n />\n \n <div v-else class=\"flex-v-center pos-relative z-index-2 flex-h-center flex w-100 h-100 radius-small bg-second\" >\n <IconUpload class=\"i-medium upload-icon\" fill=\"rgb(var(--white))\" />\n </div>\n \n <!-- Hover controls -->\n <div class=\"z-index-2 pos-relative hover-controls pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <div v-if=\"!imageUrl && !photo && !previewUrl\" class=\"hover-upload-icon\">\n <IconUpload class=\"i-medium\" fill=\"rgb(var(--white))\" />\n </div>\n <div v-else class=\"hover-buttons flex gap-small\">\n <button @click.stop=\"onComponentClick\" class=\"hover-button radius-small pd-thin bg-main t-white br-none cursor-pointer\">\n <IconUpload class=\"i-semi\" fill=\"rgb(var(--white))\" />\n </button>\n <button @click.stop=\"deleteImage\" class=\"hover-button radius-small pd-thin bg-danger t-white br-none cursor-pointer\">\n <IconDelete class=\"i-semi\" fill=\"rgb(var(--white))\" />\n </button>\n </div>\n </div>\n \n <!-- Loading overlay -->\n <div v-if=\"loading\" class=\"z-index-2 loading-overlay pos-absolute w-100 h-100 flex-v-center flex-h-center flex\">\n <Loader :centered=\"false\" />\n </div>\n \n <input type=\"file\" name=\"file\" ref=\"fileInput\" @change=\"onFileChange\" style=\"display: none\"/>\n </div>\n \n <!-- Text block -->\n <div v-if=\"text\" class=\"upload-text-block flex flex-column\">\n <span class=\"mn-b-small t-medium\">{{ textConfig.title }}</span>\n <span class=\"mn-b-medium t-transp\">{{ textConfig.subtitle }}</span>\n <div v-if=\"!imageUrl && !photo && !previewUrl\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-main t-black cursor-pointer\">\n {{ textConfig.buttonText }}\n </button>\n </div>\n <div v-else class=\"flex gap-thin\">\n <button @click=\"onComponentClick\" class=\"button button-small w-max bg-second t-white cursor-pointer\">\n Upload \n </button>\n <button @click=\"deleteImage\" class=\"button button-small w-max bg-red t-white cursor-pointer\">\n Delete\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch, computed } from 'vue';\nimport axios from 'axios';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport IconUpload from '@martyrs/src/modules/icons/navigation/IconUpload.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nconst imageUrl = ref(null);\nconst fileInput = ref(null);\nconst previewUrl = ref(null);\nconst loading = ref(false);\n\nconst props = defineProps({\n uploadPath: {\n type: String,\n required: true\n },\n photo: {\n type: String,\n default: null\n },\n text: {\n type: [Object, Boolean],\n default: null\n }\n});\n\nconst emit = defineEmits(['update:photo', 'error']);\n\n// Text configuration with defaults\nconst textConfig = computed(() => {\n const defaults = {\n title: 'Upload Image',\n subtitle: 'Drag & drop your image here or click button. Supported: JPG, PNG, GIF. Max size: 2MB',\n buttonText: 'Choose Image'\n };\n \n if (props.text === true) {\n return defaults;\n } else if (typeof props.text === 'object' && props.text !== null) {\n return {\n title: props.text.title || defaults.title,\n subtitle: props.text.subtitle || defaults.subtitle,\n buttonText: props.text.buttonText || defaults.buttonText\n };\n }\n \n return defaults;\n});\n\nwatch(props, ({photo}) => {\n if(photo) imageUrl.value = photo;\n});\n\nfunction onComponentClick() {\n fileInput.value.click();\n}\n\nasync function onFileChange(e) {\n let file = e.target.files[0];\n if (!file) {\n console.error(\"No file selected\");\n return;\n }\n \n // Create preview from file\n const reader = new FileReader();\n reader.onload = (e) => {\n previewUrl.value = e.target.result;\n };\n reader.readAsDataURL(file);\n \n let formData = new FormData();\n formData.append(\"file\", file);\n\n console.log(\"Sending file:\", file.name); // Логируем имя файла перед отправкой\n \n loading.value = true;\n\n try {\n const $axios = axios.create({ baseURL: process.env.API_URL, withCredentials: true }); \n\n let response = await $axios.post(`/api/upload/multiple?folderName=${encodeURIComponent(props.uploadPath)}`, formData);\n console.log(\"Upload response:\", response); // Логируем ответ сервера\n imageUrl.value = response.data[0].filepath;\n previewUrl.value = null; // Clear preview after successful upload\n emit('update:photo', imageUrl.value);\n } catch (error) {\n emit('error', error);\n console.error(\"Upload error:\", error); // Логируем ошибку\n previewUrl.value = null; // Clear preview on error\n } finally {\n loading.value = false;\n }\n}\n\n\nfunction onDrop(e) {\n e.preventDefault();\n onFileChange({\n target: {\n files: e.dataTransfer.files\n }\n });\n}\n\nfunction deleteImage() {\n imageUrl.value = null;\n previewUrl.value = null;\n emit('update:photo', null);\n // Reset file input\n if (fileInput.value) {\n fileInput.value.value = '';\n }\n}\n</script>\n\n<style scoped>\n.image-upload-area {\n overflow: hidden;\n transition: all 0.3s ease;\n}\n\n.image-upload-area:hover {\n opacity: 0.95;\n}\n\n/* Hover controls */\n.hover-controls {\n top: 0;\n left: 0;\n background: rgba(0, 0, 0, 0.7);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: none;\n}\n\n.image-upload-area:hover .hover-controls {\n opacity: 1;\n pointer-events: all;\n}\n\n.hover-upload-icon {\n animation: pulse 1.5s infinite;\n}\n\n.hover-button {\n transition: transform 0.2s ease, background-color 0.2s ease;\n}\n\n.hover-button:hover {\n transform: scale(1.1);\n}\n\n.hover-button:active {\n transform: scale(0.95);\n}\n\n/* Loading overlay */\n.loading-overlay {\n top: 0;\n left: 0;\n background: rgba(255, 255, 255, 0.9);\n z-index: 10;\n}\n\n/* Animations */\n@keyframes pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(1.05);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n/* Upload icon in empty state */\n.upload-icon {\n transition: transform 0.3s ease;\n}\n\n.image-upload-area:hover .upload-icon {\n transform: scale(1.1);\n}\n</style>\n"],"names":["e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,UAAM,WAAW,IAAI,IAAI;AACzB,UAAM,YAAY,IAAI,IAAI;AAC1B,UAAM,aAAa,IAAI,IAAI;AAC3B,UAAM,UAAU,IAAI,KAAK;AAEzB,UAAM,QAAQ;AAed,UAAM,OAAO;AAGb,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,WAAW;AAAA,QACf,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY;AAAA,MAChB;AAEE,UAAI,MAAM,SAAS,MAAM;AACvB,eAAO;AAAA,MACT,WAAW,OAAO,MAAM,SAAS,YAAY,MAAM,SAAS,MAAM;AAChE,eAAO;AAAA,UACL,OAAO,MAAM,KAAK,SAAS,SAAS;AAAA,UACpC,UAAU,MAAM,KAAK,YAAY,SAAS;AAAA,UAC1C,YAAY,MAAM,KAAK,cAAc,SAAS;AAAA,QACpD;AAAA,MACE;AAEA,aAAO;AAAA,IACT,CAAC;AAED,UAAM,OAAO,CAAC,EAAC,MAAK,MAAM;AACxB,UAAG,MAAO,UAAS,QAAQ;AAAA,IAC7B,CAAC;AAED,aAAS,mBAAmB;AAC1B,gBAAU,MAAM,MAAK;AAAA,IACvB;AAEA,mBAAe,aAAa,GAAG;AAC7B,UAAI,OAAO,EAAE,OAAO,MAAM,CAAC;AAC3B,UAAI,CAAC,MAAM;AACT,gBAAQ,MAAM,kBAAkB;AAChC;AAAA,MACF;AAGA,YAAM,SAAS,IAAI,WAAU;AAC7B,aAAO,SAAS,CAACA,OAAM;AACrB,mBAAW,QAAQA,GAAE,OAAO;AAAA,MAC9B;AACA,aAAO,cAAc,IAAI;AAEzB,UAAI,WAAW,IAAI,SAAQ;AAC3B,eAAS,OAAO,QAAQ,IAAI;AAE5B,cAAQ,IAAI,iBAAiB,KAAK,IAAI;AAEtC,cAAQ,QAAQ;AAEhB,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS,iBAAiB,KAAI,CAAE;AAEnF,YAAI,WAAW,MAAM,OAAO,KAAK,mCAAmC,mBAAmB,MAAM,UAAU,CAAC,IAAI,QAAQ;AACpH,gBAAQ,IAAI,oBAAoB,QAAQ;AACxC,iBAAS,QAAQ,SAAS,KAAK,CAAC,EAAE;AAClC,mBAAW,QAAQ;AACnB,aAAK,gBAAgB,SAAS,KAAK;AAAA,MACrC,SAAS,OAAO;AACd,aAAK,SAAS,KAAK;AACnB,gBAAQ,MAAM,iBAAiB,KAAK;AACpC,mBAAW,QAAQ;AAAA,MACrB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAGA,aAAS,OAAO,GAAG;AACjB,QAAE,eAAc;AAChB,mBAAa;AAAA,QACX,QAAQ;AAAA,UACN,OAAO,EAAE,aAAa;AAAA,QAC5B;AAAA,MACA,CAAG;AAAA,IACH;AAEA,aAAS,cAAc;AACrB,eAAS,QAAQ;AACjB,iBAAW,QAAQ;AACnB,WAAK,gBAAgB,IAAI;AAEzB,UAAI,UAAU,OAAO;AACnB,kBAAU,MAAM,QAAQ;AAAA,MAC1B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  const vueRouter = require("vue-router");
6
6
  const vueI18n = require("vue-i18n");
7
7
  const auth = require("../../store/auth.cjs");
@@ -1,5 +1,5 @@
1
1
  import { reactive, watch, ref, createElementBlock, openBlock, createElementVNode, toDisplayString, unref, withDirectives, vModelText } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import { useRoute, useRouter } from "vue-router";
4
4
  import { useI18n } from "vue-i18n";
5
5
  import { state as state$1 } from "../../store/auth.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
6
  const Button = require("../../../../../components/Button/Button.vue.cjs");
7
7
  const vueRouter = require("vue-router");
8
8
  const vueI18n = require("vue-i18n");
@@ -1,6 +1,6 @@
1
1
  import { ref, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, createTextVNode, withCtx } from "vue";
2
2
  /* empty css */
3
- import Field from "../../../../../components/Field/Field.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue2.js";
4
4
  import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { useI18n } from "vue-i18n";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
6
  const Button = require("../../../../../components/Button/Button.vue.cjs");
7
7
  const vueRouter = require("vue-router");
8
8
  const auth = require("../../store/auth.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, withCtx } from "vue";
2
2
  /* empty css */
3
- import Field from "../../../../../components/Field/Field.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue2.js";
4
4
  import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { state, actions } from "../../store/auth.js";
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
- const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue2.cjs");
8
- const Menu = require("../../../../../components/Menu/Menu.vue2.cjs");
7
+ const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue.cjs");
8
+ const Menu = require("../../../../../components/Menu/Menu.vue.cjs");
9
9
  const MenuItem = require("../../../../../components/Menu/MenuItem.vue.cjs");
10
10
  const ButtonToggleMembership = require("../../../../organizations/components/elements/ButtonToggleMembership.vue.cjs");
11
11
  const FormReport = require("../../../../reports/components/sections/FormReport.vue.cjs");
@@ -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
- /* empty css */
2
+ /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
- import _sfc_main$1 from "../../../../../components/Dropdown/Dropdown.vue2.js";
6
- import _sfc_main$6 from "../../../../../components/Menu/Menu.vue2.js";
5
+ import _sfc_main$1 from "../../../../../components/Dropdown/Dropdown.vue.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";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
6
- const Feed = require("../../../../../components/Feed/Feed.vue.cjs");
6
+ const Feed = require("../../../../../components/Feed/Feed.vue2.cjs");
7
7
  const CardBlogpost = require("../../../../community/components/blocks/CardBlogpost.vue.cjs");
8
8
  const auth = require("../../store/auth.cjs");
9
9
  const blogposts = require("../../../../community/store/blogposts.cjs");
@@ -1,7 +1,7 @@
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
3
  import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
4
- import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
4
+ import _sfc_main$2 from "../../../../../components/Feed/Feed.vue2.js";
5
5
  import _sfc_main$3 from "../../../../community/components/blocks/CardBlogpost.vue.js";
6
6
  import { state } from "../../store/auth.js";
7
7
  import { read } from "../../../../community/store/blogposts.js";
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Field = require("../../../../../components/Field/Field.vue.cjs");
4
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
5
5
  const Button = require("../../../../../components/Button/Button.vue.cjs");
6
- const UploadImage = require("../../../../../components/UploadImage/UploadImage.vue.cjs");
6
+ const UploadImage = require("../../../../../components/UploadImage/UploadImage.vue2.cjs");
7
7
  const vueRouter = require("vue-router");
8
8
  const users = require("../../store/users.cjs");
9
9
  const _hoisted_1 = { class: "for-transition w-100" };
@@ -1,7 +1,7 @@
1
1
  import { createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, withCtx, createTextVNode } from "vue";
2
- import Field from "../../../../../components/Field/Field.vue.js";
2
+ import Field from "../../../../../components/Field/Field.vue2.js";
3
3
  import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
4
- import UploadImage from "../../../../../components/UploadImage/UploadImage.vue.js";
4
+ import UploadImage from "../../../../../components/UploadImage/UploadImage.vue2.js";
5
5
  import { useRouter } from "vue-router";
6
6
  import { state, actions } from "../../store/users.js";
7
7
  const _hoisted_1 = { class: "for-transition w-100" };
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
6
  const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
7
7
  const Button = require("../../../../../components/Button/Button.vue.cjs");
8
8
  const vueRouter = require("vue-router");
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, createTextVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
- import Field from "../../../../../components/Field/Field.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue2.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
5
  import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
6
  const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
7
7
  const Button = require("../../../../../components/Button/Button.vue.cjs");
8
8
  const vueRouter = require("vue-router");
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, createTextVNode, toDisplayString, unref, withCtx, Transition, withDirectives, vShow } from "vue";
2
2
  import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
- import Field from "../../../../../components/Field/Field.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue2.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
5
  import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
6
  const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
7
7
  const Button = require("../../../../../components/Button/Button.vue.cjs");
8
8
  const vueRouter = require("vue-router");
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, withDirectives, vShow, createTextVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
- import Field from "../../../../../components/Field/Field.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue2.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
5
  import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Field = require("../../../../../components/Field/Field.vue.cjs");
4
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
5
5
  const Button = require("../../../../../components/Button/Button.vue.cjs");
6
6
  const vueRouter = require("vue-router");
7
7
  const users = require("../../store/users.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, createElementVNode, createBlock, createVNode, withCtx, createTextVNode } from "vue";
2
- import Field from "../../../../../components/Field/Field.vue.js";
2
+ import Field from "../../../../../components/Field/Field.vue2.js";
3
3
  import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
4
4
  import { useRoute, useRouter } from "vue-router";
5
5
  import { actions, state } from "../../store/users.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const Block = require("../../../../components/Block/Block.vue.cjs");
5
- const Feed = require("../../../../components/Feed/Feed.vue.cjs");
5
+ const Feed = require("../../../../components/Feed/Feed.vue2.cjs");
6
6
  const Table = require("../../../../components/Table/Table.vue.cjs");
7
7
  const StatusBadge = require("../../../../components/Table/StatusBadge.vue.cjs");
8
8
  const IconProfile = require("../../../icons/entities/IconProfile.vue.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, withCtx } from "vue";
2
2
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
3
- import _sfc_main$4 from "../../../../components/Feed/Feed.vue.js";
3
+ import _sfc_main$4 from "../../../../components/Feed/Feed.vue2.js";
4
4
  import Table from "../../../../components/Table/Table.vue.js";
5
5
  import StatusBadge from "../../../../components/Table/StatusBadge.vue.js";
6
6
  import _sfc_main$2 from "../../../icons/entities/IconProfile.vue.js";
@@ -80,7 +80,7 @@ const _sfc_main = {
80
80
  creator: __props.blogpost.creator,
81
81
  date: __props.blogpost.createdAt,
82
82
  actions: __props.user && __props.user === __props.blogpost.creator.target._id ? [
83
- { to: { name: "Edit BlogPost", params: { url: __props.blogpost.url } }, label: "Edit" }
83
+ { to: `/community/posts/${__props.blogpost.url}/edit`, label: "Edit" }
84
84
  ] : null
85
85
  }, null, 8, ["class", "entity", "user", "owner", "creator", "date", "actions"]),
86
86
  vue.createElementVNode("section", _hoisted_2, [
@@ -90,12 +90,7 @@ const _sfc_main = {
90
90
  text: __props.blogpost.name || "",
91
91
  maxLen: 80,
92
92
  class: "h3 d-block",
93
- onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(router).push({
94
- name: "BlogPost",
95
- params: {
96
- url: __props.blogpost.url
97
- }
98
- }))
93
+ onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(router).push(`/community/posts/${__props.blogpost.url}`))
99
94
  }, null, 8, ["text"])) : vue.createCommentVNode("", true),
100
95
  __props.blogpost.status === "draft" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, vue.toDisplayString(__props.blogpost.status), 1)) : vue.createCommentVNode("", true)
101
96
  ])) : vue.createCommentVNode("", true),
@@ -1 +1 @@
1
- {"version":3,"file":"CardBlogpost.vue.cjs","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: { name: 'Edit BlogPost', params: {url: blogpost.url } }, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push({\n\t\t\t\t\t\tname: 'BlogPost', \n\t\t\t\t\t\tparams: { \n\t\t\t\t\t\t\turl: blogpost.url \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=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-semi'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":["useRouter","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyHC,UAAM,SAASA,UAAAA,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAaC,IAAAA,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAYA,IAAAA,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardBlogpost.vue.cjs","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: `/community/posts/${blogpost.url}/edit`, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push(`/community/posts/${blogpost.url}`)\"\n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-semi'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":["useRouter","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHC,UAAM,SAASA,UAAAA,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAaC,IAAAA,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAYA,IAAAA,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -78,7 +78,7 @@ const _sfc_main = {
78
78
  creator: __props.blogpost.creator,
79
79
  date: __props.blogpost.createdAt,
80
80
  actions: __props.user && __props.user === __props.blogpost.creator.target._id ? [
81
- { to: { name: "Edit BlogPost", params: { url: __props.blogpost.url } }, label: "Edit" }
81
+ { to: `/community/posts/${__props.blogpost.url}/edit`, label: "Edit" }
82
82
  ] : null
83
83
  }, null, 8, ["class", "entity", "user", "owner", "creator", "date", "actions"]),
84
84
  createElementVNode("section", _hoisted_2, [
@@ -88,12 +88,7 @@ const _sfc_main = {
88
88
  text: __props.blogpost.name || "",
89
89
  maxLen: 80,
90
90
  class: "h3 d-block",
91
- onClick: _cache[0] || (_cache[0] = ($event) => unref(router).push({
92
- name: "BlogPost",
93
- params: {
94
- url: __props.blogpost.url
95
- }
96
- }))
91
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(router).push(`/community/posts/${__props.blogpost.url}`))
97
92
  }, null, 8, ["text"])) : createCommentVNode("", true),
98
93
  __props.blogpost.status === "draft" ? (openBlock(), createElementBlock("div", _hoisted_4, toDisplayString(__props.blogpost.status), 1)) : createCommentVNode("", true)
99
94
  ])) : createCommentVNode("", true),
@@ -1 +1 @@
1
- {"version":3,"file":"CardBlogpost.vue.js","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: { name: 'Edit BlogPost', params: {url: blogpost.url } }, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push({\n\t\t\t\t\t\tname: 'BlogPost', \n\t\t\t\t\t\tparams: { \n\t\t\t\t\t\t\turl: blogpost.url \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=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-semi'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyHC,UAAM,SAAS,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAa,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardBlogpost.vue.js","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: `/community/posts/${blogpost.url}/edit`, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push(`/community/posts/${blogpost.url}`)\"\n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-semi'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHC,UAAM,SAAS,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAa,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -55,12 +55,7 @@ const _sfc_main = {
55
55
  const _component_router_link = vue.resolveComponent("router-link");
56
56
  return vue.openBlock(), vue.createElementBlock("footer", _hoisted_1, [
57
57
  vue.createVNode(_component_router_link, {
58
- to: {
59
- name: "BlogPost",
60
- params: {
61
- url: __props.blogpost.url
62
- }
63
- },
58
+ to: `/community/posts/${__props.blogpost.url}`,
64
59
  class: "font-second cursor-pointer hover-bg-white pd-l-thin pd-r-thin radius-big"
65
60
  }, {
66
61
  default: vue.withCtx(() => [
@@ -81,13 +76,7 @@ const _sfc_main = {
81
76
  }, " 👍 " + vue.toDisplayString(reactionsCount.value), 1)) : vue.createCommentVNode("", true)
82
77
  ]),
83
78
  vue.createVNode(_component_router_link, {
84
- to: {
85
- name: "BlogPost",
86
- hash: "#comments",
87
- params: {
88
- url: __props.blogpost.url
89
- }
90
- },
79
+ to: `/community/posts/${__props.blogpost.url}#comments`,
91
80
  class: "font-second cursor-pointer hover-bg-white pd-l-thin pd-r-thin radius-big"
92
81
  }, {
93
82
  default: vue.withCtx(() => [