@ozdao/martyrs 0.2.492 → 0.2.494

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 (341) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/builder.cjs +53 -90
  6. package/dist/builder.js +54 -91
  7. package/dist/{crud-B-kQw3Z5.cjs → crud-JN_LFj01.cjs} +3 -0
  8. package/dist/{crud-Cwx5VlSm.js → crud-sE7GLPbj.js} +3 -0
  9. package/dist/globals.server.cjs +322 -3
  10. package/dist/globals.server.js +303 -1
  11. package/dist/{globals.verifier-D68mHEBl.cjs → globals.verifier-C0zj_LLo.cjs} +8 -1
  12. package/dist/{globals.verifier-CWFz5Gh2.js → globals.verifier-DFqKQ7hK.js} +8 -1
  13. package/dist/inventory.server.cjs +2 -2
  14. package/dist/inventory.server.js +2 -2
  15. package/dist/{main-SZQ1QjeP.js → main-CJm5myDI.js} +631 -607
  16. package/dist/{main-MzmGbSxs.cjs → main-DTaE01lg.cjs} +6 -6
  17. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +1 -1
  18. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +1 -1
  19. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +1 -1
  20. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  21. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +33 -7
  22. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  23. package/dist/martyrs/src/components/Feed/Feed.vue.js +33 -7
  24. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  25. package/dist/martyrs/src/components/Field/{Field.vue2.cjs → Field.vue.cjs} +2 -2
  26. package/dist/martyrs/src/components/Field/{Field.vue2.js.map → Field.vue.cjs.map} +1 -1
  27. package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
  28. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
  29. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  30. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  31. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  32. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  33. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  34. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  35. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  36. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  37. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +2 -2
  38. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  39. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +4 -4
  40. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  47. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  48. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  53. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  56. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  58. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  59. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  60. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  61. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
  62. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  63. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  64. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  65. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  66. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  68. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  70. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  71. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  72. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  73. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  74. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  75. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  76. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +5 -1
  77. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  78. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +5 -1
  79. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  80. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.cjs +2 -2
  81. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.js +2 -2
  82. package/dist/martyrs/src/modules/icons/navigation/IconChevronLeft.vue.cjs +2 -2
  83. package/dist/martyrs/src/modules/icons/navigation/IconChevronLeft.vue.js +2 -2
  84. package/dist/martyrs/src/modules/icons/navigation/IconChevronRight.vue.cjs +2 -2
  85. package/dist/martyrs/src/modules/icons/navigation/IconChevronRight.vue.js +2 -2
  86. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +6 -6
  87. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  88. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  89. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  90. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  91. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  92. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
  93. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  95. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +22 -15
  96. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +23 -16
  98. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +2 -2
  102. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +31 -13
  104. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +33 -15
  106. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +39 -22
  108. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +39 -22
  110. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  113. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +385 -125
  116. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
  117. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +391 -131
  118. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  119. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +24 -7
  120. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +25 -8
  122. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +99 -87
  124. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -1
  125. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +111 -99
  126. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.cjs +21 -0
  128. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.cjs.map +1 -0
  129. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.js +21 -0
  130. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.js.map +1 -0
  131. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +442 -210
  132. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  133. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +445 -213
  134. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +92 -117
  136. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
  137. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +93 -118
  138. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +72 -113
  140. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +78 -119
  142. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +15 -12
  144. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +15 -12
  146. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +558 -429
  148. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +560 -431
  150. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +146 -284
  152. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +149 -287
  154. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +460 -63
  156. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  157. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +462 -65
  158. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  159. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +126 -136
  160. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -1
  161. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +129 -139
  162. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +18 -15
  164. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +18 -15
  166. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +28 -23
  168. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -1
  169. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +29 -24
  170. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/music/music.client.cjs +3 -6
  172. package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -1
  173. package/dist/martyrs/src/modules/music/music.client.js +9 -12
  174. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  175. package/dist/martyrs/src/modules/music/router/music.cjs +27 -1
  176. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  177. package/dist/martyrs/src/modules/music/router/music.js +27 -1
  178. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  179. package/dist/martyrs/src/modules/music/store/artists.cjs +6 -4
  180. package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -1
  181. package/dist/martyrs/src/modules/music/store/artists.js +6 -4
  182. package/dist/martyrs/src/modules/music/store/artists.js.map +1 -1
  183. package/dist/martyrs/src/modules/music/store/player.cjs +5 -0
  184. package/dist/martyrs/src/modules/music/store/player.cjs.map +1 -1
  185. package/dist/martyrs/src/modules/music/store/player.js +5 -0
  186. package/dist/martyrs/src/modules/music/store/player.js.map +1 -1
  187. package/dist/martyrs/src/modules/music/store/tracks.cjs +22 -0
  188. package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -1
  189. package/dist/martyrs/src/modules/music/store/tracks.js +22 -0
  190. package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -1
  191. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +2 -2
  192. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  193. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  195. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  196. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  197. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  199. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  201. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +2 -2
  202. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  203. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  204. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  205. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  206. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  207. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  208. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  209. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  210. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  211. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  212. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  213. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  214. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  215. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  216. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  217. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  218. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  219. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  220. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  221. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  222. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  223. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  224. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  225. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  226. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  227. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  228. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  229. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  230. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  231. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  232. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  233. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  234. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.cjs +4 -3
  235. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.cjs.map +1 -1
  236. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +4 -3
  237. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  238. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.cjs +37 -70
  239. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.cjs.map +1 -1
  240. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +38 -71
  241. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  242. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -1
  243. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs.map +1 -1
  244. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +6 -5
  245. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js.map +1 -1
  246. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +45 -52
  247. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs.map +1 -1
  248. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +46 -53
  249. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  250. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
  251. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  252. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  253. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  254. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  255. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  256. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  257. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  258. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  259. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  260. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  261. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  262. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  263. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  264. package/dist/martyrs.cjs.js +1 -1
  265. package/dist/martyrs.css +1 -1
  266. package/dist/martyrs.es.js +1 -1
  267. package/dist/music.server.cjs +124 -31
  268. package/dist/music.server.js +124 -31
  269. package/dist/organizations.server.cjs +1 -1
  270. package/dist/organizations.server.js +1 -1
  271. package/dist/products.server.cjs +2 -2
  272. package/dist/products.server.js +2 -2
  273. package/dist/rents.server.cjs +3 -3
  274. package/dist/rents.server.js +3 -3
  275. package/dist/style.css +373 -80
  276. package/dist/{web-D7lZjuC0.js → web-Dkk0_7TA.js} +1 -1
  277. package/dist/{web-D-YZ9KHz.cjs → web-stVkXd0l.cjs} +1 -1
  278. package/package.json +1 -1
  279. package/src/builder/modes/ssr.prod.js +21 -5
  280. package/src/builder/rspack/rspack.config.spa.client.js +0 -44
  281. package/src/builder/rspack/rspack.config.ssr.client.js +40 -40
  282. package/src/components/Calendar/Calendar.vue +378 -377
  283. package/src/components/Feed/Feed.vue +28 -2
  284. package/src/modules/globals/controllers/classes/crud/crud.policies.js +5 -0
  285. package/src/modules/globals/controllers/classes/globals.validator.js +8 -1
  286. package/src/modules/globals/views/components/layouts/Client.vue +7 -0
  287. package/src/modules/music/README.md +8 -0
  288. package/src/modules/music/components/SidebarMusic.vue +6 -9
  289. package/src/modules/music/components/cards/AlbumCard.vue +20 -14
  290. package/src/modules/music/components/cards/ArtistCard.vue +1 -1
  291. package/src/modules/music/components/cards/PlaylistCard.vue +31 -11
  292. package/src/modules/music/components/cards/TrackListCard.vue +24 -13
  293. package/src/modules/music/components/forms/PlaylistForm.vue +417 -107
  294. package/src/modules/music/components/forms/SearchForm.vue +31 -8
  295. package/src/modules/music/components/forms/TrackForm.vue +50 -32
  296. package/src/modules/music/components/layouts/MusicBottomPlayer.vue +17 -0
  297. package/src/modules/music/components/pages/Album.vue +373 -186
  298. package/src/modules/music/components/pages/Artist.vue +54 -94
  299. package/src/modules/music/components/pages/MusicHome.vue +59 -56
  300. package/src/modules/music/components/pages/MusicLibrary.vue +13 -11
  301. package/src/modules/music/components/pages/Playlist.vue +495 -379
  302. package/src/modules/music/components/pages/SearchResults.vue +185 -313
  303. package/src/modules/music/components/pages/Track.vue +363 -69
  304. package/src/modules/music/components/player/MusicPlayer.vue +368 -97
  305. package/src/modules/music/components/player/TrackProgress.vue +76 -22
  306. package/src/modules/music/components/player/VolumeControl.vue +61 -28
  307. package/src/modules/music/controllers/search.controller.js +3 -0
  308. package/src/modules/music/controllers/stream.controller.js +11 -3
  309. package/src/modules/music/middlewares/playlists.verifier.js +1 -1
  310. package/src/modules/music/music.client.js +3 -6
  311. package/src/modules/music/music.server.js +8 -4
  312. package/src/modules/music/router/music.js +8 -1
  313. package/src/modules/music/routes/albums.routes.js +37 -5
  314. package/src/modules/music/routes/artists.routes.js +14 -4
  315. package/src/modules/music/routes/genres.routes.js +5 -1
  316. package/src/modules/music/routes/playlists.routes.js +42 -9
  317. package/src/modules/music/routes/tracks.routes.js +27 -2
  318. package/src/modules/music/store/artists.js +6 -2
  319. package/src/modules/music/store/player.js +6 -0
  320. package/src/modules/music/store/tracks.js +31 -0
  321. package/src/modules/music/websocket/streaming.handler.js +7 -1
  322. package/src/modules/rents/controllers/services/rents.services.js +2 -2
  323. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +4 -3
  324. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +42 -40
  325. package/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue +3 -1
  326. package/src/modules/rents/views/components/pages/Rents.vue +60 -56
  327. package/dist/globals.websocket-DzvdIBf6.js +0 -306
  328. package/dist/globals.websocket-k6_B1T7k.cjs +0 -322
  329. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +0 -1
  330. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  331. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  332. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +0 -69
  333. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +0 -1
  334. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +0 -69
  335. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +0 -1
  336. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +0 -104
  337. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +0 -1
  338. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +0 -104
  339. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +0 -1
  340. package/src/modules/music/components/cards/TrackCard.vue +0 -86
  341. package/src/modules/music/components/layouts/MusicLayout.vue +0 -83
