@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
@@ -0,0 +1,338 @@
1
+ <script setup="props">
2
+ import { computed, ref } from 'vue'
3
+ import { useRouter, useRoute } from 'vue-router'
4
+ import { useI18n } from 'vue-i18n'
5
+
6
+ // Martyrs Components
7
+ import FieldSubscribeNewsletter from '@martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue'
8
+
9
+ import LabelGooglePlay from '@martyrs/src/modules/icons/labels/LabelGooglePlay.vue';
10
+ import LabelAppStore from '@martyrs/src/modules/icons/labels/LabelAppStore.vue';
11
+
12
+ import IconPhone from '@martyrs/src/modules/icons/entities/IconPhone.vue';
13
+ import IconEmail from '@martyrs/src/modules/icons/entities/IconEmail.vue';
14
+ import IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';
15
+ import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue';
16
+
17
+ import IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue'
18
+ import IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue';
19
+ import IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue';
20
+ import IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'
21
+ import IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'
22
+ import IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'
23
+
24
+ import Logotype from '@martyrs/src/modules/icons/logos/Logotype.vue'
25
+
26
+
27
+ // Props
28
+ const props = defineProps({
29
+ theme: {
30
+ type: String,
31
+ default: "light"
32
+ },
33
+ logotype: {
34
+ type: Object
35
+ }
36
+ })
37
+
38
+ // State
39
+ const router = useRouter()
40
+ const route = useRoute()
41
+
42
+ // Localization
43
+ const text = {
44
+ locale: 'en',
45
+ messages: {
46
+ en: {
47
+ linkAppStore: '2',
48
+ linkGooglePlay: '1',
49
+ // Contact
50
+ description: "3SR – Premium Video Gear Rentals for Filmmakers and Content Creators",
51
+ contact: 'Contact',
52
+ phone: 'Phone / WhatsApp',
53
+ email: 'Email',
54
+ hours: 'Hours',
55
+ hours_text: 'Mon–Sun, 10:00–19:00',
56
+ app: 'Get Our App',
57
+
58
+ // Subscribe
59
+ subscribe: 'Subscribe',
60
+ subscribe_text: 'Get updates on new equipment and special offers',
61
+ email_placeholder: 'Enter your email',
62
+ follow: 'Follow Us',
63
+
64
+ // Footer
65
+ year: '2025 ',
66
+ heart: "❤",
67
+ copyright: 'Three Steps Studio Ltd. All Rights Reserved.',
68
+ ozdao: 'Builded in OZ DAO',
69
+
70
+ // Contact info
71
+ phoneNumber: '+44 77 7878 4893',
72
+ emailAddress: "info{'@'}3stepsprod.com",
73
+
74
+ // Navigation columns
75
+ navigationColumns: [
76
+ {
77
+ sections: [
78
+ {
79
+ title: 'Equipment',
80
+ items: [
81
+ { name: 'Cameras', url: 'products/categories/cameras' },
82
+ { name: 'Lighting', url: 'products/categories/lighting-kits' },
83
+ { name: 'Stabilizers', url: 'products/categories/stabilization-motion' },
84
+ { name: 'Accessories', url: 'products/categories/accessories' }
85
+ ]
86
+ },
87
+ {
88
+ title: 'Services',
89
+ items: [
90
+ { name: 'Kits & Packages', url: 'products/categories/kits-packages' },
91
+ { name: 'Studio Hire', url: 'products/categories/studio-hire' },
92
+ { name: 'Delivery', url: 'products/categories/delivery' },
93
+ { name: 'Production Help', url: 'products/categories/production-help' }
94
+ ]
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ sections: [
100
+ {
101
+ title: 'Company',
102
+ items: [
103
+ { name: 'About Us', url: 'pages/about' },
104
+ { name: 'Contact', url: 'pages/contact' },
105
+ { name: 'FAQ', url: 'pages/faq' },
106
+ { name: 'Blog', url: '/community' }
107
+ ]
108
+ },
109
+ {
110
+ title: 'Legal',
111
+ items: [
112
+ { name: 'Privacy Policy', url: 'pages/privacy-policy' },
113
+ { name: 'Cookie Policy', url: 'pages/cookie-policy' },
114
+ { name: 'Terms of Use', url: 'pages/terms-of-use' },
115
+ { name: 'EULA', url: 'pages/eula' }
116
+ ]
117
+ }
118
+ ]
119
+ }
120
+ ],
121
+
122
+ // Social links
123
+ socialLinks: [
124
+ {
125
+ name: 'IconInstagram',
126
+ url: 'https://www.instagram.com/3stepsprod'
127
+ },
128
+ {
129
+ name: 'IconYoutube',
130
+ url: 'https://www.youtube.com/@threestepsproduction'
131
+ },
132
+ {
133
+ name: 'IconWhatsapp',
134
+ url: 'https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0'
135
+ }
136
+ ]
137
+ }
138
+ }
139
+ }
140
+
141
+ const { t, te, tm } = useI18n({
142
+ useScope: 'global',
143
+ messages: text.messages
144
+ })
145
+
146
+ // Component mapping for social icons
147
+ const iconComponents = {
148
+ IconInstagram,
149
+ IconFacebook,
150
+ IconLinkedin,
151
+ IconYoutube,
152
+ IconWhatsapp
153
+ }
154
+ </script>
155
+
156
+ <template>
157
+ <footer
158
+ class="
159
+ w-100
160
+ br-t br-solid
161
+ mobile:t-center
162
+ "
163
+ :class="{
164
+ 't-black bg-white br-light': theme === 'light',
165
+ 't-white bg-black br-dark': theme === 'dark'
166
+ }"
167
+ >
168
+ <div class="pd-medium">
169
+ <!-- Top Section -->
170
+ <component
171
+ v-if="logotype"
172
+ :is="logotype"
173
+ @click="router.push({ path: '/' })"
174
+ :theme="theme"
175
+ class="cursor-pointer h-3r mn-b-medium"
176
+ />
177
+
178
+ <div class="grid cols-3-footer tablet:cols-2 mobile:cols-1 gap-extra mobile:gap-big">
179
+
180
+ <!-- Contact Block -->
181
+ <div class="flex flex-column mobile:flex-h-center w-max-15r mobile:mn-auto">
182
+ <p class="p-semi t-medium mn-b-semi">{{ t('description') }}</p>
183
+
184
+ <div class="mn-b-semi mobile:flex-v-center flex flex-column gap-small">
185
+ <a
186
+ :href="`tel:${t('phoneNumber').replace(/\s/g, '')}`"
187
+ class="flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70"
188
+ :class="theme === 'light' ? 't-black' : 't-white'"
189
+ >
190
+ <IconPhone class="i-regular" :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'" />
191
+ <span class="t-small">{{ t('phoneNumber') }}</span>
192
+ </a>
193
+
194
+ <a
195
+ :href="`mailto:${t('emailAddress')}`"
196
+ class="flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70"
197
+ :class="theme === 'light' ? 't-black' : 't-white'"
198
+ >
199
+ <IconEmail class="i-regular" :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'" />
200
+ <span class="t-small">{{ t('emailAddress') }}</span>
201
+ </a>
202
+
203
+ <div class="flex mn-b-micro gap-micro flex-v-center">
204
+ <IconTime class="i-regular" :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'" />
205
+ <span class="t-small">{{ t('hours_text') }}</span>
206
+ </div>
207
+ </div>
208
+
209
+ <h4 class="h5 t-medium mn-b-regular">{{ t('app') }}</h4>
210
+ <div class="w-100 flex-nowrap flex gap-thin">
211
+ <a
212
+ v-if="te('linkAppStore') || te('label')"
213
+ :href="te('linkAppStore') ? t('linkAppStore') : null"
214
+ :target="te('linkAppStore') ? '_blank' : null"
215
+ class="pos-relative w-100 h-100"
216
+ >
217
+ <span
218
+ v-if="te('label')"
219
+ class="z-index-2 radius-medium bg-main t-medium uppercase pd-thin pos-absolute pos-r-10-negative pos-t-10-negative"
220
+ >
221
+ {{ t('label') }}
222
+ </span>
223
+ <LabelAppStore class="w-100 h-max" alt="Download on App Store"/>
224
+ </a>
225
+
226
+ <a
227
+ v-if="te('linkGooglePlay') || te('label')"
228
+ :href="te('linkGooglePlay') ? t('linkGooglePlay') : null"
229
+ :target="te('linkGooglePlay') ? '_blank' : null"
230
+ class="pos-relative w-100 h-100"
231
+ >
232
+ <span
233
+ v-if="te('label')"
234
+ class="z-index-2 pd-thin radius-medium bg-main t-medium uppercase pos-absolute pos-r-10-negative pos-t-10-negative"
235
+ >
236
+ {{ t('label') }}
237
+ </span>
238
+ <LabelGooglePlay class="w-100 h-max" alt="Download on Google Play"/>
239
+ </a>
240
+ </div>
241
+ </div>
242
+
243
+ <!-- Navigation Columns -->
244
+ <div class="cols-2 gap-big">
245
+ <div v-for="(column, colIndex) in tm('navigationColumns')" :key="colIndex" class="flex flex-column gap-medium">
246
+ <div v-for="(section, sectionIndex) in column.sections" :key="sectionIndex" class="">
247
+ <h4 class="h5 t-medium mn-b-regular">{{ section.title }}</h4>
248
+ <nav>
249
+ <ul class="flex flex-column gap-thin">
250
+ <li v-for="item in section.items" :key="item.url">
251
+ <router-link
252
+ :to="`/${item.url}`"
253
+ class="t-small transition-opacity hover-opacity-70"
254
+ :class="theme === 'light' ? 't-black' : 't-white'"
255
+ >
256
+ {{ item.name }}
257
+ </router-link>
258
+ </li>
259
+ </ul>
260
+ </nav>
261
+ </div>
262
+ </div>
263
+ </div>
264
+
265
+ <!-- Subscribe Block -->
266
+ <div class="col">
267
+ <h4 class="h5 t-medium mn-b-regular">{{ t('subscribe') }}</h4>
268
+ <p class="t-small mn-b-small t-transp">{{ t('subscribe_text') }}</p>
269
+
270
+ <FieldSubscribeNewsletter
271
+ :action="false"
272
+ fieldName="footer-newsletter"
273
+ fieldId="footer-newsletter-email"
274
+ class="d-inline-flex mn-b-medium bg-light t-black w-100"
275
+ />
276
+
277
+ <h4 class="h5 t-medium mn-b-regular">{{ t('follow') }}</h4>
278
+ <!-- Social Links -->
279
+ <div class="flex mobile:flex-h-center gap-thin">
280
+ <a
281
+ v-for="social in tm('socialLinks')"
282
+ :key="social.name"
283
+ :href="social.url"
284
+ target="_blank"
285
+ class="
286
+ w-3r h-3r
287
+ flex flex-center
288
+ radius-small
289
+ bg-light
290
+ transition-opacity
291
+ hover-opacity-70
292
+ "
293
+ >
294
+ <component
295
+ :is="iconComponents[social.name]"
296
+ class="i-semi"
297
+ :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'"
298
+ />
299
+ </a>
300
+ </div>
301
+ </div>
302
+ </div>
303
+ </div>
304
+
305
+ <!-- Bottom Section -->
306
+ <div class="
307
+ pd-medium
308
+ br-t br-solid
309
+ flex flex-justify-between flex-v-center
310
+ flex-nowrap
311
+ mobile:flex-column mobile:gap-small
312
+ mobile:t-center
313
+ "
314
+ :class="{
315
+ 'br-light': theme === 'light',
316
+ 'br-dark': theme === 'dark'
317
+ }"
318
+ >
319
+ <!-- Copyright -->
320
+ <p class="t-small t-medium uppercase mobile:t-center">
321
+ {{ t('year') }}
322
+ <span class="t-main copyleft">{{ t('heart') }}</span>
323
+ {{ t('copyright') }}
324
+ </p>
325
+
326
+ <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">
327
+ <Logotype class="h-1r w-auto"/>
328
+ <span>{{ t('ozdao') }}</span>
329
+ </a>
330
+ </div>
331
+ </footer>
332
+ </template>
333
+
334
+ <style lang="scss">
335
+ .cols-3-footer {
336
+ grid-template-columns: 5fr 7fr 4fr;
337
+ }
338
+ </style>
@@ -15,11 +15,14 @@ import IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';
15
15
  import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue';
