@ozdao/martyrs 0.2.508 → 0.2.509

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 (230) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/{main-AWSb_d2P.cjs → main-D89N_jml.cjs} +1 -1
  6. package/dist/{main-Dq-UfO4G.js → main-DSiCr7yl.js} +7 -8
  7. package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
  8. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
  9. package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
  10. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  13. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  14. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  15. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +4 -3
  16. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
  17. package/dist/martyrs/src/components/Feed/Carousel.vue.js +5 -4
  18. package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
  19. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  20. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  21. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +2 -2
  22. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  23. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  24. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  25. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  26. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  27. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  28. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  29. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  30. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  31. package/dist/martyrs/src/components/Select/{Select.vue.cjs → Select.vue2.cjs} +2 -2
  32. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +1 -0
  33. package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
  34. package/dist/martyrs/src/components/Select/{Select.vue.cjs.map → Select.vue2.js.map} +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +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/ProfileEdit.vue.cjs +17 -11
  38. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +18 -12
  40. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  41. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  43. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  45. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  47. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  49. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  51. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -2
  52. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
  53. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
  54. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  55. package/dist/martyrs/src/modules/globals/globals.client.js +15 -15
  56. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  57. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  58. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  59. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  61. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +121 -107
  62. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -1
  63. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +131 -117
  64. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -1
  65. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  66. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  67. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  68. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  69. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  71. package/dist/martyrs/src/modules/icons/logos/Logotype.vue.cjs +3 -3
  72. package/dist/martyrs/src/modules/icons/logos/Logotype.vue.js +3 -3
  73. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  75. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  77. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +138 -136
  78. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
  79. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +137 -135
  80. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  81. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +2 -2
  82. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
  83. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  85. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  87. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
  89. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
  91. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +1 -1
  93. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
  95. package/dist/martyrs/src/modules/music/router/music.cjs +1 -1
  96. package/dist/martyrs/src/modules/music/router/music.js +1 -1
  97. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  99. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +61 -9
  100. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +61 -9
  102. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  105. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  107. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  109. package/dist/martyrs/src/modules/orders/orders.client.cjs +36 -38
  110. package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
  111. package/dist/martyrs/src/modules/orders/orders.client.js +36 -38
  112. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  113. package/dist/martyrs/src/modules/orders/store/models/customer.cjs +7 -0
  114. package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +1 -1
  115. package/dist/martyrs/src/modules/orders/store/models/customer.js +7 -0
  116. package/dist/martyrs/src/modules/orders/store/models/customer.js.map +1 -1
  117. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  119. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  121. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  123. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +3 -3
  124. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +3 -3
  125. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  127. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  129. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  131. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  133. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +17 -28
  134. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +17 -28
  136. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  137. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  138. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  139. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  141. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +9 -1
  142. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
  143. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +9 -1
  144. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  145. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  147. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  150. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  153. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  154. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  157. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  159. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +10 -5
  160. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -1
  161. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +10 -5
  162. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +5 -2
  164. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +5 -2
  166. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  169. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  171. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  173. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  174. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  175. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  176. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  177. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  179. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  180. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  181. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  182. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  183. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
  184. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  185. package/dist/martyrs.cjs.js +1 -1
  186. package/dist/martyrs.css +1 -1
  187. package/dist/martyrs.es.js +1 -1
  188. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  189. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  190. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  191. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  192. package/dist/orders.server.cjs +58 -0
  193. package/dist/orders.server.js +58 -0
  194. package/dist/products.server.cjs +11 -1
  195. package/dist/products.server.js +11 -1
  196. package/dist/style.css +30 -41
  197. package/dist/{web-DaBwwCQ5.cjs → web-XyQNm3cW.cjs} +1 -1
  198. package/dist/{web-BXajFCU2.js → web-gtBkwjra.js} +1 -1
  199. package/package.json +1 -1
  200. package/src/components/Feed/Carousel.vue +3 -1
  201. package/src/components/FieldBig/FieldBig.vue +2 -2
  202. package/src/modules/auth/views/components/pages/ProfileEdit.vue +17 -10
  203. package/src/modules/globals/views/components/partials/Footer.centered.vue +338 -0
  204. package/src/modules/globals/views/components/partials/Footer.vue +104 -99
  205. package/src/modules/globals/views/components/partials/Header.vue +1 -1
  206. package/src/modules/icons/logos/Logotype.vue +1 -1
  207. package/src/modules/inventory/components/pages/Inventory.vue +126 -119
  208. package/src/modules/orders/components/forms/FormCustomerDetails.vue +51 -0
  209. package/src/modules/orders/middlewares/customers.verifier.js +60 -0
  210. package/src/modules/orders/models/customer.model.js +18 -0
  211. package/src/modules/orders/orders.client.js +36 -38
  212. package/src/modules/orders/store/models/customer.js +7 -0
  213. package/src/modules/organizations/configs/navigation.organization.config.js +17 -26
  214. package/src/modules/products/TASKS.MD +1 -157
  215. package/src/modules/products/components/elements/QuantitySelector.vue +17 -9
  216. package/src/modules/products/components/pages/Product.vue +1 -1
  217. package/src/modules/products/components/pages/Products.vue +0 -1
  218. package/src/modules/products/components/sections/ProductsPopular.vue +9 -5
  219. package/src/modules/products/components/sections/ProductsRecommended.vue +4 -1
  220. package/src/modules/products/controllers/configs/products.lookup.config.js +11 -1
  221. package/src/styles/base/all.scss +9 -4
  222. package/src/styles/config.scss +10 -0
  223. package/src/styles/responsive.scss +2 -1
  224. package/src/styles/typography.scss +0 -5
  225. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
  226. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
  227. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  228. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  229. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  230. package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
@@ -10,12 +10,14 @@ const IconPhone = require("../../../../icons/entities/IconPhone.vue.cjs");
10
10
  const IconEmail = require("../../../../icons/entities/IconEmail.vue.cjs");
11
11
  const IconTime = require("../../../../icons/entities/IconTime.vue.cjs");
