@ozdao/martyrs 0.2.578 → 0.2.581

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 (349) hide show
  1. package/dist/_virtual/dayjs.min.js +1 -1
  2. package/dist/_virtual/weekOfYear.js +1 -1
  3. package/dist/builder.js +5 -2
  4. package/dist/loader.js +1 -1
  5. package/dist/{main-EZaj64lH.js → main-vq1_XpmQ.js} +430 -425
  6. package/dist/martyrs/dist/{main-EZaj64lH.js → main-vq1_XpmQ.js} +12 -12
  7. package/dist/martyrs/dist/main-vq1_XpmQ.js.map +1 -0
  8. package/dist/martyrs/dist/{web-ClbcbWYJ.js → web-BNJDRie_.js} +2 -2
  9. package/dist/martyrs/dist/{web-ClbcbWYJ.js.map → web-BNJDRie_.js.map} +1 -1
  10. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +3 -3
  11. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  12. package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
  13. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js +21 -11
  14. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -1
  15. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  16. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  17. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  18. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
  19. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -0
  20. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  21. package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
  22. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  23. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  24. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +3 -3
  25. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  26. package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
  27. package/dist/martyrs/src/components/Select/Select.vue2.js.map +1 -0
  28. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
  29. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
  30. package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
  31. package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -0
  32. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +1 -1
  33. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  34. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  35. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  36. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  37. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  40. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  42. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +5 -2
  43. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  45. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  46. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -0
  47. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  48. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  49. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  50. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  51. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  52. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  53. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +1 -1
  54. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
  55. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +2 -2
  56. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -2
  57. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +2 -2
  58. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +34 -38
  59. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  60. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +1 -1
  61. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +19 -10
  62. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  63. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
  64. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +1 -1
  65. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  66. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  68. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  70. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  71. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
  72. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  73. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  74. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  75. package/dist/martyrs/src/modules/icons/actions/IconDuplicate.vue.js +1 -1
  76. package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.js +1 -1
  77. package/dist/martyrs/src/modules/icons/actions/IconShopcartAdd.vue.js +1 -1
  78. package/dist/martyrs/src/modules/icons/actions/IconShow.vue.js +1 -1
  79. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +1 -1
  80. package/dist/martyrs/src/modules/icons/entities/IconBell.vue.js +1 -1
  81. package/dist/martyrs/src/modules/icons/entities/IconCalendar.vue.js +1 -1
  82. package/dist/martyrs/src/modules/icons/entities/IconCatalog.vue.js +1 -1
  83. package/dist/martyrs/src/modules/icons/entities/IconCommunity.vue.js +1 -1
  84. package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +1 -1
  85. package/dist/martyrs/src/modules/icons/entities/IconDiscount.vue.js +1 -1
  86. package/dist/martyrs/src/modules/icons/entities/IconEarn.vue.js +1 -1
  87. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +1 -1
  88. package/dist/martyrs/src/modules/icons/entities/IconEvents.vue.js +1 -1
  89. package/dist/martyrs/src/modules/icons/entities/IconFeatured.vue.js +1 -1
  90. package/dist/martyrs/src/modules/icons/entities/IconFile.vue.js +1 -1
  91. package/dist/martyrs/src/modules/icons/entities/IconFollowing.vue.js +1 -1
  92. package/dist/martyrs/src/modules/icons/entities/IconGallery.vue.js +1 -1
  93. package/dist/martyrs/src/modules/icons/entities/IconGroups.vue.js +1 -1
  94. package/dist/martyrs/src/modules/icons/entities/IconHome.vue.js +1 -1
  95. package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.js +1 -1
  96. package/dist/martyrs/src/modules/icons/entities/IconLeftovers.vue.js +1 -1
  97. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js +1 -1
  98. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.js +1 -1
  99. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +1 -1
  100. package/dist/martyrs/src/modules/icons/entities/IconOrders.vue.js +1 -1
  101. package/dist/martyrs/src/modules/icons/entities/IconPayments.vue.js +1 -1
  102. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +1 -1
  103. package/dist/martyrs/src/modules/icons/entities/IconPopular.vue.js +1 -1
  104. package/dist/martyrs/src/modules/icons/entities/IconPrice.vue.js +1 -1
  105. package/dist/martyrs/src/modules/icons/entities/IconProducts.vue.js +1 -1
  106. package/dist/martyrs/src/modules/icons/entities/IconProfile.vue.js +1 -1
  107. package/dist/martyrs/src/modules/icons/entities/IconRecent.vue.js +1 -1
  108. package/dist/martyrs/src/modules/icons/entities/IconSettings.vue.js +1 -1
  109. package/dist/martyrs/src/modules/icons/entities/IconShopcart.vue.js +1 -1
  110. package/dist/martyrs/src/modules/icons/navigation/IconAdd.vue.js +1 -1
  111. package/dist/martyrs/src/modules/icons/navigation/IconArrow.vue.js +1 -1
  112. package/dist/martyrs/src/modules/icons/navigation/IconAttach.vue.js +1 -1
  113. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js +1 -1
  114. package/dist/martyrs/src/modules/icons/navigation/IconCheckmark.vue.js +1 -1
  115. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +1 -1
  116. package/dist/martyrs/src/modules/icons/navigation/IconDelete.vue.js +1 -1
  117. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js +1 -1
  118. package/dist/martyrs/src/modules/icons/navigation/IconEdit.vue.js +1 -1
  119. package/dist/martyrs/src/modules/icons/navigation/IconEllipsis.vue.js +1 -1
  120. package/dist/martyrs/src/modules/icons/navigation/IconFilter.vue.js +1 -1
  121. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js +1 -1
  122. package/dist/martyrs/src/modules/icons/navigation/IconInfo.vue.js +1 -1
  123. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js +1 -1
  124. package/dist/martyrs/src/modules/icons/navigation/IconMinus.vue.js +1 -1
  125. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js +1 -1
  126. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +1 -1
  127. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js +1 -1
  128. package/dist/martyrs/src/modules/icons/navigation/IconPlus.vue.js +1 -1
  129. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +1 -1
  130. package/dist/martyrs/src/modules/icons/navigation/IconSearch.vue.js +1 -1
  131. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js +1 -1
  132. package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +1 -1
  133. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js +1 -1
  134. package/dist/martyrs/src/modules/icons/navigation/IconUpload.vue.js +1 -1
  135. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js +1 -1
  136. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +1 -1
  137. package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +1 -1
  138. package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +1 -1
  139. package/dist/martyrs/src/modules/icons/socials/line.vue.js +1 -1
  140. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +1 -1
  141. package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +1 -1
  142. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +1 -1
  143. package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +1 -1
  144. package/dist/martyrs/src/modules/icons/socials/vk.vue.js +1 -1
  145. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +1 -1
  146. package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +1 -1
  147. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  148. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  149. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  150. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  151. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
  152. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  153. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +1 -1
  154. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  155. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  156. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  157. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  158. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  159. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
  160. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  161. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  162. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  163. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  164. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
  165. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  166. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  167. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
  168. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  169. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  170. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +1 -1
  171. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  172. package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +1 -1
  173. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +1 -1
  174. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  175. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  176. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
  177. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  178. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  179. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  180. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  181. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  182. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  183. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  184. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  185. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  186. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  187. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  188. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  189. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  190. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  191. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  192. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  193. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
  194. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -4
  195. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  196. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  197. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  198. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  199. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  200. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  201. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  202. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  203. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  204. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  205. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  206. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
  207. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  208. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  209. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  210. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  211. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  212. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  213. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +2 -2
  214. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  215. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  216. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  217. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  218. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  219. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  220. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  221. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  222. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  223. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  224. package/dist/martyrs.css +1 -1
  225. package/dist/martyrs.es.js +1 -1
  226. package/dist/{martyrs → node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
  227. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  228. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  229. package/dist/{martyrs → node_modules/.pnpm/dayjs@1.11.13}/node_modules/dayjs/dayjs.min.js +1 -1
  230. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +1 -0
  231. package/dist/{martyrs → node_modules/.pnpm/dayjs@1.11.13}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
  232. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.js.map +1 -0
  233. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +6 -0
  234. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  235. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  236. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  237. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +11 -0
  238. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  239. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +20 -0
  240. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  241. package/dist/style.css +37 -28
  242. package/dist/{web-ClbcbWYJ.js → web-BNJDRie_.js} +1 -1
  243. package/package.json +1 -1
  244. package/src/components/Chips/Chips.vue +2 -2
  245. package/src/components/Dropdown/Dropdown.vue +42 -14
  246. package/src/components/Menu/MenuItem.vue +3 -3
  247. package/src/jit/loader.js +1 -1
  248. package/src/jit/plugin.js +6 -1
  249. package/src/modules/auth/views/components/pages/SignIn.vue +14 -10
  250. package/src/modules/auth/views/store/auth.js +1 -0
  251. package/src/modules/core/views/components/partials/Navigation.vue +9 -12
  252. package/src/modules/core/views/components/partials/Sidebar.vue +17 -11
  253. package/src/modules/icons/actions/IconDuplicate.vue +1 -1
  254. package/src/modules/icons/actions/IconOpenLink.vue +1 -1
  255. package/src/modules/icons/actions/IconShopcartAdd.vue +1 -1
  256. package/src/modules/icons/actions/IconShow.vue +1 -1
  257. package/src/modules/icons/entities/IconAddress.vue +1 -1
  258. package/src/modules/icons/entities/IconBell.vue +1 -1
  259. package/src/modules/icons/entities/IconCalendar.vue +1 -1
  260. package/src/modules/icons/entities/IconCash.vue +1 -1
  261. package/src/modules/icons/entities/IconCatalog.vue +1 -1
  262. package/src/modules/icons/entities/IconCommunity.vue +1 -1
  263. package/src/modules/icons/entities/IconDate.vue +1 -1
  264. package/src/modules/icons/entities/IconDiscount.vue +1 -1
  265. package/src/modules/icons/entities/IconEarn.vue +1 -1
  266. package/src/modules/icons/entities/IconEmail.vue +1 -1
  267. package/src/modules/icons/entities/IconEvents.vue +1 -1
  268. package/src/modules/icons/entities/IconFeatured.vue +1 -1
  269. package/src/modules/icons/entities/IconFile.vue +1 -1
  270. package/src/modules/icons/entities/IconFollowing.vue +1 -1
  271. package/src/modules/icons/entities/IconGallery.vue +1 -1
  272. package/src/modules/icons/entities/IconGroups.vue +1 -1
  273. package/src/modules/icons/entities/IconHome.vue +1 -1
  274. package/src/modules/icons/entities/IconInfo.vue +1 -1
  275. package/src/modules/icons/entities/IconLeftovers.vue +1 -1
  276. package/src/modules/icons/entities/IconList.vue +1 -1
  277. package/src/modules/icons/entities/IconLock.vue +1 -1
  278. package/src/modules/icons/entities/IconMusic.vue +1 -1
  279. package/src/modules/icons/entities/IconOrders.vue +1 -1
  280. package/src/modules/icons/entities/IconPayments.vue +1 -1
  281. package/src/modules/icons/entities/IconPhone.vue +1 -1
  282. package/src/modules/icons/entities/IconPopular.vue +1 -1
  283. package/src/modules/icons/entities/IconPrice.vue +1 -1
  284. package/src/modules/icons/entities/IconProducts.vue +1 -1
  285. package/src/modules/icons/entities/IconProfile.vue +1 -1
  286. package/src/modules/icons/entities/IconRecent.vue +1 -1
  287. package/src/modules/icons/entities/IconSettings.vue +1 -1
  288. package/src/modules/icons/entities/IconShopcart.vue +1 -1
  289. package/src/modules/icons/navigation/IconAdd.vue +1 -1
  290. package/src/modules/icons/navigation/IconArrow.vue +1 -1
  291. package/src/modules/icons/navigation/IconAttach.vue +1 -1
  292. package/src/modules/icons/navigation/IconCheck.vue +1 -1
  293. package/src/modules/icons/navigation/IconCheckmark.vue +1 -1
  294. package/src/modules/icons/navigation/IconCross.vue +1 -1
  295. package/src/modules/icons/navigation/IconDelete.vue +1 -1
  296. package/src/modules/icons/navigation/IconDoubleCheck.vue +1 -1
  297. package/src/modules/icons/navigation/IconEdit.vue +1 -1
  298. package/src/modules/icons/navigation/IconEllipsis.vue +1 -1
  299. package/src/modules/icons/navigation/IconFilter.vue +1 -1
  300. package/src/modules/icons/navigation/IconHeart.vue +1 -1
  301. package/src/modules/icons/navigation/IconInfo.vue +1 -1
  302. package/src/modules/icons/navigation/IconLike.vue +1 -1
  303. package/src/modules/icons/navigation/IconMinus.vue +1 -1
  304. package/src/modules/icons/navigation/IconMute.vue +1 -1
  305. package/src/modules/icons/navigation/IconPause.vue +1 -1
  306. package/src/modules/icons/navigation/IconPlay.vue +1 -1
  307. package/src/modules/icons/navigation/IconPlus.vue +1 -1
  308. package/src/modules/icons/navigation/IconRefresh.vue +1 -1
  309. package/src/modules/icons/navigation/IconSearch.vue +1 -1
  310. package/src/modules/icons/navigation/IconShuffle.vue +1 -1
  311. package/src/modules/icons/navigation/IconSort.vue +1 -1
  312. package/src/modules/icons/navigation/IconUnMute.vue +1 -1
  313. package/src/modules/icons/navigation/IconUpload.vue +1 -1
  314. package/src/modules/icons/navigation/IconVolume.vue +1 -1
  315. package/src/modules/icons/socials/dribbble.vue +1 -1
  316. package/src/modules/icons/socials/facebook.vue +1 -1
  317. package/src/modules/icons/socials/instagram.vue +1 -1
  318. package/src/modules/icons/socials/line.vue +1 -1
  319. package/src/modules/icons/socials/linkedin.vue +1 -1
  320. package/src/modules/icons/socials/reddit.vue +1 -1
  321. package/src/modules/icons/socials/telegram.vue +1 -1
  322. package/src/modules/icons/socials/twitter.vue +1 -1
  323. package/src/modules/icons/socials/vk.vue +1 -1
  324. package/src/modules/icons/socials/whatsapp.vue +1 -1
  325. package/src/modules/icons/socials/youtube.vue +1 -1
  326. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  327. package/src/styles/config.scss +0 -1
  328. package/dist/martyrs/dist/main-EZaj64lH.js.map +0 -1
  329. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  330. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  331. package/dist/martyrs/node_modules/dayjs/dayjs.min.js.map +0 -1
  332. package/dist/martyrs/node_modules/dayjs/plugin/weekOfYear.js.map +0 -1
  333. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  334. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  335. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  336. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  337. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +0 -17
  338. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  339. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +0 -13
  340. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  341. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  342. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
  343. package/dist/martyrs/src/components/Button/Button.vue2.js.map +0 -1
  344. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  345. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  346. package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
  347. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +0 -1
  348. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
  349. /package/dist/{martyrs → node_modules/.pnpm/@vue_shared@3.5.13}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
@@ -1,8 +1,8 @@
1
1
  import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, createTextVNode, toDisplayString, unref, withCtx, Transition, withDirectives, vShow } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { useStore } from "../../../../core/views/store/core.store.js";
