@ozdao/martyrs 0.2.511 → 0.2.512

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 (307) hide show
  1. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +3 -3
  2. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  3. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +3 -3
  4. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  5. package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
  6. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
  7. package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
  8. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
  9. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  10. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  13. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +1 -1
  14. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  15. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  16. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  17. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  18. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  19. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
  20. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
  21. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
  23. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  24. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  25. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  26. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  27. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  28. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  29. package/dist/martyrs/src/components/Select/{Select.vue.cjs → Select.vue2.cjs} +2 -2
  30. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +1 -0
  31. package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
  32. package/dist/martyrs/src/components/Select/{Select.vue.cjs.map → Select.vue2.js.map} +1 -1
  33. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  34. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  40. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  41. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  53. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  55. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  57. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  59. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
  60. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
  61. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  63. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  65. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  67. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  70. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  71. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  73. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
  74. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
  75. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  77. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  79. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  80. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  81. package/dist/martyrs/src/modules/globals/globals.client.cjs +4 -1
  82. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  83. package/dist/martyrs/src/modules/globals/globals.client.js +23 -20
  84. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  85. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  86. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  87. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  89. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
  90. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
  91. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  92. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  94. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  96. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  97. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  99. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  100. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  101. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +308 -0
  102. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -0
  103. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +308 -0
  104. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -0
  105. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  107. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  109. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +3 -3
  110. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -2
  111. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  112. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  113. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  117. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  119. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  121. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  123. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  124. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  125. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +3 -3
  126. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
  127. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  129. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  131. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  132. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  133. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +3 -3
  134. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
  135. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +2 -2
  136. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
  137. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  139. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +3 -3
  140. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
  141. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +2 -2
  142. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
  143. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +3 -3
  144. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
  145. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  147. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  149. package/dist/martyrs/src/modules/music/router/music.cjs +2 -2
  150. package/dist/martyrs/src/modules/music/router/music.js +2 -2
  151. package/dist/martyrs/src/modules/notifications/notifications.client.cjs +101 -32
  152. package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/notifications/notifications.client.js +101 -32
  154. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  155. package/dist/martyrs/src/modules/notifications/store/notifications.store.cjs +45 -12
  156. package/dist/martyrs/src/modules/notifications/store/notifications.store.cjs.map +1 -1
  157. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +38 -5
  158. package/dist/martyrs/src/modules/notifications/store/notifications.store.js.map +1 -1
  159. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  160. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  161. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
  162. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  163. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +2 -2
  164. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  165. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  166. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  167. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  169. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  171. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  173. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  174. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  175. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  176. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  177. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  179. package/dist/martyrs/src/modules/orders/store/shopcart.cjs +33 -23
  180. package/dist/martyrs/src/modules/orders/store/shopcart.cjs.map +1 -1
  181. package/dist/martyrs/src/modules/orders/store/shopcart.js +31 -21
  182. package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
  183. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  184. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  185. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  186. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  187. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
  188. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +3 -3
  189. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  190. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  191. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +3 -3
  192. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +3 -3
  193. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  195. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  196. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  197. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  198. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  199. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  200. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  201. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  202. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  203. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  204. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  205. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  206. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  207. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  208. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  209. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  210. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  211. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  212. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  213. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  215. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  217. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
  218. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
  219. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  220. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  221. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  222. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  223. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  224. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  225. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  227. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  228. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  229. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  230. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  231. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  232. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  233. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  235. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  237. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -2
  238. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  239. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  240. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  241. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  242. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  243. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  244. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  245. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  246. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  247. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  248. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  249. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  250. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  251. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  252. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  253. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  254. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  255. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
  256. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
  257. package/dist/martyrs.css +1 -1
  258. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs +8 -0
  259. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs.map +1 -0
  260. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.js +8 -0
  261. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.js.map +1 -0
  262. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs +13 -0
  263. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs.map +1 -0
  264. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.js +13 -0
  265. package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.js.map +1 -0
  266. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.cjs +43 -0
  267. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.cjs.map +1 -0
  268. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js +43 -0
  269. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map +1 -0
  270. package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs +43 -0
  271. package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs.map +1 -0
  272. package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js +43 -0
  273. package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js.map +1 -0
  274. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.cjs +1630 -0
  275. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.cjs.map +1 -0
  276. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js +1630 -0
  277. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +1 -0
  278. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  279. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  280. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  281. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  282. package/dist/notifications.server.cjs +205 -11
  283. package/dist/notifications.server.js +205 -11
  284. package/dist/style.css +198 -189
  285. package/package.json +1 -1
  286. package/src/components/Button/Button.vue +2 -2
  287. package/src/modules/globals/globals.client.js +4 -0
  288. package/src/modules/globals/views/components/layouts/Client.vue +1 -0
  289. package/src/modules/globals/views/components/sections/Walkthrough.vue +245 -57
  290. package/src/modules/notifications/FIXES.md +1 -0
  291. package/src/modules/notifications/controllers/notifications.controller.js +147 -7
  292. package/src/modules/notifications/models/user-device.model.js +10 -2
  293. package/src/modules/notifications/notifications.client.js +127 -41
  294. package/src/modules/notifications/routes/notifications.routes.js +4 -0
  295. package/src/modules/notifications/services/notification.service.js +93 -0
  296. package/src/modules/notifications/store/notifications.store.js +47 -7
  297. package/src/modules/orders/store/shopcart.js +34 -23
  298. package/src/modules/products/migrations/categories-to-materialized-path.js +0 -3
  299. package/src/styles/base/backgrounds.scss +1 -0
  300. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  301. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
  302. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
  303. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  304. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  305. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  306. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  307. package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const vue = require("vue");
