@ozdao/martyrs 0.2.546 → 0.2.548
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/auth.server.cjs +9 -9
- package/dist/auth.server.js +9 -9
- package/dist/builder.cjs +12 -751
- package/dist/builder.js +21 -721
- package/dist/chats.server.cjs +61 -59
- package/dist/chats.server.js +61 -59
- package/dist/{common.schema-BzFEVNn3.cjs → common.schema-BtXLULba.cjs} +2 -2
- package/dist/{common.schema-Bw1O5_2Q.js → common.schema-GFSlNJo7.js} +2 -2
- package/dist/community.server.cjs +10 -10
- package/dist/community.server.js +10 -10
- package/dist/{credentials.schema-C9FB2EyY.js → credentials.schema--2vvcu8c.js} +2 -2
- package/dist/{credentials.schema-DwhGdrwC.cjs → credentials.schema-DVXaFnXl.cjs} +2 -2
- package/dist/{crud-Ed3dcRsC.js → crud-D_snnl2K.js} +78 -2
- package/dist/{crud-DGM6Xa1R.cjs → crud-pedHI2by.cjs} +78 -2
- package/dist/{engagement.schema-JADHu8pj.cjs → engagement.schema-DHw4iY_W.cjs} +2 -2
- package/dist/{engagement.schema-Dh1adRsn.js → engagement.schema-fh6W1fb_.js} +2 -2
- package/dist/events.server.cjs +452 -11
- package/dist/events.server.js +433 -9
- package/dist/files.server.cjs +2 -2
- package/dist/files.server.js +2 -2
- package/dist/gallery.server.cjs +5 -5
- package/dist/gallery.server.js +5 -5
- package/dist/globals.server.cjs +11 -373
- package/dist/globals.server.js +11 -356
- package/dist/globals.websocket-C2FxNmZ1.js +357 -0
- package/dist/globals.websocket-Cm72lPCs.cjs +374 -0
- package/dist/inventory.server.cjs +4 -5
- package/dist/inventory.server.js +2 -3
- package/dist/main-DvjCsGb1.cjs +11 -0
- package/dist/{main-d9n_ibdE.js → main-q-y0Lhcy.js} +28 -28
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs +8 -8
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js +8 -8
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs +8 -8
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js +8 -8
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +3 -3
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +3 -3
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js +1 -1
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +4 -4
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js +4 -4
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
- package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +1 -1
- package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
- 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/LocationMarker/LocationMarker.vue.cjs +2 -2
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +2 -2
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
- package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs → Spoiler.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
- package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs.map → Spoiler.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Status/Snack.vue.cjs +1 -1
- package/dist/martyrs/src/components/Status/Snack.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Status/Snack.vue.js +1 -1
- package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.cjs +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.js +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.cjs → UploadImage.vue2.cjs} +5 -5
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.js → UploadImage.vue2.js} +5 -5
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +4 -4
- 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 +4 -4
- 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.cjs.map +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/ProfileEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +3 -3
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +3 -3
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +2 -2
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +2 -2
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +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.cjs.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +2 -2
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +2 -2
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +4 -4
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
- 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 +3 -3
- 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 +4 -4
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.cjs +0 -6
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +0 -6
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +4 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +4 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +4 -4
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +4 -4
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
- 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 +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.cjs +4 -4
- package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.js +4 -4
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +31 -123
- 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 +31 -123
- 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 +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +10 -10
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +10 -10
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +4 -4
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +4 -4
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +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.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +5 -5
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +7 -7
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +5 -5
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +8 -8
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +8 -8
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +10 -10
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +10 -10
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +4 -4
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +4 -4
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +5 -5
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +9 -9
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +9 -9
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +2 -2
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +2 -2
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +2 -2
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +8 -8
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +8 -8
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +4 -4
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +4 -4
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +8 -8
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +8 -8
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +4 -4
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +8 -8
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +8 -8
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.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/Products.vue.cjs +5 -5
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +5 -5
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +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.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +6 -6
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +6 -6
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +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/Spot.vue.cjs +4 -4
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +4 -4
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +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.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +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.cjs.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/{metadata.schema-RlxNv46L.cjs → metadata.schema-BGykn-_r.cjs} +2 -2
- package/dist/{metadata.schema-CWmcDJN7.js → metadata.schema-CIRR_WQ-.js} +2 -2
- package/dist/music.server.cjs +30 -33
- package/dist/music.server.js +30 -33
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +2 -2
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js +2 -2
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs +13 -13
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js +13 -13
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs +3 -3
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js +3 -3
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs +10 -10
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js +10 -10
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js.map +1 -1
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +2 -2
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +1 -1
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +2 -2
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -1
- package/dist/notifications.server.cjs +22 -18
- package/dist/notifications.server.js +22 -18
- package/dist/orders.server.cjs +10 -10
- package/dist/orders.server.js +10 -10
- package/dist/organizations.server.cjs +13 -13
- package/dist/organizations.server.js +13 -13
- package/dist/{ownership.schema-D1p5XSpt.cjs → ownership.schema-CRYdbemm.cjs} +2 -2
- package/dist/{ownership.schema-BqH4v5vH.js → ownership.schema-fwwDf_e5.js} +2 -2
- package/dist/pages.server.cjs +2 -2
- package/dist/pages.server.js +2 -2
- package/dist/products.server.cjs +13 -13
- package/dist/products.server.js +13 -13
- package/dist/{profile.schema-BGAe5VN5.js → profile.schema-CjLOfG7b.js} +2 -2
- package/dist/{profile.schema-pidHrksV.cjs → profile.schema-l0Dk4Ptu.cjs} +2 -2
- package/dist/rents.server.cjs +2 -2
- package/dist/rents.server.js +2 -2
- package/dist/reports.server.cjs +2 -2
- package/dist/reports.server.js +2 -2
- package/dist/{socials.schema-CtpSF9dE.cjs → socials.schema-CqEHax2w.cjs} +2 -2
- package/dist/{socials.schema-BOZV82Mp.js → socials.schema-DxnnaBgO.js} +2 -2
- package/dist/spots.server.cjs +4 -4
- package/dist/spots.server.js +4 -4
- package/dist/style.css +75 -76
- package/dist/{web-BkaOiiSn.js → web-8cpb2Zat.js} +1 -1
- package/dist/{web-CROHFHoW.cjs → web-B0k809Uc.cjs} +1 -1
- package/package.json +8 -12
- package/src/builder/builder.js +0 -6
- package/src/components/Button/Button.vue +0 -1
- package/src/components/Calendar/Calendar.vue +2 -2
- package/src/components/Chips/Chips.vue +1 -1
- package/src/components/Countdown/Countdown.vue +4 -4
- package/src/components/EmptyState/EmptyState.vue +1 -1
- package/src/components/FieldBig/FieldBig.vue +1 -1
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/LocationMarker/LocationMarker.vue +2 -2
- package/src/components/Menu/MenuItem.vue +1 -1
- package/src/components/Status/Snack.vue +1 -1
- package/src/components/Status/Status.vue +1 -1
- package/src/components/UploadImage/UploadImage.vue +2 -2
- package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
- package/src/modules/STYLES.MD +59 -77
- package/src/modules/TASK-CORE-TRANSFER.MD +62 -0
- package/src/modules/auth/views/components/pages/EnterPassword.vue +1 -1
- package/src/modules/auth/views/components/pages/Profile.vue +3 -3
- package/src/modules/auth/views/components/pages/ProfileEdit.vue +1 -1
- package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
- package/src/modules/backoffice/components/admin/Users.vue +1 -1
- package/src/modules/backoffice/components/pages/Dashboard.vue +3 -3
- package/src/modules/backoffice/components/partials/Sidebar.vue +2 -2
- package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
- package/src/modules/chats/routes/chats.routes.js +6 -4
- package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
- package/src/modules/community/components/layouts/Community.vue +2 -2
- package/src/modules/community/components/sections/Comment.vue +1 -1
- package/src/modules/community/components/sections/Comments.vue +1 -1
- package/src/modules/constructor/components/elements/Card.vue +1 -1
- package/src/modules/constructor/components/sections/Constructor.vue +2 -2
- package/src/modules/constructor/components/sections/Viewer.vue +1 -1
- package/src/modules/events/TASKS.MD +0 -0
- package/src/modules/events/components/blocks/CardEvent.vue +4 -4
- package/src/modules/events/components/pages/Event.vue +3 -3
- package/src/modules/events/components/pages/Events.vue +4 -4
- package/src/modules/events/components/sections/SelectDate.vue +2 -2
- package/src/modules/globals/TASK.MD +9 -102
- package/src/modules/globals/globals.client.js +0 -7
- package/src/modules/globals/globals.server.js +14 -1
- package/src/modules/globals/views/classes/globals.app.js +8 -4
- package/src/modules/globals/views/components/blocks/CardHeader.vue +4 -4
- package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
- package/src/modules/globals/views/components/elements/PhotoStack.vue +4 -4
- package/src/modules/globals/views/components/partials/CitySelection.vue +2 -2
- package/src/modules/globals/views/components/partials/Footer.centered.vue +6 -6
- package/src/modules/globals/views/components/partials/Footer.vue +31 -131
- package/src/modules/globals/views/components/partials/Header.vue +3 -3
- package/src/modules/globals/views/components/partials/LocationSelection.vue +1 -1
- package/src/modules/globals/views/components/partials/Navigation.vue +1 -1
- package/src/modules/globals/views/components/sections/SectionPageTitle.vue +2 -2
- package/src/modules/globals/views/components/sections/Walkthrough.vue +10 -10
- package/src/modules/governance/TASK-TRACKER.MD +192 -0
- package/src/modules/governance/controllers/routes/initiatives.routes.js +106 -11
- package/src/modules/governance/controllers/routes/milestones.routes.js +111 -0
- package/src/modules/governance/controllers/routes/tasks.routes.js +164 -11
- package/src/modules/governance/controllers/routes/votes.routes.js +50 -9
- package/src/modules/governance/controllers/routes/votings.routes.js +209 -12
- package/src/modules/governance/data/mockData.js +654 -0
- package/src/modules/governance/governance.server.js +6 -11
- package/src/modules/governance/middlewares/initiatives.verifier.js +197 -0
- package/src/modules/governance/middlewares/milestones.verifier.js +243 -0
- package/src/modules/governance/middlewares/tasks.verifier.js +224 -0
- package/src/modules/governance/middlewares/votes.verifier.js +115 -0
- package/src/modules/governance/middlewares/votings.verifier.js +237 -0
- package/src/modules/governance/models/initiative.model.js +14 -8
- package/src/modules/governance/models/task.model.js +13 -1
- package/src/modules/governance/models/voting.model.js +68 -2
- package/src/modules/governance/reactcode/.bolt/config.json +3 -0
- package/src/modules/governance/reactcode/.bolt/prompt +5 -0
- package/src/modules/governance/reactcode/eslint.config.js +28 -0
- package/src/modules/governance/reactcode/index.html +13 -0
- package/src/modules/governance/reactcode/package-lock.json +4229 -0
- package/src/modules/governance/reactcode/package.json +36 -0
- package/src/modules/governance/reactcode/postcss.config.js +6 -0
- package/src/modules/governance/reactcode/src/App.tsx +29 -0
- package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +258 -0
- package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +257 -0
- package/src/modules/governance/reactcode/src/components/EmptyState.tsx +29 -0
- package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +59 -0
- package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +58 -0
- package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +82 -0
- package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +70 -0
- package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +183 -0
- package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +100 -0
- package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +184 -0
- package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +74 -0
- package/src/modules/governance/reactcode/src/components/TaskCard.tsx +88 -0
- package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +27 -0
- package/src/modules/governance/reactcode/src/components/VoteForm.tsx +96 -0
- package/src/modules/governance/reactcode/src/components/VotingCard.tsx +78 -0
- package/src/modules/governance/reactcode/src/components/VotingResults.tsx +155 -0
- package/src/modules/governance/reactcode/src/data/mockData.ts +1465 -0
- package/src/modules/governance/reactcode/src/index.css +3 -0
- package/src/modules/governance/reactcode/src/main.tsx +10 -0
- package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +569 -0
- package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +171 -0
- package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +182 -0
- package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +178 -0
- package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +256 -0
- package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +529 -0
- package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +191 -0
- package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +86 -0
- package/src/modules/governance/reactcode/src/vite-env.d.ts +1 -0
- package/src/modules/governance/reactcode/tailwind.config.js +8 -0
- package/src/modules/governance/reactcode/tsconfig.app.json +24 -0
- package/src/modules/governance/reactcode/tsconfig.json +7 -0
- package/src/modules/governance/reactcode/tsconfig.node.json +22 -0
- package/src/modules/governance/reactcode/vite.config.ts +10 -0
- package/src/modules/governance/seed-governance.js +348 -0
- package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +58 -7
- package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +70 -0
- package/src/modules/governance/views/components/blocks/CardTaskItem.vue +58 -7
- package/src/modules/governance/views/components/blocks/CardVotingItem.vue +65 -7
- package/src/modules/governance/views/components/layouts/Governance.vue +23 -0
- package/src/modules/governance/views/components/pages/Governance.vue +44 -0
- package/src/modules/governance/views/components/pages/Initiative.vue +413 -8
- package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +159 -0
- package/src/modules/governance/views/components/pages/Initiatives.vue +164 -6
- package/src/modules/governance/views/components/pages/Milestone.vue +170 -0
- package/src/modules/governance/views/components/pages/Roadmap.vue +238 -0
- package/src/modules/governance/views/components/pages/Task.vue +393 -14
- package/src/modules/governance/views/components/pages/Tasks.vue +164 -10
- package/src/modules/governance/views/components/pages/Voting.vue +167 -20
- package/src/modules/governance/views/components/pages/Votings.vue +86 -9
- package/src/modules/governance/views/components/partials/EmptyState.vue +41 -0
- package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +73 -0
- package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +35 -0
- package/src/modules/governance/views/components/partials/VoteForm.vue +100 -0
- package/src/modules/governance/views/components/partials/VotingResults.vue +127 -0
- package/src/modules/governance/views/router/goverance.router.js +52 -1
- package/src/modules/governance/views/store/initiatives.js +10 -7
- package/src/modules/governance/views/store/tasks.js +10 -7
- package/src/modules/governance/views/store/votes.js +10 -7
- package/src/modules/governance/views/store/votings.js +9 -6
- package/src/modules/inventory/components/forms/AdjustmentForm.vue +1 -1
- package/src/modules/landing/components/sections/Examples.vue +1 -1
- package/src/modules/landing/components/sections/SectionEarn.vue +2 -2
- package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
- package/src/modules/landing/components/sections/SectionFeaturesImages.vue +1 -1
- package/src/modules/landing/components/sections/SectionFocus.vue +1 -1
- package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
- package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
- package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
- package/src/modules/landing/components/sections/SectionJoinUs.vue +1 -1
- package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
- package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +3 -3
- package/src/modules/marketplace/views/components/sections/SectionMenu.vue +1 -1
- package/src/modules/music/components/forms/AlbumForm.vue +2 -2
- package/src/modules/music/components/forms/ArtistForm.vue +4 -4
- package/src/modules/music/components/forms/PlaylistForm.vue +6 -6
- package/src/modules/music/components/forms/TrackForm.vue +4 -4
- package/src/modules/music/components/pages/Album.vue +8 -8
- package/src/modules/music/components/pages/Artist.vue +10 -10
- package/src/modules/music/components/pages/MusicLibrary.vue +4 -4
- package/src/modules/music/components/pages/Playlist.vue +5 -5
- package/src/modules/music/components/pages/Track.vue +9 -9
- package/src/modules/music/music.server.js +0 -1
- package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
- package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
- package/src/modules/notifications/notifications.server.js +26 -20
- package/src/modules/orders/components/blocks/CardOrder.vue +7 -7
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +1 -1
- package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +2 -2
- package/src/modules/orders/components/elements/PriceTotal.vue +1 -1
- package/src/modules/orders/components/pages/Favorites.vue +1 -1
- package/src/modules/orders/components/pages/OrderBackoffice.vue +7 -7
- package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
- package/src/modules/orders/components/partials/ShopCart.vue +1 -1
- package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
- package/src/modules/orders/components/sections/Succes.vue +1 -1
- package/src/modules/organizations/components/blocks/CardOrganization.vue +3 -3
- package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
- package/src/modules/organizations/components/blocks/Rating.vue +2 -2
- package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +1 -1
- package/src/modules/organizations/components/forms/DepartmentForm.vue +2 -2
- package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
- package/src/modules/organizations/components/pages/Department.vue +2 -2
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
- package/src/modules/organizations/components/pages/Organization.new.vue +7 -7
- package/src/modules/organizations/components/pages/Organization.vue +6 -6
- package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +8 -8
- package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
- package/src/modules/products/components/blocks/CardCategory.vue +2 -2
- package/src/modules/products/components/blocks/CardPosition.vue +1 -1
- package/src/modules/products/components/blocks/CardProduct.vue +3 -3
- package/src/modules/products/components/blocks/ProductDiscounts.vue +2 -2
- package/src/modules/products/components/elements/Price.vue +4 -4
- package/src/modules/products/components/elements/QuantitySelector.vue +2 -2
- package/src/modules/products/components/forms/StockAuditForm.vue +1 -1
- package/src/modules/products/components/pages/Product.vue +2 -2
- package/src/modules/products/components/pages/Products.vue +4 -4
- package/src/modules/products/components/sections/EditAttributes.vue +3 -3
- package/src/modules/products/components/sections/EditDiscounts.vue +3 -3
- package/src/modules/products/components/sections/EditVariants.vue +5 -5
- package/src/modules/products/components/sections/FilterProducts.vue +3 -3
- package/src/modules/products/components/sections/HeroRecommendation.vue +2 -2
- package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
- package/src/modules/products/components/sections/ProductsRecommended.vue +1 -1
- package/src/modules/products/components/sections/SectionProduct.vue +2 -2
- package/src/modules/reports/components/sections/FormReport.vue +2 -2
- package/src/modules/spots/components/blocks/CardSpot.vue +5 -5
- package/src/modules/spots/components/pages/Spot.vue +2 -2
- package/src/modules/spots/components/pages/SpotEdit.vue +3 -3
- package/src/modules/wallet/views/components/pages/Wallet.vue +4 -4
- package/src/styles/base/all.scss +20 -0
- package/src/styles/config.scss +10 -9
- package/src/styles/typography.scss +13 -13
- package/dist/globals.observer-C_FYclgV.cjs +0 -78
- package/dist/globals.observer-MZsqaE6F.js +0 -79
- package/dist/main-8f945Ngn.cjs +0 -11
- package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -2
- package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js +0 -2
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
- package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs +0 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js +0 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
- package/dist/tickets.controller-9zoaVPcx.cjs +0 -444
- package/dist/tickets.controller-C8sWVqbB.js +0 -428
- package/dist/wallet.server.cjs +0 -528
- package/dist/wallet.server.js +0 -511
- package/src/builder/modes/ssr.vite.dev.js +0 -180
- package/src/builder/ssr/ssr-render-html.vite.js +0 -35
- package/src/builder/vite/index.js +0 -13
- package/src/builder/vite/vite.config.api.js +0 -52
- package/src/builder/vite/vite.config.base.js +0 -110
- package/src/builder/vite/vite.config.spa.client.js +0 -81
- package/src/builder/vite/vite.config.ssr.client.js +0 -244
- package/src/builder/vite/vite.config.ssr.server.js +0 -74
- package/src/modules/governance/controllers/factories/initiatives.controller.js +0 -90
- package/src/modules/governance/controllers/factories/tasks.controller.js +0 -88
- package/src/modules/governance/controllers/factories/votes.controller.js +0 -64
- package/src/modules/governance/controllers/factories/votings.controller.js +0 -105
- package/src/modules/governance/views/store/projects.js +0 -148
- /package/src/modules/governance/{DESCRIPTION.MD → IGNORE-ITS FOR FUTURE-DESCRIPTION.MD} +0 -0
|
@@ -39,108 +39,8 @@ const props = defineProps({
|
|
|
39
39
|
const router = useRouter()
|
|
40
40
|
const route = useRoute()
|
|
41
41
|
|
|
42
|
-
// Localization
|
|
43
|
-
const text = {
|
|
44
|
-
locale: 'en',
|
|
45
|
-
messages: {
|
|
46
|
-
en: {
|
|
47
|
-
linkAppStore: 'https://play.google.com/store/apps/details?id=com.threestepsrental.app',
|
|
48
|
-
linkGooglePlay: 'https://play.google.com/store/apps/details?id=com.threestepsrental.app',
|
|
49
|
-
// Contact
|
|
50
|
-
description: "3SR – Premium Video Gear Rentals for Filmmakers and Content Creators",
|
|
51
|
-
contact: 'Contact',
|
|
52
|
-
phone: 'Phone / WhatsApp',
|
|
53
|
-
email: 'Email',
|
|
54
|
-
hours: 'Hours',
|
|
55
|
-
hours_text: 'Mon–Sun, 10:00–19:00',
|
|
56
|
-
app: 'Get Our App',
|
|
57
|
-
|
|
58
|
-
// Subscribe
|
|
59
|
-
subscribe: 'Subscribe',
|
|
60
|
-
subscribe_text: 'Get updates on new equipment and special offers',
|
|
61
|
-
email_placeholder: 'Enter your email',
|
|
62
|
-
follow: 'Follow Us',
|
|
63
|
-
|
|
64
|
-
// Footer
|
|
65
|
-
year: '2025 ',
|
|
66
|
-
heart: "❤",
|
|
67
|
-
copyright: 'Three Steps Studio Ltd. All Rights Reserved.',
|
|
68
|
-
ozdao: 'Builded in OZ DAO',
|
|
69
|
-
|
|
70
|
-
// Contact info
|
|
71
|
-
phoneNumber: '+44 77 7878 4893',
|
|
72
|
-
emailAddress: "info{'@'}3stepsprod.com",
|
|
73
|
-
|
|
74
|
-
// Navigation columns
|
|
75
|
-
navigationColumns: [
|
|
76
|
-
{
|
|
77
|
-
sections: [
|
|
78
|
-
{
|
|
79
|
-
title: 'Equipment',
|
|
80
|
-
items: [
|
|
81
|
-
{ name: 'Cameras', url: 'products/categories/cameras' },
|
|
82
|
-
{ name: 'Lighting', url: 'products/categories/lighting-kits' },
|
|
83
|
-
{ name: 'Stabilizers', url: 'products/categories/stabilization-motion' },
|
|
84
|
-
{ name: 'Accessories', url: 'products/categories/accessories' }
|
|
85
|
-
]
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
title: 'Services',
|
|
89
|
-
items: [
|
|
90
|
-
{ name: 'Kits & Packages', url: 'products/categories/kits-packages' },
|
|
91
|
-
{ name: 'Studio Hire', url: 'products/categories/studio-hire' },
|
|
92
|
-
{ name: 'Delivery', url: 'products/categories/delivery' },
|
|
93
|
-
{ name: 'Production Help', url: 'products/categories/production-help' }
|
|
94
|
-
]
|
|
95
|
-
}
|
|
96
|
-
]
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
sections: [
|
|
100
|
-
{
|
|
101
|
-
title: 'Company',
|
|
102
|
-
items: [
|
|
103
|
-
{ name: 'About Us', url: 'pages/about' },
|
|
104
|
-
{ name: 'Contact', url: 'pages/contact' },
|
|
105
|
-
{ name: 'FAQ', url: 'pages/faq' },
|
|
106
|
-
{ name: 'Blog', url: '/community' }
|
|
107
|
-
]
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
title: 'Legal',
|
|
111
|
-
items: [
|
|
112
|
-
{ name: 'Privacy Policy', url: 'pages/privacy-policy' },
|
|
113
|
-
{ name: 'Cookie Policy', url: 'pages/cookie-policy' },
|
|
114
|
-
{ name: 'Terms of Use', url: 'pages/terms-of-use' },
|
|
115
|
-
{ name: 'EULA', url: 'pages/eula' }
|
|
116
|
-
]
|
|
117
|
-
}
|
|
118
|
-
]
|
|
119
|
-
}
|
|
120
|
-
],
|
|
121
|
-
|
|
122
|
-
// Social links
|
|
123
|
-
socialLinks: [
|
|
124
|
-
{
|
|
125
|
-
name: 'IconInstagram',
|
|
126
|
-
url: 'https://www.instagram.com/3stepsprod'
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
name: 'IconYoutube',
|
|
130
|
-
url: 'https://www.youtube.com/@threestepsproduction'
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
name: 'IconWhatsapp',
|
|
134
|
-
url: 'https://api.whatsapp.com/send/?phone=447778784893&text&type=phone_number&app_absent=0'
|
|
135
|
-
}
|
|
136
|
-
]
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
42
|
const { t, te, tm } = useI18n({
|
|
142
|
-
useScope: 'global'
|
|
143
|
-
messages: text.messages
|
|
43
|
+
useScope: 'global'
|
|
144
44
|
})
|
|
145
45
|
|
|
146
46
|
// Component mapping for social icons
|
|
@@ -178,61 +78,61 @@ const iconComponents = {
|
|
|
178
78
|
|
|
179
79
|
<!-- Contact Block -->
|
|
180
80
|
<div class="col w-max-15r">
|
|
181
|
-
<p class="p-
|
|
81
|
+
<p class="p-medium t-medium mn-b-semi">{{ t('footer.description') }}</p>
|
|
182
82
|
|
|
183
83
|
<div class="mn-b-semi flex flex-column gap-small">
|
|
184
84
|
<a
|
|
185
|
-
:href="`tel:${t('phoneNumber').replace(/\s/g, '')}`"
|
|
85
|
+
:href="`tel:${t('footer.phoneNumber').replace(/\s/g, '')}`"
|
|
186
86
|
class="flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70"
|
|
187
87
|
:class="theme === 'light' ? 't-black' : 't-white'"
|
|
188
88
|
>
|
|
189
|
-
<IconPhone class="i-
|
|
190
|
-
<span class="t-small">{{ t('phoneNumber') }}</span>
|
|
89
|
+
<IconPhone class="i-medium" :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'" />
|
|
90
|
+
<span class="t-small">{{ t('footer.phoneNumber') }}</span>
|
|
191
91
|
</a>
|
|
192
92
|
|
|
193
93
|
<a
|
|
194
|
-
:href="`mailto:${t('emailAddress')}`"
|
|
94
|
+
:href="`mailto:${t('footer.emailAddress')}`"
|
|
195
95
|
class="flex mn-b-micro gap-micro flex-v-center transition-opacity hover-opacity-70"
|
|
196
96
|
:class="theme === 'light' ? 't-black' : 't-white'"
|
|
197
97
|
>
|
|
198
|
-
<IconEmail class="i-
|
|
199
|
-
<span class="t-small">{{ t('emailAddress') }}</span>
|
|
98
|
+
<IconEmail class="i-medium" :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'" />
|
|
99
|
+
<span class="t-small">{{ t('footer.emailAddress') }}</span>
|
|
200
100
|
</a>
|
|
201
101
|
|
|
202
102
|
<div class="flex mn-b-micro gap-micro flex-v-center">
|
|
203
|
-
<IconTime class="i-
|
|
204
|
-
<span class="t-small">{{ t('hours_text') }}</span>
|
|
103
|
+
<IconTime class="i-medium" :fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'" />
|
|
104
|
+
<span class="t-small">{{ t('footer.hours_text') }}</span>
|
|
205
105
|
</div>
|
|
206
106
|
</div>
|
|
207
107
|
|
|
208
|
-
<h4 class="h5 t-medium mn-b-regular">{{ t('app') }}</h4>
|
|
108
|
+
<h4 class="h5 t-medium mn-b-regular">{{ t('footer.app') }}</h4>
|
|
209
109
|
<div class="w-100 flex-nowrap flex gap-thin">
|
|
210
110
|
<a
|
|
211
|
-
v-if="te('linkAppStore') || te('label')"
|
|
212
|
-
:href="te('linkAppStore') ? t('linkAppStore') : null"
|
|
213
|
-
:target="te('linkAppStore') ? '_blank' : null"
|
|
111
|
+
v-if="te('footer.linkAppStore') || te('footer.label')"
|
|
112
|
+
:href="te('footer.linkAppStore') ? t('footer.linkAppStore') : null"
|
|
113
|
+
:target="te('footer.linkAppStore') ? '_blank' : null"
|
|
214
114
|
class="pos-relative w-100 h-100"
|
|
215
115
|
>
|
|
216
116
|
<span
|
|
217
|
-
v-if="te('label')"
|
|
117
|
+
v-if="te('footer.label')"
|
|
218
118
|
class="z-index-2 radius-medium bg-main t-medium uppercase pd-thin pos-absolute pos-r-10-negative pos-t-10-negative"
|
|
219
119
|
>
|
|
220
|
-
{{ t('label') }}
|
|
120
|
+
{{ t('footer.label') }}
|
|
221
121
|
</span>
|
|
222
122
|
<LabelAppStore class="w-100 h-max" alt="Download on App Store"/>
|
|
223
123
|
</a>
|
|
224
124
|
|
|
225
125
|
<a
|
|
226
|
-
v-if="te('linkGooglePlay') || te('label')"
|
|
227
|
-
:href="te('linkGooglePlay') ? t('linkGooglePlay') : null"
|
|
228
|
-
:target="te('linkGooglePlay') ? '_blank' : null"
|
|
126
|
+
v-if="te('footer.linkGooglePlay') || te('footer.label')"
|
|
127
|
+
:href="te('footer.linkGooglePlay') ? t('footer.linkGooglePlay') : null"
|
|
128
|
+
:target="te('footer.linkGooglePlay') ? '_blank' : null"
|
|
229
129
|
class="pos-relative w-100 h-100"
|
|
230
130
|
>
|
|
231
131
|
<span
|
|
232
|
-
v-if="te('label')"
|
|
132
|
+
v-if="te('footer.label')"
|
|
233
133
|
class="z-index-2 pd-thin radius-medium bg-main t-medium uppercase pos-absolute pos-r-10-negative pos-t-10-negative"
|
|
234
134
|
>
|
|
235
|
-
{{ t('label') }}
|
|
135
|
+
{{ t('footer.label') }}
|
|
236
136
|
</span>
|
|
237
137
|
<LabelGooglePlay class="w-100 h-max" alt="Download on Google Play"/>
|
|
238
138
|
</a>
|
|
@@ -241,7 +141,7 @@ const iconComponents = {
|
|
|
241
141
|
|
|
242
142
|
<!-- Navigation Columns -->
|
|
243
143
|
<div class="cols-2 gap-big">
|
|
244
|
-
<div v-for="(column, colIndex) in tm('navigationColumns')" :key="colIndex" class="flex flex-column gap-
|
|
144
|
+
<div v-for="(column, colIndex) in tm('footer.navigationColumns')" :key="colIndex" class="flex flex-column gap-regular">
|
|
245
145
|
<div v-for="(section, sectionIndex) in column.sections" :key="sectionIndex" class="">
|
|
246
146
|
<h4 class="h5 t-medium mn-b-regular">{{ section.title }}</h4>
|
|
247
147
|
<nav>
|
|
@@ -263,8 +163,8 @@ const iconComponents = {
|
|
|
263
163
|
|
|
264
164
|
<!-- Subscribe Block -->
|
|
265
165
|
<div class="col">
|
|
266
|
-
<h4 class="h5 t-medium mn-b-regular">{{ t('subscribe') }}</h4>
|
|
267
|
-
<p class="t-small mn-b-small t-transp">{{ t('subscribe_text') }}</p>
|
|
166
|
+
<h4 class="h5 t-medium mn-b-regular">{{ t('footer.subscribe') }}</h4>
|
|
167
|
+
<p class="t-small mn-b-small t-transp">{{ t('footer.subscribe_text') }}</p>
|
|
268
168
|
|
|
269
169
|
<FieldSubscribeNewsletter
|
|
270
170
|
:action="''"
|
|
@@ -273,11 +173,11 @@ const iconComponents = {
|
|
|
273
173
|
class="d-inline-flex mn-b-medium bg-light t-black w-100"
|
|
274
174
|
/>
|
|
275
175
|
|
|
276
|
-
<h4 class="h5 t-medium mn-b-regular">{{ t('follow') }}</h4>
|
|
176
|
+
<h4 class="h5 t-medium mn-b-regular">{{ t('footer.follow') }}</h4>
|
|
277
177
|
<!-- Social Links -->
|
|
278
178
|
<div class="flex gap-thin">
|
|
279
179
|
<a
|
|
280
|
-
v-for="social in tm('socialLinks')"
|
|
180
|
+
v-for="social in tm('footer.socialLinks')"
|
|
281
181
|
:key="social.name"
|
|
282
182
|
:href="social.url"
|
|
283
183
|
target="_blank"
|
|
@@ -292,7 +192,7 @@ const iconComponents = {
|
|
|
292
192
|
>
|
|
293
193
|
<component
|
|
294
194
|
:is="iconComponents[social.name]"
|
|
295
|
-
class="i-
|
|
195
|
+
class="i-medium"
|
|
296
196
|
:fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'"
|
|
297
197
|
/>
|
|
298
198
|
</a>
|
|
@@ -321,14 +221,14 @@ const iconComponents = {
|
|
|
321
221
|
>
|
|
322
222
|
<!-- Copyright -->
|
|
323
223
|
<p class="t-small t-medium uppercase">
|
|
324
|
-
{{ t('year') }}
|
|
325
|
-
<span class="t-main copyleft">{{ t('heart') }}</span>
|
|
326
|
-
{{ t('copyright') }}
|
|
224
|
+
{{ t('footer.year') }}
|
|
225
|
+
<span class="t-main copyleft">{{ t('footer.heart') }}</span>
|
|
226
|
+
{{ t('footer.copyright') }}
|
|
327
227
|
</p>
|
|
328
228
|
|
|
329
229
|
<a href="https://ozdao.dev" target="_blank" rel="noopener" class="flex-nowrap flex-v-center flex t-medium gap-thin br-1px br-light pd-thin radius-thin">
|
|
330
230
|
<Logotype class="h-1r w-auto"/>
|
|
331
|
-
<span>{{ t('ozdao') }}</span>
|
|
231
|
+
<span>{{ t('footer.ozdao') }}</span>
|
|
332
232
|
</a>
|
|
333
233
|
</div>
|
|
334
234
|
</footer>
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
:showLoader="false"
|
|
151
151
|
>
|
|
152
152
|
<IconSearch
|
|
153
|
-
class="i-
|
|
153
|
+
class="i-medium"
|
|
154
154
|
:fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'"
|
|
155
155
|
/>
|
|
156
156
|
</Button>
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
class="pd-zero mn-r-micro"
|
|
165
165
|
>
|
|
166
166
|
<IconShopcart
|
|
167
|
-
class="i-
|
|
167
|
+
class="i-medium"
|
|
168
168
|
:fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'"
|
|
169
169
|
/>
|
|
170
170
|
<!-- <div class="w-max p-small pos-absolute pos-t-100 pos-r-0">Product Added to Shopcart</div> -->
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
:showLoader="false"
|
|
191
191
|
>
|
|
192
192
|
<IconProfile
|
|
193
|
-
class="i-
|
|
193
|
+
class="i-medium"
|
|
194
194
|
:fill="theme === 'light' ? 'rgb(var(--black))' : 'rgb(var(--white))'"
|
|
195
195
|
/>
|
|
196
196
|
</Button>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
v-if="action.to"
|
|
12
12
|
:key="action.to"
|
|
13
13
|
:to="action.to"
|
|
14
|
-
:class="action.class || 'radius-extra pd-small pd-r-medium pd-l-medium p-
|
|
14
|
+
:class="action.class || 'radius-extra pd-small pd-r-medium pd-l-medium p-regular uppercase t-medium hover-scale-1 transition-ease cursor-pointer t-white bg-second flex-center flex'"
|
|
15
15
|
>
|
|
16
16
|
{{ action.label }}
|
|
17
17
|
</router-link>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
:selected="tabs_current"
|
|
32
32
|
@update:selected="updateTabsCurrent"
|
|
33
33
|
:tabs="tabs"
|
|
34
|
-
class="mn-t-small pd-thin bg-light radius-small w-max t-nowrap o-scroll p-
|
|
34
|
+
class="mn-t-small pd-thin bg-light radius-small w-max t-nowrap o-scroll p-regular"
|
|
35
35
|
/>
|
|
36
36
|
</div>
|
|
37
37
|
</template>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
</p>
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
<button @click="nextSlide" class="bg-main p-
|
|
31
|
+
<button @click="nextSlide" class="bg-main p-semi w-max button">
|
|
32
32
|
Get Started
|
|
33
33
|
</button>
|
|
34
34
|
</div>
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
</p>
|
|
50
50
|
|
|
51
51
|
<div class="flex flex-column flex-center gap-small">
|
|
52
|
-
<button @click="requestNotificationPermission" class="bg-main p-
|
|
52
|
+
<button @click="requestNotificationPermission" class="bg-main p-semi w-max button">
|
|
53
53
|
Enable Notifications
|
|
54
54
|
</button>
|
|
55
|
-
<button @click="nextSlide" class="bg-light p-
|
|
55
|
+
<button @click="nextSlide" class="bg-light p-semi w-max button">
|
|
56
56
|
Maybe Later
|
|
57
57
|
</button>
|
|
58
58
|
</div>
|
|
@@ -74,10 +74,10 @@
|
|
|
74
74
|
</p>
|
|
75
75
|
|
|
76
76
|
<div class="flex flex-column flex-center gap-small">
|
|
77
|
-
<button @click="requestLocationPermission" class="bg-main p-
|
|
77
|
+
<button @click="requestLocationPermission" class="bg-main p-semi w-max button">
|
|
78
78
|
Enable Location
|
|
79
79
|
</button>
|
|
80
|
-
<button @click="nextSlide" class="bg-light p-
|
|
80
|
+
<button @click="nextSlide" class="bg-light p-semi w-max button">
|
|
81
81
|
Skip for Now
|
|
82
82
|
</button>
|
|
83
83
|
</div>
|
|
@@ -98,10 +98,10 @@
|
|
|
98
98
|
</p>
|
|
99
99
|
|
|
100
100
|
<div class="flex flex-column flex-center gap-small">
|
|
101
|
-
<button @click="requestTrackingPermission" class="bg-main p-
|
|
101
|
+
<button @click="requestTrackingPermission" class="bg-main p-semi w-max button">
|
|
102
102
|
Allow Tracking
|
|
103
103
|
</button>
|
|
104
|
-
<button @click="nextSlide" class="bg-light p-
|
|
104
|
+
<button @click="nextSlide" class="bg-light p-semi w-max button">
|
|
105
105
|
Ask App Not to Track
|
|
106
106
|
</button>
|
|
107
107
|
</div>
|
|
@@ -119,11 +119,11 @@
|
|
|
119
119
|
<h3 class="h3 mn-b-medium">Ready to Rent?</h3>
|
|
120
120
|
<p class="p-regular t-transp mn-b-big">Join thousands of creators who trust 3SR for their professional video equipment needs. Choose how you'd like to get started.</p>
|
|
121
121
|
|
|
122
|
-
<button @click="openFirstRoute('Sign Up')" class="bg-main p-
|
|
123
|
-
<button @click="openFirstRoute('Sign In')" class="bg-light t-black p-
|
|
122
|
+
<button @click="openFirstRoute('Sign Up')" class="bg-main p-semi w-100 button mn-b-thin">Create Account</button>
|
|
123
|
+
<button @click="openFirstRoute('Sign In')" class="bg-light t-black p-semi w-100 button mn-b-semi">Sign In</button>
|
|
124
124
|
|
|
125
125
|
<p class="p-small mn-b-medium t-transp">Or explore as a guest:</p>
|
|
126
|
-
<button @click="setFirstUseFalse()" class="bg-light p-
|
|
126
|
+
<button @click="setFirstUseFalse()" class="bg-light p-semi w-max button">Continue as Guest</button>
|
|
127
127
|
</div>
|
|
128
128
|
</div>
|
|
129
129
|
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
Я изучу архитектуру вашего проекта Martyrs и доработаю ТЗ с учетом существующей кодовой базы. Сначала найду информацию об organizations, departments и общей архитектуре.## ТЗ: модуль управления проектами OZ DAO (доработка с учетом архитектуры Martyrs)
|
|
2
|
+
|
|
3
|
+
### Назначение
|
|
4
|
+
Модуль обеспечивает управление проектами с интеграцией в экосистему Martyrs: проекты с несколькими репозиториями, задачи (по умолчанию приватные для участников), merge requests, ревью и утверждение, выплаты исполнителям на внутренние кошельки, GitOps-раздел. Использует существующую инфраструктуру авторизации, организаций и ролей.
|
|
5
|
+
|
|
6
|
+
### Архитектурная интеграция
|
|
7
|
+
|
|
8
|
+
**Базовые модели и связи:**
|
|
9
|
+
- Расширение `db.organization` через связь с `db.project` (owner.type: 'Organization')
|
|
10
|
+
- Использование `db.membership` для управления участниками проекта с расширенными ролями
|
|
11
|
+
- Интеграция с `db.department` для привязки проектов к подразделениям
|
|
12
|
+
- Применение существующей системы `invites` для приглашений в проекты
|
|
13
|
+
|
|
14
|
+
**Ключевые файлы для просмотра:**
|
|
15
|
+
- `modules/organizations/models/membership.model.js` - базовая модель членства
|
|
16
|
+
- `modules/organizations/models/schemas/accesses.schema.js` - схема доступов
|
|
17
|
+
- `modules/organizations/policies/organizations.policies.js` - политики ABAC
|
|
18
|
+
- `modules/organizations/controllers/utils/queryProcessorOrganizations.js` - обработка запросов
|
|
19
|
+
- `modules/globals/controllers/classes/abac/` - система контроля доступа
|
|
20
|
+
|
|
21
|
+
### Основной поток
|
|
22
|
+
Создание проекта в организации → назначение department (опционально) → приглашение участников через invites → добавление репозиториев → создание задач → выполнение задач → открытие MR с привязкой к задаче → ревью и утверждение → закрытие задачи и приёмка → выплата через wallet модуль.
|
|
23
|
+
|
|
24
|
+
### Расширение модели Membership для проектов
|
|
25
|
+
|
|
26
|
+
**Дополнительные поля в membership для контекста проекта:**
|
|
27
|
+
```
|
|
28
|
+
membership.context = {
|
|
29
|
+
type: 'Project', // или 'Organization', 'Department'
|
|
30
|
+
target: ObjectId // ID проекта
|
|
31
|
+
}
|
|
32
|
+
membership.projectRole: String // 'owner', 'management', 'contributor'
|
|
33
|
+
membership.permissions: {
|
|
34
|
+
merge: Boolean,
|
|
35
|
+
deploy: Boolean,
|
|
36
|
+
budget: Boolean,
|
|
37
|
+
veto: Boolean
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Роли проекта (через расширенный membership)
|
|
42
|
+
|
|
43
|
+
- **Owner проекта** — создатель проекта или назначенный владелец из организации
|
|
44
|
+
- Полный контроль через `membership.projectRole === 'owner'`
|
|
45
|
+
- Автоматически получает все permissions: true
|
|
46
|
+
- Наследует права от `organizationHelpers.isOrganizationOwner()`
|
|
47
|
+
|
|
48
|
+
- **Management проекта** — участники с правами управления
|
|
49
|
+
- `membership.projectRole === 'management'`
|
|
50
|
+
- Настраиваемые permissions через `membership.permissions`
|
|
51
|
+
- По умолчанию: merge, deploy, budget = true; veto = false
|
|
52
|
+
|
|
53
|
+
- **Contributors проекта** — разработчики и исполнители
|
|
54
|
+
- `membership.projectRole === 'contributor'`
|
|
55
|
+
- Базовые права: создание задач и MR
|
|
56
|
+
- permissions по умолчанию все false
|
|
57
|
+
|
|
58
|
+
### Интеграция с ABAC системой
|
|
59
|
+
|
|
60
|
+
**Регистрация политик проекта:**
|
|
61
|
+
```
|
|
62
|
+
// В modules/projects/policies/projects.policies.js
|
|
63
|
+
abacAccessControl.registerResourcePolicy('project', async context => {
|
|
64
|
+
// Использование organizationHelpers для проверки прав
|
|
65
|
+
const orgId = await getProjectOrganization(context.currentResource);
|
|
66
|
+
const isOrgMember = await context.checkOrganizationMember(context.user, orgId);
|
|
67
|
+
// Проверка projectRole через membership
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Использование field policies для задач:**
|
|
72
|
+
```
|
|
73
|
+
abac.registerFieldsPolicy('task', {
|
|
74
|
+
'budget': {
|
|
75
|
+
access: async (context) => context.membership?.permissions?.budget,
|
|
76
|
+
actions: ['update']
|
|
77
|
+
},
|
|
78
|
+
'status': {
|
|
79
|
+
access: async (context) => {
|
|
80
|
+
if (context.value === 'done') {
|
|
81
|
+
return context.membership?.permissions?.merge;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Правила действий (через ABAC middleware)
|
|
89
|
+
|
|
90
|
+
- **Ветки и push** — проверка через `abac.middleware('repository', 'push')`
|
|
91
|
+
- Требует projectRole: owner/management
|
|
92
|
+
- **MR создание** — открыто для всех с доступом к задаче
|
|
93
|
+
- **Merge** — требует permissions.merge === true
|
|
94
|
+
- **Выплаты** — требует permissions.budget === true
|
|
95
|
+
- **Deploy/rollback** — требует permissions.deploy === true
|
|
96
|
+
- **Наложение вето** — требует permissions.veto === true
|
|
97
|
+
|
|
98
|
+
### Голосование (microDAO интеграция)
|
|
99
|
+
|
|
100
|
+
**Структура голосования:**
|
|
101
|
+
```
|
|
102
|
+
voting: {
|
|
103
|
+
type: 'task' | 'mr' | 'payout' | 'deploy',
|
|
104
|
+
target: ObjectId,
|
|
105
|
+
requires_vote: Boolean,
|
|
106
|
+
voters: [{
|
|
107
|
+
user: ObjectId,
|
|
108
|
+
vote: 'approve' | 'reject' | 'veto',
|
|
109
|
+
timestamp: Date
|
|
110
|
+
}],
|
|
111
|
+
threshold: Number, // процент для принятия
|
|
112
|
+
status: 'pending' | 'approved' | 'rejected' | 'vetoed'
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Интеграция с WebSocket:**
|
|
117
|
+
- События голосования транслируются через `WebSocketManager`
|
|
118
|
+
- Использование существующих каналов: `project:{id}`, `task:{id}`
|
|
119
|
+
- Real-time обновления статусов через `globalswebsocket`
|
|
120
|
+
|
|
121
|
+
### Задачи (расширение governance/tasks)
|
|
122
|
+
|
|
123
|
+
**Дополнительные поля для проектных задач:**
|
|
124
|
+
```
|
|
125
|
+
task.project: ObjectId // связь с проектом
|
|
126
|
+
task.repository: String // целевой репозиторий
|
|
127
|
+
task.branch: String // целевая ветка
|
|
128
|
+
task.mergeRequests: [ObjectId] // связанные MR
|
|
129
|
+
task.visibility: {
|
|
130
|
+
type: String, // 'project', 'public', 'custom'
|
|
131
|
+
allowList: [ObjectId], // для custom
|
|
132
|
+
denyList: [ObjectId]
|
|
133
|
+
}
|
|
134
|
+
task.budget: {
|
|
135
|
+
amount: Number,
|
|
136
|
+
currency: String,
|
|
137
|
+
approved: Boolean
|
|
138
|
+
}
|
|
139
|
+
task.passed: Boolean // флаг приёмки
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### События и уведомления
|
|
143
|
+
|
|
144
|
+
**Использование notifications модуля:**
|
|
145
|
+
- Подключение к `modules/notifications/` для email/push уведомлений
|
|
146
|
+
- События проекта регистрируются через Observer pattern
|
|
147
|
+
- Логирование через `globals.logger` с категорией 'project'
|
|
148
|
+
|
|
149
|
+
**WebSocket события:**
|
|
150
|
+
```javascript
|
|
151
|
+
// Используя WebSocketManager из globals
|
|
152
|
+
wss.broadcast(`project:${projectId}`, {
|
|
153
|
+
event: 'task.updated',
|
|
154
|
+
data: taskData,
|
|
155
|
+
permissions: ['project.member'] // фильтрация по правам
|
|
156
|
+
});
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Инварианты и валидация
|
|
160
|
+
|
|
161
|
+
- **Owner контроль** — проверка через `organizationHelpers.isOrganizationOwner()` или `membership.projectRole === 'owner'`
|
|
162
|
+
- **Cascade permissions** — права организации наследуются проектом
|
|
163
|
+
- **Atomic operations** — использование транзакций MongoDB для критичных операций
|
|
164
|
+
- **Audit trail** — логирование всех действий через `db.log`
|
|
165
|
+
- **Cache invalidation** — сброс кеша при изменении прав через `Cache` из globals
|
|
166
|
+
|
|
167
|
+
### Таблица ролей и разрешений
|
|
168
|
+
|
|
169
|
+
| Действие | Owner | Management | Contributor | Условия |
|
|
170
|
+
|----------|-------|------------|-------------|---------|
|
|
171
|
+
| Создание проекта | ✓ | ✗ | ✗ | Требует прав в организации |
|
|
172
|
+
| Управление участниками | ✓ | ✗ | ✗ | - |
|
|
173
|
+
| Создание задач | ✓ | ✓ | ✓ | - |
|
|
174
|
+
| Создание MR | ✓ | ✓ | ✓ | Доступ к задаче |
|
|
175
|
+
| Merge в main | ✓ | ✓* | ✗ | *При permissions.merge |
|
|
176
|
+
| Назначение бюджета | ✓ | ✓* | ✗ | *При permissions.budget |
|
|
177
|
+
| Инициация выплат | ✓ | ✓* | ✗ | *При permissions.budget |
|
|
178
|
+
| Deploy | ✓ | ✓* | ✗ | *При permissions.deploy |
|
|
179
|
+
| Наложение вето | ✓ | ✓* | ✗ | *При permissions.veto |
|
|
180
|
+
| Снятие вето | ✓ | ✗ | ✗ | Только owner |
|
|
181
|
+
| Удаление проекта | ✓ | ✗ | ✗ | - |
|
|
182
|
+
|
|
183
|
+
### Интеграция с существующими модулями
|
|
184
|
+
|
|
185
|
+
- **auth** — использование `auth.state.user` для текущего пользователя
|
|
186
|
+
- **wallet** — интеграция для выплат через внутренние кошельки
|
|
187
|
+
- **notifications** — уведомления о событиях проекта
|
|
188
|
+
- **globals/cache** — кеширование прав доступа
|
|
189
|
+
- **globals/logger** — аудит всех действий
|
|
190
|
+
- **organizations** — наследование структуры и прав
|
|
191
|
+
|
|
192
|
+
Этот подход максимально использует существующую инфраструктуру Martyrs, минимизируя дублирование кода и обеспечивая консистентность с остальной системой.
|