@ozdao/martyrs 0.2.485 → 0.2.487
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/Media-B2jWzwLB.cjs +1 -0
- package/dist/{Media-DlUBwVWs.js → Media-DZ5_ItXQ.js} +3 -3
- package/dist/_virtual/index.cjs +4 -4
- package/dist/_virtual/index.js +4 -4
- package/dist/_virtual/index2.cjs +4 -4
- package/dist/_virtual/index2.js +4 -4
- package/dist/auth.server.cjs +3 -24
- package/dist/auth.server.js +2 -23
- package/dist/{authJwt-DBB51Iql.cjs → authJwt-D35KyJlE.cjs} +31 -2
- package/dist/{authJwt-DcYNNwcr.js → authJwt-DqxhUym0.js} +31 -2
- package/dist/chats.server.cjs +1 -1
- package/dist/chats.server.js +1 -1
- package/dist/community.server.cjs +1 -1
- package/dist/community.server.js +1 -1
- package/dist/crud-BDIArc5A.cjs +1096 -0
- package/dist/crud-DJvpe0aZ.js +1097 -0
- package/dist/events.server.cjs +1 -1
- package/dist/events.server.js +1 -1
- package/dist/files.server.cjs +1 -1
- package/dist/files.server.js +1 -1
- package/dist/gallery.server.cjs +1 -1
- package/dist/gallery.server.js +1 -1
- package/dist/globals.server.cjs +3 -322
- package/dist/globals.server.js +1 -303
- package/dist/globals.websocket-DzvdIBf6.js +306 -0
- package/dist/globals.websocket-k6_B1T7k.cjs +322 -0
- package/dist/{index-CsJwdsBW.js → index-CVuQC4k1.js} +1 -1
- package/dist/{index-YNOkL1mu.cjs → index-DiSKVCaA.cjs} +1 -1
- package/dist/main-C6_DPWGX.cjs +11 -0
- package/dist/{main-CK6rC5Sz.js → main-nQmkbWsW.js} +2291 -2224
- 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/{DatePicker → Calendar}/Calendar.vue.cjs +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/{DatePicker → Calendar}/Calendar.vue.js +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.js.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +5 -6
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +5 -6
- package/dist/martyrs/src/components/Field/Field.vue2.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +10 -9
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +13 -12
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.cjs +2 -2
- package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +2 -2
- package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.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/Select/Select.vue.cjs +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js.map +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 +5 -5
- 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 +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +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 +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +10 -10
- 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 +4 -4
- 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 +5 -5
- 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 +4 -4
- 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 +23 -23
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +13 -13
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +3 -3
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.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 +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +25 -25
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +16 -16
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +9 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +9 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +24 -58
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +24 -58
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
- 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/BlockSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +2 -2
- 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 +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
- 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/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 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +2 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs +6 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.js +6 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/axios-instance.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/axios-instance.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs +100 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js +100 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js.map +1 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +224 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +224 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs +40 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +40 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.cjs +6 -6
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +6 -6
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs +10 -12
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +11 -13
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/icons.client.cjs +48 -4
- package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/icons.client.js +172 -128
- package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs +5 -7
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +5 -7
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +62 -6
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +189 -133
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs +25 -17
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +25 -17
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs +23 -14
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.js +23 -14
- package/dist/martyrs/src/modules/icons/socials/line.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs +26 -17
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +26 -17
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +29 -20
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +29 -20
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/vk.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +87 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +87 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +83 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +83 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +83 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +83 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +68 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +68 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +162 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +162 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +437 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +437 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +416 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +416 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +174 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +174 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +80 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +80 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +554 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +554 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +104 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +104 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +314 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +314 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +467 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +467 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +256 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +256 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +248 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +248 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +580 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +580 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +473 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +473 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +111 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +111 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +28 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +28 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +227 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +227 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +85 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +85 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +71 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +71 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/music.client.cjs +137 -0
- package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/music.client.js +137 -0
- package/dist/martyrs/src/modules/music/music.client.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/albums.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/albums.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/albums.js +34 -0
- package/dist/martyrs/src/modules/music/router/albums.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/artists.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/artists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/artists.js +34 -0
- package/dist/martyrs/src/modules/music/router/artists.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/music.cjs +47 -0
- package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/music.js +47 -0
- package/dist/martyrs/src/modules/music/router/music.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/playlists.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/playlists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/playlists.js +34 -0
- package/dist/martyrs/src/modules/music/router/playlists.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/tracks.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/tracks.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/tracks.js +34 -0
- package/dist/martyrs/src/modules/music/router/tracks.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/albums.cjs +167 -0
- package/dist/martyrs/src/modules/music/store/albums.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/albums.js +167 -0
- package/dist/martyrs/src/modules/music/store/albums.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/artists.cjs +160 -0
- package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/artists.js +160 -0
- package/dist/martyrs/src/modules/music/store/artists.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/genres.cjs +123 -0
- package/dist/martyrs/src/modules/music/store/genres.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/genres.js +123 -0
- package/dist/martyrs/src/modules/music/store/genres.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/player.cjs +297 -0
- package/dist/martyrs/src/modules/music/store/player.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/player.js +297 -0
- package/dist/martyrs/src/modules/music/store/player.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/playlists.cjs +182 -0
- package/dist/martyrs/src/modules/music/store/playlists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/playlists.js +182 -0
- package/dist/martyrs/src/modules/music/store/playlists.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/search.cjs +109 -0
- package/dist/martyrs/src/modules/music/store/search.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/search.js +109 -0
- package/dist/martyrs/src/modules/music/store/search.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/tracks.cjs +184 -0
- package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/tracks.js +184 -0
- package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -0
- 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/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 +3 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +5 -5
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +16 -16
- 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/pages/DepartmentEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +16 -16
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +17 -17
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.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 +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +8 -8
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
- 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/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- 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/forms/ReorderSettingsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js +8 -8
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js +12 -12
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +13 -13
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +11 -11
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +18 -18
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +7 -7
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +13 -13
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +17 -17
- 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/RentsEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +5 -5
- 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/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -0
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -0
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -0
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -0
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +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 +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +14 -14
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +9 -9
- 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 +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +38 -36
- package/dist/music.server.cjs +2021 -0
- package/dist/music.server.js +2021 -0
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/orders.server.cjs +1 -1
- package/dist/orders.server.js +1 -1
- package/dist/organizations.server.cjs +1 -1
- package/dist/organizations.server.js +1 -1
- package/dist/products.server.cjs +3 -1093
- package/dist/products.server.js +2 -1092
- package/dist/rents.server.cjs +1 -1
- package/dist/rents.server.js +1 -1
- package/dist/socials.schema-BOZV82Mp.js +25 -0
- package/dist/socials.schema-CtpSF9dE.cjs +24 -0
- package/dist/style.css +230 -46
- package/dist/wallet.server.cjs +1 -1
- package/dist/wallet.server.js +1 -1
- package/package.json +1 -1
- package/src/.martyrs/filemap.json +2 -2
- package/src/components/Feed/Feed.vue +1 -1
- package/src/components/Field/Field.vue +13 -8
- package/src/components/FieldBig/FieldBig.vue +3 -5
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/Media/Media.vue +1 -1
- package/src/components/Select/Select.vue +1 -1
- package/src/components/Status/Snack.vue +83 -0
- package/src/components/index.js +2 -0
- package/src/main.js +6 -0
- package/src/modules/auth/controllers/middlewares/authJwt.js +59 -6
- package/src/modules/events/components/pages/EditEvent.vue +1 -1
- package/src/modules/globals/views/classes/globals.store.js +31 -66
- package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
- package/src/modules/globals/views/components/partials/FooterAlt.vue +363 -0
- package/src/modules/globals/views/store/globals.js +42 -0
- package/src/modules/globals/views/utils/axios-instance.js +15 -1
- package/src/modules/globals/views/utils/query-serializer.js +182 -0
- package/src/modules/icons/components/IconSearchPopup.vue +254 -0
- package/src/modules/icons/entities/IconAddress.vue +17 -0
- package/src/modules/icons/entities/IconDate.vue +3 -3
- package/src/modules/icons/entities/IconEmail.vue +14 -0
- package/src/modules/icons/entities/IconMusic.vue +3 -3
- package/src/modules/icons/entities/IconPhone.vue +14 -0
- package/src/modules/icons/icons.client.js +85 -31
- package/src/modules/icons/icons.server.js +292 -0
- package/src/modules/icons/navigation/IconCross.vue +4 -16
- package/src/modules/icons/navigation/IconPause.vue +9 -24
- package/src/modules/icons/navigation/IconRefresh.vue +9 -24
- package/src/modules/icons/pages/IconsPage.vue +78 -2
- package/src/modules/icons/routes/icons.routes.js +81 -0
- package/src/modules/icons/socials/dribbble.vue +11 -2
- package/src/modules/icons/socials/facebook.vue +11 -2
- package/src/modules/icons/socials/instagram.vue +11 -4
- package/src/modules/icons/socials/line.vue +11 -2
- package/src/modules/icons/socials/linkedin.vue +11 -2
- package/src/modules/icons/socials/reddit.vue +10 -1
- package/src/modules/icons/socials/telegram.vue +11 -2
- package/src/modules/icons/socials/twitter.vue +11 -2
- package/src/modules/icons/socials/vk.vue +11 -2
- package/src/modules/icons/socials/whatsapp.vue +12 -0
- package/src/modules/icons/socials/youtube.vue +11 -2
- package/src/modules/music/.claude/settings.local.json +8 -0
- package/src/modules/music/CLAUDE.md +312 -0
- package/src/modules/music/components/SidebarMusic.vue +8 -8
- package/src/modules/music/components/cards/AlbumCard.vue +2 -2
- package/src/modules/music/components/cards/ArtistCard.vue +2 -2
- package/src/modules/music/components/cards/PlaylistCard.vue +2 -2
- package/src/modules/music/components/cards/TrackCard.vue +1 -1
- package/src/modules/music/components/cards/TrackListCard.vue +135 -0
- package/src/modules/music/components/forms/AlbumForm.vue +463 -0
- package/src/modules/music/components/{pages → forms}/ArtistForm.vue +127 -96
- package/src/modules/music/components/forms/PlaylistForm.vue +10 -10
- package/src/modules/music/components/forms/SearchForm.vue +1 -1
- package/src/modules/music/components/forms/TrackForm.vue +577 -0
- package/src/modules/music/components/layouts/MusicLayout.vue +35 -41
- package/src/modules/music/components/pages/{AlbumDetail.vue → Album.vue} +42 -20
- package/src/modules/music/components/pages/AlbumCreate.vue +7 -0
- package/src/modules/music/components/pages/AlbumEdit.vue +14 -0
- package/src/modules/music/components/pages/{ArtistDetail.vue → Artist.vue} +9 -9
- package/src/modules/music/components/pages/ArtistCreate.vue +7 -0
- package/src/modules/music/components/pages/ArtistEdit.vue +14 -0
- package/src/modules/music/components/pages/MusicHome.vue +86 -67
- package/src/modules/music/components/pages/MusicLibrary.vue +136 -105
- package/src/modules/music/components/pages/{PlaylistDetail.vue → Playlist.vue} +56 -34
- package/src/modules/music/components/pages/PlaylistCreate.vue +7 -0
- package/src/modules/music/components/pages/PlaylistEdit.vue +14 -0
- package/src/modules/music/components/pages/SearchResults.vue +49 -27
- package/src/modules/music/components/pages/{TrackDetail.vue → Track.vue} +36 -14
- package/src/modules/music/components/pages/TrackCreate.vue +23 -0
- package/src/modules/music/components/pages/TrackEdit.vue +14 -0
- package/src/modules/music/components/player/MusicPlayer.vue +2 -2
- package/src/modules/music/middlewares/albums.verifier.js +234 -0
- package/src/modules/music/middlewares/artists.verifier.js +213 -0
- package/src/modules/music/middlewares/genres.verifier.js +148 -0
- package/src/modules/music/middlewares/playlists.verifier.js +219 -0
- package/src/modules/music/middlewares/tracks.verifier.js +263 -0
- package/src/modules/music/music.client.js +31 -33
- package/src/modules/music/music.server.js +33 -26
- package/src/modules/music/router/albums.js +31 -0
- package/src/modules/music/router/artists.js +31 -0
- package/src/modules/music/router/music.js +14 -65
- package/src/modules/music/router/playlists.js +31 -0
- package/src/modules/music/router/tracks.js +31 -0
- package/src/modules/music/routes/albums.routes.js +126 -0
- package/src/modules/music/routes/artists.routes.js +171 -0
- package/src/modules/music/routes/genres.routes.js +118 -0
- package/src/modules/music/routes/playlists.routes.js +239 -0
- package/src/modules/music/routes/tracks.routes.js +149 -0
- package/src/modules/music/store/artists.js +17 -7
- package/src/modules/music/store/genres.js +150 -0
- package/src/modules/music/store/playlists.js +19 -6
- package/src/modules/music/store/tracks.js +9 -2
- package/src/modules/products/components/pages/Product.vue +1 -1
- package/dist/Media-ByPHBvAU.cjs +0 -1
- package/dist/main-137vO86w.cjs +0 -11
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/DatePicker/Calendar.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/DatePicker/Calendar.vue.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
- package/src/modules/music/components/forms/UploadForm.vue +0 -313
- package/src/modules/music/components/lists/AlbumList.vue +0 -25
- package/src/modules/music/components/lists/ArtistList.vue +0 -280
- package/src/modules/music/components/lists/PlaylistList.vue +0 -25
- package/src/modules/music/components/lists/TrackList.vue +0 -175
- package/src/modules/music/components/pages/ArtistManager.vue +0 -277
- package/src/modules/music/components/pages/MusicUpload.vue +0 -44
- package/src/modules/music/controllers/album.controller.js +0 -82
- package/src/modules/music/controllers/artist.controller.js +0 -99
- package/src/modules/music/controllers/genre.controller.js +0 -63
- package/src/modules/music/controllers/music.controller.js +0 -145
- package/src/modules/music/controllers/playlist.controller.js +0 -146
- package/src/modules/music/routes/album.routes.js +0 -28
- package/src/modules/music/routes/artist.routes.js +0 -30
- package/src/modules/music/routes/genre.routes.js +0 -28
- package/src/modules/music/routes/music.routes.js +0 -106
- package/src/modules/music/routes/playlist.routes.js +0 -47
- /package/src/components/{DatePicker → Calendar}/Calendar.vue +0 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
import iconsRoutes from './routes/icons.routes.js';
|
|
6
|
+
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = path.dirname(__filename);
|
|
9
|
+
|
|
10
|
+
const API_KEY = process.env.THENOUNPROJECT_KEY;
|
|
11
|
+
const API_SECRET = process.env.THENOUNPROJECT_SECRET;
|
|
12
|
+
const BASE_URL = 'https://api.thenounproject.com/v2';
|
|
13
|
+
|
|
14
|
+
// OAuth 1.0a signature generation
|
|
15
|
+
function generateOAuthSignature(method, url, oauthParams, queryParams, consumerSecret) {
|
|
16
|
+
// Combine OAuth params and query params
|
|
17
|
+
const allParams = { ...oauthParams, ...queryParams };
|
|
18
|
+
|
|
19
|
+
// Sort and encode parameters
|
|
20
|
+
const sortedParams = Object.keys(allParams)
|
|
21
|
+
.sort()
|
|
22
|
+
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(allParams[key])}`)
|
|
23
|
+
.join('&');
|
|
24
|
+
|
|
25
|
+
const baseString = `${method.toUpperCase()}&${encodeURIComponent(url)}&${encodeURIComponent(sortedParams)}`;
|
|
26
|
+
const signingKey = `${encodeURIComponent(consumerSecret)}&`;
|
|
27
|
+
|
|
28
|
+
return crypto.createHmac('sha1', signingKey).update(baseString).digest('base64');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Generate OAuth headers
|
|
32
|
+
function generateOAuthHeader(method, url, queryParams = {}) {
|
|
33
|
+
const timestamp = Math.floor(Date.now() / 1000).toString();
|
|
34
|
+
// Generate nonce with minimum 8 characters as per documentation
|
|
35
|
+
const nonce = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
|
36
|
+
|
|
37
|
+
const oauthParams = {
|
|
38
|
+
oauth_consumer_key: API_KEY,
|
|
39
|
+
oauth_nonce: nonce,
|
|
40
|
+
oauth_signature_method: 'HMAC-SHA1',
|
|
41
|
+
oauth_timestamp: timestamp,
|
|
42
|
+
oauth_version: '1.0'
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const signature = generateOAuthSignature(method, url, oauthParams, queryParams, API_SECRET);
|
|
46
|
+
oauthParams.oauth_signature = signature;
|
|
47
|
+
|
|
48
|
+
// Build OAuth header
|
|
49
|
+
const authHeader = 'OAuth ' + Object.keys(oauthParams)
|
|
50
|
+
.filter(key => key.startsWith('oauth_'))
|
|
51
|
+
.sort()
|
|
52
|
+
.map(key => `${encodeURIComponent(key)}="${encodeURIComponent(oauthParams[key])}"`)
|
|
53
|
+
.join(', ');
|
|
54
|
+
|
|
55
|
+
return authHeader;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Search icons by term with pagination support
|
|
59
|
+
export async function searchIcons(term, options = {}) {
|
|
60
|
+
try {
|
|
61
|
+
const {
|
|
62
|
+
limit = 20,
|
|
63
|
+
next_page,
|
|
64
|
+
prev_page
|
|
65
|
+
} = typeof options === 'number' ? { limit: options } : options;
|
|
66
|
+
|
|
67
|
+
const url = `${BASE_URL}/icon`;
|
|
68
|
+
const queryParams = {
|
|
69
|
+
query: term,
|
|
70
|
+
limit_to_public_domain: '1',
|
|
71
|
+
limit: limit.toString(),
|
|
72
|
+
thumbnail_size: '84'
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
// Add pagination tokens if provided
|
|
76
|
+
if (next_page) {
|
|
77
|
+
queryParams.next_page = next_page;
|
|
78
|
+
}
|
|
79
|
+
if (prev_page) {
|
|
80
|
+
queryParams.prev_page = prev_page;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const queryString = new URLSearchParams(queryParams).toString();
|
|
84
|
+
const fullUrl = `${url}?${queryString}`;
|
|
85
|
+
|
|
86
|
+
const authHeader = generateOAuthHeader('GET', url, queryParams);
|
|
87
|
+
|
|
88
|
+
const response = await fetch(fullUrl, {
|
|
89
|
+
headers: {
|
|
90
|
+
'Authorization': authHeader,
|
|
91
|
+
'Accept': 'application/json'
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
if (!response.ok) {
|
|
96
|
+
const errorText = await response.text();
|
|
97
|
+
console.error('API Error Response:', {
|
|
98
|
+
status: response.status,
|
|
99
|
+
statusText: response.statusText,
|
|
100
|
+
body: errorText,
|
|
101
|
+
headers: Object.fromEntries(response.headers.entries())
|
|
102
|
+
});
|
|
103
|
+
throw new Error(`API request failed: ${response.status} ${response.statusText}`);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const data = await response.json();
|
|
107
|
+
|
|
108
|
+
// Return complete response with pagination info
|
|
109
|
+
return {
|
|
110
|
+
icons: data.icons || [],
|
|
111
|
+
next_page: data.next_page || null,
|
|
112
|
+
prev_page: data.prev_page || null,
|
|
113
|
+
total: data.total || (data.icons ? data.icons.length : 0)
|
|
114
|
+
};
|
|
115
|
+
} catch (error) {
|
|
116
|
+
console.error('Error searching icons:', error);
|
|
117
|
+
throw error;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Get icon details by ID
|
|
122
|
+
export async function getIconById(iconId) {
|
|
123
|
+
try {
|
|
124
|
+
const url = `${BASE_URL}/icon/${iconId}`;
|
|
125
|
+
const queryParams = { thumbnail_size: '200' };
|
|
126
|
+
const queryString = new URLSearchParams(queryParams).toString();
|
|
127
|
+
const fullUrl = `${url}?${queryString}`;
|
|
128
|
+
|
|
129
|
+
const authHeader = generateOAuthHeader('GET', url, queryParams);
|
|
130
|
+
|
|
131
|
+
const response = await fetch(fullUrl, {
|
|
132
|
+
headers: {
|
|
133
|
+
'Authorization': authHeader,
|
|
134
|
+
'Accept': 'application/json'
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
if (!response.ok) {
|
|
139
|
+
throw new Error(`API request failed: ${response.status} ${response.statusText}`);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
const data = await response.json();
|
|
143
|
+
return data.icon;
|
|
144
|
+
} catch (error) {
|
|
145
|
+
console.error('Error getting icon:', error);
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// Download SVG content
|
|
151
|
+
export async function downloadIconSvg(svgUrl) {
|
|
152
|
+
try {
|
|
153
|
+
// The Noun Project SVG URLs are signed and temporary
|
|
154
|
+
const response = await fetch(svgUrl);
|
|
155
|
+
if (!response.ok) {
|
|
156
|
+
throw new Error(`Failed to download SVG: ${response.status}`);
|
|
157
|
+
}
|
|
158
|
+
const svgContent = await response.text();
|
|
159
|
+
|
|
160
|
+
// Sometimes the API returns base64 encoded SVG
|
|
161
|
+
if (svgContent.startsWith('data:image/svg+xml;base64,')) {
|
|
162
|
+
const base64Data = svgContent.split(',')[1];
|
|
163
|
+
return Buffer.from(base64Data, 'base64').toString('utf-8');
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return svgContent;
|
|
167
|
+
} catch (error) {
|
|
168
|
+
console.error('Error downloading SVG:', error);
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Convert SVG to Vue component format
|
|
174
|
+
export function convertSvgToVueComponent(svgContent, iconName) {
|
|
175
|
+
// Remove XML declaration and DOCTYPE if present
|
|
176
|
+
let cleanSvg = svgContent.replace(/<\?xml[^>]*\?>/g, '');
|
|
177
|
+
cleanSvg = cleanSvg.replace(/<!DOCTYPE[^>]*>/g, '');
|
|
178
|
+
cleanSvg = cleanSvg.trim();
|
|
179
|
+
|
|
180
|
+
// Replace fill attributes with :fill prop binding
|
|
181
|
+
cleanSvg = cleanSvg.replace(/fill="[^"]*"/g, ':fill="fill"');
|
|
182
|
+
cleanSvg = cleanSvg.replace(/stroke="[^"]*"/g, ':stroke="fill"');
|
|
183
|
+
|
|
184
|
+
// Add fill to SVG elements that don't have fill or stroke attributes
|
|
185
|
+
const svgElements = ['path', 'rect', 'circle', 'ellipse', 'polygon', 'polyline', 'line', 'g'];
|
|
186
|
+
svgElements.forEach(element => {
|
|
187
|
+
// Match opening tags without fill or stroke attributes
|
|
188
|
+
const regex = new RegExp(`<${element}(\\s+[^>]*?)?(?<!:fill="fill"|:stroke="fill")(/?)>`, 'gi');
|
|
189
|
+
cleanSvg = cleanSvg.replace(regex, (match, attributes, selfClosing) => {
|
|
190
|
+
// Check if this element already has fill or stroke
|
|
191
|
+
if (match.includes('fill') || match.includes('stroke')) {
|
|
192
|
+
return match;
|
|
193
|
+
}
|
|
194
|
+
// Add :fill="fill" right after the element name
|
|
195
|
+
return `<${element} :fill="fill"${attributes || ''}${selfClosing || ''}>`;
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
// Ensure proper formatting with indentation
|
|
200
|
+
cleanSvg = cleanSvg.replace(/<svg/g, '\n<svg');
|
|
201
|
+
cleanSvg = cleanSvg.replace(/<\/svg>/g, '\n</svg>');
|
|
202
|
+
cleanSvg = cleanSvg.replace(/<(path|rect|circle|ellipse|polygon|polyline|line|g)/g, '\n\t<$1');
|
|
203
|
+
cleanSvg = cleanSvg.replace(/>\s*\n\s*</g, '>\n<');
|
|
204
|
+
|
|
205
|
+
const vueComponent = `<template>${cleanSvg}
|
|
206
|
+
</template>
|
|
207
|
+
|
|
208
|
+
<script setup>
|
|
209
|
+
\tconst props = defineProps({
|
|
210
|
+
\t fill: {
|
|
211
|
+
\t type: String,
|
|
212
|
+
\t default: 'rgb(var(--black))'
|
|
213
|
+
\t }
|
|
214
|
+
\t})
|
|
215
|
+
</script>`;
|
|
216
|
+
|
|
217
|
+
return vueComponent;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// Save icon to disk
|
|
221
|
+
export async function saveIconToDisk(iconId, category, iconName, mode = 'add', currentIconName = null) {
|
|
222
|
+
try {
|
|
223
|
+
// Get icon details with SVG URL
|
|
224
|
+
const icon = await getIconById(iconId);
|
|
225
|
+
|
|
226
|
+
if (!icon.icon_url) {
|
|
227
|
+
throw new Error('No SVG URL available for this icon');
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// Download SVG
|
|
231
|
+
const svgContent = await downloadIconSvg(icon.icon_url);
|
|
232
|
+
|
|
233
|
+
// Convert to Vue component
|
|
234
|
+
const vueComponent = convertSvgToVueComponent(svgContent, iconName);
|
|
235
|
+
|
|
236
|
+
// Determine file path
|
|
237
|
+
const categoryPath = path.join(__dirname, category);
|
|
238
|
+
const filePath = path.join(categoryPath, `${iconName}.vue`);
|
|
239
|
+
|
|
240
|
+
// Ensure directory exists
|
|
241
|
+
if (!fs.existsSync(categoryPath)) {
|
|
242
|
+
fs.mkdirSync(categoryPath, { recursive: true });
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// If replacing, delete old file if name is different
|
|
246
|
+
if (mode === 'replace' && currentIconName && currentIconName !== iconName) {
|
|
247
|
+
const oldFilePath = path.join(categoryPath, `${currentIconName}.vue`);
|
|
248
|
+
if (fs.existsSync(oldFilePath)) {
|
|
249
|
+
fs.unlinkSync(oldFilePath);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// Save file
|
|
254
|
+
fs.writeFileSync(filePath, vueComponent);
|
|
255
|
+
|
|
256
|
+
return {
|
|
257
|
+
success: true,
|
|
258
|
+
filePath: filePath.replace(__dirname, ''),
|
|
259
|
+
content: vueComponent,
|
|
260
|
+
iconData: {
|
|
261
|
+
name: iconName,
|
|
262
|
+
category,
|
|
263
|
+
originalName: icon.term,
|
|
264
|
+
attribution: icon.attribution
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
} catch (error) {
|
|
268
|
+
console.error('Error saving icon:', error);
|
|
269
|
+
throw error;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// Module initialization
|
|
274
|
+
function initializeIcons(app, db, origins, publicPath, options = {}) {
|
|
275
|
+
console.log('initializeIcons publicPath:', publicPath);
|
|
276
|
+
|
|
277
|
+
// Setup routes if app object is provided
|
|
278
|
+
if (app) {
|
|
279
|
+
iconsRoutes(app, db, origins, publicPath);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export const routes = {
|
|
284
|
+
iconsRoutes
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export { initializeIcons as initialize };
|
|
288
|
+
|
|
289
|
+
export default {
|
|
290
|
+
initialize: initializeIcons,
|
|
291
|
+
routes
|
|
292
|
+
};
|
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
viewBox="0 0 26 26"
|
|
6
|
-
fill="none"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
>
|
|
9
|
-
<path
|
|
10
|
-
:fill="fill"
|
|
11
|
-
fill-rule="evenodd"
|
|
12
|
-
clip-rule="evenodd"
|
|
13
|
-
d="M12.9996 10.8L22.8994 0.900244L25.0993 3.1002L15.1995 13L25.0993 22.8998L22.8994 25.0998L12.9996 15.2L3.09976 25.0998L0.899801 22.8998L10.7996 13L0.899801 3.1002L3.09976 0.900244L12.9996 10.8Z"/>
|
|
14
|
-
</svg>
|
|
2
|
+
<svg width="100pt" height="100pt" version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path :fill="fill" d="m22.055 22.055c1.625-1.6289 4.2656-1.6289 5.8906 0l22.055 22.055 22.055-22.055c1.625-1.6289 4.2656-1.6289 5.8906 0 1.6289 1.625 1.6289 4.2656 0 5.8906l-22.055 22.055 22.055 22.055c1.6289 1.625 1.6289 4.2656 0 5.8906-1.625 1.6289-4.2656 1.6289-5.8906 0l-22.055-22.055-22.055 22.055c-1.625 1.6289-4.2656 1.6289-5.8906 0-1.6289-1.625-1.6289-4.2656 0-5.8906l22.055-22.055-22.055-22.055c-1.6289-1.625-1.6289-4.2656 0-5.8906z"/>
|
|
4
|
+
</svg>
|
|
15
5
|
</template>
|
|
16
6
|
|
|
17
|
-
|
|
18
7
|
<script setup>
|
|
19
8
|
const props = defineProps({
|
|
20
9
|
fill: {
|
|
@@ -22,5 +11,4 @@
|
|
|
22
11
|
default: 'rgb(var(--black))'
|
|
23
12
|
}
|
|
24
13
|
})
|
|
25
|
-
</script>
|
|
26
|
-
|
|
14
|
+
</script>
|
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
viewBox="0 0 19 15"
|
|
6
|
-
fill="none"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
>
|
|
9
|
-
<path
|
|
10
|
-
:fill="fill"
|
|
11
|
-
d="M9.97505 0.3828C10.3344 0.5453 10.5657 0.90155 10.5657 1.2953V13.2953C10.5657 13.6891 10.3344 14.0453 9.97505 14.2078C9.61567 14.3703 9.1938 14.3047 8.90005 14.0422L4.68442 10.2953H2.56567C1.46255 10.2953 0.565674 9.39843 0.565674 8.2953V6.2953C0.565674 5.19218 1.46255 4.2953 2.56567 4.2953H4.68442L8.90005 0.548425C9.1938 0.285925 9.61567 0.223425 9.97505 0.3828Z"
|
|
12
|
-
/>
|
|
13
|
-
<path
|
|
14
|
-
:fill="fill"
|
|
15
|
-
d="M15.5657 6.23301L13.8469 4.51426C13.5563 4.22051 13.0813 4.22363 12.7876 4.51426C12.4938 4.80488 12.4938 5.27988 12.7876 5.57363L14.5063 7.29238L12.7876 9.01113C12.4938 9.30176 12.4969 9.77676 12.7876 10.0705C13.0782 10.3643 13.5532 10.3643 13.8469 10.0705L15.5657 8.35176L17.2844 10.0705C17.5751 10.3643 18.0501 10.3611 18.3438 10.0705C18.6376 9.77988 18.6376 9.30488 18.3438 9.01113L16.6251 7.29238L18.3438 5.57363C18.6376 5.28301 18.6344 4.80801 18.3438 4.51426C18.0532 4.22051 17.5782 4.22051 17.2844 4.51426L15.5657 6.23301Z"
|
|
16
|
-
/>
|
|
17
|
-
</svg>
|
|
2
|
+
<svg width="100pt" height="100pt" version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path :fill="fill" d="m59.461 100c-1.7266 0-3.125-1.4023-3.125-3.125v-93.75c0-1.7266 1.3984-3.125 3.125-3.125h21.785-0.003906c0.82812 0 1.625 0.32812 2.2109 0.91406 0.58594 0.58594 0.91406 1.3828 0.91406 2.2109v93.75c0 0.82812-0.32813 1.6211-0.91406 2.207-0.58594 0.58594-1.3828 0.91797-2.2109 0.91797zm3.125-6.25h15.531v-87.5h-15.531zm-43.828 6.25h-0.003906c-1.7227 0-3.125-1.4023-3.125-3.125v-93.75c0-1.7266 1.4023-3.125 3.125-3.125h21.895c0.83203 0 1.625 0.32812 2.2109 0.91406 0.58594 0.58594 0.91406 1.3828 0.91406 2.2109v93.75c0 0.82812-0.32813 1.6211-0.91406 2.207-0.58594 0.58594-1.3789 0.91797-2.2109 0.91797zm3.125-6.25h15.645l-0.003906-87.5h-15.645z"/>
|
|
4
|
+
</svg>
|
|
18
5
|
</template>
|
|
19
6
|
|
|
20
7
|
<script setup>
|
|
21
8
|
const props = defineProps({
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
})
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
|
|
9
|
+
fill: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: 'rgb(var(--black))'
|
|
12
|
+
}
|
|
13
|
+
})
|
|
14
|
+
</script>
|
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
viewBox="0 0 19 15"
|
|
6
|
-
fill="none"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
>
|
|
9
|
-
<path
|
|
10
|
-
:fill="fill"
|
|
11
|
-
d="M9.97505 0.3828C10.3344 0.5453 10.5657 0.90155 10.5657 1.2953V13.2953C10.5657 13.6891 10.3344 14.0453 9.97505 14.2078C9.61567 14.3703 9.1938 14.3047 8.90005 14.0422L4.68442 10.2953H2.56567C1.46255 10.2953 0.565674 9.39843 0.565674 8.2953V6.2953C0.565674 5.19218 1.46255 4.2953 2.56567 4.2953H4.68442L8.90005 0.548425C9.1938 0.285925 9.61567 0.223425 9.97505 0.3828Z"
|
|
12
|
-
/>
|
|
13
|
-
<path
|
|
14
|
-
:fill="fill"
|
|
15
|
-
d="M15.5657 6.23301L13.8469 4.51426C13.5563 4.22051 13.0813 4.22363 12.7876 4.51426C12.4938 4.80488 12.4938 5.27988 12.7876 5.57363L14.5063 7.29238L12.7876 9.01113C12.4938 9.30176 12.4969 9.77676 12.7876 10.0705C13.0782 10.3643 13.5532 10.3643 13.8469 10.0705L15.5657 8.35176L17.2844 10.0705C17.5751 10.3643 18.0501 10.3611 18.3438 10.0705C18.6376 9.77988 18.6376 9.30488 18.3438 9.01113L16.6251 7.29238L18.3438 5.57363C18.6376 5.28301 18.6344 4.80801 18.3438 4.51426C18.0532 4.22051 17.5782 4.22051 17.2844 4.51426L15.5657 6.23301Z"
|
|
16
|
-
/>
|
|
17
|
-
</svg>
|
|
2
|
+
<svg width="100pt" height="100pt" version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path :fill="fill" d="m87.5 50c0.019531 9.9492-3.9414 19.488-11 26.5-0.76953 0.78516-1.8164 1.2344-2.918 1.25-1.5664-0.13672-2.9219-1.1484-3.5039-2.6094-0.58203-1.4648-0.28906-3.1289 0.75391-4.3086 5.4648-5.3359 8.6133-12.605 8.7734-20.242 0.16016-7.6367-2.6797-15.031-7.9102-20.594-5.2344-5.5625-12.438-8.8555-20.07-9.1641l1.582 1.582v0.003907c1.625 1.6328 1.6133 4.2734-0.019531 5.8945s-4.2734 1.6133-5.8945-0.019531l-8.8359-8.75c-1.6133-1.625-1.6133-4.25 0-5.875l8.8359-8.8359c0.78125-0.78906 1.8477-1.2305 2.957-1.2305s2.1758 0.44141 2.957 1.2305c1.6172 1.625 1.6172 4.25 0 5.875l-1.875 1.793c9.7148 0.34375 18.914 4.4492 25.66 11.445 6.7461 6.9961 10.516 16.336 10.508 26.055zm-34.793 21.75c-0.78125-0.78906-1.8477-1.2344-2.957-1.2344s-2.1758 0.44531-2.957 1.2344c-1.6172 1.625-1.6172 4.25 0 5.875l1.457 1.457c-7.5117-0.45703-14.555-3.8008-19.66-9.332-5.1016-5.5312-7.8711-12.82-7.7227-20.344 0.14453-7.5273 3.1953-14.703 8.5078-20.031 1.4141-1.6523 1.3203-4.1172-0.21875-5.6562s-4.0039-1.6328-5.6562-0.21875c-6.9336 6.9336-10.879 16.305-10.984 26.109-0.10938 9.8047 3.6289 19.262 10.41 26.344s16.066 11.227 25.867 11.547l-2 1.957c-1.625 1.6367-1.6133 4.2734 0.019531 5.8984 1.6328 1.6211 4.2734 1.6133 5.8945-0.023438l8.832-8.832h0.003907c1.6133-1.625 1.6133-4.25 0-5.875z"/>
|
|
4
|
+
</svg>
|
|
18
5
|
</template>
|
|
19
6
|
|
|
20
7
|
<script setup>
|
|
21
8
|
const props = defineProps({
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
})
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
|
|
9
|
+
fill: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: 'rgb(var(--black))'
|
|
12
|
+
}
|
|
13
|
+
})
|
|
14
|
+
</script>
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="pd-medium">
|
|
3
|
-
<
|
|
3
|
+
<div class="flex-between mn-b-medium">
|
|
4
|
+
<h2>Martyrs Icons Gallery</h2>
|
|
5
|
+
<button @click="openAddIconPopup" class="pd-small pd-h-medium bg-primary t-white radius-medium hover-scale-1 cursor-pointer border-none">
|
|
6
|
+
Add New Icon
|
|
7
|
+
</button>
|
|
8
|
+
</div>
|
|
4
9
|
|
|
5
10
|
<div v-for="(category, index) in categories" :key="index" class="mn-b-large">
|
|
6
11
|
<h3 class="mn-b-medium t-medium">{{ formatCategoryName(category.name) }} ({{ category.icons.length }})</h3>
|
|
@@ -8,7 +13,7 @@
|
|
|
8
13
|
<div
|
|
9
14
|
v-for="(icon, iconIndex) in category.icons"
|
|
10
15
|
:key="iconIndex"
|
|
11
|
-
class="aspect-1x1 bg-light radius-medium flex-center flex-v-center flex-column flex hover-scale-1 cursor-pointer"
|
|
16
|
+
class="icon-card aspect-1x1 bg-light radius-medium flex-center flex-v-center flex-column flex hover-scale-1 cursor-pointer pos-relative"
|
|
12
17
|
@click="copyIconName(icon.name, category.name)"
|
|
13
18
|
>
|
|
14
19
|
<div class="flex-center flex h-60">
|
|
@@ -20,6 +25,13 @@
|
|
|
20
25
|
<div v-if="copiedIcon === icon.name" class="pd-thin bg-black radius-small t-small t-white pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin">
|
|
21
26
|
Copied!
|
|
22
27
|
</div>
|
|
28
|
+
<button
|
|
29
|
+
@click.stop="openReplaceIconPopup(icon, category.name)"
|
|
30
|
+
class="replace-btn pos-absolute pos-t-0 pos-r-0 mn-t-thin mn-r-thin pd-micro bg-second radius-small hover-scale-1 cursor-pointer border-none"
|
|
31
|
+
title="Replace icon"
|
|
32
|
+
>
|
|
33
|
+
<IconRefresh class="w-1r h-1r" :fill="'rgb(var(--white))'" />
|
|
34
|
+
</button>
|
|
23
35
|
</div>
|
|
24
36
|
</div>
|
|
25
37
|
</div>
|
|
@@ -27,11 +39,20 @@
|
|
|
27
39
|
<div v-if="displayNotification" class="notification bg-third pd-small radius-medium pos-fixed pos-b-0 pos-r-0 mn-b-large mn-r-large">
|
|
28
40
|
{{ notificationMessage }}
|
|
29
41
|
</div>
|
|
42
|
+
|
|
43
|
+
<IconSearchPopup
|
|
44
|
+
:isOpen="showSearchPopup"
|
|
45
|
+
:mode="popupMode"
|
|
46
|
+
:currentIcon="currentIconForReplace"
|
|
47
|
+
@close="showSearchPopup = false"
|
|
48
|
+
@icon-selected="handleIconSelected"
|
|
49
|
+
/>
|
|
30
50
|
</div>
|
|
31
51
|
</template>
|
|
32
52
|
|
|
33
53
|
<script setup>
|
|
34
54
|
import { ref, onMounted } from 'vue';
|
|
55
|
+
import IconSearchPopup from '../components/IconSearchPopup.vue';
|
|
35
56
|
|
|
36
57
|
// Import navigation icons
|
|
37
58
|
import IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue';
|
|
@@ -92,6 +113,9 @@ import IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue';
|
|
|
92
113
|
import IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue';
|
|
93
114
|
import IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue';
|
|
94
115
|
import IconMusic from '@martyrs/src/modules/icons/entities/IconMusic.vue';
|
|
116
|
+
import IconPhone from '@martyrs/src/modules/icons/entities/IconPhone.vue';
|
|
117
|
+
import IconEmail from '@martyrs/src/modules/icons/entities/IconEmail.vue';
|
|
118
|
+
import IconAddress from '@martyrs/src/modules/icons/entities/IconAddress.vue';
|
|
95
119
|
import IconProfile from '@martyrs/src/modules/icons/entities/IconProfile.vue';
|
|
96
120
|
import IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue';
|
|
97
121
|
|
|
@@ -184,6 +208,9 @@ const iconsMap = {
|
|
|
184
208
|
IconRecent,
|
|
185
209
|
IconList,
|
|
186
210
|
IconSettings,
|
|
211
|
+
IconPhone,
|
|
212
|
+
IconEmail,
|
|
213
|
+
IconAddress,
|
|
187
214
|
IconEarn,
|
|
188
215
|
IconPopular,
|
|
189
216
|
IconDiscount,
|
|
@@ -237,6 +264,9 @@ const categories = ref([]);
|
|
|
237
264
|
const copiedIcon = ref('');
|
|
238
265
|
const displayNotification = ref(false);
|
|
239
266
|
const notificationMessage = ref('');
|
|
267
|
+
const showSearchPopup = ref(false);
|
|
268
|
+
const popupMode = ref('add');
|
|
269
|
+
const currentIconForReplace = ref(null);
|
|
240
270
|
|
|
241
271
|
onMounted(() => {
|
|
242
272
|
loadIcons();
|
|
@@ -271,6 +301,37 @@ function copyIconName(iconName, categoryName) {
|
|
|
271
301
|
}, 2000);
|
|
272
302
|
}, 1000);
|
|
273
303
|
}
|
|
304
|
+
|
|
305
|
+
function openAddIconPopup() {
|
|
306
|
+
popupMode.value = 'add';
|
|
307
|
+
currentIconForReplace.value = null;
|
|
308
|
+
showSearchPopup.value = true;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
function openReplaceIconPopup(icon, categoryName) {
|
|
312
|
+
popupMode.value = 'replace';
|
|
313
|
+
currentIconForReplace.value = {
|
|
314
|
+
name: icon.name,
|
|
315
|
+
category: categoryName,
|
|
316
|
+
component: icon.component
|
|
317
|
+
};
|
|
318
|
+
showSearchPopup.value = true;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
function handleIconSelected(data) {
|
|
322
|
+
// Reload icons after successful save
|
|
323
|
+
loadIcons();
|
|
324
|
+
|
|
325
|
+
// Show success notification
|
|
326
|
+
notificationMessage.value = data.mode === 'add'
|
|
327
|
+
? `Added new icon: ${data.icon.name}`
|
|
328
|
+
: `Replaced icon: ${data.icon.name}`;
|
|
329
|
+
displayNotification.value = true;
|
|
330
|
+
|
|
331
|
+
setTimeout(() => {
|
|
332
|
+
displayNotification.value = false;
|
|
333
|
+
}, 3000);
|
|
334
|
+
}
|
|
274
335
|
</script>
|
|
275
336
|
|
|
276
337
|
<style scoped>
|
|
@@ -289,4 +350,19 @@ function copyIconName(iconName, categoryName) {
|
|
|
289
350
|
from { opacity: 0; transform: translateY(20px); }
|
|
290
351
|
to { opacity: 1; transform: translateY(0); }
|
|
291
352
|
}
|
|
353
|
+
|
|
354
|
+
.icon-card .replace-btn {
|
|
355
|
+
opacity: 0;
|
|
356
|
+
transition: opacity 0.2s ease;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.icon-card:hover .replace-btn {
|
|
360
|
+
opacity: 1;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.flex-between {
|
|
364
|
+
display: flex;
|
|
365
|
+
justify-content: space-between;
|
|
366
|
+
align-items: center;
|
|
367
|
+
}
|
|
292
368
|
</style>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { searchIcons, getIconById, downloadIconSvg, convertSvgToVueComponent, saveIconToDisk } from '../icons.server.js';
|
|
2
|
+
|
|
3
|
+
export default function iconsRoutes(app, db, origins, publicPath) {
|
|
4
|
+
// Search icons endpoint with pagination
|
|
5
|
+
app.post('/api/icons/search', async (req, res) => {
|
|
6
|
+
try {
|
|
7
|
+
const {
|
|
8
|
+
search: term,
|
|
9
|
+
limit = 20,
|
|
10
|
+
skip = 0,
|
|
11
|
+
next_page,
|
|
12
|
+
prev_page
|
|
13
|
+
} = req.body;
|
|
14
|
+
|
|
15
|
+
if (!term) {
|
|
16
|
+
return res.status(400).json({ error: 'Search term is required' });
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Remove "Icon" prefix from search term
|
|
20
|
+
const cleanTerm = term.replace(/^Icon/i, '').trim();
|
|
21
|
+
|
|
22
|
+
// Для skip-based пагинации запрашиваем больше результатов
|
|
23
|
+
const requestLimit = skip > 0 ? limit + skip : limit;
|
|
24
|
+
|
|
25
|
+
let searchParams = { limit: requestLimit };
|
|
26
|
+
|
|
27
|
+
if (next_page) {
|
|
28
|
+
searchParams.next_page = next_page;
|
|
29
|
+
} else if (prev_page) {
|
|
30
|
+
searchParams.prev_page = prev_page;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const response = await searchIcons(cleanTerm, searchParams);
|
|
34
|
+
|
|
35
|
+
let icons = response.icons || [];
|
|
36
|
+
|
|
37
|
+
// Применяем skip и limit к результатам
|
|
38
|
+
if (skip > 0) {
|
|
39
|
+
icons = icons.slice(skip);
|
|
40
|
+
}
|
|
41
|
+
if (icons.length > limit) {
|
|
42
|
+
icons = icons.slice(0, limit);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
res.json({
|
|
46
|
+
success: true,
|
|
47
|
+
icons: icons.map(icon => ({
|
|
48
|
+
id: icon.id,
|
|
49
|
+
term: icon.term,
|
|
50
|
+
preview_url: icon.thumbnail_url || icon.preview_url_84 || icon.preview_url_42,
|
|
51
|
+
attribution: icon.attribution
|
|
52
|
+
})),
|
|
53
|
+
pagination: {
|
|
54
|
+
next_page: response.next_page || null,
|
|
55
|
+
prev_page: response.prev_page || null,
|
|
56
|
+
total: response.total || icons.length
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
} catch (error) {
|
|
60
|
+
console.error('Error searching icons:', error);
|
|
61
|
+
res.status(500).json({ error: error.message });
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Save icon endpoint
|
|
66
|
+
app.post('/api/icons/save', async (req, res) => {
|
|
67
|
+
try {
|
|
68
|
+
const { iconId, category, iconName, mode = 'add', currentIconName } = req.body;
|
|
69
|
+
|
|
70
|
+
if (!iconId || !category || !iconName) {
|
|
71
|
+
return res.status(400).json({ error: 'iconId, category, and iconName are required' });
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const result = await saveIconToDisk(iconId, category, iconName, mode, currentIconName);
|
|
75
|
+
res.json(result);
|
|
76
|
+
} catch (error) {
|
|
77
|
+
console.error('Error saving icon:', error);
|
|
78
|
+
res.status(500).json({ error: error.message });
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg fill="none" height="40" viewBox="0 0 40 40" width="40" xmlns="http://www.w3.org/2000/svg"><path d="m35.7603 19.144c-.1629-3.1482-1.2512-6.1768-3.1269-8.702-.5715.6193-1.1824 1.2005-1.8289 1.74-1.9861 1.6597-4.2054 3.0144-6.5859 4.02.332.7.6361 1.378.9045 2.018v.006c.0757.1788.1486.3588.2186.54 3.0097-.34 6.1824-.216 9.2577.202.4095.056.7952.116 1.1609.176zm-18.6564-14.9c1.9373 2.74635 3.7238 5.59727 5.3514 8.54 2.4312-.964 4.441-2.18 6.0591-3.534.5617-.46574 1.0905-.97029 1.5824-1.51-2.8606-2.42057-6.4799-3.74534-10.2178-3.74-.9303-.00064-1.8588.08033-2.7751.242zm-12.62516 11.75c1.35421-.0344 2.70681-.1164 4.05531-.246 3.25945-.2933 6.49105-.843 9.66515-1.644-1.6589-2.8996-3.4499-5.72058-5.3673-8.454-2.0481 1.02079-3.85403 2.47282-5.29529 4.25758-1.44125 1.78472-2.48412 3.86052-3.05787 6.08642zm3.04149 14.076c.7713-1.134 1.78513-2.41 3.13097-3.798 2.8904-2.98 6.3016-5.3 10.2496-6.58l.1232-.036c-.328-.728-.6361-1.378-.9462-1.99-3.6498 1.07-7.4944 1.738-11.32508 2.084-1.86862.17-3.54442.244-4.77692.256-.00352 3.6652 1.24899 7.2195 3.54641 10.064zm18.33237 4.76c-.7666-3.8895-1.8517-7.7085-3.2442-11.418-3.9798 1.454-7.1505 3.58-9.6016 6.116-.9891 1.0048-1.867 2.1146-2.618 3.31 2.7409 2.0576 6.0704 3.1669 9.4902 3.162 2.0474.003 4.0759-.393 5.9736-1.166zm3.7234-2.15c3.1036-2.4005 5.2179-5.8686 5.9378-9.74-.6759-.17-1.5326-.34-2.4749-.472-2.095-.3035-4.2207-.3257-6.3215-.066 1.1829 3.3577 2.138 6.7922 2.8586 10.28zm-9.697 7.32c-10.97917 0-19.879-8.954-19.879-20s8.89983-20 19.879-20c10.9792 0 19.879 8.954 19.879 20s-8.8998 20-19.879 20z" fill="
|
|
3
|
-
</template>
|
|
2
|
+
<svg fill="none" height="40" viewBox="0 0 40 40" width="40" xmlns="http://www.w3.org/2000/svg"><path d="m35.7603 19.144c-.1629-3.1482-1.2512-6.1768-3.1269-8.702-.5715.6193-1.1824 1.2005-1.8289 1.74-1.9861 1.6597-4.2054 3.0144-6.5859 4.02.332.7.6361 1.378.9045 2.018v.006c.0757.1788.1486.3588.2186.54 3.0097-.34 6.1824-.216 9.2577.202.4095.056.7952.116 1.1609.176zm-18.6564-14.9c1.9373 2.74635 3.7238 5.59727 5.3514 8.54 2.4312-.964 4.441-2.18 6.0591-3.534.5617-.46574 1.0905-.97029 1.5824-1.51-2.8606-2.42057-6.4799-3.74534-10.2178-3.74-.9303-.00064-1.8588.08033-2.7751.242zm-12.62516 11.75c1.35421-.0344 2.70681-.1164 4.05531-.246 3.25945-.2933 6.49105-.843 9.66515-1.644-1.6589-2.8996-3.4499-5.72058-5.3673-8.454-2.0481 1.02079-3.85403 2.47282-5.29529 4.25758-1.44125 1.78472-2.48412 3.86052-3.05787 6.08642zm3.04149 14.076c.7713-1.134 1.78513-2.41 3.13097-3.798 2.8904-2.98 6.3016-5.3 10.2496-6.58l.1232-.036c-.328-.728-.6361-1.378-.9462-1.99-3.6498 1.07-7.4944 1.738-11.32508 2.084-1.86862.17-3.54442.244-4.77692.256-.00352 3.6652 1.24899 7.2195 3.54641 10.064zm18.33237 4.76c-.7666-3.8895-1.8517-7.7085-3.2442-11.418-3.9798 1.454-7.1505 3.58-9.6016 6.116-.9891 1.0048-1.867 2.1146-2.618 3.31 2.7409 2.0576 6.0704 3.1669 9.4902 3.162 2.0474.003 4.0759-.393 5.9736-1.166zm3.7234-2.15c3.1036-2.4005 5.2179-5.8686 5.9378-9.74-.6759-.17-1.5326-.34-2.4749-.472-2.095-.3035-4.2207-.3257-6.3215-.066 1.1829 3.3577 2.138 6.7922 2.8586 10.28zm-9.697 7.32c-10.97917 0-19.879-8.954-19.879-20s8.89983-20 19.879-20c10.9792 0 19.879 8.954 19.879 20s-8.8998 20-19.879 20z" :fill="fill"/></svg>
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script setup>
|
|
6
|
+
const props = defineProps({
|
|
7
|
+
fill: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: 'rgb(var(--black))'
|
|
10
|
+
}
|
|
11
|
+
})
|
|
12
|
+
</script>
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg fill="none" height="40" viewBox="0 0 40 40" width="40" xmlns="http://www.w3.org/2000/svg"><path d="m20 0c-11.046 0-20 9.0085-20 20.1217 0 10.0428 7.314 18.3672 16.876 19.8783v-14.0631h-5.08v-5.8152h5.08v-4.4328c0-5.0425 2.984-7.82734 7.554-7.82734 2.188 0 4.476.39238 4.476.39238v4.94996h-2.52c-2.486 0-3.26 1.5514-3.26 3.143v3.7748h5.546l-.886 5.8152h-4.66v14.0631c9.56-1.5091 16.874-9.8375 16.874-19.8783 0-11.1132-8.954-20.1217-20-20.1217z" fill="
|
|
3
|
-
</template>
|
|
2
|
+
<svg fill="none" height="40" viewBox="0 0 40 40" width="40" xmlns="http://www.w3.org/2000/svg"><path d="m20 0c-11.046 0-20 9.0085-20 20.1217 0 10.0428 7.314 18.3672 16.876 19.8783v-14.0631h-5.08v-5.8152h5.08v-4.4328c0-5.0425 2.984-7.82734 7.554-7.82734 2.188 0 4.476.39238 4.476.39238v4.94996h-2.52c-2.486 0-3.26 1.5514-3.26 3.143v3.7748h5.546l-.886 5.8152h-4.66v14.0631c9.56-1.5091 16.874-9.8375 16.874-19.8783 0-11.1132-8.954-20.1217-20-20.1217z" :fill="fill"/></svg>
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script setup>
|
|
6
|
+
const props = defineProps({
|
|
7
|
+
fill: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: 'rgb(var(--black))'
|
|
10
|
+
}
|
|
11
|
+
})
|
|
12
|
+
</script>
|