@@ -97,7 +97,11 @@ export const actions = {
97
97
  }
98
98
 
99
99
  // Log play via WebSocket if connected
100
+ console.log('Player: Attempting to log play event for track:', track._id);
101
+ console.log('Player: WebSocket connected?', globalWebSocket.isSocketConnected());
102
+
100
103
  if (globalWebSocket.isSocketConnected()) {
104
+ console.log('Player: Sending startPlaying event via WebSocket');
101
105
  globalWebSocket.send({
102
106
  module: 'music-streaming',
103
107
  action: 'startPlaying',
@@ -107,6 +111,8 @@ export const actions = {
107
111
  deviceInfo: navigator.userAgent,
108
112
  },
109
113
  });
114
+ } else {
115
+ console.log('Player: WebSocket not connected, play count will not be incremented');
110
116
  }
111
117
  },
112
118
 
@@ -13,6 +13,7 @@ export const state = reactive({
13
13
  featured: [],
14
14
  userTracks: [],
15
15
  currentTrack: null,
16
+ relatedTracks: [],
16
17
  isLoading: false,
17
18
  loadingPopular: false,
18
19
  loadingRecent: false,
@@ -229,4 +230,34 @@ export const actions = {
229
230
  return [];
230
231
  }
231
232
  },
233
+
234
+ async fetchRelatedTracks(trackUrl) {
235
+ try {
236
+ // Если есть currentTrack, ищем треки того же артиста
237
+ if (state.currentTrack && state.currentTrack.artist) {
238
+ const artistId = typeof state.currentTrack.artist === 'object'
239
+ ? state.currentTrack.artist._id
240
+ : state.currentTrack.artist;
241
+
242
+ const queryParams = new URLSearchParams();
243
+ queryParams.append('artist', artistId);
244
+ queryParams.append('limit', '5');
245
+
246
+ const response = await fetch(`${process.env.API_URL}/api/tracks/read?${queryParams.toString()}`);
247
+ const tracks = await response.json();
248
+
249
+ // Исключаем текущий трек
250
+ const relatedTracks = tracks.filter(track => track._id !== state.currentTrack._id);
251
+ state.relatedTracks = relatedTracks;
252
+ return relatedTracks;
253
+ }
254
+
255
+ state.relatedTracks = [];
256
+ return [];
257
+ } catch (error) {
258
+ console.error('Error fetching related tracks:', error);
259
+ state.relatedTracks = [];
260
+ return [];
261
+ }
262
+ },
232
263
  };