12
12
  const instagram = require("../../../../icons/socials/instagram.vue.cjs");
13
+ const facebook = require("../../../../icons/socials/facebook.vue.cjs");
14
+ const linkedin = require("../../../../icons/socials/linkedin.vue.cjs");
13
15
  const youtube = require("../../../../icons/socials/youtube.vue.cjs");
14
16
  const whatsapp = require("../../../../icons/socials/whatsapp.vue.cjs");
17
+ const Logotype = require("../../../../icons/logos/Logotype.vue.cjs");
15
18
  ;/* empty css */
16
- const _pluginVue_exportHelper = require("../../../../../../../_virtual/_plugin-vue_export-helper.cjs");
17
- const _hoisted_1 = { class: "container-wide" };
18
- const _hoisted_2 = { class: "grid cols-4-footer tablet:cols-2 mobile:cols-1 gap-extra mn-b-big" };
19
+ const _hoisted_1 = { class: "pd-medium" };
20
+ const _hoisted_2 = { class: "grid cols-3-footer tablet:cols-2 mobile:cols-1 gap-extra mobile:gap-big" };
19
21
  const _hoisted_3 = { class: "col w-max-15r" };
20
22
  const _hoisted_4 = { class: "p-semi t-medium mn-b-semi" };
21
23
  const _hoisted_5 = { class: "mn-b-semi flex flex-column gap-small" };
@@ -37,15 +39,23 @@ const _hoisted_17 = {
37
39
  key: 0,
38
40
  class: "z-index-2 pd-thin radius-medium bg-main t-medium uppercase pos-absolute pos-r-10-negative pos-t-10-negative"
39
41
  };
40
- const _hoisted_18 = { class: "flex flex-column gap-thin" };
41
- const _hoisted_19 = { class: "col" };
42
- const _hoisted_20 = { class: "h5 t-medium mn-b-regular" };
43
- const _hoisted_21 = { class: "t-small mn-b-small t-transp" };
42
+ const _hoisted_18 = { class: "cols-2 gap-big" };
43
+ const _hoisted_19 = { class: "h5 t-medium mn-b-regular" };
44
+ const _hoisted_20 = { class: "flex flex-column gap-thin" };
45
+ const _hoisted_21 = { class: "col" };
44
46
  const _hoisted_22 = { class: "h5 t-medium mn-b-regular" };
