@ozdao/prometheus-framework 0.2.323 → 0.2.324
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Media-BjSScxrV.js +1 -0
- package/dist/Media-CCVndMgQ.mjs +111 -0
- package/dist/main-BBmjvE8i.js +92 -0
- package/dist/main-BCskq3d2.mjs +13068 -0
- package/dist/main.css +1 -1
- package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +9 -11
- package/dist/prometheus-framework/src/components/Button/Button.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Button/Button.vue.js +10 -12
- package/dist/prometheus-framework/src/components/Button/Button.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.cjs +37 -9
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.js +37 -9
- package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.js.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.cjs +27 -18
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.js +27 -18
- package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/EmptyState/EmptyState.vue.cjs +2 -2
- package/dist/prometheus-framework/src/components/EmptyState/EmptyState.vue.js +2 -2
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +6 -2
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +6 -2
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/Media/Media.vue.cjs +154 -0
- package/dist/prometheus-framework/src/components/Media/Media.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/components/Media/Media.vue.js +154 -0
- package/dist/prometheus-framework/src/components/Media/Media.vue.js.map +1 -0
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs +1 -4
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.js +1 -4
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.js.map +1 -1
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs +68 -37
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.js +69 -38
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +2 -1
- package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.cjs +0 -2
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.js +4 -6
- package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +119 -4
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +120 -5
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +113 -164
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +120 -171
- package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.cjs +0 -17
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.js +2 -19
- package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.js.map +1 -1
- package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +17 -77
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +22 -82
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +34 -25
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +35 -26
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +9 -4
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +20 -15
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs +221 -50
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js +225 -54
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.cjs +98 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.js +98 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.cjs +9 -9
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.js +9 -9
- package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/events.client.cjs +1 -0
- package/dist/prometheus-framework/src/modules/events/events.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/events.client.js +1 -0
- package/dist/prometheus-framework/src/modules/events/events.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/router/events.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/router/events.js.map +1 -1
- package/dist/prometheus-framework/src/modules/events/store/events.cjs +2 -1
- package/dist/prometheus-framework/src/modules/events/store/events.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/events/store/events.js +2 -1
- package/dist/prometheus-framework/src/modules/events/store/events.js.map +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +11 -5
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +11 -5
- package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.cjs +100 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.js +100 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +5 -6
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +5 -6
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs +1 -6
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js +1 -6
- package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.cjs +30 -14
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.js +30 -14
- package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.js.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.cjs +33 -0
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.js +33 -0
- package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.cjs +4 -17
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.js +4 -17
- package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.cjs +34 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.cjs.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.js +34 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.js.map +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.cjs +27 -17
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.js +28 -18
- package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/icons.client.cjs +2 -0
- package/dist/prometheus-framework/src/modules/icons/icons.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/icons/icons.client.js +50 -48
- package/dist/prometheus-framework/src/modules/icons/icons.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.cjs +67 -2
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.js +67 -2
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.js.map +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +7 -7
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +773 -745
- package/dist/prometheus-framework/src/modules/pages/pages.client.js +773 -745
- package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +4 -15
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +4 -15
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +4 -4
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs +24 -30
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js +25 -31
- package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs +236 -13
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js +239 -16
- package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +60 -14
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +67 -21
- package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/prometheus-framework/src/modules/products/products.client.cjs +0 -3
- package/dist/prometheus-framework/src/modules/products/products.client.cjs.map +1 -1
- package/dist/prometheus-framework/src/modules/products/products.client.js +48 -51
- package/dist/prometheus-framework/src/modules/products/products.client.js.map +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/dist/prometheus-framework.cjs.js +1 -92
- package/dist/prometheus-framework.es.js +36 -13005
- package/package.json +1 -1
- package/src/components/Button/Button.vue +43 -40
- package/src/components/DatePicker/Calendar.vue +15 -7
- package/src/components/DatePicker/DatePicker.vue +50 -40
- package/src/components/EmptyState/EmptyState.vue +2 -2
- package/src/components/Feed/Feed.vue +6 -2
- package/src/components/Media/Media.vue +211 -0
- package/src/components/Popup/Popup.vue +19 -21
- package/src/components/Slider/Slider.vue +57 -21
- package/src/components/index.js +1 -0
- package/src/main.js +3 -1
- package/src/modules/auth/views/components/pages/Profile.vue +2 -1
- package/src/modules/backoffice/backoffice.client.js +0 -2
- package/src/modules/backoffice/components/pages/Dashboard.vue +95 -2
- package/src/modules/backoffice/components/partials/Sidebar.vue +115 -132
- package/src/modules/backoffice/router/backoffice.js +0 -14
- package/src/modules/community/components/layouts/Community.vue +1 -52
- package/src/modules/events/components/blocks/CardEvent.vue +28 -22
- package/src/modules/events/components/pages/Event.vue +2 -6
- package/src/modules/events/components/pages/Events.vue +241 -56
- package/src/modules/events/components/sections/EventsHot.vue +93 -0
- package/src/modules/events/components/sections/FeaturedEvents.vue +17 -15
- package/src/modules/events/components/sections/List.vue +1 -1
- package/src/modules/events/events.client.js +1 -0
- package/src/modules/events/router/events.js +0 -4
- package/src/modules/events/store/events.js +1 -0
- package/src/modules/globals/views/components/layouts/App.vue +4 -5
- package/src/modules/globals/views/components/layouts/Client.vue +8 -2
- package/src/modules/globals/views/components/partials/CitySelection.vue +88 -0
- package/src/modules/globals/views/components/partials/Header.vue +3 -3
- package/src/modules/globals/views/components/partials/Navigation.vue +75 -20
- package/src/modules/globals/views/components/partials/Sidebar.vue +2 -9
- package/src/modules/globals/views/mixins/mixins.js +56 -35
- package/src/modules/governance/DESCRIPTION.MD +238 -0
- package/src/modules/governance/controllers/factories/initiatives.controller.js +3 -1
- package/src/modules/governance/controllers/routes/initiatives.routes.js +1 -1
- package/src/modules/governance/controllers/routes/tasks.routes.js +1 -1
- package/src/modules/governance/controllers/routes/votes.routes.js +1 -1
- package/src/modules/governance/controllers/routes/votings.routes.js +1 -1
- package/src/modules/governance/governance.client.js +35 -35
- package/src/modules/governance/governance.server.js +8 -8
- package/src/modules/governance/models/milestone.model.js +98 -0
- package/src/modules/governance/models/task.model.js +39 -7
- package/src/modules/governance/views/components/pages/Initiative.vue +1 -1
- package/src/modules/governance/views/components/pages/InitiativeCreate.vue +2 -2
- package/src/modules/governance/views/components/pages/Initiatives.vue +3 -2
- package/src/modules/governance/views/components/pages/Task.vue +1 -1
- package/src/modules/governance/views/components/pages/TaskCreate.vue +2 -2
- package/src/modules/governance/views/components/pages/Tasks.vue +2 -2
- package/src/modules/governance/views/components/pages/Voting.vue +3 -3
- package/src/modules/governance/views/components/pages/VotingCreate.vue +2 -2
- package/src/modules/governance/views/components/pages/Votings.vue +2 -2
- package/src/modules/governance/views/components/sections/VoteForm.vue +1 -1
- package/src/modules/governance/views/router/goverance.router.js +263 -0
- package/src/modules/icons/actions/IconShopcartAdd.vue +15 -0
- package/src/modules/icons/entities/IconCommunity.vue +4 -6
- package/src/modules/icons/entities/IconPayments.vue +14 -0
- package/src/modules/icons/entities/IconPrice.vue +12 -3
- package/src/modules/icons/icons.client.js +5 -0
- package/src/modules/icons/logos/Logotype.vue +50 -17
- package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -0
- package/src/modules/orders/store/shopcart.js +100 -1
- package/src/modules/organizations/components/pages/Organizations.vue +1 -1
- package/src/modules/products/components/blocks/CardProduct.vue +5 -11
- package/src/modules/products/components/blocks/ImagesThumbnails.vue +4 -4
- package/src/modules/products/components/elements/Price.vue +33 -56
- package/src/modules/products/components/pages/Product.vue +235 -13
- package/src/modules/products/components/sections/SectionProduct.vue +50 -25
- package/src/modules/products/products.client.js +0 -4
- package/src/styles/base/all.scss +15 -16
- package/src/styles/config.scss +2 -2
- package/src/modules/backoffice/components/layouts/Backoffice.vue +0 -55
- package/src/modules/events/components/sections/SectionLineup.vue +0 -42
- package/src/modules/events/components/sections/SectionMainGuest.vue +0 -95
- package/src/modules/events/components/sections/SectionPreviousEvents.vue +0 -117
- package/src/modules/events/components/sections/SectionSpecialGuests.vue +0 -46
- package/src/modules/governance/controllers/factories/projects.controller.js +0 -65
- package/src/modules/governance/controllers/routes/projects.routes.js +0 -34
- package/src/modules/governance/models/project.model.js +0 -26
@@ -0,0 +1,88 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="select-country">
|
3
|
+
<p class="h1">🌍</p>
|
4
|
+
<br>
|
5
|
+
<h3 class="mn-b-semi">{{t('title')}}</h3>
|
6
|
+
<!-- Select city -->
|
7
|
+
<div class="mn-b-semi">
|
8
|
+
<!-- Description -->
|
9
|
+
<p class="mn-b-small t-transp p-medium">{{t('description')}}</p>
|
10
|
+
<!-- Input -->
|
11
|
+
<div class="flex-nowrap flex mn-b-small pd-small radius-small bg-light">
|
12
|
+
<span class="d-block mn-r-auto">{{t('cities[0]')}}</span>
|
13
|
+
<a @click="closePopup()">{{t('choose')}}</a>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<!-- Coming soon cities -->
|
17
|
+
<p class="mn-b-small">{{t('comingsoon')}}</p>
|
18
|
+
|
19
|
+
<div class="cols-4 gap-small mn-b-semi">
|
20
|
+
<!-- Input -->
|
21
|
+
<div class="flex-nowrap flex pd-small radius-small bg-light">
|
22
|
+
<span class="d-block">{{t('cscities[0]')}}</span>
|
23
|
+
</div>
|
24
|
+
<div class="flex-nowrap flex pd-small radius-small bg-light">
|
25
|
+
<span class="d-block">{{t('cscities[1]')}}</span>
|
26
|
+
</div>
|
27
|
+
<div class="flex-nowrap flex pd-small radius-small bg-light">
|
28
|
+
<span class="d-block">{{t('cscities[2]')}}</span>
|
29
|
+
</div>
|
30
|
+
<div class="flex-nowrap flex pd-small radius-small bg-light">
|
31
|
+
<span class="d-block">{{t('cscities[3]')}}</span>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
<!-- Description -->
|
35
|
+
<p class="mn-b-small t-transp">{{t('helpus')}}</p>
|
36
|
+
<div class="pd-small p-big radius-small bg-light">
|
37
|
+
<a class="">hello@nms.network</a>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
</template>
|
41
|
+
<script setup>
|
42
|
+
// Import libs
|
43
|
+
import { computed, onMounted } from 'vue'
|
44
|
+
import { useRoute, useRouter } from 'vue-router'
|
45
|
+
import { useI18n } from 'vue-i18n'
|
46
|
+
// Define props
|
47
|
+
const props = defineProps({
|
48
|
+
isPopupOpen: {
|
49
|
+
type: Boolean,
|
50
|
+
default: false
|
51
|
+
},
|
52
|
+
});
|
53
|
+
const emits = defineEmits(['close-popup'])
|
54
|
+
function closePopup() {
|
55
|
+
emits("close-popup");
|
56
|
+
}
|
57
|
+
// Accessing router and store
|
58
|
+
const route = useRoute()
|
59
|
+
const router = useRouter()
|
60
|
+
// Localization
|
61
|
+
const text = {
|
62
|
+
messages: {
|
63
|
+
en: {
|
64
|
+
title: "Choose Your City",
|
65
|
+
description: "Please select your city from the list below to see rental options and other relevant information:",
|
66
|
+
choose: "Current",
|
67
|
+
cities: [
|
68
|
+
"Phuket"
|
69
|
+
],
|
70
|
+
comingsoon: "Coming soon:",
|
71
|
+
cscities: [
|
72
|
+
"Bangkok",
|
73
|
+
"Chiang Mai",
|
74
|
+
"Pha-ngan",
|
75
|
+
"Pattaya",
|
76
|
+
],
|
77
|
+
helpus: "NMS is your ultimate entertainment and lifestyle guide. Want to partner with us or share ideas? Reach out at:",
|
78
|
+
cultivate: "Let's create unforgettable moments together! 🎵🌴"
|
79
|
+
},
|
80
|
+
}
|
81
|
+
}
|
82
|
+
const { t } = useI18n(text)
|
83
|
+
</script>
|
84
|
+
<style lang="scss">
|
85
|
+
.select-country {
|
86
|
+
max-width: 100%;
|
87
|
+
}
|
88
|
+
</style>
|
@@ -73,7 +73,7 @@
|
|
73
73
|
<button
|
74
74
|
aria-label="menu"
|
75
75
|
@click="() => globals.state.isOpenSidebar = !globals.state.isOpenSidebar"
|
76
|
-
class="
|
76
|
+
class="cursor-pointer menu-btn"
|
77
77
|
:class="{
|
78
78
|
'menu-btn_active': globals.state.isOpenSidebar
|
79
79
|
}"
|
@@ -129,11 +129,11 @@
|
|
129
129
|
|
130
130
|
<div class="flex-nowrap flex">
|
131
131
|
<!-- NAGIVATION -->
|
132
|
-
<component
|
132
|
+
<!-- <component
|
133
133
|
v-if="route.meta.navigation"
|
134
134
|
:is="route.meta.navigation"
|
135
135
|
class="mn-l-auto desktop-only"
|
136
|
-
/>
|
136
|
+
/> -->
|
137
137
|
<Checkbox
|
138
138
|
name="darkmode"
|
139
139
|
:label="'Darkmode'"
|
@@ -17,22 +17,22 @@
|
|
17
17
|
</router-link>
|
18
18
|
</li>
|
19
19
|
|
20
|
-
|
20
|
+
<li>
|
21
21
|
<router-link
|
22
22
|
to="/gallery"
|
23
23
|
>
|
24
24
|
{{ t('HEADER.MENU.GALLERY') }}
|
25
25
|
</router-link>
|
26
|
-
</li>
|
26
|
+
</li>
|
27
27
|
|
28
|
-
|
28
|
+
<li>
|
29
29
|
<router-link
|
30
30
|
to="/events"
|
31
31
|
class="font-second"
|
32
32
|
>
|
33
33
|
{{ t('HEADER.MENU.EVENTS') }}
|
34
34
|
</router-link>
|
35
|
-
</li>
|
35
|
+
</li>
|
36
36
|
|
37
37
|
<li>
|
38
38
|
<router-link
|
@@ -41,7 +41,54 @@
|
|
41
41
|
>
|
42
42
|
{{ t('HEADER.MENU.BLOG') }}
|
43
43
|
</router-link>
|
44
|
-
|
44
|
+
|
45
|
+
<ul class="align-self-start pos-sticky h-max pos-t-0 w-100 bg-white radius-medium pd-medium p-medium gap-thin flex-column flex-nowrap flex z-index-2 t-nowrap scroll-hide">
|
46
|
+
<li
|
47
|
+
:class="{'t-black bg-light': route.params.category === 'featured' }"
|
48
|
+
@click="() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}"
|
49
|
+
class="cursor-pointer flex-v-center flex t-medium pd-thin radius-extra"
|
50
|
+
>
|
51
|
+
<IconFeatured class="i-medium mn-r-thin t-transp"/>
|
52
|
+
Featured
|
53
|
+
</li>
|
54
|
+
<li
|
55
|
+
:class="{'t-black bg-light': route.params.category === 'popular' }"
|
56
|
+
@click="() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }"
|
57
|
+
class="cursor-pointer t-medium flex-v-center flex pd-thin radius-extra"
|
58
|
+
>
|
59
|
+
<IconPopular class="i-medium mn-r-thin t-transp"/>
|
60
|
+
Popular
|
61
|
+
</li>
|
62
|
+
<li
|
63
|
+
:class="{'t-black bg-light': route.params.category === 'new'}"
|
64
|
+
@click="() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}"
|
65
|
+
class="cursor-pointer t-medium flex-v-center flex pd-thin radius-extra"
|
66
|
+
>
|
67
|
+
<IconRecent class="i-medium mn-r-thin t-transp"/>
|
68
|
+
Recent
|
69
|
+
</li>
|
70
|
+
<li
|
71
|
+
v-if="auth.state.user._id"
|
72
|
+
:class="{'t-black bg-light': route.params.category === 'following'}"
|
73
|
+
@click="() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}"
|
74
|
+
class="cursor-pointer t-medium flex-v-center flex pd-thin radius-extra"
|
75
|
+
>
|
76
|
+
<IconFollowing class="i-medium mn-r-thin t-transp"/>
|
77
|
+
Following
|
78
|
+
</li>
|
79
|
+
|
80
|
+
<router-link
|
81
|
+
v-if="auth.state.user._id"
|
82
|
+
:to="{
|
83
|
+
name: 'Create BlogPost'
|
84
|
+
}"
|
85
|
+
class="button radius-big pd-small t-center t-medium bg-main w-100"
|
86
|
+
>
|
87
|
+
Create Post
|
88
|
+
</router-link>
|
89
|
+
</ul>
|
90
|
+
</li>
|
91
|
+
|
45
92
|
<li>
|
46
93
|
<router-link
|
47
94
|
to="/governance"
|
@@ -54,25 +101,34 @@
|
|
54
101
|
</template>
|
55
102
|
|
56
103
|
|
57
|
-
<script setup
|
58
|
-
/////////////////////////////
|
59
|
-
// COMPONENT DEPENDENCIES
|
60
|
-
/////////////////////////////
|
104
|
+
<script setup>
|
61
105
|
import { computed, } from 'vue';
|
62
106
|
import { useRoute,useRouter } from 'vue-router'
|
63
107
|
import { useI18n } from 'vue-i18n'
|
64
108
|
|
109
|
+
import IconFeatured from '@pf/src/modules/icons/entities/IconFeatured.vue'
|
110
|
+
import IconPopular from '@pf/src/modules/icons/entities/IconPopular.vue'
|
111
|
+
import IconRecent from '@pf/src/modules/icons/entities/IconRecent.vue'
|
112
|
+
import IconFollowing from '@pf/src/modules/icons/entities/IconFollowing.vue'
|
113
|
+
|
65
114
|
import * as globals from '@pf/src/modules/globals/views/store/globals'
|
115
|
+
import * as blog from '@pf/src/modules/community/store/blogposts.js';
|
116
|
+
import * as auth from '@pf/src/modules/auth/views/store/auth'
|
117
|
+
import * as organizations from '@pf/src/modules/organizations/store/organizations'
|
118
|
+
import * as memberships from '@pf/src/modules/organizations/store/memberships'
|
119
|
+
|
120
|
+
// State
|
121
|
+
const route = useRoute();
|
122
|
+
const router = useRouter();
|
123
|
+
|
124
|
+
if (route.params.category === 'popular') blog.state.sort.param = 'views';
|
125
|
+
if (route.params.category === 'new') blog.state.sort.param = 'createdAt';
|
126
|
+
|
66
127
|
|
67
|
-
|
68
|
-
|
69
|
-
|
128
|
+
const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
|
129
|
+
memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)
|
130
|
+
};
|
70
131
|
|
71
|
-
/////////////////////////////
|
72
|
-
// CREATED
|
73
|
-
/////////////////////////////
|
74
|
-
const route = useRoute()
|
75
|
-
// Compoted Vars
|
76
132
|
const text = {
|
77
133
|
messages: {
|
78
134
|
en: {
|
@@ -85,6 +141,7 @@ const text = {
|
|
85
141
|
EVENTS: 'Events',
|
86
142
|
BLOG: "Community",
|
87
143
|
GOVERNANCE: "Governance",
|
144
|
+
BACKOFFICE: "Backoffice",
|
88
145
|
}
|
89
146
|
}
|
90
147
|
},
|
@@ -98,6 +155,7 @@ const text = {
|
|
98
155
|
EVENTS: 'События',
|
99
156
|
BLOG: "Сообщество",
|
100
157
|
GOVERNANCE: "Управление",
|
158
|
+
BACKOFFICE: "Бекофис",
|
101
159
|
}
|
102
160
|
}
|
103
161
|
}
|
@@ -105,9 +163,6 @@ const text = {
|
|
105
163
|
}
|
106
164
|
// Methods
|
107
165
|
const { t } = useI18n(text)
|
108
|
-
/////////////////////////////
|
109
|
-
// MOUNTED
|
110
|
-
/////////////////////////////
|
111
166
|
</script>
|
112
167
|
|
113
168
|
<style lang="scss" scoped>
|
@@ -69,7 +69,7 @@ const props = defineProps(['stateSidebar'])
|
|
69
69
|
const emits = defineEmits(['closeSidebar'])
|
70
70
|
|
71
71
|
watch(() => route.path, () => {
|
72
|
-
if (props.stateSidebar === true) emits('closeSidebar');
|
72
|
+
// if (props.stateSidebar === true) emits('closeSidebar');
|
73
73
|
});
|
74
74
|
|
75
75
|
let vClickOutside = clickOutside
|
@@ -83,18 +83,11 @@ function clickedOutside(event) {
|
|
83
83
|
if (isMenuButton) {
|
84
84
|
return null;
|
85
85
|
} else if (props.stateSidebar === true) {
|
86
|
-
emits('closeSidebar');
|
86
|
+
// emits('closeSidebar');
|
87
87
|
}
|
88
88
|
}
|
89
89
|
|
90
90
|
</script>
|
91
91
|
|
92
92
|
<style lang="scss" >
|
93
|
-
#sidebar {
|
94
|
-
ul {
|
95
|
-
li {
|
96
|
-
margin-bottom: 1rem;
|
97
|
-
}
|
98
|
-
}
|
99
|
-
}
|
100
93
|
</style>
|
@@ -48,43 +48,64 @@ export function useGlobalMixins() {
|
|
48
48
|
return `${formattedNumber} ${currency}`;
|
49
49
|
}
|
50
50
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
51
|
+
const formatDate = (d, options = {}) => {
|
52
|
+
var fixedDate = new Date(d);
|
53
|
+
|
54
|
+
// Определяем параметры локализации
|
55
|
+
const formatOptions = {
|
56
|
+
year: 'numeric',
|
57
|
+
month: 'long', // название месяца
|
58
|
+
day: '2-digit', // день с ведущим нулем
|
59
|
+
hour: '2-digit', // часы с ведущим нулем
|
60
|
+
minute: '2-digit', // минуты с ведущим нулем
|
61
|
+
hour12: false, // 24-часовой формат времени
|
62
|
+
...options // дополнительные настройки
|
63
|
+
};
|
64
|
+
|
65
|
+
// Язык, по умолчанию "ru" (русский)
|
66
|
+
const locale = options.language || 'ru';
|
67
|
+
|
68
|
+
// Используем Intl.DateTimeFormat для локализации
|
69
|
+
const dateFormatter = new Intl.DateTimeFormat(locale, formatOptions);
|
70
|
+
|
71
|
+
var format = {
|
72
|
+
dateOnly: options.dateOnly || false,
|
73
|
+
timeOnly: options.timeOnly || false,
|
74
|
+
dayMonth: options.dayMonth || false,
|
75
|
+
dayTime: options.dayTime || false,
|
76
|
+
monthYear: options.monthYear || false,
|
77
|
+
yearOnly: options.yearOnly || false,
|
78
|
+
custom: options.custom || "",
|
79
|
+
monthName: options.monthName || false, // Новый параметр для вывода названия месяца
|
80
|
+
language: options.language || 'ru' // Язык, по умолчанию русский
|
81
|
+
};
|
82
|
+
|
83
|
+
if (format.dateOnly) {
|
84
|
+
return dateFormatter.format(fixedDate).split(',')[0]; // Выводим только дату
|
85
|
+
} else if (format.timeOnly) {
|
86
|
+
return new Intl.DateTimeFormat(locale, { hour: '2-digit', minute: '2-digit', hour12: false }).format(fixedDate); // Выводим только время
|
87
|
+
} else if (format.dayMonth) {
|
88
|
+
return new Intl.DateTimeFormat(locale, { day: '2-digit', month: 'short' }).format(fixedDate); // день и месяц
|
89
|
+
} else if (format.dayTime) {
|
90
|
+
return new Intl.DateTimeFormat(locale, { day: '2-digit', month: 'short', hour: '2-digit', minute: '2-digit', hour12: false }).format(fixedDate); // день и время
|
91
|
+
} else if (format.monthYear) {
|
92
|
+
return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(fixedDate); // месяц и год
|
93
|
+
} else if (format.yearOnly) {
|
94
|
+
return new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(fixedDate); // только год
|
95
|
+
} else if (format.custom) {
|
96
|
+
// Для пользовательского формата с подстановкой
|
97
|
+
return format.custom.replace("yyyy", fixedDate.getFullYear())
|
98
|
+
.replace("mm", ("0" + (fixedDate.getMonth() + 1)).slice(-2)) // добавление ведущего нуля
|
99
|
+
.replace("dd", ("0" + fixedDate.getDate()).slice(-2)) // добавление ведущего нуля
|
100
|
+
.replace("hh", ("0" + fixedDate.getHours()).slice(-2)) // добавление ведущего нуля
|
101
|
+
.replace("min", ("0" + fixedDate.getMinutes()).slice(-2)); // добавление ведущего нуля
|
86
102
|
}
|
87
103
|
|
104
|
+
// Вернуть полную дату в стандартном формате
|
105
|
+
return dateFormatter.format(fixedDate);
|
106
|
+
}
|
107
|
+
|
108
|
+
|
88
109
|
const normalizeUrlParam = (param) => {
|
89
110
|
if (!param) param = ''
|
90
111
|
|
@@ -0,0 +1,238 @@
|
|
1
|
+
# Документация: Система управления OZ DAO
|
2
|
+
|
3
|
+
## 1. Введение
|
4
|
+
Система управления OZ DAO (Ohueno Zaebis Decentralized Autonomous Organization) предназначена для децентрализованного управления проектами и ресурсами сообщества с использованием токенов OZDT и OZRT. Данный документ описывает архитектуру, процессы и механизмы работы OZ DAO.
|
5
|
+
|
6
|
+
## 2. Базовая структура
|
7
|
+
|
8
|
+
### 2.1 Токен OZDT
|
9
|
+
Токен Oz Digital Token (OZDT) является основной валютой системы и используется для всех операций внутри DAO.
|
10
|
+
|
11
|
+
**Применение:**
|
12
|
+
- Формирование бюджетов инициатив
|
13
|
+
- Оплата выполненных задач
|
14
|
+
- Стейкинг для голосований
|
15
|
+
|
16
|
+
### 2.2 Токен OZRT
|
17
|
+
Токен Oz Respect Token (OZRT) является нетрансферабельным и используется для определения репутации участников.
|
18
|
+
|
19
|
+
**Начисление OZRT:**
|
20
|
+
- Выполнение задач
|
21
|
+
- Участие в ревью
|
22
|
+
- Модерация сообщества
|
23
|
+
|
24
|
+
**Особенности:**
|
25
|
+
- Не передается между пользователями
|
26
|
+
- Уменьшается при неактивности (2% в месяц после 3 месяцев бездействия)
|
27
|
+
- Может быть сожжен при нарушениях
|
28
|
+
- Влияет на вес голоса
|
29
|
+
- Возможна временная заморозка при отсутствии
|
30
|
+
|
31
|
+
## 3. Структура управления
|
32
|
+
#### 3.1 Сенат
|
33
|
+
##### Консулы:
|
34
|
+
- Первоначальный создатель проекта
|
35
|
+
- Право вето на решения Сената
|
36
|
+
- Право передачи своих полномочий
|
37
|
+
- Определение глобальной стратегии развития
|
38
|
+
- Формирование первого состава Сената
|
39
|
+
|
40
|
+
##### Сенаторы:
|
41
|
+
- 5-9 членов, избираемых квадратичным голосованием
|
42
|
+
- Срок полномочий - 12 месяцев
|
43
|
+
- Ротация не более 50% состава за раз
|
44
|
+
- Принятие стратегических решений через multisig
|
45
|
+
- Контроль над операционным бюджетом
|
46
|
+
- Формирование рабочих групп
|
47
|
+
|
48
|
+
#### 3.2 Администратум
|
49
|
+
##### Легаты:
|
50
|
+
- Формируется из руководителей легионов
|
51
|
+
- Установка технических стандартов
|
52
|
+
- Аудит критических изменений
|
53
|
+
- Техническая экспертиза решений
|
54
|
+
|
55
|
+
##### Преторы и Трибуны:
|
56
|
+
- Преторы отвечают за разрешение конфликтов
|
57
|
+
- Трибуны поддерживают порядок и организацию
|
58
|
+
- Избираются из опытных легионеров
|
59
|
+
- Осуществляют надзор за исполнением решений Сената
|
60
|
+
|
61
|
+
##### Квесторы и центоры:
|
62
|
+
- Квесторы анализируют экономику DAO и занимаются интеграцией аналитики
|
63
|
+
- Цензоры контролируют финансы
|
64
|
+
- Управление через мультисиг (70% подписей)
|
65
|
+
|
66
|
+
#### 3.3 Сообщество
|
67
|
+
##### Легионы:
|
68
|
+
- Автономные подразделения по направлениям:
|
69
|
+
- Разработка
|
70
|
+
- Дизайн
|
71
|
+
- Безопасность
|
72
|
+
- Финансы
|
73
|
+
- Коммуникации
|
74
|
+
- Собственные бюджеты
|
75
|
+
- Ежемесячная отчетность
|
76
|
+
- Тактическая автономия
|
77
|
+
|
78
|
+
##### Ауксилии:
|
79
|
+
- Активные участники сообщества
|
80
|
+
- Помощники в различных инициативах
|
81
|
+
- Путь развития в легионера через повышение вовлеченности
|
82
|
+
|
83
|
+
##### Граждане:
|
84
|
+
- Пользователи инициативы
|
85
|
+
- Базовый уровень участия
|
86
|
+
- Возможность перехода в Ауксилии через активное участие
|
87
|
+
|
88
|
+
## 4. Система голосования
|
89
|
+
|
90
|
+
### 4.1 Типы голосований и полномочия
|
91
|
+
|
92
|
+
#### Консульские решения
|
93
|
+
- Право вето на любые решения
|
94
|
+
- Не требуют голосования, но должны быть публично объявлены
|
95
|
+
- Могут быть оспорены при поддержке 90% Сената
|
96
|
+
|
97
|
+
#### Сенатские предложения
|
98
|
+
- Стратегические решения и глобальная политика
|
99
|
+
- Требуют 75% одобрения действующих сенаторов
|
100
|
+
- Обязательное рассмотрение консулом в течение 72 часов
|
101
|
+
- Исполнение через multisig с порогом 70%
|
102
|
+
|
103
|
+
#### Административные предложения
|
104
|
+
- Технические обновления и стандарты от Легатов
|
105
|
+
- Управление инфраструктурой от Квесторов и Цензоров
|
106
|
+
- Требуют 70% одобрения соответствующего органа
|
107
|
+
- Подлежат ратификации Сенатом при значительных изменениях
|
108
|
+
|
109
|
+
#### Легионные предложения
|
110
|
+
- Тактические решения в рамках легиона
|
111
|
+
- Автономное принятие в пределах выделенного бюджета
|
112
|
+
- При превышении бюджета требуется одобрение Квесторов
|
113
|
+
- Публичное уведомление других легионов
|
114
|
+
|
115
|
+
#### Чрезвычайные предложения
|
116
|
+
- Инициируются Консулом или 3+ Легатами
|
117
|
+
- Требуют 90% одобрения технического комитета
|
118
|
+
- Немедленное исполнение при угрозе безопасности
|
119
|
+
- Последующий аудит Сенатом
|
120
|
+
|
121
|
+
### 4.2 Расчет силы голоса
|
122
|
+
|
123
|
+
#### Для Сената
|
124
|
+
- Базовый вес = 100 единиц
|
125
|
+
- Множитель стажа = 1 + (месяцы в Сенате / 12)
|
126
|
+
- Итоговый вес = Базовый вес × Множитель стажа
|
127
|
+
|
128
|
+
#### Для Администратума
|
129
|
+
- Легаты: 80 единиц
|
130
|
+
- Преторы и Трибуны: 60 единиц
|
131
|
+
- Квесторы и Цензоры: 60 единиц
|
132
|
+
- Множитель специализации = 1.5 для голосований по профильным вопросам
|
133
|
+
|
134
|
+
#### Для Сообщества
|
135
|
+
- Базовый вес участника = log(застейканные токены + 1)
|
136
|
+
- Множитель активности = log(время активности в месяцах + 1)
|
137
|
+
- Множитель ранга в легионе (от 1 до 2)
|
138
|
+
- Итоговый вес = Базовый вес × Множитель активности × Множитель ранга
|
139
|
+
|
140
|
+
### 4.3 Процедура голосования
|
141
|
+
|
142
|
+
#### Стандартная процедура
|
143
|
+
1. Период обсуждения: 72 часа
|
144
|
+
2. Период голосования: 48 часов
|
145
|
+
3. Исполнение: 24 часа после принятия
|
146
|
+
4. Возможность делегирования голоса
|
147
|
+
|
148
|
+
#### Экстренная процедура
|
149
|
+
1. Период обсуждения: 4 часа
|
150
|
+
2. Период голосования: 2 часа
|
151
|
+
3. Немедленное исполнение
|
152
|
+
4. Последующий аудит
|
153
|
+
|
154
|
+
### 4.4 Кворум и пороги принятия
|
155
|
+
|
156
|
+
#### Сенат
|
157
|
+
- Кворум: 75% действующих сенаторов
|
158
|
+
- Порог принятия: 75% голосов
|
159
|
+
|
160
|
+
#### Администратум
|
161
|
+
- Технические решения: 70% Легатов
|
162
|
+
- Финансовые решения: 70% Квесторов
|
163
|
+
|
164
|
+
#### Легионы
|
165
|
+
- Внутренние решения: 51% активных участников
|
166
|
+
- Межлегионные решения: 65% от каждого затронутого легиона
|
167
|
+
|
168
|
+
## 5. Задачи и вознаграждения
|
169
|
+
|
170
|
+
### 5.1 Иерархия
|
171
|
+
- Инициатива (стратегический уровень)
|
172
|
+
- Майлстоун (тактический уровень)
|
173
|
+
- Задача (операционный уровень)
|
174
|
+
- Подзадача (исполнительский уровень)
|
175
|
+
|
176
|
+
### 5.2 Управление майлстоунами
|
177
|
+
- Создание: Сенат и Легаты
|
178
|
+
- Приоритизация: Консулы и Сенаторы
|
179
|
+
- Мониторинг: Преторы и Трибуны
|
180
|
+
- Отчетность: Квесторы
|
181
|
+
|
182
|
+
### 5.3 Типизация задач по структуре
|
183
|
+
|
184
|
+
- Разработка
|
185
|
+
- Дизайн
|
186
|
+
- Безопасность
|
187
|
+
- Финансы
|
188
|
+
- Коммуникации
|
189
|
+
|
190
|
+
### 5.4 Уровни доступа
|
191
|
+
- Консулы и Сенаторы
|
192
|
+
- Полный доступ ко всем задачам
|
193
|
+
- Создание и управление майлстоунами
|
194
|
+
- Назначение приоритетов
|
195
|
+
|
196
|
+
- Легаты
|
197
|
+
- Доступ к задачам своего направления
|
198
|
+
- Создание и управление задачами
|
199
|
+
- Распределение задач между легионерами
|
200
|
+
|
201
|
+
- Преторы и Трибуны
|
202
|
+
- Мониторинг выполнения задач
|
203
|
+
- Разрешение конфликтов
|
204
|
+
- Доступ к метрикам и отчетности
|
205
|
+
|
206
|
+
- Квесторы и Центоры
|
207
|
+
- Доступ к финансовым метрикам
|
208
|
+
- Аналитика эффективности
|
209
|
+
- Управление вознаграждениями
|
210
|
+
|
211
|
+
- Легионеры
|
212
|
+
- Доступ к назначенным задачам
|
213
|
+
- Создание подзадач
|
214
|
+
- Отчетность по прогрессу
|
215
|
+
|
216
|
+
- Ауксилии
|
217
|
+
- Доступ к публичным задачам
|
218
|
+
- Выполнение базовых задач
|
219
|
+
- Ограниченный доступ к метрикам
|
220
|
+
|
221
|
+
### 5.5 Вознаграждения
|
222
|
+
- Базовая награда в OZDT
|
223
|
+
- Бонусы за качество и скорость
|
224
|
+
- OZRT начисляется по сложности задачи
|
225
|
+
|
226
|
+
## 6. Разрешение конфликтов
|
227
|
+
|
228
|
+
1. Внутри инициативы:
|
229
|
+
- Решение создателем
|
230
|
+
- Голосование ядра
|
231
|
+
- Медиация
|
232
|
+
- Арбитраж
|
233
|
+
|
234
|
+
2. Между инициативами:
|
235
|
+
- Прямые переговоры
|
236
|
+
- Медиация
|
237
|
+
- Публичное обсуждение
|
238
|
+
- Арбитраж
|
@@ -2,9 +2,10 @@ module.exports = function(db) {
|
|
2
2
|
return {
|
3
3
|
getAllInitiatives: async (req, res) => {
|
4
4
|
try {
|
5
|
-
const initiatives = await db.initiative.
|
5
|
+
const initiatives = await db.initiative.find();
|
6
6
|
res.json(initiatives);
|
7
7
|
} catch (error) {
|
8
|
+
console.log(error)
|
8
9
|
res.status(500).json({ message: "Error fetching initiatives", error });
|
9
10
|
}
|
10
11
|
},
|
@@ -27,6 +28,7 @@ module.exports = function(db) {
|
|
27
28
|
const newInitiative = await db.initiative.create(req.body);
|
28
29
|
res.status(201).json(newInitiative);
|
29
30
|
} catch (error) {
|
31
|
+
console.log(error)
|
30
32
|
res.status(400).json({ message: "Error creating initiative", error });
|
31
33
|
}
|
32
34
|
},
|