@@ -78,6 +78,9 @@ const _sfc_main = {
78
78
  await actions.login(userCopy, tabAuth.value);
79
79
  }
80
80
  function redirectTo() {
81
+ if (!state.user._id) {
82
+ throw new Error("AUTH_STATE_NOT_INITIALIZED");
83
+ }
81
84
  if (route.query?.returnUrl) {
82
85
  router.push({
83
86
  path: route.query?.returnUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"SignIn.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/SignIn.vue"],"sourcesContent":["<template>\n\t<section class=\"\">\n\t\t<!-- Header -->\n\t\t<img loading=\"lazy\" :src=\"'/logo/logo.svg'\" class=\"i-extra radius-small mn-b-small\">\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.signIn.title') }}\n\t\t\t<br>\n\t\t\t<span class=\"fw-semi\">{{ t('auth.signIn.subtitle') }}</span>\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big\">\n\t\t\t<router-link :to=\"{name: 'Sign Up', query: { returnUrl: route.query?.returnUrl}}\" class=\"underline t-grey\">{{ t('auth.signIn.signup') }}</router-link>\n\t\t</p>\n\t\t\n\t\t<!-- Select -->\n\t\t<div \n\t\t\tv-if=\"availableTabs.length > 1\" \n\t\t\tclass=\"mn-b-small p-small uppercase fw-semi bg-light radius-small o-hidden\"\n\t\t>\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabAuth\"\n\t\t\t\t:tabs=\"availableTabs\"\n\t\t\t\tclassTab=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t/>\n\t\t</div>\n\t\t<!-- Form -->\n\t\t<div class=\"pos-relative\">\n\t\t<!-- Phone -->\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'phone'\" class=\"mn-b-thin radius-small\">\n\t\t\t\t\t<FieldPhone\n\t\t\t\t\t\t@change=\"(event) => auth.state.user.phone = event\" \t\n\t\t\t\t\t\t:dropdownOptions=\"{\n\t\t\t\t\t\t\tshowDialCodeInSelection: true,\n\t\t\t\t\t\t\tshowFlags: true,\n\t\t\t\t\t\t\tshowDialCodeInList: true,\n\t\t\t\t\t\t\ttabIndex: -1\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:validCharactersOnly=\"true\"\n\t\t\t\t\t\t:validation=\"phoneValidation\" \n\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\t:inputOptions=\"{placeholder: t('auth.signIn.phonePlaceholder'), type: 'tel'}\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-small radius-small mn-b-thin\" \n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'email'\" class=\"mn-b-thin radius-small o-hidden\">\n\t\t\t\t\t<Field \n\t\t\t\t\t\tv-model:field=\"auth.state.user.email\" \t\n\t\t\t\t\t\t:placeholder=\"t('auth.signIn.emailPlaceholder')\" \t\n\t\t\t\t\t\t:validation=\"emailValidation\"\n\t\t\t\t\t\t:tabIndex=\"-1\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-medium radius-small\" \n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\n\t\t<!-- Password -->\n\t\t<Field \n\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\ttype=\"password\" \t\n\t\t\t:validation=\"passswordValidation\" \n\t\t\t:placeholder=\"t('auth.signIn.passwordPlaceholder')\" \n\t\t\tclass=\"\n bg-light\n pd-medium\n radius-small\n mn-b-semi\n h-4r \n \"\n\t\t/>\n\t\t<!-- Links -->\n\t\t<div class=\"w-100 mn-b-big\">\n\t\t\t<router-link\n\t\t\t\t:to=\"{name: 'Reset Password', query: { returnUrl: route.query?.returnUrl}}\"\n\t\t\t\tclass=\"underline d-block t-blue\"\n\t\t\t>\n\t\t\t\t{{ t('auth.signIn.forgotPassword') }}\n\t\t\t</router-link>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button \n\t\t\t:submit=\"onSubmit\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"w-100 bg-main\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin') }}\n\t\t</Button>\n\t\t\n\t\t<!-- <Button \n\t\t\t:submit=\"onSubmitApple\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"mn-b-thin bg-black t-white\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin_apple') }}\n\t\t</Button> -->\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport FieldPhone from '@martyrs/src/components/FieldPhone/FieldPhone.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n// Import store\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\n// Get store\nconst store = useStore()\nconst core = store.core\n\n// Init validation\nconst phoneValidation = ref(null)\nconst passswordValidation = ref(null)\nconst emailValidation = ref(null)\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst { t } = useI18n({\n\tuseScope: 'global'\n})\n// Accessing state\nconst availableTabs = computed(() => {\n const tabs = [\n { name: t('auth.signIn.phone'), value: 'phone' },\n { name: t('auth.signIn.email'), value: 'email' }\n ];\n const excludeMethods = core.state?.options?.auth?.authMethodsExclude || [];\n return tabs.filter(tab => !excludeMethods.includes(tab.value));\n});\n\nconst tabAuth = ref(availableTabs.value.length ? availableTabs.value[0].value : '');\n\nconst loadExternalScript = (src) => {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n}\n\nonMounted(async () => {\n\tawait loadExternalScript('https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js');\n});\n// Methods\nasync function onSubmit() {\n\ttry {\n\t if (tabAuth.value === 'phone') await inputsValidation.validateInputs(\n\t\t\tphoneValidation, \n\t\t\tinputsValidation.validatePhone, \n\t\t\tauth.state.user.phone, \n\t\t\t'Некорректный телефон'\n\t\t)\n\t\tif (tabAuth.value === 'email') await inputsValidation.validateInputs(\n\t\t\temailValidation, \n\t\t\tinputsValidation.validateEmail, \n\t\t\tauth.state.user.email, \n\t\t\t'Некорректный email'\n\t\t)\n\t} catch (error) {\n\t\tconsole.log(error)\n\t\tthrow new Error\n\t}\n\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\tconst userCopy = {...auth.state.user};\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\n \tawait auth.actions.login(userCopy, tabAuth.value)\n}\n\nasync function onSubmitApple() {\n try {\n window.AppleID.auth.init({\n clientId: 'com.thecommune.app.signin',\n scope: 'email name',\n redirectURI: 'https://thecommunephuket.com/auth/signin',\n usePopup: true,\n });\n\n let response = await window.AppleID.auth.signIn();\n\n if (response) {\n console.log(response);\n await auth.actions.login(response, 'apple');\n }\n\n } catch (error) {\n console.error(error);\n throw new Error('Error during Apple authentication');\n }\n}\n\nfunction redirectTo () {\n\tif (route.query?.returnUrl) {\n\t\trouter.push({ \n\t\t\tpath: route.query?.returnUrl,\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t} else { \n\t\trouter.push({ \n\t\t\tname: 'User Profile', \n\t\t\tparams: { \n\t\t\t\t_id: auth.state.user._id \n\t\t\t},\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n\n\t.input-error {\n\t border: 1px solid red;\n\t box-shadow: 0 0 3px 0 red;\n\t}\n</style>"],"names":["inputsValidation.validateInputs","inputsValidation.validatePhone","auth.state","inputsValidation.validateEmail","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAwHA,UAAM,QAAQ,SAAQ;AACtB,UAAM,OAAO,MAAM;AAGnB,UAAM,kBAAkB,IAAI,IAAI;AAChC,UAAM,sBAAsB,IAAI,IAAI;AACpC,UAAM,kBAAkB,IAAI,IAAI;AAEhC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACX,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACjC,YAAM,OAAO;AAAA,QACT,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,QAC9C,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,MACtD;AACI,YAAM,iBAAiB,KAAK,OAAO,SAAS,MAAM,sBAAsB,CAAA;AACxE,aAAO,KAAK,OAAO,SAAO,CAAC,eAAe,SAAS,IAAI,KAAK,CAAC;AAAA,IACjE,CAAC;AAED,UAAM,UAAU,IAAI,cAAc,MAAM,SAAS,cAAc,MAAM,CAAC,EAAE,QAAQ,EAAE;AAElF,UAAM,qBAAqB,CAAC,QAAQ;AAClC,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,OAAO;AACd,eAAO,MAAM;AACb,eAAO,SAAS;AAChB,eAAO,UAAU;AACjB,iBAAS,KAAK,YAAY,MAAM;AAAA,MAClC,CAAC;AAAA,IACH;AAEA,cAAU,YAAY;AACrB,YAAM,mBAAmB,sFAAsF;AAAA,IAChH,CAAC;AAED,mBAAe,WAAW;AACzB,UAAI;AACF,YAAI,QAAQ,UAAU,QAAS,OAAMA;AAAAA,UACrC;AAAA,UACAC;AAAAA,UACAC,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AACE,YAAI,QAAQ,UAAU,QAAS,OAAMF;AAAAA,UACpC;AAAA,UACAG;AAAAA,UACAD,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AAAA,MACC,SAAS,OAAO;AACf,gBAAQ,IAAI,KAAK;AACjB,cAAM,IAAI;AAAA,MACX;AAGA,YAAM,WAAW,EAAC,GAAGA,MAAW,KAAI;AAGnC,YAAME,QAAa,MAAM,UAAU,QAAQ,KAAK;AAAA,IAClD;AAwBA,aAAS,aAAc;AACtB,UAAI,MAAM,OAAO,WAAW;AAC3B,eAAO,KAAK;AAAA,UACX,MAAM,MAAM,OAAO;AAAA,UACnB,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF,OAAO;AACN,eAAO,KAAK;AAAA,UACX,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,KAAKF,MAAW,KAAK;AAAA,UACzB;AAAA,UACG,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SignIn.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/SignIn.vue"],"sourcesContent":["<template>\n\t<section class=\"\">\n\t\t<!-- Header -->\n\t\t<img loading=\"lazy\" :src=\"'/logo/logo.svg'\" class=\"i-extra radius-small mn-b-small\">\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.signIn.title') }}\n\t\t\t<br>\n\t\t\t<span class=\"fw-semi\">{{ t('auth.signIn.subtitle') }}</span>\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big\">\n\t\t\t<router-link :to=\"{name: 'Sign Up', query: { returnUrl: route.query?.returnUrl}}\" class=\"underline t-grey\">{{ t('auth.signIn.signup') }}</router-link>\n\t\t</p>\n\t\t\n\t\t<!-- Select -->\n\t\t<div \n\t\t\tv-if=\"availableTabs.length > 1\" \n\t\t\tclass=\"mn-b-small p-small uppercase fw-semi bg-light radius-small o-hidden\"\n\t\t>\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabAuth\"\n\t\t\t\t:tabs=\"availableTabs\"\n\t\t\t\tclassTab=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t/>\n\t\t</div>\n\t\t<!-- Form -->\n\t\t<div class=\"pos-relative\">\n\t\t<!-- Phone -->\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'phone'\" class=\"mn-b-thin radius-small\">\n\t\t\t\t\t<FieldPhone\n\t\t\t\t\t\t@change=\"(event) => auth.state.user.phone = event\" \t\n\t\t\t\t\t\t:dropdownOptions=\"{\n\t\t\t\t\t\t\tshowDialCodeInSelection: true,\n\t\t\t\t\t\t\tshowFlags: true,\n\t\t\t\t\t\t\tshowDialCodeInList: true,\n\t\t\t\t\t\t\ttabIndex: -1\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:validCharactersOnly=\"true\"\n\t\t\t\t\t\t:validation=\"phoneValidation\" \n\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\t:inputOptions=\"{placeholder: t('auth.signIn.phonePlaceholder'), type: 'tel'}\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-small radius-small mn-b-thin\" \n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'email'\" class=\"mn-b-thin radius-small o-hidden\">\n\t\t\t\t\t<Field \n\t\t\t\t\t\tv-model:field=\"auth.state.user.email\" \t\n\t\t\t\t\t\t:placeholder=\"t('auth.signIn.emailPlaceholder')\" \t\n\t\t\t\t\t\t:validation=\"emailValidation\"\n\t\t\t\t\t\t:tabIndex=\"-1\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-medium radius-small\" \n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\n\t\t<!-- Password -->\n\t\t<Field \n\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\ttype=\"password\" \t\n\t\t\t:validation=\"passswordValidation\" \n\t\t\t:placeholder=\"t('auth.signIn.passwordPlaceholder')\" \n\t\t\tclass=\"\n bg-light\n pd-medium\n radius-small\n mn-b-semi\n h-4r \n \"\n\t\t/>\n\t\t<!-- Links -->\n\t\t<div class=\"w-100 mn-b-big\">\n\t\t\t<router-link\n\t\t\t\t:to=\"{name: 'Reset Password', query: { returnUrl: route.query?.returnUrl}}\"\n\t\t\t\tclass=\"underline d-block t-blue\"\n\t\t\t>\n\t\t\t\t{{ t('auth.signIn.forgotPassword') }}\n\t\t\t</router-link>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button \n\t\t\t:submit=\"onSubmit\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"w-100 bg-main\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin') }}\n\t\t</Button>\n\t\t\n\t\t<!-- <Button \n\t\t\t:submit=\"onSubmitApple\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"mn-b-thin bg-black t-white\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin_apple') }}\n\t\t</Button> -->\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport FieldPhone from '@martyrs/src/components/FieldPhone/FieldPhone.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n// Import store\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\n// Get store\nconst store = useStore()\nconst core = store.core\n\n// Init validation\nconst phoneValidation = ref(null)\nconst passswordValidation = ref(null)\nconst emailValidation = ref(null)\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst { t } = useI18n({\n\tuseScope: 'global'\n})\n// Accessing state\nconst availableTabs = computed(() => {\n const tabs = [\n { name: t('auth.signIn.phone'), value: 'phone' },\n { name: t('auth.signIn.email'), value: 'email' }\n ];\n const excludeMethods = core.state?.options?.auth?.authMethodsExclude || [];\n return tabs.filter(tab => !excludeMethods.includes(tab.value));\n});\n\nconst tabAuth = ref(availableTabs.value.length ? availableTabs.value[0].value : '');\n\nconst loadExternalScript = (src) => {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n}\n\nonMounted(async () => {\n\tawait loadExternalScript('https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js');\n});\n// Methods\nasync function onSubmit() {\n\ttry {\n\t if (tabAuth.value === 'phone') await inputsValidation.validateInputs(\n\t\t\tphoneValidation, \n\t\t\tinputsValidation.validatePhone, \n\t\t\tauth.state.user.phone, \n\t\t\t'Некорректный телефон'\n\t\t)\n\t\tif (tabAuth.value === 'email') await inputsValidation.validateInputs(\n\t\t\temailValidation, \n\t\t\tinputsValidation.validateEmail, \n\t\t\tauth.state.user.email, \n\t\t\t'Некорректный email'\n\t\t)\n\t} catch (error) {\n\t\tconsole.log(error)\n\t\tthrow new Error\n\t}\n\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\tconst userCopy = {...auth.state.user};\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\n \tawait auth.actions.login(userCopy, tabAuth.value)\n}\n\nasync function onSubmitApple() {\n try {\n window.AppleID.auth.init({\n clientId: 'com.thecommune.app.signin',\n scope: 'email name',\n redirectURI: 'https://thecommunephuket.com/auth/signin',\n usePopup: true,\n });\n\n let response = await window.AppleID.auth.signIn();\n\n if (response) {\n console.log(response);\n await auth.actions.login(response, 'apple');\n }\n\n } catch (error) {\n console.error(error);\n throw new Error('Error during Apple authentication');\n }\n}\n\nfunction redirectTo () {\n\tif (!auth.state.user._id) {\n\t\tthrow new Error('AUTH_STATE_NOT_INITIALIZED')\n\t}\n\n\tif (route.query?.returnUrl) {\n\t\trouter.push({\n\t\t\tpath: route.query?.returnUrl,\n\t\t\tquery: {\n\t\t\t\tafterAuth: 'true'\n\t\t\t}\n\t\t})\n\t} else {\n\t\trouter.push({\n\t\t\tname: 'User Profile',\n\t\t\tparams: {\n\t\t\t\t_id: auth.state.user._id\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tafterAuth: 'true'\n\t\t\t}\n\t\t})\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n\n\t.input-error {\n\t border: 1px solid red;\n\t box-shadow: 0 0 3px 0 red;\n\t}\n</style>"],"names":["inputsValidation.validateInputs","inputsValidation.validatePhone","auth.state","inputsValidation.validateEmail","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAwHA,UAAM,QAAQ,SAAQ;AACtB,UAAM,OAAO,MAAM;AAGnB,UAAM,kBAAkB,IAAI,IAAI;AAChC,UAAM,sBAAsB,IAAI,IAAI;AACpC,UAAM,kBAAkB,IAAI,IAAI;AAEhC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACX,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACjC,YAAM,OAAO;AAAA,QACT,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,QAC9C,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,MACtD;AACI,YAAM,iBAAiB,KAAK,OAAO,SAAS,MAAM,sBAAsB,CAAA;AACxE,aAAO,KAAK,OAAO,SAAO,CAAC,eAAe,SAAS,IAAI,KAAK,CAAC;AAAA,IACjE,CAAC;AAED,UAAM,UAAU,IAAI,cAAc,MAAM,SAAS,cAAc,MAAM,CAAC,EAAE,QAAQ,EAAE;AAElF,UAAM,qBAAqB,CAAC,QAAQ;AAClC,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,OAAO;AACd,eAAO,MAAM;AACb,eAAO,SAAS;AAChB,eAAO,UAAU;AACjB,iBAAS,KAAK,YAAY,MAAM;AAAA,MAClC,CAAC;AAAA,IACH;AAEA,cAAU,YAAY;AACrB,YAAM,mBAAmB,sFAAsF;AAAA,IAChH,CAAC;AAED,mBAAe,WAAW;AACzB,UAAI;AACF,YAAI,QAAQ,UAAU,QAAS,OAAMA;AAAAA,UACrC;AAAA,UACAC;AAAAA,UACAC,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AACE,YAAI,QAAQ,UAAU,QAAS,OAAMF;AAAAA,UACpC;AAAA,UACAG;AAAAA,UACAD,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AAAA,MACC,SAAS,OAAO;AACf,gBAAQ,IAAI,KAAK;AACjB,cAAM,IAAI;AAAA,MACX;AAGA,YAAM,WAAW,EAAC,GAAGA,MAAW,KAAI;AAGnC,YAAME,QAAa,MAAM,UAAU,QAAQ,KAAK;AAAA,IAClD;AAwBA,aAAS,aAAc;AACtB,UAAI,CAACF,MAAW,KAAK,KAAK;AACzB,cAAM,IAAI,MAAM,4BAA4B;AAAA,MAC7C;AAEA,UAAI,MAAM,OAAO,WAAW;AAC3B,eAAO,KAAK;AAAA,UACX,MAAM,MAAM,OAAO;AAAA,UACnB,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF,OAAO;AACN,eAAO,KAAK;AAAA,UACX,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,KAAKA,MAAW,KAAK;AAAA,UACzB;AAAA,UACG,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { ref, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, withDirectives, vShow, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { useStore } from "../../../../core/views/store/core.store.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, createElementVNode, createBlock, createVNode, withCtx, createTextVNode } from "vue";
2
2
  import Field from "../../../../../components/Field/Field.vue.js";
3
- import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
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";
6
6
  import { sendCode, state as state$1 } from "../../store/twofa.js";
@@ -53,6 +53,7 @@ const actions = {
53
53
  session.clear();
54
54
  this.resetState();
55
55
  setError(error);
56
+ throw error;
56
57
  }
57
58
  },