45
- const _hoisted_23 = { class: "flex gap-small mn-b-medium" };
46
- const _hoisted_24 = ["href"];
47
- const _hoisted_25 = { class: "t-small t-medium uppercase mobile:t-center" };
48
- const _hoisted_26 = { class: "t-main copyleft" };
47
+ const _hoisted_23 = { class: "t-small mn-b-small t-transp" };
48
+ const _hoisted_24 = { class: "h5 t-medium mn-b-regular" };
49
+ const _hoisted_25 = { class: "flex gap-thin" };
50
+ const _hoisted_26 = ["href"];
51
+ const _hoisted_27 = { class: "t-small t-medium uppercase" };
52
+ const _hoisted_28 = { class: "t-main copyleft" };
53
+ const _hoisted_29 = {
54
+ href: "https://ozdao.dev",
55
+ target: "_blank",
56
+ rel: "noopener",
57
+ class: "flex-nowrap flex-v-center flex t-medium gap-thin br-1px br-light pd-thin radius-thin"
58
+ };
49
59
  const _sfc_main = {
50
60
  __name: "Footer",
51
61
  props: {
@@ -61,11 +71,10 @@ const _sfc_main = {
61
71
  const router = vueRouter.useRouter();
62
72
  vueRouter.useRoute();
63
73
  const text = {
64
- locale: "en",
65
74
  messages: {
66
75
  en: {
67
- linkAppStore: "2",
68
- linkGooglePlay: "1",
76
+ linkAppStore: "https://play.google.com/store/apps/details?id=com.threestepsrental.app",
77
+ linkGooglePlay: "https://play.google.com/store/apps/details?id=com.threestepsrental.app",
69
78
  // Contact
70
79
  description: "3SR – Premium Video Gear Rentals for Filmmakers and Content Creators",
71
80
  contact: "Contact",
@@ -82,11 +91,11 @@ const _sfc_main = {
82
91
  // Footer
83
92
  year: "2025 ",
84
93
  heart: "❤",
85
- copyright: "Three Steps Studio Ltd. ",
86
- ozdao: "Builded with love in",
94
+ copyright: "Three Steps Studio Ltd. All Rights Reserved.",
95
+ ozdao: "Builded in OZ DAO",
87
96
  // Contact info
88
97
  phoneNumber: "+44 77 7878 4893",
89
- emailAddress: "info@3stepsprod.com",
98
+ emailAddress: "info{'@'}3stepsprod.com",
90
99
  // Navigation columns
91
100
  navigationColumns: [
92
101
  {
@@ -94,19 +103,19 @@ const _sfc_main = {
94
103
  {
95
104
  title: "Equipment",
96
105
  items: [
97
- { name: "Cameras", url: "cameras" },
98
- { name: "Lighting", url: "lighting" },
99
- { name: "Stabilizers", url: "stabilizers" },
100
- { name: "Accessories", url: "accessories" }
106
+ { name: "Cameras", url: "products/categories/cameras" },
107
+ { name: "Lighting", url: "products/categories/lighting-kits" },
108
+ { name: "Stabilizers", url: "products/categories/stabilization-motion" },
109
+ { name: "Accessories", url: "products/categories/accessories" }
101
110
  ]
102
111
  },
103
112
  {
104
113
  title: "Services",
105
114
  items: [
106
- { name: "Kits & Packages", url: "kits-packages" },
107
- { name: "Studio Hire", url: "studio-hire" },
108
- { name: "Delivery", url: "delivery" },
109
- { name: "Production Help", url: "production-help" }
115
+ { name: "Kits & Packages", url: "products/categories/kits-packages" },
116
+ { name: "Studio Hire", url: "products/categories/studio-hire" },
117
+ { name: "Delivery", url: "products/categories/delivery" },
118
+ { name: "Production Help", url: "products/categories/production-help" }
110
119
  ]
111
120
  }
112
121
  ]
@@ -116,19 +125,19 @@ const _sfc_main = {
116
125
  {
117
126
  title: "Company",
118
127
  items: [
119
- { name: "About Us", url: "about" },
120
- { name: "Contact", url: "contact" },
121
- { name: "FAQ", url: "faq" },
122
- { name: "Blog", url: "blog" }
128
+ { name: "About Us", url: "pages/about" },
129
+ { name: "Contact", url: "pages/contact" },
130
+ { name: "FAQ", url: "pages/faq" },
131
+ { name: "Blog", url: "/community" }
123
132
  ]
124
133
  },
125
134
  {
126
135
  title: "Legal",
127
136
  items: [
128
- { name: "Privacy Policy", url: "privacy-policy" },
129
- { name: "Cookie Policy", url: "cookie-policy" },
130
- { name: "Terms of Use", url: "terms-of-use" },
131
- { name: "EULA", url: "eula" }
137
+ { name: "Privacy Policy", url: "pages/privacy-policy" },
138
+ { name: "Cookie Policy", url: "pages/cookie-policy" },
139
+ { name: "Terms of Use", url: "pages/terms-of-use" },
140
+ { name: "EULA", url: "pages/eula" }
132
141
  ]
133
142
  }
134
143
  ]
@@ -137,31 +146,36 @@ const _sfc_main = {
137
146
  // Social links
138
147
  socialLinks: [
139
148
  {
140
- name: "Instagram",
141
- url: "https://www.instagram.com/3stepsprod",
142
- icon: instagram.default
149
+ name: "IconInstagram",
150
+ url: "https://www.instagram.com/3stepsprod"
143
151
  },
144
152
  {
145
- name: "Youtube",
146
- url: "https://www.youtube.com/@threestepsproduction",
147
- icon: youtube.default
153
+ name: "IconYoutube",
154
+ url: "https://www.youtube.com/@threestepsproduction"
148
155
  },
149
156
  {
150
- name: "WhatsApp",
151
- url: "https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0",
152
- icon: whatsapp.default
157
+ name: "IconWhatsapp",
158
+ url: "https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0"
153
159
  }
154
160
  ]
155
161
  }
156
162
  }
157
163
  };
158
- const { t, te, tm } = vueI18n.useI18n(text);
159
- const navigationColumns = vue.computed(() => tm("navigationColumns"));
160
- const socialLinks = vue.computed(() => tm("socialLinks"));
164
+ const { t, te, tm } = vueI18n.useI18n({
165
+ useScope: "global",
166
+ messages: text.messages
167
+ });
168
+ const iconComponents = {
169
+ IconInstagram: instagram.default,
170
+ IconFacebook: facebook.default,
171
+ IconLinkedin: linkedin.default,
172
+ IconYoutube: youtube.default,
173
+ IconWhatsapp: whatsapp.default
174
+ };
161
175
  return (_ctx, _cache) => {
162
176
  const _component_router_link = vue.resolveComponent("router-link");
163
177
  return vue.openBlock(), vue.createElementBlock("footer", {
164
- class: vue.normalizeClass(["pd-medium pd-t-large w-100 br-t br-solid", {
178
+ class: vue.normalizeClass(["w-100 br-t br-solid", {
165
179
  "t-black bg-white br-light": __props.theme === "light",
166
180
  "t-white bg-black br-dark": __props.theme === "dark"
167
181
  }])
@@ -233,89 +247,89 @@ const _sfc_main = {
233
247
  ], 8, _hoisted_16)) : vue.createCommentVNode("", true)
234
248
  ])
235
249
  ]),
236
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(navigationColumns.value, (column, colIndex) => {
237
- return vue.openBlock(), vue.createElementBlock("div", {
238
- key: colIndex,
239
- class: "col"
240
- }, [
241
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(column.sections, (section, sectionIndex) => {
242
- return vue.openBlock(), vue.createElementBlock("div", { key: sectionIndex }, [
243
- vue.createElementVNode("h4", {
244
- class: vue.normalizeClass(["h5 t-medium mn-b-regular", sectionIndex > 0 ? "mn-t-medium" : ""])
245
- }, vue.toDisplayString(section.title), 3),
246
- vue.createElementVNode("nav", null, [
247
- vue.createElementVNode("ul", _hoisted_18, [
248
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(section.items, (item) => {
249
- return vue.openBlock(), vue.createElementBlock("li", {
250
- key: item.url
251
- }, [
252
- vue.createVNode(_component_router_link, {
253
- to: `/${item.url}`,
254
- class: vue.normalizeClass(["t-small transition-opacity hover-opacity-70", __props.theme === "light" ? "t-black" : "t-white"])
255
- }, {
256
- default: vue.withCtx(() => [
257
- vue.createTextVNode(vue.toDisplayString(item.name), 1)
258
- ]),
259
- _: 2
260
- }, 1032, ["to", "class"])
261
- ]);
262
- }), 128))
250
+ vue.createElementVNode("div", _hoisted_18, [
251
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("navigationColumns"), (column, colIndex) => {
252
+ return vue.openBlock(), vue.createElementBlock("div", {
253
+ key: colIndex,
254
+ class: "flex flex-column gap-medium"
255
+ }, [
256
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(column.sections, (section, sectionIndex) => {
257
+ return vue.openBlock(), vue.createElementBlock("div", {
258
+ key: sectionIndex,
259
+ class: ""
260
+ }, [
261
+ vue.createElementVNode("h4", _hoisted_19, vue.toDisplayString(section.title), 1),
262
+ vue.createElementVNode("nav", null, [
263
+ vue.createElementVNode("ul", _hoisted_20, [
264
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(section.items, (item) => {
265
+ return vue.openBlock(), vue.createElementBlock("li", {
266
+ key: item.url
267
+ }, [
268
+ vue.createVNode(_component_router_link, {
269
+ to: `/${item.url}`,
270
+ class: vue.normalizeClass(["t-small transition-opacity hover-opacity-70", __props.theme === "light" ? "t-black" : "t-white"])
271
+ }, {
272
+ default: vue.withCtx(() => [
273
+ vue.createTextVNode(vue.toDisplayString(item.name), 1)
274
+ ]),
275
+ _: 2
276
+ }, 1032, ["to", "class"])
277
+ ]);
278
+ }), 128))
279
+ ])
263
280
  ])
264
- ])
265
- ]);
266
- }), 128))
267
- ]);
268
- }), 128)),
269
- vue.createElementVNode("div", _hoisted_19, [
270
- vue.createElementVNode("h4", _hoisted_20, vue.toDisplayString(vue.unref(t)("subscribe")), 1),
271
- vue.createElementVNode("p", _hoisted_21, vue.toDisplayString(vue.unref(t)("subscribe_text")), 1),
281
+ ]);
282
+ }), 128))
283
+ ]);
284
+ }), 128))
285
+ ]),
286
+ vue.createElementVNode("div", _hoisted_21, [
287
+ vue.createElementVNode("h4", _hoisted_22, vue.toDisplayString(vue.unref(t)("subscribe")), 1),
288
+ vue.createElementVNode("p", _hoisted_23, vue.toDisplayString(vue.unref(t)("subscribe_text")), 1),
272
289
  vue.createVNode(FieldSubscribeNewsletter.default, {
273
290
  action: false,
274
291
  fieldName: "footer-newsletter",
275
292
  fieldId: "footer-newsletter-email",
276
293
  class: "d-inline-flex mn-b-medium bg-light t-black w-100"
277
294
  }),
278
- vue.createElementVNode("h4", _hoisted_22, vue.toDisplayString(vue.unref(t)("follow")), 1),
279
- vue.createElementVNode("div", _hoisted_23, [
280
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(socialLinks.value, (social) => {
295
+ vue.createElementVNode("h4", _hoisted_24, vue.toDisplayString(vue.unref(t)("follow")), 1),
296
+ vue.createElementVNode("div", _hoisted_25, [
297
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("socialLinks"), (social) => {
281
298
  return vue.openBlock(), vue.createElementBlock("a", {
282
299
  key: social.name,
283
300
  href: social.url,
284
301
  target: "_blank",
285
302
  class: "w-3r h-3r flex flex-center radius-small bg-light transition-opacity hover-opacity-70"
286
303
  }, [
287
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(social.icon), {
304
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(iconComponents[social.name]), {
288
305
  class: "i-semi",
289
306
  fill: __props.theme === "light" ? "rgb(var(--black))" : "rgb(var(--white))"
290
307
  }, null, 8, ["fill"]))
291
- ], 8, _hoisted_24);
308
+ ], 8, _hoisted_26);
292
309
  }), 128))
293
310
  ])