16
16
 
17
17
  import IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue'
18
- import instagram from '@martyrs/src/modules/icons/socials/instagram.vue';
19
- import facebook from '@martyrs/src/modules/icons/socials/facebook.vue';
20
- import linkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'
21
- import youtube from '@martyrs/src/modules/icons/socials/youtube.vue'
22
- import whatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'
18
+ import IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue';
19
+ import IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue';
20
+ import IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'
21
+ import IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'
22
+ import IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'
23
+
24
+ import Logotype from '@martyrs/src/modules/icons/logos/Logotype.vue'
25
+
23
26
 
24
27
  // Props
25
28
  const props = defineProps({
@@ -41,8 +44,8 @@ const text = {
41
44
  locale: 'en',
42
45
  messages: {
43
46
  en: {
44
- linkAppStore: '2',
45
- linkGooglePlay: '1',
47
+ linkAppStore: 'https://play.google.com/store/apps/details?id=com.threestepsrental.app',
48
+ linkGooglePlay: 'https://play.google.com/store/apps/details?id=com.threestepsrental.app',
46
49
  // Contact
47
50
  description: "3SR – Premium Video Gear Rentals for Filmmakers and Content Creators",
48
51
  contact: 'Contact',
@@ -61,12 +64,12 @@ const text = {
61
64
  // Footer
62
65
  year: '2025 ',
63
66
  heart: "❤",
64
- copyright: 'Three Steps Studio Ltd. ',
65
- ozdao: 'Builded with love in',
67
+ copyright: 'Three Steps Studio Ltd. All Rights Reserved.',
68
+ ozdao: 'Builded in OZ DAO',
66
69
 
67
70
  // Contact info
68
71
  phoneNumber: '+44 77 7878 4893',
69
- emailAddress: 'info@3stepsprod.com',
72
+ emailAddress: "info{'@'}3stepsprod.com",
70
73
 
71
74
  // Navigation columns
72
75
  navigationColumns: [
@@ -75,19 +78,19 @@ const text = {
75
78
  {
76
79
  title: 'Equipment',
77
80
  items: [
78
- { name: 'Cameras', url: 'cameras' },
79
- { name: 'Lighting', url: 'lighting' },
80
- { name: 'Stabilizers', url: 'stabilizers' },
81
- { name: 'Accessories', url: 'accessories' }
81
+ { name: 'Cameras', url: 'products/categories/cameras' },
82
+ { name: 'Lighting', url: 'products/categories/lighting-kits' },
83
+ { name: 'Stabilizers', url: 'products/categories/stabilization-motion' },
84
+ { name: 'Accessories', url: 'products/categories/accessories' }
82
85
  ]
83
86
  },
84
87
  {
85
88
  title: 'Services',
86
89
  items: [
87
- { name: 'Kits & Packages', url: 'kits-packages' },
88
- { name: 'Studio Hire', url: 'studio-hire' },
89
- { name: 'Delivery', url: 'delivery' },
90
- { name: 'Production Help', url: 'production-help' }
90
+ { name: 'Kits & Packages', url: 'products/categories/kits-packages' },
91
+ { name: 'Studio Hire', url: 'products/categories/studio-hire' },
92
+ { name: 'Delivery', url: 'products/categories/delivery' },
93
+ { name: 'Production Help', url: 'products/categories/production-help' }
91
94
  ]
92
95
  }
93
96
  ]
@@ -97,19 +100,19 @@ const text = {
97
100
  {
98
101
  title: 'Company',
99
102
  items: [
100
- { name: 'About Us', url: 'about' },
101
- { name: 'Contact', url: 'contact' },
102
- { name: 'FAQ', url: 'faq' },
103
- { name: 'Blog', url: 'blog' }
103
+ { name: 'About Us', url: 'pages/about' },
104
+ { name: 'Contact', url: 'pages/contact' },
105
+ { name: 'FAQ', url: 'pages/faq' },
106
+ { name: 'Blog', url: '/community' }
104
107
  ]
105
108
  },
106
109
  {
107
110
  title: 'Legal',
108
111
  items: [
109
- { name: 'Privacy Policy', url: 'privacy-policy' },
110
- { name: 'Cookie Policy', url: 'cookie-policy' },
111
- { name: 'Terms of Use', url: 'terms-of-use' },
112
- { name: 'EULA', url: 'eula' }
112
+ { name: 'Privacy Policy', url: 'pages/privacy-policy' },
113
+ { name: 'Cookie Policy', url: 'pages/cookie-policy' },
114
+ { name: 'Terms of Use', url: 'pages/terms-of-use' },
115
+ { name: 'EULA', url: 'pages/eula' }
113
116
  ]
114
117
  }
115
118
  ]
@@ -119,36 +122,40 @@ const text = {
119
122
  // Social links
120
123
  socialLinks: [
121
124
  {
122
- name: 'Instagram',
123
- url: 'https://www.instagram.com/3stepsprod',
124
- icon: instagram
125
+ name: 'IconInstagram',
126
+ url: 'https://www.instagram.com/3stepsprod'
125
127
  },
126
128
  {
127
- name: 'Youtube',
128
- url: 'https://www.youtube.com/@threestepsproduction',
129
- icon: youtube
129
+ name: 'IconYoutube',
130
+ url: 'https://www.youtube.com/@threestepsproduction'
130
131
  },
131
132
  {
132
- name: 'WhatsApp',
133
- url: 'https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0',
134
- icon: whatsapp
133
+ name: 'IconWhatsapp',
134
+ url: 'https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0'
135
135
  }
136
136
  ]
137
137
  }
138
138
  }
139
139
  }
140
140
 
141
- const { t, te, tm } = useI18n(text)
141
+ const { t, te, tm } = useI18n({
142
+ useScope: 'global',
143
+ messages: text.messages
144
+ })
142
145
 
143
- // Get columns and social links from translations
144
- const navigationColumns = computed(() => tm('navigationColumns'))
145
- const socialLinks = computed(() => tm('socialLinks'))
146
+ // Component mapping for social icons
147
+ const iconComponents = {
148
+ IconInstagram,
149
+ IconFacebook,
150
+ IconLinkedin,
151
+ IconYoutube,
152
+ IconWhatsapp
153
+ }
146
154
  </script>
147
155
 
148
156
  <template>
149
157
  <footer
150
158
  class="
151
- pd-medium pd-t-large
152
159
  w-100
153
160
  br-t br-solid
154
161
  "
@@ -157,8 +164,8 @@ const socialLinks = computed(() => tm('socialLinks'))
157
164
  't-white bg-black br-dark': theme === 'dark'
158
165
  }"
159
166
  >
160
- <!-- Top Section -->
161
- <div class="container-wide">
167
+ <div class="pd-medium">
168
+ <!-- Top Section -->
162
169
  <component
163
170
  v-if="logotype"
164
171
  :is="logotype"
@@ -167,7 +174,7 @@ const socialLinks = computed(() => tm('socialLinks'))
167
174
  class="cursor-pointer h-3r mn-b-medium"
168
175
  />
169
176
 
170
- <div class="grid cols-4-footer tablet:cols-2 mobile:cols-1 gap-extra mn-b-big">
177
+ <div class="grid cols-3-footer tablet:cols-2 mobile:cols-1 gap-extra mobile:gap-big">
171
178
 
172
179
  <!-- Contact Block -->
173
180
  <div class="col w-max-15r">
@@ -233,22 +240,24 @@ const socialLinks = computed(() => tm('socialLinks'))
233
240
  </div>
234
241
 
235
242
  <!-- Navigation Columns -->
236
- <div v-for="(column, colIndex) in navigationColumns" :key="colIndex" class="col">
237
- <div v-for="(section, sectionIndex) in column.sections" :key="sectionIndex">
238
- <h4 class="h5 t-medium mn-b-regular" :class="sectionIndex > 0 ? 'mn-t-medium' : ''">{{ section.title }}</h4>
239
- <nav>
240
- <ul class="flex flex-column gap-thin">
241
- <li v-for="item in section.items" :key="item.url">
242
- <router-link
243
- :to="`/${item.url}`"
244
- class="t-small transition-opacity hover-opacity-70"
245
- :class="theme === 'light' ? 't-black' : 't-white'"
246
- >
247
- {{ item.name }}
248
- </router-link>
249
- </li>
250
- </ul>
251
- </nav>
243
+ <div class="cols-2 gap-big">
244
+ <div v-for="(column, colIndex) in tm('navigationColumns')" :key="colIndex" class="flex flex-column gap-medium">
245
+ <div v-for="(section, sectionIndex) in column.sections" :key="sectionIndex" class="">
246
+ <h4 class="h5 t-medium mn-b-regular">{{ section.title }}</h4>
247
+ <nav>
248
+ <ul class="flex flex-column gap-thin">
249
+ <li v-for="item in section.items" :key="item.url">
250
+ <router-link
251
+ :to="`/${item.url}`"
252
+ class="t-small transition-opacity hover-opacity-70"
253
+ :class="theme === 'light' ? 't-black' : 't-white'"
254
+ >
255
+ {{ item.name }}
256
+ </router-link>
257
+ </li>
258
+ </ul>
259
+ </nav>
260
+ </div>
252
261
  </div>
253
262
  </div>
254
263
 
@@ -266,9 +275,9 @@ const socialLinks = computed(() => tm('socialLinks'))
266
275
 
267
276
  <h4 class="h5 t-medium mn-b-regular">{{ t('follow') }}</h4>
268
277
  <!-- Social Links -->
269
- <div class="flex gap-small mn-b-medium">
278
+ <div class="flex gap-thin">
270
279
  <a
271
- v-for="social in socialLinks"
280
+ v-for="social in tm('socialLinks')"
272
281
  :key="social.name"
273
282
  :href="social.url"
274
283
  target="_blank"
@@ -282,7 +291,7 @@ const socialLinks = computed(() => tm('socialLinks'))
282
291
  "
283
292
  >
284
293
  <component
285
- :is="social.icon"
294
+ :is="iconComponents[social.name]"
286
295
  class="i-semi"
287
296
  :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'"
288
297
  />
@@ -290,47 +299,43 @@ const socialLinks = computed(() => tm('socialLinks'))
290
299
  </div>
291
300
  </div>
292
301
  </div>
302
+ </div>
293
303
 
294
- <!-- Bottom Section -->
295
- <div class="
296
- pd-t-medium
297
- br-t br-solid
298
- flex flex-justify-between flex-v-center
299
- mobile:flex-column mobile:gap-small
300
- "
301
- :class="{
302
- 'br-light': theme === 'light',
303
- 'br-dark': theme === 'dark'
304
- }"
305
- >
306
- <!-- Copyright -->
307
- <p class="t-small t-medium uppercase mobile:t-center">
308
- {{ t('year') }}
309
- <span class="t-main copyleft">{{ t('heart') }}</span>
310
- {{ t('copyright') }}
311
- {{ t('ozdao') }}
312
- <a href="https://ozdao.dev" class="t-main" target="_blank" rel="noopener">OZ DAO.</a>
313
- </p>
314
- </div>
304
+ <!-- Bottom Section -->
305
+ <div class="
306
+ pd-medium
307
+ br-t
308
+ br-solid
309
+ flex
310
+ flex-justify-between
311
+ flex-v-center
312
+ flex-nowrap
313
+ mobile:flex-column
314
+ mobile:flex-align-start
315
+ mobile:gap-small
316
+ "
317
+ :class="{
318
+ 'br-light': theme === 'light',
319
+ 'br-dark': theme === 'dark'
320
+ }"
321
+ >
322
+ <!-- Copyright -->
323
+ <p class="t-small t-medium uppercase">
324
+ {{ t('year') }}
325
+ <span class="t-main copyleft">{{ t('heart') }}</span>
326
+ {{ t('copyright') }}
327
+ </p>
328
+
329
+ <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">
330
+ <Logotype class="h-1r w-auto"/>
331
+ <span>{{ t('ozdao') }}</span>
332
+ </a>
315
333
  </div>
316
334
  </footer>
317
335
  </template>
318
336
 
319
- <style lang="scss" scoped>
320
- .cols-4-footer {
321
- grid-template-columns: 5fr 3fr 3fr 4fr;
322
- }
323
- footer {
324
- transition: background-color 0.3s ease, color 0.3s ease;
325
-
326
- a {
327
- text-decoration: none;
328
- }
329
-
330
- ul {
331
- list-style: none;
332
- padding: 0;
333
- margin: 0;
334
- }
337
+ <style lang="scss">
338
+ .cols-3-footer {
339
+ grid-template-columns: 5fr 7fr 4fr;
335
340
  }
336
341
  </style>
@@ -105,7 +105,7 @@
105
105
  :is="logotype"
106
106
  @click="router.push({ path: '/' })"
107
107
  :theme="theme"
108
- class="cursor-pointer"
108
+ class="cursor-pointer h-2r"
109
109
  />
110
110
 
111
111
  <button
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <svg class="h-2r w-auto" width="270" height="300" viewBox="0 0 270 300" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <svg class="w-auto" width="270" height="300" viewBox="0 0 270 300" fill="none" xmlns="http://www.w3.org/2000/svg">
3
3
  <g clip-path="url(#clip0)">
4
4
  <path fill-rule="evenodd" clip-rule="evenodd" d="M264.626 52.2791C265.531 57.2858 266 62.4066 266 67.6155C266 125.882 207.349 173.116 135 173.116C62.6507 173.116 4 125.882 4 67.6155C4 62.4066 4.46875 57.2858 5.37413 52.2791C11.0997 32.6306 21.1714 14.8341 34.4789 0C34.1621 2.17658 34 4.38345 34 6.61562C34 43.8948 79.2192 74.1156 135 74.1156C190.781 74.1156 236 43.8948 236 6.61562C236 4.38345 235.838 2.17659 235.521 5.29254e-06C248.829 14.8341 258.9 32.6306 264.626 52.2791Z" fill="#00FF88"/>
5
5
  <path d="M270 165C270 239.558 209.558 300 135 300C60.4416 300 0 239.558 0 165C0 90.4416 60.4416 30 135 30C209.558 30 270 90.4416 270 165Z" fill="#00FF88"/>