4
+ const vueRouter = require("vue-router");
5
+ const emblaCarouselVue_esm = require("../../../../../../../node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs");
6
+ const IconBell = require("../../../../icons/entities/IconBell.vue.cjs");
7
+ const IconAddress = ;/* empty css */
8
+ const index = require("../../../../../../../node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs");
9
+ ;/* empty css */
10
+ ;/* empty css */
11
+ require("../../../../auth/views/store/auth.cjs");
12
+ ;/* empty css */
13
+ ;/* empty css */
14
+ require("../../../../notifications/store/notifications.store.cjs");
15
+ const index$1 = require("../../../../../../node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.cjs");
16
+ ;/* empty css */
17
+ ;/* empty css */
18
+ ;/* empty css */
19
+ const _hoisted_1 = { class: "embla__container w-100 z-index-1" };
20
+ const _hoisted_2 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
21
+ const _hoisted_3 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
22
+ const _hoisted_4 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
23
+ const _hoisted_5 = { class: "mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center" };
24
+ const _hoisted_6 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
25
+ const _hoisted_7 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
26
+ const _hoisted_8 = { class: "mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center" };
27
+ const _hoisted_9 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
28
+ const _hoisted_10 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
29
+ const _hoisted_11 = { class: "mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center" };
30
+ const _hoisted_12 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
31
+ const _hoisted_13 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
32
+ const _hoisted_14 = { class: "embla__dots z-index-5 h-4r pos-absolute pos-t-1r flex-nowrap flex flex-center gap-thin w-100" };
33
+ const _hoisted_15 = ["onClick"];
34
+ const TWEEN_FACTOR = 3;
35
+ const _sfc_main = {
36
+ __name: "Walkthrough",
37
+ props: ["slides", "options"],
38
+ emits: ["updateFirstUse"],
39
+ setup(__props, { emit: __emit }) {
40
+ const emits = __emit;
41
+ const router = vueRouter.useRouter();
42
+ const permissions = vue.reactive({
43
+ notifications: false,
44
+ location: false,
45
+ tracking: false
46
+ });
47
+ async function setFirstUseFalse() {
48
+ await index$1.Preferences.set({
49
+ key: "first-use",
50
+ value: JSON.stringify(false)
51
+ });
52
+ emits("updateFirstUse", false);
53
+ }
54
+ async function openFirstRoute(routeName) {
55
+ await router.push({ name: routeName });
56
+ await index$1.Preferences.set({
57
+ key: "first-use",
58
+ value: JSON.stringify(false)
59
+ });
60
+ emits("updateFirstUse", false);
61
+ }
62
+ const [emblaNode, emblaApi] = emblaCarouselVue_esm.default({ loop: false });
63
+ const selectedIndex = vue.ref(0);
64
+ const scrollSnaps = vue.ref([]);
65
+ const tweenValues = vue.ref([]);
66
+ const tweenSlides = vue.ref([]);
67
+ const scrollTo = (index2) => emblaApi.value && emblaApi.value.scrollTo(index2);
68
+ const nextSlide = () => {
69
+ if (emblaApi.value) {
70
+ emblaApi.value.scrollNext();
71
+ }
72
+ };
73
+ const onInit = (embla) => {
74
+ scrollSnaps.value = emblaApi.value.scrollSnapList();
75
+ };
76
+ const onSelect = (embla) => {
77
+ selectedIndex.value = emblaApi.value.selectedScrollSnap();
78
+ };
79
+ const onScroll = (embla) => {
80
+ const engine = emblaApi.value.internalEngine();
81
+ const scrollProgress = emblaApi.value.scrollProgress();
82
+ const stylesOpacity = emblaApi.value.scrollSnapList().map((scrollSnap, index2) => {
83
+ let diffToTarget = scrollSnap - scrollProgress;
84
+ if (engine.options.loop) {
85
+ engine.slideLooper.loopPoints.forEach((loopItem) => {
86
+ const target = loopItem.target();
87
+ if (index2 === loopItem.index && target !== 0) {
88
+ const sign = Math.sign(target);
89
+ if (sign === -1) diffToTarget = scrollSnap - (1 + scrollProgress);
90
+ if (sign === 1) diffToTarget = scrollSnap + (1 - scrollProgress);
91
+ }
92
+ });
93
+ }
94
+ const tweenValue = 1 - Math.abs(diffToTarget * TWEEN_FACTOR);
95
+ return Math.min(Math.max(tweenValue, 0), 1);
96
+ });
97
+ tweenSlides.value = stylesOpacity;
98
+ const styles = emblaApi.value.scrollSnapList().map((scrollSnap, index2) => {
99
+ let diffToTarget = scrollSnap - scrollProgress;
100
+ if (engine.options.loop) {
101
+ engine.slideLooper.loopPoints.forEach((loopItem) => {
102
+ const target = loopItem.target();
103
+ if (index2 === loopItem.index && target !== 0) {
104
+ const sign = Math.sign(target);
105
+ if (sign === -1) diffToTarget = scrollSnap - (1 + scrollProgress);
106
+ if (sign === 1) diffToTarget = scrollSnap + (1 - scrollProgress);
107
+ }
108
+ });
109
+ }
110
+ return diffToTarget * (1 / TWEEN_FACTOR) * 100;
111
+ });
112
+ tweenValues.value = styles;
113
+ };
114
+ vue.onMounted(async () => {
115
+ onInit();
116
+ onSelect();
117
+ onScroll();
118
+ emblaApi.value.on("reInit", onInit);
119
+ emblaApi.value.on("reInit", onSelect);
120
+ emblaApi.value.on("select", onSelect);
121
+ emblaApi.value.on("scroll", onScroll);
122
+ });
123
+ const requestNotificationPermission = async () => {
124
+ try {
125
+ const notificationManager = window.$store?.notificationManager;
126
+ if (notificationManager) {
127
+ await notificationManager.pushHandler.requestPermissions();
128
+ await notificationManager.registerWebPush(window.$store);
129
+ permissions.notifications = true;
130
+ }
131
+ setTimeout(() => {
132
+ nextSlide();
133
+ }, 1e3);
134
+ } catch (error) {
135
+ console.error("Notification permission error:", error);
136
+ nextSlide();
137
+ }
138
+ };
139
+ const requestLocationPermission = async () => {
140
+ try {
141
+ if (!("geolocation" in navigator)) {
142
+ nextSlide();
143
+ return;
144
+ }
145
+ navigator.geolocation.getCurrentPosition(
146
+ () => {
147
+ permissions.location = true;
148
+ setTimeout(() => {
149
+ nextSlide();
150
+ }, 1e3);
151
+ },
152
+ () => {
153
+ setTimeout(() => {
154
+ nextSlide();
155
+ }, 1e3);
156
+ },
157
+ { timeout: 8e3 }
158
+ );
159
+ } catch (error) {
160
+ console.error("Location permission error:", error);
161
+ nextSlide();
162
+ }
163
+ };
164
+ const requestTrackingPermission = async () => {
165
+ try {
166
+ const { status } = await index.AppTrackingTransparency.requestPermission();
167
+ if (status === "authorized") {
168
+ permissions.tracking = true;
169
+ }
170
+ setTimeout(() => {
171
+ nextSlide();
172
+ }, 1e3);
173
+ } catch (error) {
174
+ console.error("Tracking permission error:", error);
175
+ nextSlide();
176
+ }
177
+ };
178
+ return (_ctx, _cache) => {
179
+ return vue.openBlock(), vue.createElementBlock("div", {
180
+ class: "pos-fixed pos-t-0 pos-l-0 w-100 h-100vh z-index-6 bg-white flex embla",
181
+ ref_key: "emblaNode",
182
+ ref: emblaNode
183
+ }, [
184
+ vue.createElementVNode("div", _hoisted_1, [
185
+ vue.createElementVNode("div", _hoisted_2, [
186
+ vue.createElementVNode("div", {
187
+ class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1",
188
+ style: vue.normalizeStyle({ opacity: tweenSlides.value.length ? tweenSlides.value[0] : void 0, transform: tweenSlides.value[0] ? `scale(${tweenSlides.value[0]})` : "" })
189
+ }, [
190
+ _cache[4] || (_cache[4] = vue.createElementVNode("img", {
191
+ src: "/logo/logo_square.svg",
192
+ class: "i-extra radius-medium mn-b-small"
193
+ }, null, -1)),
194
+ _cache[5] || (_cache[5] = vue.createElementVNode("h3", { class: "h3 mn-b-medium" }, "Welcome to 3SR", -1)),
195
+ _cache[6] || (_cache[6] = vue.createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Access premium cameras, lenses, lighting, and audio gear through our app designed for filmmakers and content creators. ", -1)),
196
+ vue.createElementVNode("button", {
197
+ onClick: nextSlide,
198
+ class: "bg-main p-big w-max button"
199
+ }, " Get Started ")
200
+ ], 4)
201
+ ]),
202
+ vue.createElementVNode("div", _hoisted_3, [
203
+ vue.createElementVNode("div", _hoisted_4, [
204
+ vue.createElementVNode("div", _hoisted_5, [
205
+ vue.createVNode(IconBell.default)
206
+ ]),
207
+ _cache[7] || (_cache[7] = vue.createElementVNode("h3", { class: "h3 mn-b-medium" }, "Stay in the Loop", -1)),
208
+ _cache[8] || (_cache[8] = vue.createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Get instant notifications about equipment availability, booking confirmations, and exclusive deals from our rental platform. ", -1)),
209
+ vue.createElementVNode("div", { class: "flex flex-column flex-center gap-small" }, [
210
+ vue.createElementVNode("button", {
211
+ onClick: requestNotificationPermission,
212
+ class: "bg-main p-big w-max button"
213
+ }, " Enable Notifications "),
214
+ vue.createElementVNode("button", {
215
+ onClick: nextSlide,
216
+ class: "bg-light p-big w-max button"
217
+ }, " Maybe Later ")
218
+ ])
219
+ ])
220
+ ]),
221
+ vue.createElementVNode("div", _hoisted_6, [
222
+ vue.createElementVNode("div", _hoisted_7, [
223
+ vue.createElementVNode("div", _hoisted_8, [
224
+ vue.createVNode(IconAddress.default)
225
+ ]),
226
+ _cache[9] || (_cache[9] = vue.createElementVNode("h3", { class: "h3 mn-b-medium" }, "Find Nearby Equipment", -1)),
227
+ _cache[10] || (_cache[10] = vue.createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Discover rental locations and equipment availability near you. We'll show you the closest pickup points and delivery options. ", -1)),
228
+ vue.createElementVNode("div", { class: "flex flex-column flex-center gap-small" }, [
229
+ vue.createElementVNode("button", {
230
+ onClick: requestLocationPermission,
231
+ class: "bg-main p-big w-max button"
232
+ }, " Enable Location "),
233
+ vue.createElementVNode("button", {
234
+ onClick: nextSlide,
235
+ class: "bg-light p-big w-max button"
236
+ }, " Skip for Now ")
237
+ ])
238
+ ])
239
+ ]),
240
+ vue.createElementVNode("div", _hoisted_9, [
241
+ vue.createElementVNode("div", _hoisted_10, [
242
+ vue.createElementVNode("div", _hoisted_11, [
243
+ vue.createVNode(IconAddress.default)
244
+ ]),
245
+ _cache[11] || (_cache[11] = vue.createElementVNode("h3", { class: "h3 mn-b-medium" }, "Personalized Experience", -1)),
246
+ _cache[12] || (_cache[12] = vue.createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Allow us to provide you with personalized recommendations and improve your app experience based on your preferences. ", -1)),
247
+ vue.createElementVNode("div", { class: "flex flex-column flex-center gap-small" }, [
248
+ vue.createElementVNode("button", {
249
+ onClick: requestTrackingPermission,
250
+ class: "bg-main p-big w-max button"
251
+ }, " Allow Tracking "),
252
+ vue.createElementVNode("button", {
253
+ onClick: nextSlide,
254
+ class: "bg-light p-big w-max button"
255
+ }, " Ask App Not to Track ")
256
+ ])
257
+ ])
258
+ ]),
259
+ vue.createElementVNode("div", _hoisted_12, [
260
+ vue.createElementVNode("div", _hoisted_13, [
261
+ _cache[13] || (_cache[13] = vue.createElementVNode("img", {
262
+ loading: "lazy",
263
+ src: "/logo/logo_square.svg",
264
+ class: "i-extra radius-medium mn-b-small"
265
+ }, null, -1)),
266
+ _cache[14] || (_cache[14] = vue.createElementVNode("h3", { class: "h3 mn-b-medium" }, "Ready to Rent?", -1)),
267
+ _cache[15] || (_cache[15] = vue.createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, "Join thousands of creators who trust 3SR for their professional video equipment needs. Choose how you'd like to get started.", -1)),
268
+ vue.createElementVNode("button", {
269
+ onClick: _cache[0] || (_cache[0] = ($event) => openFirstRoute("Sign Up")),
270
+ class: "bg-main p-big w-100 button mn-b-thin"
271
+ }, "Create Account"),
272
+ vue.createElementVNode("button", {
273
+ onClick: _cache[1] || (_cache[1] = ($event) => openFirstRoute("Sign In")),
274
+ class: "bg-light t-black p-big w-100 button mn-b-semi"
275
+ }, "Sign In"),
276
+ _cache[16] || (_cache[16] = vue.createElementVNode("p", { class: "p-small mn-b-medium t-transp" }, "Or explore as a guest:", -1)),
277
+ vue.createElementVNode("button", {
278
+ onClick: _cache[2] || (_cache[2] = ($event) => setFirstUseFalse()),
279
+ class: "bg-light p-big w-max button"
280
+ }, "Continue as Guest")
281
+ ])
282
+ ])
283
+ ]),
284
+ vue.createElementVNode("div", _hoisted_14, [
285
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(scrollSnaps.value, (snap, index2) => {
286
+ return vue.openBlock(), vue.createElementBlock("button", {
287
+ key: index2,
288
+ onClick: ($event) => scrollTo(index2),
289
+ class: vue.normalizeClass([
290
+ "embla__dot bg- i-small radius-extra",
291
+ { "bg-light": index2 !== selectedIndex.value },
292
+ { "bg-main": index2 === selectedIndex.value }
293
+ ])
294
+ }, null, 10, _hoisted_15);
295
+ }), 128)),
296
+ vue.createElementVNode("button", {
297
+ onClick: _cache[3] || (_cache[3] = ($event) => setFirstUseFalse()),
298
+ class: "pd-small bg-white t-black w-6r pos-b-0r flex-nowrap flex flex-center pos-r-1r pos-relative radius-small uppercase pos-absolute"
299
+ }, _cache[17] || (_cache[17] = [
300
+ vue.createElementVNode("span", null, "Skip", -1)
301
+ ]))
302
+ ])
303
+ ], 512);
304
+ };
305
+ }
306
+ };
307
+ exports.default = _sfc_main;
308
+ //# sourceMappingURL=Walkthrough.vue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Walkthrough.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/sections/Walkthrough.vue"],"sourcesContent":["<template>\n\t<div class=\"pos-fixed pos-t-0 pos-l-0 w-100 h-100vh z-index-6 bg-white flex embla\" ref=\"emblaNode\">\n \n\n <div class=\"embla__container w-100 z-index-1\">\n\t \n\n\t\t <!-- SLIDE 1 -->\n\t\t <!-- ------------------------------- -->\n \t<div class=\"pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide\">\n\t \t\t<!-- <div class=\"pos-absolute w-100 h-100 z-index-0 pos-t-0 pos-r-0\">\n\t \t\t\t<div class=\"pos-absolute z-index-1 pos-t-0 pos-r-0 w-100 h-100 bg-black-grad\"></div>\n\t \t\t\t<img class=\"pos-absolute z-index-0 pos-t-0 pos-r-0 object-fit-cover h-100 w-100\" src=\"/assets/walkthrough/1.png\">\n\t \t\t</div> -->\n \t\t<div \n \t\t\tclass=\"flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1\"\n \t\t\t :style=\"{ opacity: tweenSlides.length ? tweenSlides[0] : undefined, transform: tweenSlides[0] ? `scale(${tweenSlides[0]})` : '' }\"\n \t\t>\n \t\t\t<img \n\t \t\t:src=\"'/logo/logo_square.svg'\" \n\t \t\tclass=\"i-extra radius-medium mn-b-small\"\n\t \t>\n\n\t <h3 class=\"h3 mn-b-medium\">Welcome to 3SR</h3>\n\t \n\t <p class=\"p-regular t-transp mn-b-big\">\n\t Access premium cameras, lenses, lighting, and audio gear through our app designed for filmmakers and content creators.\n\t </p>\n\n\n\t <button @click=\"nextSlide\" class=\"bg-main p-big w-max button\">\n\t Get Started\n\t </button>\n\t </div>\n \t</div>\n\n \t<!-- SLIDE 2 -->\n\t\t <!-- ------------------------------- -->\n \t<div class=\"pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide\">\n\t\t\t\t<div class=\"flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1\">\n \n <div class=\"mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center\">\n <IconBell/>\n </div>\n\n\t <h3 class=\"h3 mn-b-medium\">Stay in the Loop</h3>\n\t <p class=\"p-regular t-transp mn-b-big\">\n\t Get instant notifications about equipment availability, booking confirmations, and exclusive deals from our rental platform.\n\t </p>\n\n\t <div class=\"flex flex-column flex-center gap-small\">\n\t <button @click=\"requestNotificationPermission\" class=\"bg-main p-big w-max button\">\n\t\t\t\t\t\t \t Enable Notifications\n\t\t\t\t\t\t </button>\n\t <button @click=\"nextSlide\" class=\"bg-light p-big w-max button\">\n\t Maybe Later\n\t </button>\n\t </div>\n\t </div>\n\t\t\t</div>\n\n\t\t\t<!-- SLIDE 3 -->\n\t\t <!-- ------------------------------- -->\n\t\t\t<div class=\"pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide\">\n <div class=\"flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1\">\n \n <div class=\"mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center\">\n <IconAddress/>\n </div>\n\n <h3 class=\"h3 mn-b-medium\">Find Nearby Equipment</h3>\n <p class=\"p-regular t-transp mn-b-big\">\n Discover rental locations and equipment availability near you. We'll show you the closest pickup points and delivery options.\n </p>\n\n <div class=\"flex flex-column flex-center gap-small\">\n <button @click=\"requestLocationPermission\" class=\"bg-main p-big w-max button\">\n Enable Location\n </button>\n <button @click=\"nextSlide\" class=\"bg-light p-big w-max button\">\n Skip for Now\n </button>\n </div>\n </div>\n </div>\n\n <!-- SLIDE 4 - App Tracking Transparency -->\n\t\t <!-- ------------------------------- -->\n <div class=\"pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide\">\n <div class=\"flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1\">\n <div class=\"mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center\">\n <IconShield/>\n </div>\n\n <h3 class=\"h3 mn-b-medium\">Personalized Experience</h3>\n <p class=\"p-regular t-transp mn-b-big\">\n Allow us to provide you with personalized recommendations and improve your app experience based on your preferences.\n </p>\n\n <div class=\"flex flex-column flex-center gap-small\">\n <button @click=\"requestTrackingPermission\" class=\"bg-main p-big w-max button\">\n Allow Tracking\n </button>\n <button @click=\"nextSlide\" class=\"bg-light p-big w-max button\">\n Ask App Not to Track\n </button>\n </div>\n </div>\n </div>\n\n <!-- SLIDE 5 - Final -->\n\t\t <!-- ------------------------------- -->\n <div class=\"pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide\">\n \t<div class=\"flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1\">\n\t \t<img loading=\"lazy\" \n\t \t\t:src=\"'/logo/logo_square.svg'\" \n\t \t\tclass=\"i-extra radius-medium mn-b-small\"\n\t \t>\n\t \t<h3 class=\"h3 mn-b-medium\">Ready to Rent?</h3>\n\t \t<p class=\"p-regular t-transp mn-b-big\">Join thousands of creators who trust 3SR for their professional video equipment needs. Choose how you'd like to get started.</p>\n\t \n\t \t<button @click=\"openFirstRoute('Sign Up')\" class=\"bg-main p-big w-100 button mn-b-thin\">Create Account</button> \n\t \t<button @click=\"openFirstRoute('Sign In')\" class=\"bg-light t-black p-big w-100 button mn-b-semi\">Sign In</button>\n\n\t\t <p class=\"p-small mn-b-medium t-transp\">Or explore as a guest:</p> \n\t \t<button @click=\"setFirstUseFalse()\" class=\"bg-light p-big w-max button\">Continue as Guest</button>\n \t</div>\n\t </div>\n\n </div>\n\n <div class=\"\n\t embla__dots\n \tz-index-5 \n \th-4r \n \tpos-absolute \n \tpos-t-1r \n \tflex-nowrap \n \tflex \n \tflex-center \n \tgap-thin \n \tw-100\"\n >\n\t <button\n\t v-for=\"(snap, index) in scrollSnaps\"\n\t :key=\"index\"\n\t @click=\"scrollTo(index)\"\n\t :class=\"[\n\t 'embla__dot bg- i-small radius-extra',\n\t\t\t\t\t{ 'bg-light': index !== selectedIndex },\n\t { 'bg-main': index === selectedIndex }\n\t ]\"\n\t >\n\t\t </button>\n\n\t\t <button \n\t\t \t@click.native=\"setFirstUseFalse()\" \n\t\t \tclass=\"\n\t\t \t\tpd-small\n\t\t \t\tbg-white\n\t\t \t\tt-black\n\t\t \t\tw-6r \n\t\t \t\tpos-b-0r \n\t\t \t\tflex-nowrap \n\t\t \t\tflex \n\t\t \t\tflex-center \n\t\t \t\tpos-r-1r \n\t\t \t\tpos-relative \n\t\t \t\tradius-small \n\t\t \t\tuppercase \n\t\t \t\tpos-absolute\n\t\t \t\"> \n\t\t \t<span>Skip</span>\n\t\t </button>\n\t </div>\n\t</div>\n\n</template>\n\n<script setup>\n\timport { ref, onMounted, reactive, inject } from 'vue';\n\timport { useRoute, useRouter } from 'vue-router'\n\n\timport emblaCarouselVue from 'embla-carousel-vue'; \n\n\timport IconBell from '@martyrs/src/modules/icons/entities/IconBell.vue';\n\timport IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';\n\timport IconShield from '@martyrs/src/modules/icons/entities/IconAddress.vue';\n\n\timport { AppTrackingTransparency } from 'capacitor-plugin-app-tracking-transparency';\n\n\tconst props = defineProps(['slides', 'options']);\n\tconst emits = defineEmits(['updateFirstUse'])\n\tconst router = useRouter()\n\t\n\t// Get notification manager directly\n\timport ModuleNotifications from '@martyrs/src/modules/notifications/notifications.client.js'\n\n\t// Set firstUse\n\timport { Preferences } from '@capacitor/preferences';\n\n\tconst permissions = reactive({\n\t notifications: false,\n\t location: false,\n\t tracking: false\n\t})\n\n\tasync function setFirstUseFalse() {\n await Preferences.set({\n key: 'first-use',\n value: JSON.stringify(false),\n });\n\n emits('updateFirstUse', false);\n }\n\n async function openFirstRoute(routeName) {\n\t\tawait router.push({name: routeName})\n\n\t\tawait Preferences.set({\n key: 'first-use',\n value: JSON.stringify(false),\n });\n\n\t\temits('updateFirstUse', false);\n\t}\n\n\tconst [emblaNode, emblaApi] = emblaCarouselVue({ loop: false })\n\n\tconst selectedIndex = ref(0);\n\tconst scrollSnaps = ref([]);\n\tconst TWEEN_FACTOR = 3\n\tconst tweenValues = ref([])\n\tconst tweenSlides = ref([])\n\n\tconst scrollTo = (index) => emblaApi.value && emblaApi.value.scrollTo(index);\n\n\tconst nextSlide = () => {\n\t\tif (emblaApi.value) {\n\t\t\temblaApi.value.scrollNext();\n\t\t}\n\t};\n\n\tconst onInit = (embla) => {\n\t scrollSnaps.value = emblaApi.value.scrollSnapList();\n\t};\n\n\tconst onSelect = (embla) => {\n\t selectedIndex.value = emblaApi.value.selectedScrollSnap();\n\t};\n\n\tconst onScroll = (embla) => {\n const engine = emblaApi.value.internalEngine()\n const scrollProgress = emblaApi.value.scrollProgress()\n\n const stylesOpacity = emblaApi.value.scrollSnapList().map((scrollSnap, index) => {\n\t let diffToTarget = scrollSnap - scrollProgress\n\n\t if (engine.options.loop) {\n\t engine.slideLooper.loopPoints.forEach((loopItem) => {\n\t const target = loopItem.target()\n\t if (index === loopItem.index && target !== 0) {\n\t const sign = Math.sign(target)\n\t if (sign === -1) diffToTarget = scrollSnap - (1 + scrollProgress)\n\t if (sign === 1) diffToTarget = scrollSnap + (1 - scrollProgress)\n\t }\n\t })\n\t }\n\t const tweenValue = 1 - Math.abs(diffToTarget * TWEEN_FACTOR)\n\t return Math.min(Math.max(tweenValue, 0), 1)\n\t })\n\n\t\ttweenSlides.value = stylesOpacity\n\n const styles = emblaApi.value.scrollSnapList().map((scrollSnap, index) => {\n let diffToTarget = scrollSnap - scrollProgress\n\n if (engine.options.loop) {\n engine.slideLooper.loopPoints.forEach((loopItem) => {\n const target = loopItem.target()\n if (index === loopItem.index && target !== 0) {\n const sign = Math.sign(target)\n if (sign === -1) diffToTarget = scrollSnap - (1 + scrollProgress)\n if (sign === 1) diffToTarget = scrollSnap + (1 - scrollProgress)\n }\n })\n }\n return diffToTarget * (1 / TWEEN_FACTOR) * 100\n })\n\n tweenValues.value = styles\n }\n\n\n\tonMounted(async() => {\n\t onInit(emblaApi);\n\t onSelect(emblaApi);\n\t onScroll(emblaApi);\n\n\t emblaApi.value.on('reInit', onInit);\n\t emblaApi.value.on('reInit', onSelect);\n\t emblaApi.value.on('select', onSelect);\n\t emblaApi.value.on('scroll', onScroll)\n\t});\n\n\tconst requestNotificationPermission = async () => {\n\t try {\n\t // Use notification manager from global store if available\n\t const notificationManager = window.$store?.notificationManager;\n\t \n\t if (notificationManager) {\n\t await notificationManager.pushHandler.requestPermissions();\n\t await notificationManager.registerWebPush(window.$store);\n\t permissions.notifications = true;\n\t }\n\t \n\t setTimeout(() => {\n\t nextSlide()\n\t }, 1000)\n\t } catch (error) {\n\t console.error('Notification permission error:', error)\n\t nextSlide()\n\t }\n\t}\n\n\tconst requestLocationPermission = async () => {\n\t try {\n\t if (!('geolocation' in navigator)) {\n\t nextSlide()\n\t return\n\t }\n\n\t navigator.geolocation.getCurrentPosition(\n\t () => {\n\t permissions.location = true\n\t setTimeout(() => {\n\t nextSlide()\n\t }, 1000)\n\t },\n\t () => {\n\t setTimeout(() => {\n\t nextSlide()\n\t }, 1000)\n\t },\n\t { timeout: 8000 }\n\t )\n\t } catch (error) {\n\t console.error('Location permission error:', error)\n\t nextSlide()\n\t }\n\t}\n\n\tconst requestTrackingPermission = async () => {\n\t try {\n\t const { status } = await AppTrackingTransparency.requestPermission();\n\t \n\t if (status === 'authorized') {\n\t permissions.tracking = true;\n\t }\n\t \n\t setTimeout(() => {\n\t nextSlide();\n\t }, 1000);\n\t } catch (error) {\n\t console.error('Tracking permission error:', error);\n\t nextSlide();\n\t }\n\t};\n\n</script>\n\n<style lang=\"scss\">\n\t.embla {\n overflow: hidden;\n }\n .embla__container {\n display: flex;\n }\n .embla__slide {\n flex: 0 0 100%;\n min-width: 0;\n }\n</style>\n"],"names":["useRouter","reactive","Preferences","emblaCarouselVue","ref","index","onMounted","AppTrackingTransparency"],"mappings":"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"}
@@ -0,0 +1,308 @@
1
+ import { reactive, ref, onMounted, createElementBlock, openBlock, createElementVNode, normalizeStyle, createVNode, Fragment, renderList, normalizeClass } from "vue";
2
+ import { useRouter } from "vue-router";
3
+ import emblaCarouselVue from "../../../../../../../node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js";
4
+ import _sfc_main$1 from "../../../../icons/entities/IconBell.vue.js";
5
+ import _sfc_main$2 from "../../../../icons/entities/IconAddress.vue.js";
6
+ import { AppTrackingTransparency } from "../../../../../../../node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.js";
7
+ /* empty css */
8
+ /* empty css */
9
+ import "../../../../auth/views/store/auth.js";
10
+ /* empty css */
11
+ /* empty css */
12
+ import "../../../../notifications/store/notifications.store.js";
13
+ import { Preferences } from "../../../../../../node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.js";
14
+ /* empty css */
15
+ /* empty css */
16
+ /* empty css */
17
+ const _hoisted_1 = { class: "embla__container w-100 z-index-1" };
18
+ const _hoisted_2 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
19
+ const _hoisted_3 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
20
+ const _hoisted_4 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
21
+ const _hoisted_5 = { class: "mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center" };
22
+ const _hoisted_6 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
23
+ const _hoisted_7 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
24
+ const _hoisted_8 = { class: "mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center" };
25
+ const _hoisted_9 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
26
+ const _hoisted_10 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
27
+ const _hoisted_11 = { class: "mn-b-small w-4r h-4r mn-auto pd-regular bg-main radius-regular t-white flex flex-center" };
28
+ const _hoisted_12 = { class: "pos-relative flex-justify-center pd-thin t-center flex-column flex embla__slide" };
29
+ const _hoisted_13 = { class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1" };
30
+ const _hoisted_14 = { class: "embla__dots z-index-5 h-4r pos-absolute pos-t-1r flex-nowrap flex flex-center gap-thin w-100" };
31
+ const _hoisted_15 = ["onClick"];
32
+ const TWEEN_FACTOR = 3;
33
+ const _sfc_main = {
34
+ __name: "Walkthrough",
35
+ props: ["slides", "options"],
36
+ emits: ["updateFirstUse"],
37
+ setup(__props, { emit: __emit }) {
38
+ const emits = __emit;
39
+ const router = useRouter();
40
+ const permissions = reactive({
41
+ notifications: false,
42
+ location: false,
43
+ tracking: false
44
+ });
45
+ async function setFirstUseFalse() {
46
+ await Preferences.set({
47
+ key: "first-use",
48
+ value: JSON.stringify(false)
49
+ });
50
+ emits("updateFirstUse", false);
51
+ }
52
+ async function openFirstRoute(routeName) {
53
+ await router.push({ name: routeName });
54
+ await Preferences.set({
55
+ key: "first-use",
56
+ value: JSON.stringify(false)
57
+ });
58
+ emits("updateFirstUse", false);
59
+ }
60
+ const [emblaNode, emblaApi] = emblaCarouselVue({ loop: false });
61
+ const selectedIndex = ref(0);
62
+ const scrollSnaps = ref([]);
63
+ const tweenValues = ref([]);
64
+ const tweenSlides = ref([]);
65
+ const scrollTo = (index) => emblaApi.value && emblaApi.value.scrollTo(index);
66
+ const nextSlide = () => {
67
+ if (emblaApi.value) {
68
+ emblaApi.value.scrollNext();
69
+ }
70
+ };
71
+ const onInit = (embla) => {
72
+ scrollSnaps.value = emblaApi.value.scrollSnapList();
73
+ };
74
+ const onSelect = (embla) => {
75
+ selectedIndex.value = emblaApi.value.selectedScrollSnap();
76
+ };
77
+ const onScroll = (embla) => {
78
+ const engine = emblaApi.value.internalEngine();
79
+ const scrollProgress = emblaApi.value.scrollProgress();
80
+ const stylesOpacity = emblaApi.value.scrollSnapList().map((scrollSnap, index) => {
81
+ let diffToTarget = scrollSnap - scrollProgress;
82
+ if (engine.options.loop) {
83
+ engine.slideLooper.loopPoints.forEach((loopItem) => {
84
+ const target = loopItem.target();
85
+ if (index === loopItem.index && target !== 0) {
86
+ const sign = Math.sign(target);
87
+ if (sign === -1) diffToTarget = scrollSnap - (1 + scrollProgress);
88
+ if (sign === 1) diffToTarget = scrollSnap + (1 - scrollProgress);
89
+ }
90
+ });
91
+ }
92
+ const tweenValue = 1 - Math.abs(diffToTarget * TWEEN_FACTOR);
93
+ return Math.min(Math.max(tweenValue, 0), 1);
94
+ });
95
+ tweenSlides.value = stylesOpacity;
96
+ const styles = emblaApi.value.scrollSnapList().map((scrollSnap, index) => {
97
+ let diffToTarget = scrollSnap - scrollProgress;
98
+ if (engine.options.loop) {
99
+ engine.slideLooper.loopPoints.forEach((loopItem) => {
100
+ const target = loopItem.target();
101
+ if (index === loopItem.index && target !== 0) {
102
+ const sign = Math.sign(target);
103
+ if (sign === -1) diffToTarget = scrollSnap - (1 + scrollProgress);
104
+ if (sign === 1) diffToTarget = scrollSnap + (1 - scrollProgress);
105
+ }
106
+ });
107
+ }
108
+ return diffToTarget * (1 / TWEEN_FACTOR) * 100;
109
+ });
110
+ tweenValues.value = styles;
111
+ };
112
+ onMounted(async () => {
113
+ onInit();
114
+ onSelect();
115
+ onScroll();
116
+ emblaApi.value.on("reInit", onInit);
117
+ emblaApi.value.on("reInit", onSelect);
118
+ emblaApi.value.on("select", onSelect);
119
+ emblaApi.value.on("scroll", onScroll);
120
+ });
121
+ const requestNotificationPermission = async () => {
122
+ try {
123
+ const notificationManager = window.$store?.notificationManager;
124
+ if (notificationManager) {
125
+ await notificationManager.pushHandler.requestPermissions();
126
+ await notificationManager.registerWebPush(window.$store);
127
+ permissions.notifications = true;
128
+ }
129
+ setTimeout(() => {
130
+ nextSlide();
131
+ }, 1e3);
132
+ } catch (error) {
133
+ console.error("Notification permission error:", error);
134
+ nextSlide();
135
+ }
136
+ };
137
+ const requestLocationPermission = async () => {
138
+ try {
139
+ if (!("geolocation" in navigator)) {
140
+ nextSlide();
141
+ return;
142
+ }
143
+ navigator.geolocation.getCurrentPosition(
144
+ () => {
145
+ permissions.location = true;
146
+ setTimeout(() => {
147
+ nextSlide();
148
+ }, 1e3);
149
+ },
150
+ () => {
151
+ setTimeout(() => {
152
+ nextSlide();
153
+ }, 1e3);
154
+ },
155
+ { timeout: 8e3 }
156
+ );
157
+ } catch (error) {
158
+ console.error("Location permission error:", error);
159
+ nextSlide();
160
+ }
161
+ };
162
+ const requestTrackingPermission = async () => {
163
+ try {
164
+ const { status } = await AppTrackingTransparency.requestPermission();
165
+ if (status === "authorized") {
166
+ permissions.tracking = true;
167
+ }
168
+ setTimeout(() => {
169
+ nextSlide();
170
+ }, 1e3);
171
+ } catch (error) {
172
+ console.error("Tracking permission error:", error);
173
+ nextSlide();
174
+ }
175
+ };
176
+ return (_ctx, _cache) => {
177
+ return openBlock(), createElementBlock("div", {
178
+ class: "pos-fixed pos-t-0 pos-l-0 w-100 h-100vh z-index-6 bg-white flex embla",
179
+ ref_key: "emblaNode",
180
+ ref: emblaNode
181
+ }, [
182
+ createElementVNode("div", _hoisted_1, [
183
+ createElementVNode("div", _hoisted_2, [
184
+ createElementVNode("div", {
185
+ class: "flex flex-column flex-center pd-semi o-hidden pos-relative pos-b-0 z-index-1",
186
+ style: normalizeStyle({ opacity: tweenSlides.value.length ? tweenSlides.value[0] : void 0, transform: tweenSlides.value[0] ? `scale(${tweenSlides.value[0]})` : "" })
187
+ }, [
188
+ _cache[4] || (_cache[4] = createElementVNode("img", {
189
+ src: "/logo/logo_square.svg",
190
+ class: "i-extra radius-medium mn-b-small"
191
+ }, null, -1)),
192
+ _cache[5] || (_cache[5] = createElementVNode("h3", { class: "h3 mn-b-medium" }, "Welcome to 3SR", -1)),
193
+ _cache[6] || (_cache[6] = createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Access premium cameras, lenses, lighting, and audio gear through our app designed for filmmakers and content creators. ", -1)),
194
+ createElementVNode("button", {
195
+ onClick: nextSlide,
196
+ class: "bg-main p-big w-max button"
197
+ }, " Get Started ")
198
+ ], 4)
199
+ ]),
200
+ createElementVNode("div", _hoisted_3, [
201
+ createElementVNode("div", _hoisted_4, [
202
+ createElementVNode("div", _hoisted_5, [
203
+ createVNode(_sfc_main$1)
204
+ ]),
205
+ _cache[7] || (_cache[7] = createElementVNode("h3", { class: "h3 mn-b-medium" }, "Stay in the Loop", -1)),
206
+ _cache[8] || (_cache[8] = createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Get instant notifications about equipment availability, booking confirmations, and exclusive deals from our rental platform. ", -1)),
207
+ createElementVNode("div", { class: "flex flex-column flex-center gap-small" }, [
208
+ createElementVNode("button", {
209
+ onClick: requestNotificationPermission,
210
+ class: "bg-main p-big w-max button"
211
+ }, " Enable Notifications "),
212
+ createElementVNode("button", {
213
+ onClick: nextSlide,
214
+ class: "bg-light p-big w-max button"
215
+ }, " Maybe Later ")
216
+ ])
217
+ ])
218
+ ]),
219
+ createElementVNode("div", _hoisted_6, [
220
+ createElementVNode("div", _hoisted_7, [
221
+ createElementVNode("div", _hoisted_8, [
222
+ createVNode(_sfc_main$2)
223
+ ]),
224
+ _cache[9] || (_cache[9] = createElementVNode("h3", { class: "h3 mn-b-medium" }, "Find Nearby Equipment", -1)),
225
+ _cache[10] || (_cache[10] = createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Discover rental locations and equipment availability near you. We'll show you the closest pickup points and delivery options. ", -1)),
226
+ createElementVNode("div", { class: "flex flex-column flex-center gap-small" }, [
227
+ createElementVNode("button", {
228
+ onClick: requestLocationPermission,
229
+ class: "bg-main p-big w-max button"
230
+ }, " Enable Location "),
231
+ createElementVNode("button", {
232
+ onClick: nextSlide,
233
+ class: "bg-light p-big w-max button"
234
+ }, " Skip for Now ")
235
+ ])
236
+ ])
237
+ ]),
238
+ createElementVNode("div", _hoisted_9, [
239
+ createElementVNode("div", _hoisted_10, [
240
+ createElementVNode("div", _hoisted_11, [
241
+ createVNode(_sfc_main$2)
242
+ ]),
243
+ _cache[11] || (_cache[11] = createElementVNode("h3", { class: "h3 mn-b-medium" }, "Personalized Experience", -1)),
244
+ _cache[12] || (_cache[12] = createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, " Allow us to provide you with personalized recommendations and improve your app experience based on your preferences. ", -1)),
245
+ createElementVNode("div", { class: "flex flex-column flex-center gap-small" }, [
246
+ createElementVNode("button", {
247
+ onClick: requestTrackingPermission,
248
+ class: "bg-main p-big w-max button"
249
+ }, " Allow Tracking "),
250
+ createElementVNode("button", {
251
+ onClick: nextSlide,
252
+ class: "bg-light p-big w-max button"
253
+ }, " Ask App Not to Track ")
254
+ ])
255
+ ])
256
+ ]),
257
+ createElementVNode("div", _hoisted_12, [
258
+ createElementVNode("div", _hoisted_13, [
259
+ _cache[13] || (_cache[13] = createElementVNode("img", {
260
+ loading: "lazy",
261
+ src: "/logo/logo_square.svg",
262
+ class: "i-extra radius-medium mn-b-small"
263
+ }, null, -1)),
264
+ _cache[14] || (_cache[14] = createElementVNode("h3", { class: "h3 mn-b-medium" }, "Ready to Rent?", -1)),
265
+ _cache[15] || (_cache[15] = createElementVNode("p", { class: "p-regular t-transp mn-b-big" }, "Join thousands of creators who trust 3SR for their professional video equipment needs. Choose how you'd like to get started.", -1)),
266
+ createElementVNode("button", {
267
+ onClick: _cache[0] || (_cache[0] = ($event) => openFirstRoute("Sign Up")),
268
+ class: "bg-main p-big w-100 button mn-b-thin"
269
+ }, "Create Account"),
270
+ createElementVNode("button", {
271
+ onClick: _cache[1] || (_cache[1] = ($event) => openFirstRoute("Sign In")),
272
+ class: "bg-light t-black p-big w-100 button mn-b-semi"
273
+ }, "Sign In"),
274
+ _cache[16] || (_cache[16] = createElementVNode("p", { class: "p-small mn-b-medium t-transp" }, "Or explore as a guest:", -1)),
275
+ createElementVNode("button", {
276
+ onClick: _cache[2] || (_cache[2] = ($event) => setFirstUseFalse()),
277
+ class: "bg-light p-big w-max button"
278
+ }, "Continue as Guest")
279
+ ])
280
+ ])
281
+ ]),
282
+ createElementVNode("div", _hoisted_14, [
283
+ (openBlock(true), createElementBlock(Fragment, null, renderList(scrollSnaps.value, (snap, index) => {
284
+ return openBlock(), createElementBlock("button", {
285
+ key: index,
286
+ onClick: ($event) => scrollTo(index),
287
+ class: normalizeClass([
288
+ "embla__dot bg- i-small radius-extra",
289
+ { "bg-light": index !== selectedIndex.value },
290
+ { "bg-main": index === selectedIndex.value }
291
+ ])
292
+ }, null, 10, _hoisted_15);
293
+ }), 128)),
294
+ createElementVNode("button", {
295
+ onClick: _cache[3] || (_cache[3] = ($event) => setFirstUseFalse()),
296
+ class: "pd-small bg-white t-black w-6r pos-b-0r flex-nowrap flex flex-center pos-r-1r pos-relative radius-small uppercase pos-absolute"
297
+ }, _cache[17] || (_cache[17] = [
298
+ createElementVNode("span", null, "Skip", -1)
299
+ ]))
300
+ ])
301
+ ], 512);
302
+ };
303
+ }
304
+ };
305
+ export {
306
+ _sfc_main as default
307
+ };
308
+ //# sourceMappingURL=Walkthrough.vue.js.map