294
311
  ])
312
+ ])
313
+ ]),
314
+ vue.createElementVNode("div", {
315
+ class: vue.normalizeClass(["pd-medium br-t br-solid flex flex-justify-between flex-v-center flex-nowrap mobile:flex-column mobile:flex-align-start mobile:gap-small", {
316
+ "br-light": __props.theme === "light",
317
+ "br-dark": __props.theme === "dark"
318
+ }])
319
+ }, [
320
+ vue.createElementVNode("p", _hoisted_27, [
321
+ vue.createTextVNode(vue.toDisplayString(vue.unref(t)("year")) + " ", 1),
322
+ vue.createElementVNode("span", _hoisted_28, vue.toDisplayString(vue.unref(t)("heart")), 1),
323
+ vue.createTextVNode(" " + vue.toDisplayString(vue.unref(t)("copyright")), 1)
295
324
  ]),
296
- vue.createElementVNode("div", {
297
- class: vue.normalizeClass(["pd-t-medium br-t br-solid flex flex-justify-between flex-v-center mobile:flex-column mobile:gap-small", {
298
- "br-light": __props.theme === "light",
299
- "br-dark": __props.theme === "dark"
300
- }])
301
- }, [
302
- vue.createElementVNode("p", _hoisted_25, [
303
- vue.createTextVNode(vue.toDisplayString(vue.unref(t)("year")) + " ", 1),
304
- vue.createElementVNode("span", _hoisted_26, vue.toDisplayString(vue.unref(t)("heart")), 1),
305
- vue.createTextVNode(" " + vue.toDisplayString(vue.unref(t)("copyright")) + " " + vue.toDisplayString(vue.unref(t)("ozdao")) + " ", 1),
306
- _cache[1] || (_cache[1] = vue.createElementVNode("a", {
307
- href: "https://ozdao.dev",
308
- class: "t-main",
309
- target: "_blank",
310
- rel: "noopener"
311
- }, "OZ DAO.", -1))
312
- ])
313
- ], 2)
314
- ])
325
+ vue.createElementVNode("a", _hoisted_29, [
326
+ vue.createVNode(Logotype.default, { class: "h-1r w-auto" }),
327
+ vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(t)("ozdao")), 1)
328
+ ])
329
+ ], 2)
315
330
  ], 2);
316
331
  };
317
332
  }
318
333
  };
