@ozdao/martyrs 0.2.545 → 0.2.547
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.
- package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/{Feed.vue2.cjs → Feed.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Feed/{Feed.vue2.js.map → Feed.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Feed/{Feed.vue2.js → Feed.vue.js} +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue2.cjs → Field.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Field/{Field.vue2.js.map → Field.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.cjs → BlockTags.vue.cjs} +2 -2
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.js.map → BlockTags.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.js → BlockTags.vue.js} +2 -2
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -0
- package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue2.cjs → UploadImage.vue.cjs} +2 -2
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue2.js.map → UploadImage.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue2.js → UploadImage.vue.js} +2 -2
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +5 -5
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +5 -5
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +2 -2
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +6 -6
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +6 -6
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +4 -4
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +2 -2
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +5 -5
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +5 -5
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +25 -117
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +25 -117
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +2 -2
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +2 -2
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +4 -4
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/router/notifications.router.cjs +1 -1
- package/dist/martyrs/src/modules/notifications/router/notifications.router.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/router/notifications.router.js +1 -1
- package/dist/martyrs/src/modules/notifications/router/notifications.router.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +4 -4
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +6 -6
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +6 -6
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +5 -5
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +4 -4
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/package.json +1 -1
- package/src/modules/globals/TASK.MD +9 -102
- package/src/modules/globals/views/components/partials/Footer.vue +27 -127
- package/src/modules/notifications/router/notifications.router.js +1 -1
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs.map +0 -1
|
@@ -70,100 +70,8 @@ const _sfc_main = {
|
|
|
70
70
|
setup(__props) {
|
|
71
71
|
const router = vueRouter.useRouter();
|
|
72
72
|
vueRouter.useRoute();
|
|
73
|
-
const text = {
|
|
74
|
-
messages: {
|
|
75
|
-
en: {
|
|
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",
|
|
78
|
-
// Contact
|
|
79
|
-
description: "3SR – Premium Video Gear Rentals for Filmmakers and Content Creators",
|
|
80
|
-
contact: "Contact",
|
|
81
|
-
phone: "Phone / WhatsApp",
|
|
82
|
-
email: "Email",
|
|
83
|
-
hours: "Hours",
|
|
84
|
-
hours_text: "Mon–Sun, 10:00–19:00",
|
|
85
|
-
app: "Get Our App",
|
|
86
|
-
// Subscribe
|
|
87
|
-
subscribe: "Subscribe",
|
|
88
|
-
subscribe_text: "Get updates on new equipment and special offers",
|
|
89
|
-
email_placeholder: "Enter your email",
|
|
90
|
-
follow: "Follow Us",
|
|
91
|
-
// Footer
|
|
92
|
-
year: "2025 ",
|
|
93
|
-
heart: "❤",
|
|
94
|
-
copyright: "Three Steps Studio Ltd. All Rights Reserved.",
|
|
95
|
-
ozdao: "Builded in OZ DAO",
|
|
96
|
-
// Contact info
|
|
97
|
-
phoneNumber: "+44 77 7878 4893",
|
|
98
|
-
emailAddress: "info{'@'}3stepsprod.com",
|
|
99
|
-
// Navigation columns
|
|
100
|
-
navigationColumns: [
|
|
101
|
-
{
|
|
102
|
-
sections: [
|
|
103
|
-
{
|
|
104
|
-
title: "Equipment",
|
|
105
|
-
items: [
|
|
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" }
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
title: "Services",
|
|
114
|
-
items: [
|
|
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" }
|
|
119
|
-
]
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
sections: [
|
|
125
|
-
{
|
|
126
|
-
title: "Company",
|
|
127
|
-
items: [
|
|
128
|
-
{ name: "About Us", url: "pages/about" },
|
|
129
|
-
{ name: "Contact", url: "pages/contact" },
|
|
130
|
-
{ name: "FAQ", url: "pages/faq" },
|
|
131
|
-
{ name: "Blog", url: "/community" }
|
|
132
|
-
]
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
title: "Legal",
|
|
136
|
-
items: [
|
|
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" }
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
]
|
|
144
|
-
}
|
|
145
|
-
],
|
|
146
|
-
// Social links
|
|
147
|
-
socialLinks: [
|
|
148
|
-
{
|
|
149
|
-
name: "IconInstagram",
|
|
150
|
-
url: "https://www.instagram.com/3stepsprod"
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
name: "IconYoutube",
|
|
154
|
-
url: "https://www.youtube.com/@threestepsproduction"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
name: "IconWhatsapp",
|
|
158
|
-
url: "https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0"
|
|
159
|
-
}
|
|
160
|
-
]
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
73
|
const { t, te, tm } = vueI18n.useI18n({
|
|
165
|
-
useScope: "global"
|
|
166
|
-
messages: text.messages
|
|
74
|
+
useScope: "global"
|
|
167
75
|
});
|
|
168
76
|
const iconComponents = {
|
|
169
77
|
IconInstagram: instagram.default,
|
|
@@ -189,57 +97,57 @@ const _sfc_main = {
|
|
|
189
97
|
}, null, 8, ["theme"])) : vue.createCommentVNode("", true),
|
|
190
98
|
vue.createElementVNode("div", _hoisted_2, [
|
|
191
99
|
vue.createElementVNode("div", _hoisted_3, [
|
|
192
|
-
vue.createElementVNode("p", _hoisted_4, vue.toDisplayString(vue.unref(t)("description")), 1),
|
|
100
|
+
vue.createElementVNode("p", _hoisted_4, vue.toDisplayString(vue.unref(t)("footer.description")), 1),
|
|
193
101
|
vue.createElementVNode("div", _hoisted_5, [
|
|
194
102
|
vue.createElementVNode("a", {
|
|
195
|
-
href: `tel:${vue.unref(t)("phoneNumber").replace(/\s/g, "")}`,
|
|
103
|
+
href: `tel:${vue.unref(t)("footer.phoneNumber").replace(/\s/g, "")}`,
|
|
196
104
|
class: vue.normalizeClass(["flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70", __props.theme === "light" ? "t-black" : "t-white"])
|
|
197
105
|
}, [
|
|
198
106
|
vue.createVNode(IconPhone.default, {
|
|
199
107
|
class: "i-regular",
|
|
200
108
|
fill: __props.theme === "light" ? "rgb(var(--black))" : "rgb(var(--white))"
|
|
201
109
|
}, null, 8, ["fill"]),
|
|
202
|
-
vue.createElementVNode("span", _hoisted_7, vue.toDisplayString(vue.unref(t)("phoneNumber")), 1)
|
|
110
|
+
vue.createElementVNode("span", _hoisted_7, vue.toDisplayString(vue.unref(t)("footer.phoneNumber")), 1)
|
|
203
111
|
], 10, _hoisted_6),
|
|
204
112
|
vue.createElementVNode("a", {
|
|
205
|
-
href: `mailto:${vue.unref(t)("emailAddress")}`,
|
|
113
|
+
href: `mailto:${vue.unref(t)("footer.emailAddress")}`,
|
|
206
114
|
class: vue.normalizeClass(["flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70", __props.theme === "light" ? "t-black" : "t-white"])
|
|
207
115
|
}, [
|
|
208
116
|
vue.createVNode(IconEmail.default, {
|
|
209
117
|
class: "i-regular",
|
|
210
118
|
fill: __props.theme === "light" ? "rgb(var(--black))" : "rgb(var(--white))"
|
|
211
119
|
}, null, 8, ["fill"]),
|
|
212
|
-
vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(vue.unref(t)("emailAddress")), 1)
|
|
120
|
+
vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(vue.unref(t)("footer.emailAddress")), 1)
|
|
213
121
|
], 10, _hoisted_8),
|
|
214
122
|
vue.createElementVNode("div", _hoisted_10, [
|
|
215
123
|
vue.createVNode(IconTime.default, {
|
|
216
124
|
class: "i-regular",
|
|
217
125
|
fill: __props.theme === "light" ? "rgb(var(--black))" : "rgb(var(--white))"
|
|
218
126
|
}, null, 8, ["fill"]),
|
|
219
|
-
vue.createElementVNode("span", _hoisted_11, vue.toDisplayString(vue.unref(t)("hours_text")), 1)
|
|
127
|
+
vue.createElementVNode("span", _hoisted_11, vue.toDisplayString(vue.unref(t)("footer.hours_text")), 1)
|
|
220
128
|
])
|
|
221
129
|
]),
|
|
222
|
-
vue.createElementVNode("h4", _hoisted_12, vue.toDisplayString(vue.unref(t)("app")), 1),
|
|
130
|
+
vue.createElementVNode("h4", _hoisted_12, vue.toDisplayString(vue.unref(t)("footer.app")), 1),
|
|
223
131
|
vue.createElementVNode("div", _hoisted_13, [
|
|
224
|
-
vue.unref(te)("linkAppStore") || vue.unref(te)("label") ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
132
|
+
vue.unref(te)("footer.linkAppStore") || vue.unref(te)("footer.label") ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
225
133
|
key: 0,
|
|
226
|
-
href: vue.unref(te)("linkAppStore") ? vue.unref(t)("linkAppStore") : null,
|
|
227
|
-
target: vue.unref(te)("linkAppStore") ? "_blank" : null,
|
|
134
|
+
href: vue.unref(te)("footer.linkAppStore") ? vue.unref(t)("footer.linkAppStore") : null,
|
|
135
|
+
target: vue.unref(te)("footer.linkAppStore") ? "_blank" : null,
|
|
228
136
|
class: "pos-relative w-100 h-100"
|
|
229
137
|
}, [
|
|
230
|
-
vue.unref(te)("label") ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15, vue.toDisplayString(vue.unref(t)("label")), 1)) : vue.createCommentVNode("", true),
|
|
138
|
+
vue.unref(te)("footer.label") ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15, vue.toDisplayString(vue.unref(t)("footer.label")), 1)) : vue.createCommentVNode("", true),
|
|
231
139
|
vue.createVNode(LabelAppStore.default, {
|
|
232
140
|
class: "w-100 h-max",
|
|
233
141
|
alt: "Download on App Store"
|
|
234
142
|
})
|
|
235
143
|
], 8, _hoisted_14)) : vue.createCommentVNode("", true),
|
|
236
|
-
vue.unref(te)("linkGooglePlay") || vue.unref(te)("label") ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
144
|
+
vue.unref(te)("footer.linkGooglePlay") || vue.unref(te)("footer.label") ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
237
145
|
key: 1,
|
|
238
|
-
href: vue.unref(te)("linkGooglePlay") ? vue.unref(t)("linkGooglePlay") : null,
|
|
239
|
-
target: vue.unref(te)("linkGooglePlay") ? "_blank" : null,
|
|
146
|
+
href: vue.unref(te)("footer.linkGooglePlay") ? vue.unref(t)("footer.linkGooglePlay") : null,
|
|
147
|
+
target: vue.unref(te)("footer.linkGooglePlay") ? "_blank" : null,
|
|
240
148
|
class: "pos-relative w-100 h-100"
|
|
241
149
|
}, [
|
|
242
|
-
vue.unref(te)("label") ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_17, vue.toDisplayString(vue.unref(t)("label")), 1)) : vue.createCommentVNode("", true),
|
|
150
|
+
vue.unref(te)("footer.label") ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_17, vue.toDisplayString(vue.unref(t)("footer.label")), 1)) : vue.createCommentVNode("", true),
|
|
243
151
|
vue.createVNode(LabelGooglePlay.default, {
|
|
244
152
|
class: "w-100 h-max",
|
|
245
153
|
alt: "Download on Google Play"
|
|
@@ -248,7 +156,7 @@ const _sfc_main = {
|
|
|
248
156
|
])
|
|
249
157
|
]),
|
|
250
158
|
vue.createElementVNode("div", _hoisted_18, [
|
|
251
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("navigationColumns"), (column, colIndex) => {
|
|
159
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("footer.navigationColumns"), (column, colIndex) => {
|
|
252
160
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
253
161
|
key: colIndex,
|
|
254
162
|
class: "flex flex-column gap-medium"
|
|
@@ -284,17 +192,17 @@ const _sfc_main = {
|
|
|
284
192
|
}), 128))
|
|
285
193
|
]),
|
|
286
194
|
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),
|
|
195
|
+
vue.createElementVNode("h4", _hoisted_22, vue.toDisplayString(vue.unref(t)("footer.subscribe")), 1),
|
|
196
|
+
vue.createElementVNode("p", _hoisted_23, vue.toDisplayString(vue.unref(t)("footer.subscribe_text")), 1),
|
|
289
197
|
vue.createVNode(FieldSubscribeNewsletter.default, {
|
|
290
198
|
action: "",
|
|
291
199
|
fieldName: "footer-newsletter",
|
|
292
200
|
fieldId: "footer-newsletter-email",
|
|
293
201
|
class: "d-inline-flex mn-b-medium bg-light t-black w-100"
|
|
294
202
|
}),
|
|
295
|
-
vue.createElementVNode("h4", _hoisted_24, vue.toDisplayString(vue.unref(t)("follow")), 1),
|
|
203
|
+
vue.createElementVNode("h4", _hoisted_24, vue.toDisplayString(vue.unref(t)("footer.follow")), 1),
|
|
296
204
|
vue.createElementVNode("div", _hoisted_25, [
|
|
297
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("socialLinks"), (social) => {
|
|
205
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("footer.socialLinks"), (social) => {
|
|
298
206
|
return vue.openBlock(), vue.createElementBlock("a", {
|
|
299
207
|
key: social.name,
|
|
300
208
|
href: social.url,
|
|
@@ -318,13 +226,13 @@ const _sfc_main = {
|
|
|
318
226
|
}])
|
|
319
227
|
}, [
|
|
320
228
|
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)
|
|
229
|
+
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("footer.year")) + " ", 1),
|
|
230
|
+
vue.createElementVNode("span", _hoisted_28, vue.toDisplayString(vue.unref(t)("footer.heart")), 1),
|
|
231
|
+
vue.createTextVNode(" " + vue.toDisplayString(vue.unref(t)("footer.copyright")), 1)
|
|
324
232
|
]),
|
|
325
233
|
vue.createElementVNode("a", _hoisted_29, [
|
|
326
234
|
vue.createVNode(Logotype.default, { class: "h-1r w-auto" }),
|
|
327
|
-
vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(t)("ozdao")), 1)
|
|
235
|
+
vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(t)("footer.ozdao")), 1)
|
|
328
236
|
])
|
|
329
237
|
], 2)
|
|
330
238
|
], 2);
|
|
@@ -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 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=\"''\"\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":"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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\nconst { t, te, tm } = useI18n({\n useScope: 'global'\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('footer.description') }}</p>\n \n <div class=\"mn-b-semi flex flex-column gap-small\">\n <a \n :href=\"`tel:${t('footer.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('footer.phoneNumber') }}</span>\n </a>\n \n <a \n :href=\"`mailto:${t('footer.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('footer.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('footer.hours_text') }}</span>\n </div>\n </div>\n\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('footer.app') }}</h4>\n <div class=\"w-100 flex-nowrap flex gap-thin\">\n <a \n v-if=\"te('footer.linkAppStore') || te('footer.label')\"\n :href=\"te('footer.linkAppStore') ? t('footer.linkAppStore') : null\" \n :target=\"te('footer.linkAppStore') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('footer.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('footer.label') }}\n </span>\n <LabelAppStore class=\"w-100 h-max\" alt=\"Download on App Store\"/>\n </a>\n\n <a \n v-if=\"te('footer.linkGooglePlay') || te('footer.label')\"\n :href=\"te('footer.linkGooglePlay') ? t('footer.linkGooglePlay') : null\" \n :target=\"te('footer.linkGooglePlay') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('footer.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('footer.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('footer.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('footer.subscribe') }}</h4>\n <p class=\"t-small mn-b-small t-transp\">{{ t('footer.subscribe_text') }}</p>\n \n <FieldSubscribeNewsletter\n :action=\"''\"\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('footer.follow') }}</h4>\n <!-- Social Links -->\n <div class=\"flex gap-thin\">\n <a \n v-for=\"social in tm('footer.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('footer.year') }} \n <span class=\"t-main copyleft\">{{ t('footer.heart') }}</span> \n {{ t('footer.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('footer.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;AAEtB,UAAM,EAAE,GAAG,IAAI,GAAE,IAAKC,QAAAA,QAAQ;AAAA,MAC5B,UAAU;AAAA,IACZ,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -68,100 +68,8 @@ const _sfc_main = {
|
|
|
68
68
|
setup(__props) {
|
|
69
69
|
const router = useRouter();
|
|
70
70
|
useRoute();
|
|
71
|
-
const text = {
|
|
72
|
-
messages: {
|
|
73
|
-
en: {
|
|
74
|
-
linkAppStore: "https://play.google.com/store/apps/details?id=com.threestepsrental.app",
|
|
75
|
-
linkGooglePlay: "https://play.google.com/store/apps/details?id=com.threestepsrental.app",
|
|
76
|
-
// Contact
|
|
77
|
-
description: "3SR – Premium Video Gear Rentals for Filmmakers and Content Creators",
|
|
78
|
-
contact: "Contact",
|
|
79
|
-
phone: "Phone / WhatsApp",
|
|
80
|
-
email: "Email",
|
|
81
|
-
hours: "Hours",
|
|
82
|
-
hours_text: "Mon–Sun, 10:00–19:00",
|
|
83
|
-
app: "Get Our App",
|
|
84
|
-
// Subscribe
|
|
85
|
-
subscribe: "Subscribe",
|
|
86
|
-
subscribe_text: "Get updates on new equipment and special offers",
|
|
87
|
-
email_placeholder: "Enter your email",
|
|
88
|
-
follow: "Follow Us",
|
|
89
|
-
// Footer
|
|
90
|
-
year: "2025 ",
|
|
91
|
-
heart: "❤",
|
|
92
|
-
copyright: "Three Steps Studio Ltd. All Rights Reserved.",
|
|
93
|
-
ozdao: "Builded in OZ DAO",
|
|
94
|
-
// Contact info
|
|
95
|
-
phoneNumber: "+44 77 7878 4893",
|
|
96
|
-
emailAddress: "info{'@'}3stepsprod.com",
|
|
97
|
-
// Navigation columns
|
|
98
|
-
navigationColumns: [
|
|
99
|
-
{
|
|
100
|
-
sections: [
|
|
101
|
-
{
|
|
102
|
-
title: "Equipment",
|
|
103
|
-
items: [
|
|
104
|
-
{ name: "Cameras", url: "products/categories/cameras" },
|
|
105
|
-
{ name: "Lighting", url: "products/categories/lighting-kits" },
|
|
106
|
-
{ name: "Stabilizers", url: "products/categories/stabilization-motion" },
|
|
107
|
-
{ name: "Accessories", url: "products/categories/accessories" }
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
title: "Services",
|
|
112
|
-
items: [
|
|
113
|
-
{ name: "Kits & Packages", url: "products/categories/kits-packages" },
|
|
114
|
-
{ name: "Studio Hire", url: "products/categories/studio-hire" },
|
|
115
|
-
{ name: "Delivery", url: "products/categories/delivery" },
|
|
116
|
-
{ name: "Production Help", url: "products/categories/production-help" }
|
|
117
|
-
]
|
|
118
|
-
}
|
|
119
|
-
]
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
sections: [
|
|
123
|
-
{
|
|
124
|
-
title: "Company",
|
|
125
|
-
items: [
|
|
126
|
-
{ name: "About Us", url: "pages/about" },
|
|
127
|
-
{ name: "Contact", url: "pages/contact" },
|
|
128
|
-
{ name: "FAQ", url: "pages/faq" },
|
|
129
|
-
{ name: "Blog", url: "/community" }
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
title: "Legal",
|
|
134
|
-
items: [
|
|
135
|
-
{ name: "Privacy Policy", url: "pages/privacy-policy" },
|
|
136
|
-
{ name: "Cookie Policy", url: "pages/cookie-policy" },
|
|
137
|
-
{ name: "Terms of Use", url: "pages/terms-of-use" },
|
|
138
|
-
{ name: "EULA", url: "pages/eula" }
|
|
139
|
-
]
|
|
140
|
-
}
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
],
|
|
144
|
-
// Social links
|
|
145
|
-
socialLinks: [
|
|
146
|
-
{
|
|
147
|
-
name: "IconInstagram",
|
|
148
|
-
url: "https://www.instagram.com/3stepsprod"
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
name: "IconYoutube",
|
|
152
|
-
url: "https://www.youtube.com/@threestepsproduction"
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
name: "IconWhatsapp",
|
|
156
|
-
url: "https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0"
|
|
157
|
-
}
|
|
158
|
-
]
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
71
|
const { t, te, tm } = useI18n({
|
|
163
|
-
useScope: "global"
|
|
164
|
-
messages: text.messages
|
|
72
|
+
useScope: "global"
|
|
165
73
|
});
|
|
166
74
|
const iconComponents = {
|
|
167
75
|
IconInstagram: _sfc_main$8,
|
|
@@ -187,57 +95,57 @@ const _sfc_main = {
|
|
|
187
95
|
}, null, 8, ["theme"])) : createCommentVNode("", true),
|
|
188
96
|
createElementVNode("div", _hoisted_2, [
|
|
189
97
|
createElementVNode("div", _hoisted_3, [
|
|
190
|
-
createElementVNode("p", _hoisted_4, toDisplayString(unref(t)("description")), 1),
|
|
98
|
+
createElementVNode("p", _hoisted_4, toDisplayString(unref(t)("footer.description")), 1),
|
|
191
99
|
createElementVNode("div", _hoisted_5, [
|
|
192
100
|
createElementVNode("a", {
|
|
193
|
-
href: `tel:${unref(t)("phoneNumber").replace(/\s/g, "")}`,
|
|
101
|
+
href: `tel:${unref(t)("footer.phoneNumber").replace(/\s/g, "")}`,
|
|
194
102
|
class: normalizeClass(["flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70", __props.theme === "light" ? "t-black" : "t-white"])
|
|
195
103
|
}, [
|
|
196
104
|
createVNode(_sfc_main$1, {
|
|
197
105
|
class: "i-regular",
|
|
198
106
|
fill: __props.theme === "light" ? "rgb(var(--black))" : "rgb(var(--white))"
|
|
199
107
|
}, null, 8, ["fill"]),
|
|
200
|
-
createElementVNode("span", _hoisted_7, toDisplayString(unref(t)("phoneNumber")), 1)
|
|
108
|
+
createElementVNode("span", _hoisted_7, toDisplayString(unref(t)("footer.phoneNumber")), 1)
|
|
201
109
|
], 10, _hoisted_6),
|
|
202
110
|
createElementVNode("a", {
|
|
203
|
-
href: `mailto:${unref(t)("emailAddress")}`,
|
|
111
|
+
href: `mailto:${unref(t)("footer.emailAddress")}`,
|
|
204
112
|
class: normalizeClass(["flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70", __props.theme === "light" ? "t-black" : "t-white"])
|
|
205
113
|
}, [
|
|
206
114
|
createVNode(_sfc_main$2, {
|
|
207
115
|
class: "i-regular",
|
|
208
116
|
fill: __props.theme === "light" ? "rgb(var(--black))" : "rgb(var(--white))"
|
|
209
117
|
}, null, 8, ["fill"]),
|
|
210
|
-
createElementVNode("span", _hoisted_9, toDisplayString(unref(t)("emailAddress")), 1)
|
|
118
|
+
createElementVNode("span", _hoisted_9, toDisplayString(unref(t)("footer.emailAddress")), 1)
|
|
211
119
|
], 10, _hoisted_8),
|
|
212
120
|
createElementVNode("div", _hoisted_10, [
|
|
213
121
|
createVNode(IconTime, {
|
|
214
122
|
class: "i-regular",
|
|
215
123
|
fill: __props.theme === "light" ? "rgb(var(--black))" : "rgb(var(--white))"
|
|
216
124
|
}, null, 8, ["fill"]),
|
|
217
|
-
createElementVNode("span", _hoisted_11, toDisplayString(unref(t)("hours_text")), 1)
|
|
125
|
+
createElementVNode("span", _hoisted_11, toDisplayString(unref(t)("footer.hours_text")), 1)
|
|
218
126
|
])
|
|
219
127
|
]),
|
|
220
|
-
createElementVNode("h4", _hoisted_12, toDisplayString(unref(t)("app")), 1),
|
|
128
|
+
createElementVNode("h4", _hoisted_12, toDisplayString(unref(t)("footer.app")), 1),
|
|
221
129
|
createElementVNode("div", _hoisted_13, [
|
|
222
|
-
unref(te)("linkAppStore") || unref(te)("label") ? (openBlock(), createElementBlock("a", {
|
|
130
|
+
unref(te)("footer.linkAppStore") || unref(te)("footer.label") ? (openBlock(), createElementBlock("a", {
|
|
223
131
|
key: 0,
|
|
224
|
-
href: unref(te)("linkAppStore") ? unref(t)("linkAppStore") : null,
|
|
225
|
-
target: unref(te)("linkAppStore") ? "_blank" : null,
|
|
132
|
+
href: unref(te)("footer.linkAppStore") ? unref(t)("footer.linkAppStore") : null,
|
|
133
|
+
target: unref(te)("footer.linkAppStore") ? "_blank" : null,
|
|
226
134
|
class: "pos-relative w-100 h-100"
|
|
227
135
|
}, [
|
|
228
|
-
unref(te)("label") ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(unref(t)("label")), 1)) : createCommentVNode("", true),
|
|
136
|
+
unref(te)("footer.label") ? (openBlock(), createElementBlock("span", _hoisted_15, toDisplayString(unref(t)("footer.label")), 1)) : createCommentVNode("", true),
|
|
229
137
|
createVNode(LabelAppStore, {
|
|
230
138
|
class: "w-100 h-max",
|
|
231
139
|
alt: "Download on App Store"
|
|
232
140
|
})
|
|
233
141
|
], 8, _hoisted_14)) : createCommentVNode("", true),
|
|
234
|
-
unref(te)("linkGooglePlay") || unref(te)("label") ? (openBlock(), createElementBlock("a", {
|
|
142
|
+
unref(te)("footer.linkGooglePlay") || unref(te)("footer.label") ? (openBlock(), createElementBlock("a", {
|
|
235
143
|
key: 1,
|
|
236
|
-
href: unref(te)("linkGooglePlay") ? unref(t)("linkGooglePlay") : null,
|
|
237
|
-
target: unref(te)("linkGooglePlay") ? "_blank" : null,
|
|
144
|
+
href: unref(te)("footer.linkGooglePlay") ? unref(t)("footer.linkGooglePlay") : null,
|
|
145
|
+
target: unref(te)("footer.linkGooglePlay") ? "_blank" : null,
|
|
238
146
|
class: "pos-relative w-100 h-100"
|
|
239
147
|
}, [
|
|
240
|
-
unref(te)("label") ? (openBlock(), createElementBlock("span", _hoisted_17, toDisplayString(unref(t)("label")), 1)) : createCommentVNode("", true),
|
|
148
|
+
unref(te)("footer.label") ? (openBlock(), createElementBlock("span", _hoisted_17, toDisplayString(unref(t)("footer.label")), 1)) : createCommentVNode("", true),
|
|
241
149
|
createVNode(LabelGooglePlay, {
|
|
242
150
|
class: "w-100 h-max",
|
|
243
151
|
alt: "Download on Google Play"
|
|
@@ -246,7 +154,7 @@ const _sfc_main = {
|
|
|
246
154
|
])
|
|
247
155
|
]),
|
|
248
156
|
createElementVNode("div", _hoisted_18, [
|
|
249
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tm)("navigationColumns"), (column, colIndex) => {
|
|
157
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tm)("footer.navigationColumns"), (column, colIndex) => {
|
|
250
158
|
return openBlock(), createElementBlock("div", {
|
|
251
159
|
key: colIndex,
|
|
252
160
|
class: "flex flex-column gap-medium"
|
|
@@ -282,17 +190,17 @@ const _sfc_main = {
|
|
|
282
190
|
}), 128))
|
|
283
191
|
]),
|
|
284
192
|
createElementVNode("div", _hoisted_21, [
|
|
285
|
-
createElementVNode("h4", _hoisted_22, toDisplayString(unref(t)("subscribe")), 1),
|
|
286
|
-
createElementVNode("p", _hoisted_23, toDisplayString(unref(t)("subscribe_text")), 1),
|
|
193
|
+
createElementVNode("h4", _hoisted_22, toDisplayString(unref(t)("footer.subscribe")), 1),
|
|
194
|
+
createElementVNode("p", _hoisted_23, toDisplayString(unref(t)("footer.subscribe_text")), 1),
|
|
287
195
|
createVNode(_sfc_main$3, {
|
|
288
196
|
action: "",
|
|
289
197
|
fieldName: "footer-newsletter",
|
|
290
198
|
fieldId: "footer-newsletter-email",
|
|
291
199
|
class: "d-inline-flex mn-b-medium bg-light t-black w-100"
|
|
292
200
|
}),
|
|
293
|
-
createElementVNode("h4", _hoisted_24, toDisplayString(unref(t)("follow")), 1),
|
|
201
|
+
createElementVNode("h4", _hoisted_24, toDisplayString(unref(t)("footer.follow")), 1),
|
|
294
202
|
createElementVNode("div", _hoisted_25, [
|
|
295
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tm)("socialLinks"), (social) => {
|
|
203
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tm)("footer.socialLinks"), (social) => {
|
|
296
204
|
return openBlock(), createElementBlock("a", {
|
|
297
205
|
key: social.name,
|
|
298
206
|
href: social.url,
|
|
@@ -316,13 +224,13 @@ const _sfc_main = {
|
|
|
316
224
|
}])
|
|
317
225
|
}, [
|
|
318
226
|
createElementVNode("p", _hoisted_27, [
|
|
319
|
-
createTextVNode(toDisplayString(unref(t)("year")) + " ", 1),
|
|
320
|
-
createElementVNode("span", _hoisted_28, toDisplayString(unref(t)("heart")), 1),
|
|
321
|
-
createTextVNode(" " + toDisplayString(unref(t)("copyright")), 1)
|
|
227
|
+
createTextVNode(toDisplayString(unref(t)("footer.year")) + " ", 1),
|
|
228
|
+
createElementVNode("span", _hoisted_28, toDisplayString(unref(t)("footer.heart")), 1),
|
|
229
|
+
createTextVNode(" " + toDisplayString(unref(t)("footer.copyright")), 1)
|
|
322
230
|
]),
|
|
323
231
|
createElementVNode("a", _hoisted_29, [
|
|
324
232
|
createVNode(Logotype, { class: "h-1r w-auto" }),
|
|
325
|
-
createElementVNode("span", null, toDisplayString(unref(t)("ozdao")), 1)
|
|
233
|
+
createElementVNode("span", null, toDisplayString(unref(t)("footer.ozdao")), 1)
|
|
326
234
|
])
|
|
327
235
|
], 2)
|
|
328
236
|
], 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.vue.js","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=\"''\"\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":["IconInstagram","IconFacebook","IconLinkedin","IconYoutube","IconWhatsapp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Footer.vue.js","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\nconst { t, te, tm } = useI18n({\n useScope: 'global'\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('footer.description') }}</p>\n \n <div class=\"mn-b-semi flex flex-column gap-small\">\n <a \n :href=\"`tel:${t('footer.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('footer.phoneNumber') }}</span>\n </a>\n \n <a \n :href=\"`mailto:${t('footer.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('footer.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('footer.hours_text') }}</span>\n </div>\n </div>\n\n <h4 class=\"h5 t-medium mn-b-regular\">{{ t('footer.app') }}</h4>\n <div class=\"w-100 flex-nowrap flex gap-thin\">\n <a \n v-if=\"te('footer.linkAppStore') || te('footer.label')\"\n :href=\"te('footer.linkAppStore') ? t('footer.linkAppStore') : null\" \n :target=\"te('footer.linkAppStore') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('footer.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('footer.label') }}\n </span>\n <LabelAppStore class=\"w-100 h-max\" alt=\"Download on App Store\"/>\n </a>\n\n <a \n v-if=\"te('footer.linkGooglePlay') || te('footer.label')\"\n :href=\"te('footer.linkGooglePlay') ? t('footer.linkGooglePlay') : null\" \n :target=\"te('footer.linkGooglePlay') ? '_blank' : null\" \n class=\"pos-relative w-100 h-100\"\n > \n <span \n v-if=\"te('footer.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('footer.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('footer.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('footer.subscribe') }}</h4>\n <p class=\"t-small mn-b-small t-transp\">{{ t('footer.subscribe_text') }}</p>\n \n <FieldSubscribeNewsletter\n :action=\"''\"\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('footer.follow') }}</h4>\n <!-- Social Links -->\n <div class=\"flex gap-thin\">\n <a \n v-for=\"social in tm('footer.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('footer.year') }} \n <span class=\"t-main copyleft\">{{ t('footer.heart') }}</span> \n {{ t('footer.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('footer.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":["IconInstagram","IconFacebook","IconLinkedin","IconYoutube","IconWhatsapp"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,UAAM,SAAS,UAAS;AACV,aAAQ;AAEtB,UAAM,EAAE,GAAG,IAAI,GAAE,IAAK,QAAQ;AAAA,MAC5B,UAAU;AAAA,IACZ,CAAC;AAGD,UAAM,iBAAiB;AAAA,MACvB,eAAEA;AAAAA,MACF,cAAEC;AAAAA,MACF,cAAEC;AAAAA,MACF,aAAEC;AAAAA,MACF,cAAEC;AAAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,7 +7,7 @@ const globals = require("../../store/globals.cjs");
|
|
|
7
7
|
const shopcart = require("../../../../orders/store/shopcart.cjs");
|
|
8
8
|
const auth = require("../../../../auth/views/store/auth.cjs");
|
|
9
9
|
const NotificationBadge = require("../../../../notifications/components/elements/NotificationBadge.vue.cjs");
|
|
10
|
-
const Button = require("../../../../../components/Button/Button.
|
|
10
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
11
11
|
const Select = require("../../../../../components/Select/Select.vue2.cjs");
|
|
12
12
|
const IconShopcart = require("../../../../icons/entities/IconShopcart.vue.cjs");
|
|
13
13
|
const IconProfile = require("../../../../icons/entities/IconProfile.vue.cjs");
|
|
@@ -5,7 +5,7 @@ import { state } from "../../store/globals.js";
|
|
|
5
5
|
import { actions, getters } from "../../../../orders/store/shopcart.js";
|
|
6
6
|
import { state as state$1 } from "../../../../auth/views/store/auth.js";
|
|
7
7
|
import NotificationBadge from "../../../../notifications/components/elements/NotificationBadge.vue.js";
|
|
8
|
-
import _sfc_main$1 from "../../../../../components/Button/Button.
|
|
8
|
+
import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
|
|
9
9
|
import Select from "../../../../../components/Select/Select.vue2.js";
|
|
10
10
|
import _sfc_main$3 from "../../../../icons/entities/IconShopcart.vue.js";
|
|
11
11
|
import _sfc_main$4 from "../../../../icons/entities/IconProfile.vue.js";
|
|
@@ -5,7 +5,7 @@ const vueRouter = require("vue-router");
|
|
|
5
5
|
const vueI18n = require("vue-i18n");
|
|
6
6
|
const IconShopcart = require("../../../../icons/entities/IconShopcart.vue.cjs");
|
|
7
7
|
const IconProfile = require("../../../../icons/entities/IconProfile.vue.cjs");
|
|
8
|
-
const Button = require("../../../../../components/Button/Button.
|
|
8
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
9
9
|
const globals = require("../../store/globals.cjs");
|
|
10
10
|
const shopcart = require("../../../../orders/store/shopcart.cjs");
|
|
11
11
|
const auth = require("../../../../auth/views/store/auth.cjs");
|