58
59
  // Helper method to reset state
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/core/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie';\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from 'vue';\n// Globals\nimport { useSession, setError } from '@martyrs/src/modules/core/views/store/core.store.js';\nimport wsManager from '@martyrs/src/modules/core/views/classes/ws.manager.js';\n// State\nimport * as twofa from './twofa.js';\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n },\n access: {\n roles: null,\n token: null,\n status: false,\n },\n accesses: [],\n});\n\n// Session manager\nconst session = useSession();\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Проверка токена через серверный маршрут\n const response = await $axios.get('/api/organizations/check-accesses');\n const userAccesses = response.data;\n\n // ТОЛЬКО ПОСЛЕ УСПЕШНОЙ ПРОВЕРКИ устанавливаем состояние\n state.accesses = userAccesses;\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n\n // Update Session with full user data\n session.set({ ...userCookie, accesses: userAccesses });\n\n // Переподключаем WebSocket если пользователь аутентифицирован\n if (_id && accessToken) {\n console.log('[AUTH] Reconnecting WebSocket for authenticated user:', _id);\n await wsManager.reconnectWithAuth(_id);\n }\n } else {\n console.log('no cookies');\n setAuthToken(null);\n session.clear();\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n setError(error);\n }\n },\n\n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n };\n state.access = {\n roles: null,\n token: null,\n status: false,\n };\n session.clear();\n },\n\n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type,\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n\n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null,\n });\n\n session.clear();\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: 'PASSWORDS_DO_NOT_MATCH' },\n },\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite,\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n\n // Отключаем WebSocket при выходе\n console.log('[AUTH] Disconnecting WebSocket on logout');\n wsManager.disconnect();\n },\n\n async resetPassword(user, type) {\n try {\n const response = await $axios.post('/api/auth/reset-password', {\n email: user.email,\n phone: user.phone,\n type,\n });\n\n Object.assign(twofa.state.code, {\n ...response.data,\n isSended: true,\n });\n\n return response.data;\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async updatePassword(user, type) {\n const { password, passwordRepeat } = state.user;\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: 'PASSWORDS_DO_NOT_MATCH' },\n },\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/update-password', {\n email: user.email,\n phone: user.phone,\n password: user.password,\n passwordRepeat: user.passwordRepeat,\n type,\n });\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n });\n\n session.set(response.data);\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on password update error\n await removeCookie('user');\n setError(error);\n return Promise.reject(error);\n }\n },\n};\n\n// Cookies\nconst optionsDefault = {\n development: { path: '/', domain: process.env.DOMAIN_URL, secure: false, expires: 7, sameSite: 'Lax' },\n production: {\n expires: 7,\n path: '/',\n domain: process.env.DOMAIN_URL,\n sameSite: 'strict',\n secure: true,\n },\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data),\n });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n console.log('[AUTH COOKIE DEBUG] setCookie', { name, mode, options, domain: process.env.DOMAIN_URL });\n Cookies.set(name, JSON.stringify(data), options);\n }\n}\n\nasync function removeCookie(name, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n const allCookiesBefore = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie BEFORE', { name, mode, options, domain: process.env.DOMAIN_URL, allCookies: allCookiesBefore });\n Cookies.remove(name, options);\n const allCookiesAfter = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie AFTER', { allCookies: allCookiesAfter });\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport { actions, removeCookie, state };\n"],"names":["twofa.state","Cookies"],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/core/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie';\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from 'vue';\n// Globals\nimport { useSession, setError } from '@martyrs/src/modules/core/views/store/core.store.js';\nimport wsManager from '@martyrs/src/modules/core/views/classes/ws.manager.js';\n// State\nimport * as twofa from './twofa.js';\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n },\n access: {\n roles: null,\n token: null,\n status: false,\n },\n accesses: [],\n});\n\n// Session manager\nconst session = useSession();\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Проверка токена через серверный маршрут\n const response = await $axios.get('/api/organizations/check-accesses');\n const userAccesses = response.data;\n\n // ТОЛЬКО ПОСЛЕ УСПЕШНОЙ ПРОВЕРКИ устанавливаем состояние\n state.accesses = userAccesses;\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n\n // Update Session with full user data\n session.set({ ...userCookie, accesses: userAccesses });\n\n // Переподключаем WebSocket если пользователь аутентифицирован\n if (_id && accessToken) {\n console.log('[AUTH] Reconnecting WebSocket for authenticated user:', _id);\n await wsManager.reconnectWithAuth(_id);\n }\n } else {\n console.log('no cookies');\n setAuthToken(null);\n session.clear();\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n setError(error);\n throw error;\n }\n },\n\n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n };\n state.access = {\n roles: null,\n token: null,\n status: false,\n };\n session.clear();\n },\n\n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type,\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n\n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null,\n });\n\n session.clear();\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: 'PASSWORDS_DO_NOT_MATCH' },\n },\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite,\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n\n // Отключаем WebSocket при выходе\n console.log('[AUTH] Disconnecting WebSocket on logout');\n wsManager.disconnect();\n },\n\n async resetPassword(user, type) {\n try {\n const response = await $axios.post('/api/auth/reset-password', {\n email: user.email,\n phone: user.phone,\n type,\n });\n\n Object.assign(twofa.state.code, {\n ...response.data,\n isSended: true,\n });\n\n return response.data;\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async updatePassword(user, type) {\n const { password, passwordRepeat } = state.user;\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: 'PASSWORDS_DO_NOT_MATCH' },\n },\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/update-password', {\n email: user.email,\n phone: user.phone,\n password: user.password,\n passwordRepeat: user.passwordRepeat,\n type,\n });\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n });\n\n session.set(response.data);\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on password update error\n await removeCookie('user');\n setError(error);\n return Promise.reject(error);\n }\n },\n};\n\n// Cookies\nconst optionsDefault = {\n development: { path: '/', domain: process.env.DOMAIN_URL, secure: false, expires: 7, sameSite: 'Lax' },\n production: {\n expires: 7,\n path: '/',\n domain: process.env.DOMAIN_URL,\n sameSite: 'strict',\n secure: true,\n },\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data),\n });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n console.log('[AUTH COOKIE DEBUG] setCookie', { name, mode, options, domain: process.env.DOMAIN_URL });\n Cookies.set(name, JSON.stringify(data), options);\n }\n}\n\nasync function removeCookie(name, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n const allCookiesBefore = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie BEFORE', { name, mode, options, domain: process.env.DOMAIN_URL, allCookies: allCookiesBefore });\n Cookies.remove(name, options);\n const allCookiesAfter = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie AFTER', { allCookies: allCookiesAfter });\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport { actions, removeCookie, state };\n"],"names":["twofa.state","Cookies"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createElementVNode, Fragment, renderList, unref, createBlock, createCommentVNode, resolveDynamicComponent, toDisplayString } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import _sfc_main$3 from "../../../icons/entities/IconProducts.vue.js";
4
4
  import _sfc_main$8 from "../../../icons/entities/IconPayments.vue.js";