319
- const Footer = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-37ca2fe7"]]);
320
- exports.default = Footer;
334
+ exports.default = _sfc_main;
321
335
  //# sourceMappingURL=Footer.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/partials/Footer.vue"],"sourcesContent":["<script setup=\"props\">\nimport { computed, ref } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n\n// Martyrs Components\nimport FieldSubscribeNewsletter from '@martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue'\n\nimport LabelGooglePlay from '@martyrs/src/modules/icons/labels/LabelGooglePlay.vue';\nimport LabelAppStore from '@martyrs/src/modules/icons/labels/LabelAppStore.vue';\n\nimport IconPhone from '@martyrs/src/modules/icons/entities/IconPhone.vue';\nimport IconEmail from '@martyrs/src/modules/icons/entities/IconEmail.vue';\nimport IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';\nimport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue';\n\nimport IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport instagram from '@martyrs/src/modules/icons/socials/instagram.vue';\nimport facebook from '@martyrs/src/modules/icons/socials/facebook.vue';\nimport linkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport youtube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport whatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\n// Props\nconst props = defineProps({\n theme: {\n type: String,\n default: \"light\"\n },\n logotype: {\n type: Object\n }\n})\n\n// State\nconst router = useRouter()\nconst route = useRoute()\n\n// Localization\nconst text = {\n locale: 'en',\n messages: {\n en: {\n linkAppStore: '2',\n linkGooglePlay: '1',\n // Contact\n description: \"3SR – Premium Video Gear Rentals for Filmmakers and Content Creators\",\n contact: 'Contact',\n phone: 'Phone / WhatsApp',\n email: 'Email',\n hours: 'Hours',\n hours_text: 'Mon–Sun, 10:00–19:00',\n app: 'Get Our App',\n \n // Subscribe\n subscribe: 'Subscribe',\n subscribe_text: 'Get updates on new equipment and special offers',\n email_placeholder: 'Enter your email',\n follow: 'Follow Us',\n \n // Footer\n year: '2025 ',\n heart: \"❤\",\n copyright: 'Three Steps Studio Ltd. ',\n ozdao: 'Builded with love in',\n \n // Contact info\n phoneNumber: '+44 77 7878 4893',\n emailAddress: 'info@3stepsprod.com',\n \n // Navigation columns\n navigationColumns: [\n {\n sections: [\n {\n title: 'Equipment',\n items: [\n { name: 'Cameras', url: 'cameras' },\n { name: 'Lighting', url: 'lighting' },\n { name: 'Stabilizers', url: 'stabilizers' },\n { name: 'Accessories', url: 'accessories' }\n ]\n },\n {\n title: 'Services',\n items: [\n { name: 'Kits & Packages', url: 'kits-packages' },\n { name: 'Studio Hire', url: 'studio-hire' },\n { name: 'Delivery', url: 'delivery' },\n { name: 'Production Help', url: 'production-help' }\n ]\n }\n ]\n },\n {\n sections: [\n {\n title: 'Company',\n items: [\n { name: 'About Us', url: 'about' },\n { name: 'Contact', url: 'contact' },\n { name: 'FAQ', url: 'faq' },\n { name: 'Blog', url: 'blog' }\n ]\n },\n {\n title: 'Legal',\n items: [\n { name: 'Privacy Policy', url: 'privacy-policy' },\n { name: 'Cookie Policy', url: 'cookie-policy' },\n { name: 'Terms of Use', url: 'terms-of-use' },\n { name: 'EULA', url: 'eula' }\n ]\n }\n ]\n }\n ],\n \n // Social links\n socialLinks: [\n { \n name: 'Instagram',\n url: 'https://www.instagram.com/3stepsprod',\n icon: instagram\n },\n { \n name: 'Youtube',\n url: 'https://www.youtube.com/@threestepsproduction',\n icon: youtube\n },\n { \n name: 'WhatsApp',\n url: 'https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0',\n icon: whatsapp\n }\n ]\n }\n }\n}\n\nconst { t, te, tm } = useI18n(text)\n\n// Get columns and social links from translations\nconst navigationColumns = computed(() => tm('navigationColumns'))\nconst socialLinks = computed(() => tm('socialLinks'))\n</script>\n\n<template>\n <footer \n class=\"\n pd-medium pd-t-large\n w-100\n br-t br-solid\n \"\n :class=\"{\n 't-black bg-white br-light': theme === 'light',\n 't-white bg-black br-dark': theme === 'dark' \n }\"\n >\n <!-- Top Section -->\n <div class=\"container-wide\">\n <component\n v-if=\"logotype\"\n :is=\"logotype\"\n @click=\"router.push({ path: '/' })\" \n :theme=\"theme\"\n class=\"cursor-pointer h-3r mn-b-medium\"\n />\n\n <div class=\"grid cols-4-footer tablet:cols-2 mobile:cols-1 gap-extra mn-b-big\">\n \n <!-- Contact Block -->\n <div class=\"col w-max-15r\">\n <p class=\"p-semi t-medium mn-b-semi\">{{ t('description') }}</p>\n \n <div class=\"mn-b-semi flex flex-column gap-small\">\n <a \n :href=\"`tel:${t('phoneNumber').replace(/\\s/g, '')}`\" \n class=\"flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70\"\n :class=\"theme === 'light' ? 't-black' : 't-white'\"\n >\n <IconPhone class=\"i-regular\" :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" />\n <span class=\"t-small\">{{ t('phoneNumber') }}</span>\n </a>\n \n <a \n :href=\"`mailto:${t('emailAddress')}`\" \n class=\"flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70\"\n :class=\"theme === 'light' ? 't-black' : 't-white'\"\n >\n <IconEmail class=\"i-regular\" :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" />\n <span class=\"t-small\">{{ t('emailAddress') }}</span>\n </a>\n \n <div class=\"flex mn-b-micro gap-micro flex-v-center\">\n <IconTime class=\"i-regular\" :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" />\n <span class=\"t-small\">{{ t('hours_text') }}</span>\n </div>\n </div>\n\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('app') }}</h4>\n <div class=\"w-100 flex-nowrap flex gap-thin\">\n <a \n v-if=\"te('linkAppStore') || te('label')\"\n :href=\"te('linkAppStore') ? t('linkAppStore') : null\" \n :target=\"te('linkAppStore') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('label')\"\n class=\"z-index-2 radius-medium bg-main t-medium uppercase pd-thin pos-absolute pos-r-10-negative pos-t-10-negative\"\n >\n {{ t('label') }}\n </span>\n <LabelAppStore class=\"w-100 h-max\" alt=\"Download on App Store\"/>\n </a>\n\n <a \n v-if=\"te('linkGooglePlay') || te('label')\"\n :href=\"te('linkGooglePlay') ? t('linkGooglePlay') : null\" \n :target=\"te('linkGooglePlay') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('label')\"\n class=\"z-index-2 pd-thin radius-medium bg-main t-medium uppercase pos-absolute pos-r-10-negative pos-t-10-negative\"\n >\n {{ t('label') }}\n </span>\n <LabelGooglePlay class=\"w-100 h-max\" alt=\"Download on Google Play\"/>\n </a>\n </div>\n </div>\n\n <!-- Navigation Columns -->\n <div v-for=\"(column, colIndex) in navigationColumns\" :key=\"colIndex\" class=\"col\">\n <div v-for=\"(section, sectionIndex) in column.sections\" :key=\"sectionIndex\">\n <h4 class=\"h5 t-medium mn-b-regular\" :class=\"sectionIndex > 0 ? 'mn-t-medium' : ''\">{{ section.title }}</h4>\n <nav>\n <ul class=\"flex flex-column gap-thin\">\n <li v-for=\"item in section.items\" :key=\"item.url\">\n <router-link \n :to=\"`/${item.url}`\" \n class=\"t-small transition-opacity hover-opacity-70\" \n :class=\"theme === 'light' ? 't-black' : 't-white'\"\n >\n {{ item.name }}\n </router-link>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n\n <!-- Subscribe Block -->\n <div class=\"col\">\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('subscribe') }}</h4>\n <p class=\"t-small mn-b-small t-transp\">{{ t('subscribe_text') }}</p>\n \n <FieldSubscribeNewsletter\n :action=\"false\"\n fieldName=\"footer-newsletter\"\n fieldId=\"footer-newsletter-email\"\n class=\"d-inline-flex mn-b-medium bg-light t-black w-100\"\n />\n\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('follow') }}</h4>\n <!-- Social Links -->\n <div class=\"flex gap-small mn-b-medium\">\n <a \n v-for=\"social in socialLinks\"\n :key=\"social.name\"\n :href=\"social.url\" \n target=\"_blank\"\n class=\"\n w-3r h-3r \n flex flex-center \n radius-small\n bg-light \n transition-opacity\n hover-opacity-70\n \"\n >\n <component\n :is=\"social.icon\"\n class=\"i-semi\"\n :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\"\n />\n </a>\n </div>\n </div>\n </div>\n\n <!-- Bottom Section -->\n <div class=\"\n pd-t-medium \n br-t br-solid\n flex flex-justify-between flex-v-center\n mobile:flex-column mobile:gap-small\n \"\n :class=\"{\n 'br-light': theme === 'light',\n 'br-dark': theme === 'dark'\n }\"\n >\n <!-- Copyright -->\n <p class=\"t-small t-medium uppercase mobile:t-center\">\n {{ t('year') }} \n <span class=\"t-main copyleft\">{{ t('heart') }}</span> \n {{ t('copyright') }} \n {{ t('ozdao') }}\n <a href=\"https://ozdao.dev\" class=\"t-main\" target=\"_blank\" rel=\"noopener\">OZ DAO.</a>\n </p>\n </div>\n </div>\n </footer>\n</template>\n\n<style lang=\"scss\" scoped>\n.cols-4-footer {\n grid-template-columns: 5fr 3fr 3fr 4fr;\n}\nfooter {\n transition: background-color 0.3s ease, color 0.3s ease;\n \n a {\n text-decoration: none;\n }\n \n ul {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n}\n</style>"],"names":["useRouter","useRoute","instagram","youtube","whatsapp","useI18n","computed"],"mappings":"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"}