@@ -5,9 +5,11 @@ export default (function (db) {
5
5
  // Handle WebSocket messages for music streaming
6
6
  handleStreamingMessage: async (ws, message) => {
7
7
  try {
8
+ console.log('StreamingHandler: Received message:', { action: message.action, data: message.data });
8
9
  const { action, data } = message;
9
10
  switch (action) {
10
11
  case 'startPlaying':
12
+ console.log('StreamingHandler: Processing startPlaying event for track:', data.trackId, 'user:', ws.userId);
11
13
  // Log play event
12
14
  if (ws.userId && data.trackId) {
13
15
  await db.playHistory.create({
@@ -18,8 +20,12 @@ export default (function (db) {
18
20
  playedFrom: data.from || 'other',
19
21
  contextId: data.contextId || null,
20
22
  });
23
+ console.log('StreamingHandler: Created play history record');
24
+
21
25
  // Increment play count
22
- await db.track.findByIdAndUpdate(data.trackId, { $inc: { playCount: 1 } });
26
+ const trackUpdate = await db.track.findByIdAndUpdate(data.trackId, { $inc: { playCount: 1 } }, { new: true });
27
+ console.log('StreamingHandler: Updated track playCount to:', trackUpdate?.playCount);
28
+
23
29
  // Acknowledge
24
30
  ws.send(
25
31
  JSON.stringify({
@@ -21,8 +21,8 @@ const queryValidatorConfig = {
21
21
  skip: { rule: 'optional', validator: Validator.schema().number().integer().min(0), default: 0 },
22
22
  limit: {
23
23
  rule: 'optional',
24
- validator: Validator.schema().number().integer().min(1).max(100),
25
- default: 10,
24
+ validator: Validator.schema().number().integer().min(1).max(1000),
25
+ default: 1000,
26
26
  },
27
27
  productId: { rule: 'optional', validator: Validator.schema().string(), default: null },
28
28
  variantId: { rule: 'optional', validator: Validator.schema().string(), default: null },
@@ -6,7 +6,7 @@
6
6
  @click="$emit('click')"
7
7
  >
8
8
  <div class="pd-micro t-micro t-white t-truncate">
9
- {{ bar.item.title || bar.item.name || 'Task' }}
9
+ {{ bar.item.productDetails.name || 'Task' }}
10
10
  </div>
11
11
  </div>
12
12
  </template>
@@ -25,9 +25,10 @@ const emit = defineEmits(['click'])
25
25
  const barClass = computed(() => {
26
26
  const statusMap = {
27
27
  active: 'bg-main',
28
- completed: 'bg-second',
28
+ completed: 'bg-green',
29
29
  canceled: 'bg-red',
30
- default: 'bg-gray'
30
+ pending : 'bg-grey',
31
+ default: 'bg-second'
31
32
  }
32
33
 
33
34
  return statusMap[props.bar.status] || statusMap.default
@@ -7,18 +7,19 @@
7
7
  @update:view="$emit('update:view', $event)"
8
8
  @update:date="$emit('update:date', $event)"
9
9
  @today="$emit('today')"
10
+ @load-more="$emit('load-more', $event)"
10
11
  />
11
12
 
12
13
  <div
13
- class="gantt-container scroller o-scroll bg-white radius-small br-solid br-1px br-grey-transp"
14
+ class="gantt-container scroller o-scroll bg-white radius-small br-solid br-1px br-black-transp-10"
14
15
  ref="container"
15
16
  @scroll="handleScroll"
16
17
  >
17
18
  <div class="gantt-content">
18
19
  <!-- Header -->
19
- <div class="gantt-header pos-sticky top-0 z-index-2 bg-white br-b br-solid br-grey-transp">
20
+ <div class="gantt-header pos-sticky top-0 z-index-2 bg-white br-b br-solid br-black-transp-10">
20
21
  <div class="flex">
21
- <div class="gantt-product-col pos-sticky left-0 z-index-3 bg-light pd-small br-r br-solid br-grey-transp">
22
+ <div class="gantt-product-col pos-sticky left-0 z-index-3 bg-light pd-small br-r br-solid br-black-transp-10">
22
23
  Product
23
24
  </div>
24
25
 
@@ -26,7 +27,7 @@
26
27
  <div
27
28
  v-for="(cell, i) in visibleCells"
28
29
  :key="cell.key"
29
- class="gantt-cell br-r br-solid br-grey-transp t-center pd-small"
30
+ class="gantt-cell br-r br-solid br-black-transp-10 t-center pd-small"
30
31
  :class="getCellClass(cell)"
31
32
  :style="{ width: cellWidth + 'px' }"
32
33
  >
@@ -41,11 +42,11 @@
41
42
  <div
42
43
  v-for="(group, i) in groups"
43
44
  :key="group.key"
44
- class="gantt-row flex br-b br-solid br-grey-transp"
45
+ class="gantt-row flex br-b br-solid br-black-transp-10"
45
46
  :class="i % 2 === 0 ? 'bg-light-transp' : ''"
46
47
  :style="{ height: rowHeight + 'px' }"
47
48
  >
48
- <div class="gantt-product-col pos-sticky left-0 z-index-1 bg-white pd-small br-r br-solid br-grey-transp">
49
+ <div class="gantt-product-col pos-sticky left-0 z-index-1 bg-white pd-small br-r br-solid br-black-transp-10">
49
50
  <div class="t-medium mn-b-micro">{{ group.title }}</div>
50
51
  <div class="t-micro" :class="statusClass(group)">{{ group.status }}</div>
51
52
  </div>
@@ -56,7 +57,7 @@
56
57
  <div
57
58
  v-for="cell in visibleCells"
58
59
  :key="cell.key + '-bg'"
59
- class="gantt-cell h-100 br-r br-solid br-grey-transp"
60
+ class="gantt-cell h-100 br-r br-solid br-black-transp-10"
60
61
  :class="getCellClass(cell)"
61
62
  :style="{ width: cellWidth + 'px' }"
62
63
  />
@@ -128,7 +129,6 @@ const emit = defineEmits([
128
129
  // State
129
130
  const container = ref(null)
130
131
  const scrollLeft = ref(0)
131
- const loadPromise = ref(null)
132
132
 
133
133
  // Cell width
134
134
  const cellWidth = computed(() => {
@@ -200,19 +200,24 @@ const visibleCells = computed(() => {
200
200
  // Cache for bars calculation
201
201
  const barsCache = new WeakMap()
202
202
 
203
+ // Helper function to get nested property value
204
+ const getNestedValue = (obj, path) => {
205
+ return path.split('.').reduce((current, key) => current?.[key], obj)
206
+ }
207
+
203
208
  // Groups
204
209
  const groups = computed(() => {
205
210
  const map = new Map()
206
211
 
207
212
  props.items.forEach(item => {
208
- const key = item[props.groupBy] || 'Ungrouped'
213
+ const key = getNestedValue(item, props.groupBy) || 'Ungrouped'
209
214
 
210
215
  if (!map.has(key)) {
211
216
  map.set(key, {
212
217
  key,
213
218
  title: key,
214
219
  items: [],
215
- status: item[props.statusKey]
220
+ status: getNestedValue(item, props.statusKey)
216
221
  })
217
222
  }
218
223
 
@@ -271,8 +276,8 @@ const getBars = (group) => {
271
276
 
272
277
  group.items.forEach(item => {
273
278
  try {
274
- const start = item[props.startKey]
275
- const end = item[props.endKey]
279
+ const start = getNestedValue(item, props.startKey)
280
+ const end = getNestedValue(item, props.endKey)
276
281
 
277
282
  if (!start || !end) return
278
283
 
@@ -280,12 +285,22 @@ const getBars = (group) => {
280
285
  const e = end instanceof Date ? new Date(end) : dayjs(end).toDate()
281
286
 
282
287
  if (isNaN(s.getTime()) || isNaN(e.getTime())) {
283
- console.warn(`Invalid dates for item ${item[props.idKey]}:`, { start, end })
288
+ console.warn(`Invalid dates for item ${getNestedValue(item, props.idKey)}:`, { start, end })
284
289
  return
285
290
  }
286
291
 
292
+ console.log('Processing item:', {
293
+ id: getNestedValue(item, props.idKey),
294
+ start: s,
295
+ end: e,
296
+ dateRange: props.dateRange
297
+ })
298
+
287
299
  // Skip if completely outside visible range
288
- if (e < props.dateRange.start || s > props.dateRange.end) return
300
+ if (e < props.dateRange.start || s > props.dateRange.end) {
301
+ console.log('Item skipped - outside visible range')
302
+ return
303
+ }
289
304
 
290
305
  // Calculate position
291
306
  let left = 0
@@ -410,18 +425,19 @@ const getBars = (group) => {
410
425
  }
411
426
 
412
427
  result.push({
413
- key: `${item[props.idKey]}-${s.getTime()}`,
428
+ key: `${getNestedValue(item, props.idKey)}-${s.getTime()}`,
414
429
  item,
415
430
  left,
416
431
  width,
417
432
  row,
418
- status: item[props.statusKey] || 'default'
433
+ status: getNestedValue(item, props.statusKey) || 'default'
419
434
  })
420
435
  } catch (error) {
421
- console.error(`Error processing item ${item[props.idKey]}:`, error)
436
+ console.error(`Error processing item ${getNestedValue(item, props.idKey)}:`, error)
422
437
  }
423
438
  })
424
439
 
440
+ console.log('Final bars result:', result)
425
441
  return result
426
442
  }
427
443
 
@@ -463,36 +479,16 @@ const throttle = (fn, delay) => {
463
479
  }
464
480
 
465
481
  // Scroll handling
466
- const handleScroll = throttle(async (event) => {
482
+ const handleScroll = (event) => {
467
483
  if (!container.value) return
468
484
 
469
485
  const el = event.target
470
486
  scrollLeft.value = el.scrollLeft
471
-
472
- const scrollWidth = el.scrollWidth
473
- const clientWidth = el.clientWidth
474
- const currentScrollLeft = el.scrollLeft
475
-
476
- const threshold = 100
477
-
478
- if (currentScrollLeft < threshold && !props.loading && !loadPromise.value) {
479
- loadPromise.value = emit('load-more', 'backward')
480
- if (loadPromise.value?.then) {
481
- await loadPromise.value
482
- loadPromise.value = null
483
- }
484
- } else if (scrollWidth - (currentScrollLeft + clientWidth) < threshold && !props.loading && !loadPromise.value) {
485
- loadPromise.value = emit('load-more', 'forward')
486
- if (loadPromise.value?.then) {
487
- await loadPromise.value
488
- loadPromise.value = null
489
- }
490
- }
491
- }, 100)
487
+ }
492
488
 
493
489
  // Cleanup
494
490
  onUnmounted(() => {
495
- handleScroll.cancel()
491
+ // No cleanup needed
496
492
  })
497
493
 
498
494
  // Center view on specific date
@@ -543,6 +539,12 @@ watch(() => props.view, () => {
543
539
  centerOnDate(props.date)
544
540
  })
545
541
 
542
+ // Watch for date changes (e.g., when Today button is clicked)
543
+ watch(() => props.date, (newDate) => {
544
+ // Center on the new date, especially important for hours view
545
+ centerOnDate(newDate)
546
+ })
547
+
546
548
  watch(() => props.dateRange, () => {
547
549
  // Reset scroll position when date range changes significantly
548
550
  if (container.value) {
@@ -21,7 +21,7 @@
21
21
  <Dropdown
22
22
  :label="dateLabel"
23
23
  align="left"
24
- class="pos-relative h-100 bg-white radius-small pd-thin"
24
+ class="pos-relative z-index-3 h-100 bg-white radius-small pd-thin"
25
25
  >
26
26
  <Calendar
27
27
  v-model:date="selectedDate"
@@ -153,6 +153,8 @@ const updateDate = (newSelectedDate) => {
153
153
  if (newSelectedDate) {
154
154
  const newDate = new Date(newSelectedDate)
155
155
  emit('update:date', newDate)
156
+ // Emit load-more event to trigger data loading for new date
157
+ emit('load-more', 'refresh')
156
158
  }
157
159
  }
158
160
 
@@ -20,6 +20,7 @@
20
20
 
21
21
  <Feed
22
22
  :search="true"
23
+ :keepSlotVisible="true"
23
24
  :states="{
24
25
  empty: {
25
26
  title: 'No Rents Found',
@@ -28,9 +29,9 @@
28
29
  }"
29
30
  :store="{ read: (options) => rents.actions.read(options) }"
30
31
  :options="{
31
- limit: 15,
32
32
  owner: route.params._id,
33
- ...(tab !== 'all' && { status: tab })
33
+ startDate: dateRange.start.toISOString(),
34
+ endDate: dateRange.end.toISOString()
34
35
  }"
35
36
  v-slot="{ items }"
36
37
  >
@@ -38,13 +39,18 @@
38
39
  v-model:view="view"
39
40
  v-model:date="date"
40
41
  v-model:dateRange="dateRange"
41
- :items="sampleData"
42
+ :items="items"
42
43
  :loading="loading"
44
+ :title-key="'productDetails.name'"
45
+ :start-key="'startDate'"
46
+ :end-key="'endDate'"
47
+ :status-key="'status'"
48
+ :id-key="'_id'"
49
+ :group-by="'productDetails.name'"
43
50
  @load-more="handleLoadMore"
44
51
  @item-click="handleItemClick"
45
52
  @today="handleToday"
46
53
  />
47
- {{items}}
48
54
 
49
55
  <!-- <CardRent
50
56
  v-else
@@ -77,45 +83,6 @@ const router = useRouter();
77
83
 
78
84
  const isCalendarView = ref(true);
79
85
 
80
- // Sample data
81
- const sampleData = ref([
82
- {
83
- id: 2,
84
- title: 'Product A',
85
- startDate: dayjs().add(1, 'days').toDate(),
86
- endDate: dayjs().add(5, 'days').toDate(),
87
- status: 'active'
88
- },
89
- {
90
- id: 3,
91
- title: 'Product B',
92
- startDate: dayjs().subtract(1, 'days').toDate(),
93
- endDate: dayjs().add(2, 'days').toDate(),
94
- status: 'completed'
95
- },
96
- {
97
- id: 4,
98
- title: 'Product C',
99
- startDate: dayjs().toDate(),
100
- endDate: dayjs().add(4, 'days').toDate(),
101
- status: 'canceled'
102
- },
103
- // Additional test data for hour view
104
- {
105
- id: 5,
106
- title: 'Product D',
107
- startDate: dayjs().add(2, 'days').add(8, 'hours').toDate(),
108
- endDate: dayjs().add(2, 'days').add(16, 'hours').toDate(),
109
- status: 'active'
110
- },
111
- {
112
- id: 6,
113
- title: 'Product E',
114
- startDate: dayjs().add(1, 'days').add(14, 'hours').toDate(),
115
- endDate: dayjs().add(2, 'days').add(10, 'hours').toDate(),
116
- status: 'completed'
117
- }
118
- ])
119
86
 
120
87
  // Set initial date range - current month plus 15 days before and 45 days after
121
88
  const view = ref('days')
@@ -127,9 +94,10 @@ const dateRange = computed(() => {
127
94
 
128
95
  switch (view.value) {
129
96
  case 'hours':
97
+ // Show only the current day in hours view
130
98
  return {
131
- start: d.subtract(1, 'days').startOf('day').toDate(),
132
- end: d.add(6, 'days').endOf('day').toDate()
99
+ start: d.startOf('day').toDate(),
100
+ end: d.endOf('day').toDate()
133
101
  }
134
102
 
135
103
  case 'days':
@@ -158,14 +126,44 @@ const handleLoadMore = async (direction) => {
158
126
 
159
127
  loading.value = true
160
128
 
161
- // Simulate API call
162
- return new Promise((resolve) => {
163
- setTimeout(() => {
164
- // Add more items if needed
165
- loading.value = false
166
- resolve()
167
- }, 1000)
168
- })
129
+ try {
130
+ // Only update date if it's navigation (not refresh)
131
+ if (direction !== 'refresh') {
132
+ const d = dayjs(date.value)
133
+ let newDate
134
+
135
+ switch (view.value) {
136
+ case 'hours':
137
+ newDate = direction === 'forward'
138
+ ? d.add(1, 'day').toDate()
139
+ : d.subtract(1, 'day').toDate()
140
+ break
141
+ case 'days':
142
+ newDate = direction === 'forward'
143
+ ? d.add(1, 'month').toDate()
144
+ : d.subtract(1, 'month').toDate()
145
+ break
146
+ case 'weeks':
147
+ newDate = direction === 'forward'
148
+ ? d.add(1, 'month').toDate()
149
+ : d.subtract(1, 'month').toDate()
150
+ break
151
+ }
152
+
153
+ date.value = newDate
154
+ }
155
+
156
+ // Load data for the current date range
157
+ await rents.actions.read({
158
+ owner: route.params._id,
159
+ startDate: dateRange.value.start.toISOString(),
160
+ endDate: dateRange.value.end.toISOString()
161
+ })
162
+ } catch (error) {
163
+ console.error('Error loading more data:', error)
164
+ } finally {
165
+ loading.value = false
166
+ }
169
167
  }
170
168
 
171
169
  // Handle item click
@@ -175,7 +173,14 @@ const handleItemClick = (item) => {
175
173
 
176
174
  // Handle today
177
175
  const handleToday = () => {
178
- date.value = new Date()
176
+ const now = new Date()
177
+ date.value = now
178
+
179
+ // For hours view, ensure we're showing the current hour
180
+ if (view.value === 'hours') {
181
+ // Update date to current time to trigger proper centering
182
+ date.value = new Date()
183
+ }
179
184
  }
180
185
 
181
186
  const today = new Date();
@@ -218,8 +223,7 @@ const loadMoreData = async ({ direction, date }) => {
218
223
  await rents.actions.read({
219
224
  owner: route.params._id,
220
225
  startDate: startDateParam.toISOString(),
221
- endDate: endDateParam.toISOString(),
222
- ...(tab.value !== 'all' && { status: tab.value })
226
+ endDate: endDateParam.toISOString()
223
227
  });
224
228
  } catch (error) {
225
229
  console.error('Error loading additional rent data:', error);