5
5
  import _sfc_main$7 from "../../../icons/entities/IconEvents.vue.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, unref, createBlock, normalizeClass, createTextVNode, withCtx, Transition, resolveDynamicComponent, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import Select from "../../../../components/Select/Select.vue.js";
3
+ import Select from "../../../../components/Select/Select.vue2.js";
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$6 from "../../../organizations/components/blocks/CardOrganization.vue.js";
6
6
  import _sfc_main$1 from "../../../icons/entities/IconFeatured.vue.js";
@@ -1,13 +1,13 @@
1
1
  import { computed, ref, onServerPrefetch, onMounted, createElementBlock, openBlock, createVNode, TransitionGroup, withCtx, createCommentVNode, Fragment, renderList, Transition, createBlock } from "vue";
2
2
  import { u as useHead } from "../../../../../../node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.js";
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$1 from "../../../../components/EmptyState/EmptyState.vue.js";
5
5
  import _sfc_main$2 from "../blocks/CardBlogpost.vue.js";
6
6
  import SkeletonBlogpost from "../../../icons/skeletons/SkeletonBlogpost.vue.js";
7
7
  import { useRoute } from "vue-router";
8
8
  import "vue-i18n";
9
9
  /* empty css */
10
- /* empty css */
10
+ /* empty css */
11
11
  import { state as state$1 } from "../../../auth/views/store/auth.js";