1
+ {"version":3,"file":"Footer.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/partials/Footer.vue"],"sourcesContent":["<script setup=\"props\">\nimport { computed, ref } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n\n// Martyrs Components\nimport FieldSubscribeNewsletter from '@martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue'\n\nimport LabelGooglePlay from '@martyrs/src/modules/icons/labels/LabelGooglePlay.vue';\nimport LabelAppStore from '@martyrs/src/modules/icons/labels/LabelAppStore.vue';\n\nimport IconPhone from '@martyrs/src/modules/icons/entities/IconPhone.vue';\nimport IconEmail from '@martyrs/src/modules/icons/entities/IconEmail.vue';\nimport IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';\nimport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue';\n\nimport IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue';\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue';\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport Logotype from '@martyrs/src/modules/icons/logos/Logotype.vue'\n\n\n// Props\nconst props = defineProps({\n theme: {\n type: String,\n default: \"light\"\n },\n logotype: {\n type: Object\n }\n})\n\n// State\nconst router = useRouter()\nconst route = useRoute()\n\n// Localization\nconst text = {\n locale: 'en',\n messages: {\n en: {\n linkAppStore: 'https://play.google.com/store/apps/details?id=com.threestepsrental.app',\n linkGooglePlay: 'https://play.google.com/store/apps/details?id=com.threestepsrental.app',\n // Contact\n description: \"3SR – Premium Video Gear Rentals for Filmmakers and Content Creators\",\n contact: 'Contact',\n phone: 'Phone / WhatsApp',\n email: 'Email',\n hours: 'Hours',\n hours_text: 'Mon–Sun, 10:00–19:00',\n app: 'Get Our App',\n \n // Subscribe\n subscribe: 'Subscribe',\n subscribe_text: 'Get updates on new equipment and special offers',\n email_placeholder: 'Enter your email',\n follow: 'Follow Us',\n \n // Footer\n year: '2025 ',\n heart: \"❤\",\n copyright: 'Three Steps Studio Ltd. All Rights Reserved.',\n ozdao: 'Builded in OZ DAO',\n \n // Contact info\n phoneNumber: '+44 77 7878 4893',\n emailAddress: \"info{'@'}3stepsprod.com\",\n \n // Navigation columns\n navigationColumns: [\n {\n sections: [\n {\n title: 'Equipment',\n items: [\n { name: 'Cameras', url: 'products/categories/cameras' },\n { name: 'Lighting', url: 'products/categories/lighting-kits' },\n { name: 'Stabilizers', url: 'products/categories/stabilization-motion' },\n { name: 'Accessories', url: 'products/categories/accessories' }\n ]\n },\n {\n title: 'Services',\n items: [\n { name: 'Kits & Packages', url: 'products/categories/kits-packages' },\n { name: 'Studio Hire', url: 'products/categories/studio-hire' },\n { name: 'Delivery', url: 'products/categories/delivery' },\n { name: 'Production Help', url: 'products/categories/production-help' }\n ]\n }\n ]\n },\n {\n sections: [\n {\n title: 'Company',\n items: [\n { name: 'About Us', url: 'pages/about' },\n { name: 'Contact', url: 'pages/contact' },\n { name: 'FAQ', url: 'pages/faq' },\n { name: 'Blog', url: '/community' }\n ]\n },\n {\n title: 'Legal',\n items: [\n { name: 'Privacy Policy', url: 'pages/privacy-policy' },\n { name: 'Cookie Policy', url: 'pages/cookie-policy' },\n { name: 'Terms of Use', url: 'pages/terms-of-use' },\n { name: 'EULA', url: 'pages/eula' }\n ]\n }\n ]\n }\n ],\n \n // Social links\n socialLinks: [\n { \n name: 'IconInstagram',\n url: 'https://www.instagram.com/3stepsprod'\n },\n { \n name: 'IconYoutube',\n url: 'https://www.youtube.com/@threestepsproduction'\n },\n { \n name: 'IconWhatsapp',\n url: 'https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0'\n }\n ]\n }\n }\n}\n\nconst { t, te, tm } = useI18n({\n useScope: 'global',\n messages: text.messages\n})\n\n// Component mapping for social icons\nconst iconComponents = {\n IconInstagram,\n IconFacebook,\n IconLinkedin,\n IconYoutube,\n IconWhatsapp\n}\n</script>\n\n<template>\n <footer \n class=\"\n w-100\n br-t br-solid\n \"\n :class=\"{\n 't-black bg-white br-light': theme === 'light',\n 't-white bg-black br-dark': theme === 'dark' \n }\"\n >\n <div class=\"pd-medium\">\n <!-- Top Section -->\n <component\n v-if=\"logotype\"\n :is=\"logotype\"\n @click=\"router.push({ path: '/' })\" \n :theme=\"theme\"\n class=\"cursor-pointer h-3r mn-b-medium\"\n />\n\n <div class=\"grid cols-3-footer tablet:cols-2 mobile:cols-1 gap-extra mobile:gap-big\">\n \n <!-- Contact Block -->\n <div class=\"col w-max-15r\">\n <p class=\"p-semi t-medium mn-b-semi\">{{ t('description') }}</p>\n \n <div class=\"mn-b-semi flex flex-column gap-small\">\n <a \n :href=\"`tel:${t('phoneNumber').replace(/\\s/g, '')}`\" \n class=\"flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70\"\n :class=\"theme === 'light' ? 't-black' : 't-white'\"\n >\n <IconPhone class=\"i-regular\" :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" />\n <span class=\"t-small\">{{ t('phoneNumber') }}</span>\n </a>\n \n <a \n :href=\"`mailto:${t('emailAddress')}`\" \n class=\"flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70\"\n :class=\"theme === 'light' ? 't-black' : 't-white'\"\n >\n <IconEmail class=\"i-regular\" :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" />\n <span class=\"t-small\">{{ t('emailAddress') }}</span>\n </a>\n \n <div class=\"flex mn-b-micro gap-micro flex-v-center\">\n <IconTime class=\"i-regular\" :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\" />\n <span class=\"t-small\">{{ t('hours_text') }}</span>\n </div>\n </div>\n\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('app') }}</h4>\n <div class=\"w-100 flex-nowrap flex gap-thin\">\n <a \n v-if=\"te('linkAppStore') || te('label')\"\n :href=\"te('linkAppStore') ? t('linkAppStore') : null\" \n :target=\"te('linkAppStore') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('label')\"\n class=\"z-index-2 radius-medium bg-main t-medium uppercase pd-thin pos-absolute pos-r-10-negative pos-t-10-negative\"\n >\n {{ t('label') }}\n </span>\n <LabelAppStore class=\"w-100 h-max\" alt=\"Download on App Store\"/>\n </a>\n\n <a \n v-if=\"te('linkGooglePlay') || te('label')\"\n :href=\"te('linkGooglePlay') ? t('linkGooglePlay') : null\" \n :target=\"te('linkGooglePlay') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('label')\"\n class=\"z-index-2 pd-thin radius-medium bg-main t-medium uppercase pos-absolute pos-r-10-negative pos-t-10-negative\"\n >\n {{ t('label') }}\n </span>\n <LabelGooglePlay class=\"w-100 h-max\" alt=\"Download on Google Play\"/>\n </a>\n </div>\n </div>\n\n <!-- Navigation Columns -->\n <div class=\"cols-2 gap-big\">\n <div v-for=\"(column, colIndex) in tm('navigationColumns')\" :key=\"colIndex\" class=\"flex flex-column gap-medium\">\n <div v-for=\"(section, sectionIndex) in column.sections\" :key=\"sectionIndex\" class=\"\">\n <h4 class=\"h5 t-medium mn-b-regular\">{{ section.title }}</h4>\n <nav>\n <ul class=\"flex flex-column gap-thin\">\n <li v-for=\"item in section.items\" :key=\"item.url\">\n <router-link \n :to=\"`/${item.url}`\" \n class=\"t-small transition-opacity hover-opacity-70\" \n :class=\"theme === 'light' ? 't-black' : 't-white'\"\n >\n {{ item.name }}\n </router-link>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n\n <!-- Subscribe Block -->\n <div class=\"col\">\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('subscribe') }}</h4>\n <p class=\"t-small mn-b-small t-transp\">{{ t('subscribe_text') }}</p>\n \n <FieldSubscribeNewsletter\n :action=\"false\"\n fieldName=\"footer-newsletter\"\n fieldId=\"footer-newsletter-email\"\n class=\"d-inline-flex mn-b-medium bg-light t-black w-100\"\n />\n\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('follow') }}</h4>\n <!-- Social Links -->\n <div class=\"flex gap-thin\">\n <a \n v-for=\"social in tm('socialLinks')\"\n :key=\"social.name\"\n :href=\"social.url\" \n target=\"_blank\"\n class=\"\n w-3r h-3r \n flex flex-center \n radius-small\n bg-light \n transition-opacity\n hover-opacity-70\n \"\n >\n <component\n :is=\"iconComponents[social.name]\"\n class=\"i-semi\"\n :fill=\"theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'\"\n />\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Bottom Section -->\n <div class=\"\n pd-medium \n br-t \n br-solid\n flex \n flex-justify-between \n flex-v-center\n flex-nowrap\n mobile:flex-column \n mobile:flex-align-start\n mobile:gap-small\n \"\n :class=\"{\n 'br-light': theme === 'light',\n 'br-dark': theme === 'dark'\n }\"\n >\n <!-- Copyright -->\n <p class=\"t-small t-medium uppercase\">\n {{ t('year') }} \n <span class=\"t-main copyleft\">{{ t('heart') }}</span> \n {{ t('copyright') }} \n </p>\n\n <a href=\"https://ozdao.dev\" target=\"_blank\" rel=\"noopener\" class=\"flex-nowrap flex-v-center flex t-medium gap-thin br-1px br-light pd-thin radius-thin\">\n <Logotype class=\"h-1r w-auto\"/>\n <span>{{ t('ozdao') }}</span>\n </a>\n </div>\n </footer>\n</template>\n\n<style lang=\"scss\">\n.cols-3-footer {\n grid-template-columns: 5fr 7fr 4fr;\n}\n</style>"],"names":["useRouter","useRoute","useI18n","IconInstagram","IconFacebook","IconLinkedin","IconYoutube","IconWhatsapp"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,UAAM,SAASA,UAAAA,UAAS;AACVC,cAAAA,SAAQ;AAGtB,UAAM,OAAO;AAAA,MAEX,UAAU;AAAA,QACR,IAAI;AAAA,UACF,cAAc;AAAA,UACd,gBAAgB;AAAA;AAAA,UAEhB,aAAa;AAAA,UACb,SAAS;AAAA,UACT,OAAO;AAAA,UACP,OAAO;AAAA,UACP,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,KAAK;AAAA;AAAA,UAGL,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,mBAAmB;AAAA,UACnB,QAAQ;AAAA;AAAA,UAGR,MAAM;AAAA,UACN,OAAO;AAAA,UACP,WAAW;AAAA,UACX,OAAO;AAAA;AAAA,UAGP,aAAa;AAAA,UACb,cAAc;AAAA;AAAA,UAGd,mBAAmB;AAAA,YACjB;AAAA,cACE,UAAU;AAAA,gBACR;AAAA,kBACE,OAAO;AAAA,kBACP,OAAO;AAAA,oBACL,EAAE,MAAM,WAAW,KAAK,8BAA6B;AAAA,oBACrD,EAAE,MAAM,YAAY,KAAK,oCAAmC;AAAA,oBAC5D,EAAE,MAAM,eAAe,KAAK,2CAA0C;AAAA,oBACtE,EAAE,MAAM,eAAe,KAAK,kCAAiC;AAAA,kBAC7E;AAAA,gBACA;AAAA,gBACY;AAAA,kBACE,OAAO;AAAA,kBACP,OAAO;AAAA,oBACL,EAAE,MAAM,mBAAmB,KAAK,oCAAmC;AAAA,oBACnE,EAAE,MAAM,eAAe,KAAK,kCAAiC;AAAA,oBAC7D,EAAE,MAAM,YAAY,KAAK,+BAA8B;AAAA,oBACvD,EAAE,MAAM,mBAAmB,KAAK,sCAAqC;AAAA,kBACrF;AAAA,gBACA;AAAA,cACA;AAAA,YACA;AAAA,YACQ;AAAA,cACE,UAAU;AAAA,gBACR;AAAA,kBACE,OAAO;AAAA,kBACP,OAAO;AAAA,oBACL,EAAE,MAAM,YAAY,KAAK,cAAa;AAAA,oBACtC,EAAE,MAAM,WAAW,KAAK,gBAAe;AAAA,oBACvC,EAAE,MAAM,OAAO,KAAK,YAAW;AAAA,oBAC/B,EAAE,MAAM,QAAQ,KAAK,aAAY;AAAA,kBACjD;AAAA,gBACA;AAAA,gBACY;AAAA,kBACE,OAAO;AAAA,kBACP,OAAO;AAAA,oBACL,EAAE,MAAM,kBAAkB,KAAK,uBAAsB;AAAA,oBACrD,EAAE,MAAM,iBAAiB,KAAK,sBAAqB;AAAA,oBACnD,EAAE,MAAM,gBAAgB,KAAK,qBAAoB;AAAA,oBACjD,EAAE,MAAM,QAAQ,KAAK,aAAY;AAAA,kBACjD;AAAA,gBACA;AAAA,cACA;AAAA,YACA;AAAA,UACA;AAAA;AAAA,UAGM,aAAa;AAAA,YACX;AAAA,cACE,MAAM;AAAA,cACN,KAAK;AAAA,YACf;AAAA,YACQ;AAAA,cACE,MAAM;AAAA,cACN,KAAK;AAAA,YACf;AAAA,YACQ;AAAA,cACE,MAAM;AAAA,cACN,KAAK;AAAA,YACf;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAEA,UAAM,EAAE,GAAG,IAAI,GAAE,IAAKC,QAAAA,QAAQ;AAAA,MAC5B,UAAU;AAAA,MACV,UAAU,KAAK;AAAA,IACjB,CAAC;AAGD,UAAM,iBAAiB;AAAA,MACvB,eAAEC,UAAAA;AAAAA,MACF,cAAEC,SAAAA;AAAAA,MACF,cAAEC,SAAAA;AAAAA,MACF,aAAEC,QAAAA;AAAAA,MACF,cAAEC,SAAAA;AAAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}