12
12
  /* empty css */
13
13
  /* empty css */
@@ -6,7 +6,7 @@ import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
6
6
  import _sfc_main$3 from "../../../../components/FieldTags/BlockTags.vue.js";
7
7
  import _sfc_main$6 from "../../../../components/Checkbox/Checkbox.vue.js";
8
8
  import Field from "../../../../components/Field/Field.vue.js";
9
- import _sfc_main$7 from "../../../../components/Button/Button.vue2.js";
9
+ import _sfc_main$7 from "../../../../components/Button/Button.vue.js";
10
10
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
11
11
  import _sfc_main$4 from "../../../core/views/components/blocks/Card.vue.js";
12
12
  import { useRoute, useRouter } from "vue-router";
@@ -6,7 +6,7 @@ import _sfc_main$6 from "../elements/Card.vue.js";
6
6
  import _sfc_main$3 from "../elements/Audio.vue.js";
7
7
  import _sfc_main$2 from "../elements/Video.vue.js";
8
8
  import _sfc_main$1 from "../../../../components/Draggable/Draggable.vue.js";
9
- import v4 from "../../../../../node_modules/uuid/dist/esm-browser/v4.js";
9
+ import v4 from "../../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js";
10
10
  const _hoisted_1 = ["data-index"];
11
11
  const _hoisted_2 = ["onMouseover"];
12
12
  const _hoisted_3 = {
@@ -6,8 +6,8 @@ import PlaceholderUserpic from "../../../../icons/placeholders/PlaceholderUserpi
6
6
  import PlaceholderOrganizationPic from "../../../../icons/placeholders/PlaceholderOrganizationPic.vue.js";
7
7
  import _sfc_main$4 from "../../../../icons/navigation/IconEllipsis.vue.js";
8
8
  import _sfc_main$5 from "../../../../reports/components/sections/FormReport.vue.js";
9
- /* empty css */
10
9
  /* empty css */
10
+ /* empty css */
11
11
  import _sfc_main$2 from "../elements/PhotoStack.vue.js";
12
12
  const _hoisted_1 = {
13
13
  key: 0,
@@ -1,7 +1,7 @@
1
1
  import { createBlock, openBlock, withCtx, createElementVNode, toDisplayString, createVNode, createTextVNode } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
4
- import _sfc_main$2 from "../../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
5
5
  const _hoisted_1 = { class: "t-center" };
6
6
  const _hoisted_2 = { class: "mn-b-medium" };
7
7
  const _hoisted_3 = { class: "mn-b-semi t-transp" };
@@ -1,9 +1,9 @@
1
1
  import { ref, computed, watch, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode, toDisplayString, unref } from "vue";
2
2
  import { useI18n } from "vue-i18n";
3
3
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
4
- import Loader from "../../../../../components/Loader/Loader.vue.js";
4
+ import Loader from "../../../../../components/Loader/Loader.vue2.js";
5
5
  import Calendar from "../../../../../components/Calendar/Calendar.vue2.js";
6
- import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
6
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
7
7
  import _sfc_main$4 from "../../../../icons/actions/IconShopcartAdd.vue.js";
8
8
  import _sfc_main$2 from "../../../../orders/components/elements/PriceTotal.vue.js";
9
9
  import { loadAvailability } from "../../../../rents/views/store/rents.store.js";
@@ -7,8 +7,8 @@ import _sfc_main$5 from "../../../../../components/Status/Snack.vue.js";
7
7
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
8
8
  import "vue-i18n";
9
9
  /* empty css */
10
- import Loader from "../../../../../components/Loader/Loader.vue.js";
11
- /* empty css */
10
+ import Loader from "../../../../../components/Loader/Loader.vue2.js";
11
+ /* empty css */
12
12
  /* empty css */
13
13
  import _sfc_main$2 from "../partials/LocationSelection.vue.js";
14
14
  import _sfc_main$3 from "../../../../orders/components/partials/ShopCart.vue.js";
@@ -5,8 +5,8 @@ import { useStore } from "../../store/core.store.js";
5
5
  import { actions, getters } from "../../../../orders/store/shopcart.js";
6
6
  import { state } from "../../../../auth/views/store/auth.js";
7
7
  import NotificationBadge from "../../../../notifications/components/elements/NotificationBadge.vue.js";
8
- import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
9
- import Select from "../../../../../components/Select/Select.vue.js";
8
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
9
+ import Select from "../../../../../components/Select/Select.vue2.js";
10
10
  import _sfc_main$3 from "../../../../icons/entities/IconShopcart.vue.js";
11
11
  import _sfc_main$4 from "../../../../icons/entities/IconProfile.vue.js";
12
12
  import _sfc_main$2 from "../../../../icons/navigation/IconSearch.vue.js";
@@ -9,32 +9,33 @@ import _sfc_main$1 from "../../../../../components/Dropdown/Dropdown.vue.js";
9
9
  import _export_sfc from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
10
10
  const _hoisted_1 = ["onClick"];
11
11
  const _hoisted_2 = { class: "fw-medium" };
12
- const _hoisted_3 = ["onClick"];
13
- const _hoisted_4 = {
12
+ const _hoisted_3 = { class: "dropdown-submenu" };
13
+ const _hoisted_4 = ["onClick"];
14
+ const _hoisted_5 = {
14
15
  key: 1,
15
16
  class: ""
16
17
  };
17
- const _hoisted_5 = { class: "w-100" };
18
- const _hoisted_6 = ["onClick"];
19
- const _hoisted_7 = {
18
+ const _hoisted_6 = { class: "w-100" };
19
+ const _hoisted_7 = ["onClick"];
20
+ const _hoisted_8 = {
20
21
  key: 0,
21
22
  class: "w-100 flex-child-default w-max-big flex flex-center aspect-1x1"
22
23
  };
23
- const _hoisted_8 = {
24
+ const _hoisted_9 = {
24
25
  key: 1,
25
26
  class: "p-regular"
26
27
  };
27
- const _hoisted_9 = ["onClick"];
28
- const _hoisted_10 = {
28
+ const _hoisted_10 = ["onClick"];
29
+ const _hoisted_11 = {
29
30
  key: 0,
30
31
  class: "mn-l-small mn-t-thin"
31
32
  };
32
- const _hoisted_11 = ["onClick"];
33
- const _hoisted_12 = {
33
+ const _hoisted_12 = ["onClick"];
34
+ const _hoisted_13 = {
34
35
  key: 1,
35
36
  class: ""
36
37
  };
37
- const _hoisted_13 = { class: "w-100" };
38
+ const _hoisted_14 = { class: "w-100" };
38
39
  const _sfc_main = {
39
40
  __name: "Navigation",
40
41
  props: {
@@ -90,9 +91,9 @@ const _sfc_main = {
90
91
  };
91
92
  return (_ctx, _cache) => {
92
93
  return openBlock(), createElementBlock("nav", {
93
- class: normalizeClass(["ease-quint-out o-x-visible h-100", [
94
+ class: normalizeClass(["ease-quint-out", [
94
95
  __props.stateSidebar ? "pd-small" : "pd-micro",
95
- __props.horizontal ? "w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible" : "o-y-scroll gap-medium rows-1"
96
+ __props.horizontal ? "w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible o-x-visible" : "gap-medium flex flex-column"
96
97
  ]])
97
98
  }, [
98
99
  (openBlock(true), createElementBlock(Fragment, null, renderList(props.navigationItems, (section) => {
@@ -138,9 +139,7 @@ const _sfc_main = {
138
139
  ], 10, _hoisted_1)
139
140
  ]),
140
141
  default: withCtx(() => [
141
- createElementVNode("ul", {
142
- class: normalizeClass(["dropdown-submenu bg-blur-small", __props.theme === "light" ? "bg-white-transp-50 " : "bg-black-transp-50"])
143
- }, [
142
+ createElementVNode("ul", _hoisted_3, [
144
143
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.subItems, (subItem) => {
145
144
  return openBlock(), createElementBlock("li", {
146
145
  key: subItem.title
@@ -148,39 +147,37 @@ const _sfc_main = {
148
147
  createElementVNode("a", {
149
148
  onClick: ($event) => subItem.route ? unref(router).push(processRoute(subItem.route)) : null,
150
149
  href: "#",
151
- class: normalizeClass(["ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
150
+ class: normalizeClass(["group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
152
151
  subItem.route && unref(route).path === processRoute(subItem.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
153
152
  __props.theme === "light" ? "hover:bg-light" : "hover:bg-dark"
154
153
  ]])
155
154
  }, [
156
155
  subItem.iconComponent ? (openBlock(), createBlock(resolveDynamicComponent(subItem.iconComponent), {
157
156
  key: 0,
158
- class: "i-medium",
159
- fill: "rgba(var(--black), 0.25)"
160
- })) : (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(subItem.icon), 1)),
161
- createElementVNode("span", _hoisted_5, toDisplayString(subItem.title), 1)
162
- ], 10, _hoisted_3)
157
+ class: "i-medium t-black-transp-25 group-hover:t-main"
158
+ })) : (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(subItem.icon), 1)),
159
+ createElementVNode("span", _hoisted_6, toDisplayString(subItem.title), 1)
160
+ ], 10, _hoisted_4)
163
161
  ]);
164
162
  }), 128))
165
- ], 2)
163
+ ])
166
164
  ]),
167
165
  _: 2
168
166
  }, 1024)) : (openBlock(), createElementBlock("button", {
169
167
  key: 1,
170
- class: normalizeClass(["ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center", [
168
+ class: normalizeClass(["group ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center", [
171
169
  __props.horizontal ? "pd-thin" : "",
172
170
  item.route && unref(route).path === processRoute(item.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
173
171
  __props.theme === "light" ? "hover:bg-light" : "hover:bg-dark"
174
172
  ]]),
175
173
  onClick: ($event) => item.route ? (_ctx.isPhone ? __props.stateSidebar = false : null, unref(route).path !== processRoute(item.route) ? unref(router).push(processRoute(item.route)) : null) : null
176
174
  }, [
177
- !__props.horizontal ? (openBlock(), createElementBlock("div", _hoisted_7, [
175
+ !__props.horizontal ? (openBlock(), createElementBlock("div", _hoisted_8, [
178
176
  item.iconComponent ? (openBlock(), createBlock(resolveDynamicComponent(item.iconComponent), {
179
177
  key: 0,
180
- class: "i-medium flex-child-default",
181
- fill: "rgba(var(--black), 0.25)"
178
+ class: "i-medium flex-child-default ease-quint-out t-black-transp-25 group-hover:t-main"
182
179
  })) : createCommentVNode("", true),
183
- !item.iconComponent ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(item.icon), 1)) : createCommentVNode("", true)
180
+ !item.iconComponent ? (openBlock(), createElementBlock("span", _hoisted_9, toDisplayString(item.icon), 1)) : createCommentVNode("", true)
184
181
  ])) : createCommentVNode("", true),
185
182
  createElementVNode("span", {
186
183
  class: normalizeClass(["ease-quint-out w-100 t-left fw-medium", { "hidden": !__props.stateSidebar && !__props.horizontal, "visible": __props.stateSidebar || __props.horizontal }])
@@ -194,8 +191,8 @@ const _sfc_main = {
194
191
  class: normalizeClass([{ "rotate-180deg mn-t-micro-negative": _ctx.isOpen }, "i-small"]),
195
192
  fill: __props.theme === "dark" ? "rgb(var(--white))" : "rgb(var(--black))"
196
193
  }, null, 8, ["class", "fill"])
197
- ], 10, _hoisted_9)) : createCommentVNode("", true)
198
- ], 10, _hoisted_6)),
194
+ ], 10, _hoisted_10)) : createCommentVNode("", true)
195
+ ], 10, _hoisted_7)),
199
196
  createVNode(Transition, {
200
197
  "enter-active-class": "dropdown-enter",
201
198
  "leave-active-class": "dropdown-leave",
@@ -205,7 +202,7 @@ const _sfc_main = {
205
202
  "leave-to-class": "dropdown-leave-to"
206
203
  }, {
207
204
  default: withCtx(() => [
208
- item.subItems && isSectionExpanded(item.title) && __props.stateSidebar && !__props.horizontal ? (openBlock(), createElementBlock("ul", _hoisted_10, [
205
+ item.subItems && isSectionExpanded(item.title) && __props.stateSidebar && !__props.horizontal ? (openBlock(), createElementBlock("ul", _hoisted_11, [
209
206
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.subItems, (subItem) => {
210
207
  return openBlock(), createElementBlock("li", {
211
208
  key: subItem.title
@@ -213,18 +210,17 @@ const _sfc_main = {
213
210
  createElementVNode("a", {
214
211
  onClick: ($event) => subItem.route ? (_ctx.isPhone ? __props.stateSidebar = false : null, unref(route).path !== processRoute(subItem.route) ? unref(router).push(processRoute(subItem.route)) : null) : null,
215
212
  href: "#",
216
- class: normalizeClass(["ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
213
+ class: normalizeClass(["group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
217
214
  subItem.route && unref(route).path === processRoute(subItem.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
218
215
  __props.theme === "light" ? "hover:bg-light" : "hover:bg-dark"
219
216
  ]])
220
217
  }, [
221
218
  subItem.iconComponent ? (openBlock(), createBlock(resolveDynamicComponent(subItem.iconComponent), {
222
219
  key: 0,
223
- class: "i-medium",
224
- fill: "rgba(var(--black), 0.25)"
225
- })) : (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(subItem.icon), 1)),
226
- createElementVNode("span", _hoisted_13, toDisplayString(subItem.title), 1)
227
- ], 10, _hoisted_11)
220
+ class: "i-medium t-black-transp-25 group-hover:t-main"
221
+ })) : (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(subItem.icon), 1)),
222
+ createElementVNode("span", _hoisted_14, toDisplayString(subItem.title), 1)
223
+ ], 10, _hoisted_12)
228
224
  ]);
229
225
  }), 128))
230
226
  ])) : createCommentVNode("", true)
@@ -244,7 +240,7 @@ const _sfc_main = {
244
240
  };
245
241
  }
246
242
  };
247
- const Navigation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4bed57a8"]]);
243
+ const Navigation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9f149045"]]);
248
244
  export {
249
245
  Navigation as default
250
246
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\n\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\nconst store = useStore()\nconst router = useRouter()\nconst route = useRoute()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array,\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emits('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\n// Process route functions with auth data and route\nconst processRoute = (routeFn) => {\n if (typeof routeFn === 'function') {\n return routeFn(auth.state, route)\n }\n return routeFn\n}\n\n</script>\n\n<template>\n <nav\n class=\"ease-quint-out o-x-visible h-100\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible' : 'o-y-scroll gap-medium rows-1',\n ]\"\n >\n <div \n v-for=\"section in props.navigationItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state, route) : true)\"\n :key=\"section.category\" \n class=\"ease-quint-out\"\n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? '' : '',\n ]\"\n >\n <div\n v-if=\"section.category && stateSidebar && !horizontal\"\n class=\"uppercase fw-medium t-transp p-small\"\n :class=\"{\n 't-black': theme === 'light',\n 't-white': theme === 'dark'\n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-micro',\n ]\"\n >\n <li\n v-for=\"item in section.items\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state, route) : true)\"\n class=\"w-100 pos-relative\"\n :key=\"item.title\"\n\n >\n <Dropdown\n v-if=\"item.subItems && horizontal\"\n class=\"w-100\"\n align=\"left\"\n trigger=\"hover\"\n >\n <template #label>\n <button\n class=\"ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center pd-thin\"\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n :class=\"[\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span class=\"fw-medium\">{{ item.title }}</span>\n <!-- <IconChevronBottom :fill=\"theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small mn-l-thin\"/> -->\n </button>\n </template>\n <ul class=\"dropdown-submenu bg-blur-small\" :class=\"theme === 'light' ? 'bg-white-transp-50 ' : 'bg-black-transp-50'\">\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a\n @click=\"subItem.route ? router.push(processRoute(subItem.route)) : null\"\n href=\"#\"\n class=\"ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium\"\n fill=\"rgba(var(--black), 0.25)\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n <button\n v-else\n class=\"ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center\"\n @click=\"item.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(item.route) ? router.push(processRoute(item.route)) : null) : null\"\n :class=\"[\n horizontal ? 'pd-thin' : '',\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <div v-if=\"!horizontal\" class=\"w-100 flex-child-default w-max-big flex flex-center aspect-1x1\">\n <component\n v-if=\"item.iconComponent\"\n :is=\"item.iconComponent\"\n class=\"i-medium flex-child-default\"\n fill=\"rgba(var(--black), 0.25)\"\n />\n <span\n v-if=\"!item.iconComponent \"\n class=\"p-regular\"\n >\n {{ item.icon }}\n </span>\n </div>\n\n <span\n class=\"ease-quint-out w-100 t-left fw-medium\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n\n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto mn-r-small sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180deg': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\"\n >\n <IconChevronBottom :class=\"{ 'rotate-180deg mn-t-micro-negative': isOpen }\" :fill=\" theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small\"/>\n </span>\n </button>\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"mn-l-small mn-t-thin\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n\n <a\n @click=\"subItem.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(subItem.route) ? router.push(processRoute(subItem.route)) : null) : null\"\n href=\"#\"\n class=\"ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium\"\n fill=\"rgba(var(--black), 0.25)\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n\n.rotate-180deg {\n transform: rotate(180deg);\n}\n\n.hidden {\n/* opacity: 0;*/\n width: 0;\n display: none;\n}\n\n.visible {\n/* opacity: 1;*/\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* Horizontal dropdown submenu */\n.dropdown-submenu {\n list-style: none;\n padding: 0.5rem;\n margin: 0;\n min-width: 12rem;\n}\n\n.dropdown-submenu li {\n width: 100%;\n}\n\n.dropdown-submenu a {\n display: flex;\n text-decoration: none;\n white-space: nowrap;\n}\n\n/* Transition for horizontal dropdown */\n:deep(.TransitionTranslateY-enter-active),\n:deep(.TransitionTranslateY-leave-active) {\n transition: translateY 0.2s ease;\n transition: opacity 0.2s ease;\n}\n\n:deep(.TransitionTranslateY-enter-from),\n:deep(.TransitionTranslateY-leave-to) {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n:deep(.TransitionTranslateY-enter-to),\n:deep(.TransitionTranslateY-leave-from) {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASc,aAAQ;AACtB,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAKtB,UAAM,QAAQ;AAgBd,UAAM,QAAQ;AAId,UAAM,mBAAmB,IAAI,CAAA,CAAE;AAE/B,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,gBAAM,cAAc;AACpB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACnC,GAAG,EAAE;AAAA,QACP;AACA;AAAA,MACF;AAEA,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACnC,OAAO;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MACxC;AAAA,IACF;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAGA,UAAM,eAAe,CAAC,YAAY;AAChC,UAAI,OAAO,YAAY,YAAY;AACjC,eAAO,QAAQA,OAAY,KAAK;AAAA,MAClC;AACA,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Navigation.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\n\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\nconst store = useStore()\nconst router = useRouter()\nconst route = useRoute()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array,\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emits('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\n// Process route functions with auth data and route\nconst processRoute = (routeFn) => {\n if (typeof routeFn === 'function') {\n return routeFn(auth.state, route)\n }\n return routeFn\n}\n\n</script>\n\n<template>\n <nav\n class=\"ease-quint-out\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible o-x-visible' : 'gap-medium flex flex-column',\n ]\"\n >\n <div \n v-for=\"section in props.navigationItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state, route) : true)\"\n :key=\"section.category\" \n class=\"ease-quint-out\"\n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? '' : '',\n ]\"\n >\n <div\n v-if=\"section.category && stateSidebar && !horizontal\"\n class=\"uppercase fw-medium t-transp p-small\"\n :class=\"{\n 't-black': theme === 'light',\n 't-white': theme === 'dark'\n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-micro',\n ]\"\n >\n <li\n v-for=\"item in section.items\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state, route) : true)\"\n class=\"w-100 pos-relative\"\n :key=\"item.title\"\n\n >\n <Dropdown\n v-if=\"item.subItems && horizontal\"\n class=\"w-100\"\n align=\"left\"\n trigger=\"hover\"\n >\n <template #label>\n <button\n class=\"ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center pd-thin\"\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n :class=\"[\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span class=\"fw-medium\">{{ item.title }}</span>\n <!-- <IconChevronBottom :fill=\"theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small mn-l-thin\"/> -->\n </button>\n </template>\n <ul class=\"dropdown-submenu\">\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a\n @click=\"subItem.route ? router.push(processRoute(subItem.route)) : null\"\n href=\"#\"\n class=\"group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium t-black-transp-25 group-hover:t-main\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n <button\n v-else\n class=\"group ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center\"\n @click=\"item.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(item.route) ? router.push(processRoute(item.route)) : null) : null\"\n :class=\"[\n horizontal ? 'pd-thin' : '',\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <div v-if=\"!horizontal\" class=\"w-100 flex-child-default w-max-big flex flex-center aspect-1x1\">\n <component\n v-if=\"item.iconComponent\"\n :is=\"item.iconComponent\"\n class=\"i-medium flex-child-default ease-quint-out t-black-transp-25 group-hover:t-main\"\n />\n <span\n v-if=\"!item.iconComponent \"\n class=\"p-regular\"\n >\n {{ item.icon }}\n </span>\n </div>\n\n <span\n class=\"ease-quint-out w-100 t-left fw-medium\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n\n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto mn-r-small sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180deg': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\"\n >\n <IconChevronBottom :class=\"{ 'rotate-180deg mn-t-micro-negative': isOpen }\" :fill=\" theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small\"/>\n </span>\n </button>\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"mn-l-small mn-t-thin\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n\n <a\n @click=\"subItem.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(subItem.route) ? router.push(processRoute(subItem.route)) : null) : null\"\n href=\"#\"\n class=\"group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium t-black-transp-25 group-hover:t-main\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n\n.rotate-180deg {\n transform: rotate(180deg);\n}\n\n.hidden {\n/* opacity: 0;*/\n width: 0;\n display: none;\n}\n\n.visible {\n/* opacity: 1;*/\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* Horizontal dropdown submenu */\n.dropdown-submenu {\n list-style: none;\n padding: 0.5rem;\n margin: 0;\n min-width: 12rem;\n}\n\n.dropdown-submenu li {\n width: 100%;\n}\n\n.dropdown-submenu a {\n display: flex;\n text-decoration: none;\n white-space: nowrap;\n}\n\n/* Transition for horizontal dropdown */\n:deep(.TransitionTranslateY-enter-active),\n:deep(.TransitionTranslateY-leave-active) {\n transition: translateY 0.2s ease;\n transition: opacity 0.2s ease;\n}\n\n:deep(.TransitionTranslateY-enter-from),\n:deep(.TransitionTranslateY-leave-to) {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n:deep(.TransitionTranslateY-enter-to),\n:deep(.TransitionTranslateY-leave-from) {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASc,aAAQ;AACtB,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAKtB,UAAM,QAAQ;AAgBd,UAAM,QAAQ;AAId,UAAM,mBAAmB,IAAI,CAAA,CAAE;AAE/B,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,gBAAM,cAAc;AACpB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACnC,GAAG,EAAE;AAAA,QACP;AACA;AAAA,MACF;AAEA,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACnC,OAAO;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MACxC;AAAA,IACF;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAGA,UAAM,eAAe,CAAC,YAAY;AAChC,UAAI,OAAO,YAAY,YAAY;AACjC,eAAO,QAAQA,OAAY,KAAK;AAAA,MAClC;AACA,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ import { useRouter, useRoute } from "vue-router";
3
3
  import { useI18n } from "vue-i18n";
4
4
  import _sfc_main$2 from "../../../../icons/entities/IconShopcart.vue.js";
5
5
  import _sfc_main$3 from "../../../../icons/entities/IconProfile.vue.js";
6
- import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
6
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
7
7
  import { useStore } from "../../store/core.store.js";
8
8
  import { getters, actions } from "../../../../orders/store/shopcart.js";
9
9
  import { state } from "../../../../auth/views/store/auth.js";