@ozdao/martyrs 0.2.583 → 0.2.585
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/builder.js +2 -0
- package/dist/{main-vq1_XpmQ.js → main-xL-jtBkT.js} +12 -11
- package/dist/martyrs/dist/{main-vq1_XpmQ.js → main-xL-jtBkT.js} +3 -2
- package/dist/martyrs/dist/main-xL-jtBkT.js.map +1 -0
- package/dist/martyrs/dist/{web-BNJDRie_.js → web-BA6h6Z8P.js} +2 -2
- package/dist/martyrs/dist/{web-BNJDRie_.js.map → web-BA6h6Z8P.js.map} +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +3 -3
- package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +5 -5
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Field/Field.vue.js +2 -2
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js +2 -2
- package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue2.js → Loader.vue.js} +2 -2
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -0
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +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/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +61 -42
- 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.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/backoffice/backoffice.client.js +3 -15
- package/dist/martyrs/src/modules/backoffice/backoffice.client.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js +99 -0
- package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js.map +1 -0
- package/dist/martyrs/src/modules/backoffice/{backoffice.router.js → router/backoffice.router.js} +9 -7
- package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js.map +1 -0
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +8 -2
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/core/core.client.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js +5 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +22 -28
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js +76 -7
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/store/core.store.js +1 -0
- package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +2 -1
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +4 -4
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +7 -7
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/router/orders.router.js +23 -0
- package/dist/martyrs/src/modules/orders/router/orders.router.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/pages.router.js +7 -5
- package/dist/martyrs/src/modules/pages/pages.router.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +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.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/style.css +38 -33
- package/dist/{web-BNJDRie_.js → web-BA6h6Z8P.js} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.rspack.dev.js +2 -0
- package/src/components/Calendar/Calendar.vue +4 -4
- package/src/components/Completion/Completion.vue +3 -3
- package/src/components/Field/Field.vue +1 -1
- package/src/components/FieldBig/FieldBig.vue +1 -1
- package/src/components/FieldDate/FieldDate.vue +1 -1
- package/src/modules/auth/views/components/pages/Profile.vue +33 -5
- package/src/modules/backoffice/backoffice.client.js +1 -25
- package/src/modules/backoffice/configs/navigation.backoffice.config.js +99 -0
- package/src/modules/backoffice/router/backoffice.router.js +8 -7
- package/src/modules/community/components/layouts/Community.vue +2 -2
- package/src/modules/community/components/pages/BlogPost.vue +9 -1
- package/src/modules/core/core.client.js +1 -0
- package/src/modules/core/views/classes/core.app.js +8 -3
- package/src/modules/core/views/components/blocks/CardHeader.vue +1 -1
- package/src/modules/core/views/components/layouts/Client.vue +41 -42
- package/src/modules/core/views/components/pages/404.vue +55 -3
- package/src/modules/core/views/components/partials/Header.vue +1 -1
- package/src/modules/core/views/components/partials/Sidebar.vue +1 -1
- package/src/modules/core/views/components/sections/Filters.vue +2 -2
- package/src/modules/core/views/components/sections/SectionPageTitle.vue +1 -1
- package/src/modules/core/views/store/core.store.js +1 -0
- package/src/modules/core/views/utils/vue-app-renderer.js +9 -1
- package/src/modules/events/components/pages/EditEventTickets.vue +2 -2
- package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
- package/src/modules/inventory/components/pages/Inventory.vue +4 -4
- package/src/modules/inventory/components/pages/InventoryEdit.vue +1 -1
- package/src/modules/music/components/pages/Playlist.vue +5 -5
- package/src/modules/orders/router/orders.router.js +33 -0
- package/src/modules/organizations/components/blocks/CardOrganization.vue +1 -1
- package/src/modules/pages/pages.router.js +4 -2
- package/src/modules/pages/views/components/pages/PageEdit.vue +2 -2
- package/src/modules/pages/views/components/partials/SidebarPages.vue +1 -1
- package/src/modules/pages/views/router/pages.backoffice.router.js +4 -3
- package/src/modules/products/components/pages/Products.vue +1 -1
- package/src/modules/products/components/sections/EditDiscounts.vue +1 -1
- package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
- package/src/modules/spots/components/pages/Spots.vue +1 -1
- package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +1 -1
- package/src/modules/wallet/views/components/pages/Wallet.vue +1 -1
- package/dist/martyrs/dist/main-vq1_XpmQ.js.map +0 -1
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/backoffice/backoffice.router.js.map +0 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +0 -150
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +0 -1
- package/src/modules/backoffice/backoffice.router.js +0 -69
- package/src/modules/backoffice/components/partials/Sidebar.vue +0 -165
package/dist/style.css
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
|
+
input[data-v-4a88f18b] { border: none; outline: none;
|
|
3
|
+
}
|
|
4
|
+
input[data-v-4a88f18b]::placeholder { color: rgba(var(--dark), 0.4);
|
|
5
|
+
}
|
|
6
|
+
|
|
2
7
|
.help-card[data-v-cdb417ab] {
|
|
3
8
|
margin-top: auto;
|
|
4
9
|
text-decoration: none;
|
|
@@ -72,22 +77,22 @@
|
|
|
72
77
|
.background-div {
|
|
73
78
|
flex-grow: 1;
|
|
74
79
|
}
|
|
75
|
-
input[data-v-
|
|
76
|
-
textarea[data-v-
|
|
77
|
-
span[data-v-
|
|
80
|
+
input[data-v-ba38e654],
|
|
81
|
+
textarea[data-v-ba38e654],
|
|
82
|
+
span[data-v-ba38e654] {
|
|
78
83
|
color: inherit;
|
|
79
84
|
line-height: 1;
|
|
80
85
|
}
|
|
81
|
-
textarea[data-v-
|
|
86
|
+
textarea[data-v-ba38e654] {
|
|
82
87
|
resize: none;
|
|
83
88
|
overflow: hidden;
|
|
84
89
|
height: 1rem;
|
|
85
90
|
}
|
|
86
|
-
input[data-v-
|
|
91
|
+
input[data-v-ba38e654] {
|
|
87
92
|
height: 1rem;
|
|
88
93
|
}
|
|
89
|
-
input[type="date"][data-v-
|
|
90
|
-
input[type="time"][data-v-
|
|
94
|
+
input[type="date"][data-v-ba38e654]::-webkit-calendar-picker-indicator,
|
|
95
|
+
input[type="time"][data-v-ba38e654]::-webkit-calendar-picker-indicator {
|
|
91
96
|
filter: invert(1);
|
|
92
97
|
opacity: 1;
|
|
93
98
|
color: inherit;
|
|
@@ -741,75 +746,75 @@ ul li[data-v-af5048fc] {
|
|
|
741
746
|
left: 100%;
|
|
742
747
|
}
|
|
743
748
|
}
|
|
744
|
-
.calendar[aria-disabled=true][data-v-
|
|
749
|
+
.calendar[aria-disabled=true][data-v-7c705e8c] {
|
|
745
750
|
cursor: not-allowed;
|
|
746
751
|
}
|
|
747
|
-
.calendar[aria-disabled=true][data-v-
|
|
752
|
+
.calendar[aria-disabled=true][data-v-7c705e8c] * {
|
|
748
753
|
pointer-events: none;
|
|
749
754
|
}
|
|
750
|
-
.calendar__week[data-v-
|
|
755
|
+
.calendar__week[data-v-7c705e8c] {
|
|
751
756
|
display: grid;
|
|
752
757
|
grid-template-columns: repeat(7, 1fr);
|
|
753
758
|
gap: 5px;
|
|
754
759
|
margin-bottom: 10px;
|
|
755
760
|
}
|
|
756
|
-
.calendar__weekday[data-v-
|
|
761
|
+
.calendar__weekday[data-v-7c705e8c] {
|
|
757
762
|
text-align: center;
|
|
758
763
|
}
|
|
759
|
-
.calendar__dates[data-v-
|
|
764
|
+
.calendar__dates[data-v-7c705e8c] {
|
|
760
765
|
display: grid;
|
|
761
766
|
grid-template-columns: repeat(7, 1fr);
|
|
762
767
|
grid-auto-rows: 1fr;
|
|
763
768
|
}
|
|
764
|
-
.calendar__dates[data-v-
|
|
769
|
+
.calendar__dates[data-v-7c705e8c]::before {
|
|
765
770
|
content: "";
|
|
766
771
|
width: 0;
|
|
767
772
|
padding-bottom: 100%;
|
|
768
773
|
grid-row: 1/1;
|
|
769
774
|
grid-column: 1/1;
|
|
770
775
|
}
|
|
771
|
-
.calendar__dates[data-v-
|
|
776
|
+
.calendar__dates[data-v-7c705e8c] > *:first-child {
|
|
772
777
|
grid-row: 1/1;
|
|
773
778
|
grid-column: 1/1;
|
|
774
779
|
}
|
|
775
|
-
.calendar__date--today[data-v-
|
|
780
|
+
.calendar__date--today[data-v-7c705e8c] {
|
|
776
781
|
background-color: rgb(var(--main)) !important;
|
|
777
782
|
font-weight: bold;
|
|
778
783
|
}
|
|
779
|
-
.calendar__date--in-other-month[data-v-
|
|
784
|
+
.calendar__date--in-other-month[data-v-7c705e8c] {
|
|
780
785
|
color: #aaaaaa; /* Grey text color for dates from adjacent months */
|
|
781
786
|
}
|
|
782
|
-
.calendar__date--selected[data-v-
|
|
787
|
+
.calendar__date--selected[data-v-7c705e8c] {
|
|
783
788
|
background-color: #007bff !important;
|
|
784
789
|
color: #fff;
|
|
785
790
|
}
|
|
786
|
-
.calendar__date--range[data-v-
|
|
791
|
+
.calendar__date--range[data-v-7c705e8c] {
|
|
787
792
|
background-color: #1c6ab8 !important;
|
|
788
793
|
}
|
|
789
|
-
.calendar__date--disabled[data-v-
|
|
794
|
+
.calendar__date--disabled[data-v-7c705e8c], .calendar__date--unavailable[data-v-7c705e8c] {
|
|
790
795
|
color: #ccc;
|
|
791
796
|
cursor: not-allowed;
|
|
792
797
|
text-decoration: line-through;
|
|
793
798
|
opacity: 0.5;
|
|
794
799
|
}
|
|
795
|
-
.calendar__date--low-availability[data-v-
|
|
800
|
+
.calendar__date--low-availability[data-v-7c705e8c] {
|
|
796
801
|
position: relative;
|
|
797
802
|
background-color: #f0f0f0;
|
|
798
803
|
/* border: 1px solid #fff3cd;*/
|
|
799
804
|
/* background-color: #fff3cd;*/
|
|
800
805
|
}
|
|
801
|
-
.availability-indicator[data-v-
|
|
806
|
+
.availability-indicator[data-v-7c705e8c] {
|
|
802
807
|
position: absolute;
|
|
803
808
|
bottom: 2px;
|
|
804
809
|
right: 2px;
|
|
805
810
|
font-size: 8px;
|
|
806
811
|
color: #6c757d;
|
|
807
812
|
}
|
|
808
|
-
button[data-v-
|
|
813
|
+
button[data-v-7c705e8c]:disabled {
|
|
809
814
|
opacity: 0.5;
|
|
810
815
|
cursor: not-allowed;
|
|
811
816
|
}
|
|
812
|
-
.calendar-tooltip[data-v-
|
|
817
|
+
.calendar-tooltip[data-v-7c705e8c] {
|
|
813
818
|
position: fixed;
|
|
814
819
|
background-color: #333;
|
|
815
820
|
color: white;
|
|
@@ -836,7 +841,7 @@ button[data-v-5feab7b5]:disabled {
|
|
|
836
841
|
width: 100%;
|
|
837
842
|
}
|
|
838
843
|
|
|
839
|
-
.filters-content[data-v-
|
|
844
|
+
.filters-content[data-v-026224ab] {
|
|
840
845
|
max-height: 60vh;
|
|
841
846
|
overflow-y: auto;
|
|
842
847
|
}
|
|
@@ -1609,19 +1614,19 @@ to {
|
|
|
1609
1614
|
transform: translateY(0);
|
|
1610
1615
|
}
|
|
1611
1616
|
|
|
1612
|
-
.hidden[data-v-
|
|
1617
|
+
.hidden[data-v-0780c9a9] {
|
|
1613
1618
|
opacity: 0;
|
|
1614
1619
|
width: 0;
|
|
1615
1620
|
display: none;
|
|
1616
1621
|
}
|
|
1617
|
-
.visible[data-v-
|
|
1622
|
+
.visible[data-v-0780c9a9] {
|
|
1618
1623
|
opacity: 1;
|
|
1619
1624
|
display: block;
|
|
1620
1625
|
}
|
|
1621
1626
|
|
|
1622
1627
|
/* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */
|
|
1623
1628
|
@media (max-width: 1024px) {
|
|
1624
|
-
aside[data-sidebar][data-v-
|
|
1629
|
+
aside[data-sidebar][data-v-0780c9a9] {
|
|
1625
1630
|
position: absolute !important;
|
|
1626
1631
|
left: 0 !important;
|
|
1627
1632
|
transform: translateX(-100%) !important;
|
|
@@ -1630,24 +1635,24 @@ aside[data-sidebar][data-v-499f10e6] {
|
|
|
1630
1635
|
}
|
|
1631
1636
|
|
|
1632
1637
|
/* Показываем ТОЛЬКО когда manual клик (НЕ от SSR state) */
|
|
1633
|
-
aside[data-sidebar].mobile-opened[data-v-
|
|
1638
|
+
aside[data-sidebar].mobile-opened[data-v-0780c9a9] {
|
|
1634
1639
|
transform: translateX(0) !important;
|
|
1635
1640
|
visibility: visible !important;
|
|
1636
1641
|
}
|
|
1637
1642
|
}
|
|
1638
1643
|
|
|
1639
1644
|
/* Scrollbar styles */
|
|
1640
|
-
[data-v-
|
|
1645
|
+
[data-v-0780c9a9]::-webkit-scrollbar {
|
|
1641
1646
|
width: 6px;
|
|
1642
1647
|
}
|
|
1643
|
-
[data-v-
|
|
1648
|
+
[data-v-0780c9a9]::-webkit-scrollbar-track {
|
|
1644
1649
|
background: transparent;
|
|
1645
1650
|
}
|
|
1646
|
-
[data-v-
|
|
1651
|
+
[data-v-0780c9a9]::-webkit-scrollbar-thumb {
|
|
1647
1652
|
background-color: var(--grey-micro);
|
|
1648
1653
|
border-radius: 3px;
|
|
1649
1654
|
}
|
|
1650
|
-
[data-v-
|
|
1655
|
+
[data-v-0780c9a9]::-webkit-scrollbar-thumb:hover {
|
|
1651
1656
|
background-color: var(--grey-small);
|
|
1652
1657
|
}
|
|
1653
1658
|
.eye[data-v-4241147a] {
|
|
@@ -2204,7 +2209,7 @@ to {
|
|
|
2204
2209
|
left: 0;
|
|
2205
2210
|
top: 0;
|
|
2206
2211
|
}
|
|
2207
|
-
.field-date__dropdown[data-v-
|
|
2212
|
+
.field-date__dropdown[data-v-0840c48f] {
|
|
2208
2213
|
top: calc(100% + 0.5rem);
|
|
2209
2214
|
left: 0;
|
|
2210
2215
|
z-index: 1000;
|
package/package.json
CHANGED
|
@@ -160,6 +160,7 @@ export default function createSsrDevServer(projectRoot, configs, createServer) {
|
|
|
160
160
|
const measure5 = performance.getEntriesByName('loading-5')[0];
|
|
161
161
|
console.log(`[LOADING 5] HTML rendering and Beasties completed in ${measure5?.duration?.toFixed(2)}ms`);
|
|
162
162
|
|
|
163
|
+
console.log('[SSR-404] dev renderer returning statusCode:', statusCode);
|
|
163
164
|
return { html: completeHtml, statusCode };
|
|
164
165
|
};
|
|
165
166
|
};
|
|
@@ -273,6 +274,7 @@ export default function createSsrDevServer(projectRoot, configs, createServer) {
|
|
|
273
274
|
res.locals.webpack.devMiddleware // Update to rspack middleware context
|
|
274
275
|
);
|
|
275
276
|
|
|
277
|
+
console.log('[SSR-404] sending response with statusCode:', result.statusCode);
|
|
276
278
|
res.status(result.statusCode)
|
|
277
279
|
.header("Content-Type", "text/html; charset=utf-8")
|
|
278
280
|
.send(result.html);
|
|
@@ -528,10 +528,10 @@
|
|
|
528
528
|
<template>
|
|
529
529
|
<div class="t-noselect calendar" :aria-disabled="disabled">
|
|
530
530
|
<div v-if="allowRange && !disablePastDates" class="br-b-1px br-grey-transp-25 gap-thin flex flex-nowrap pd-thin">
|
|
531
|
-
<button @click="selectToday" class="font-second
|
|
532
|
-
<button @click="selectLastWeek" class="font-second
|
|
533
|
-
<button @click="selectLastMonth" class="font-second
|
|
534
|
-
<button @click="selectLastYear" class="font-second
|
|
531
|
+
<button @click="selectToday" class="font-second ws-nowrap pd-thin bg-white radius-small">Today</button>
|
|
532
|
+
<button @click="selectLastWeek" class="font-second ws-nowrap pd-thin bg-white radius-small">Last Week</button>
|
|
533
|
+
<button @click="selectLastMonth" class="font-second ws-nowrap pd-thin bg-white radius-small">Last Month</button>
|
|
534
|
+
<button @click="selectLastYear" class="font-second ws-nowrap pd-thin bg-white radius-small">All time</button>
|
|
535
535
|
</div>
|
|
536
536
|
<div class="pd-thin flex flex-nowrap flex-v-center flex-justify-between">
|
|
537
537
|
<button @click.stop="prevMonth" class="aspect-1x1 pd-thin bg-white radius-extra" :disabled="isPrevMonthDisabled">
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section class="">
|
|
3
3
|
<div class="mn-b-small gap-small flex-v-center flex-nowrap flex">
|
|
4
|
-
<h4 class="
|
|
4
|
+
<h4 class="ws-nowrap ">
|
|
5
5
|
{{ text }}
|
|
6
6
|
|
|
7
|
-
<span class="uppercase radius-big
|
|
7
|
+
<span class="uppercase radius-big ws-nowrap fw-medium t-white bg-black w-max pd-micro pd-l-thin pd-r-small">
|
|
8
8
|
{{ percentage || completionPercentage }}%
|
|
9
9
|
</span>
|
|
10
10
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
}"
|
|
20
20
|
>
|
|
21
21
|
|
|
22
|
-
<span class="uppercase radius-big
|
|
22
|
+
<span class="uppercase radius-big ws-nowrap fw-medium t-white bg-black w-max pd-micro pd-l-thin pd-r-small">
|
|
23
23
|
{{ text_cta }}
|
|
24
24
|
</span>
|
|
25
25
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
:showLoader="showLoader"
|
|
19
19
|
:callback="callback"
|
|
20
20
|
:callbackDelay="callbackDelay"
|
|
21
|
-
class="
|
|
21
|
+
class="ws-nowrap fw-medium radius-small uppercase cursor-pointer flex flex-v-center pd-thin w-max hover:bg-fifth fw-semi ease-linear t-black bg-main"
|
|
22
22
|
>
|
|
23
23
|
<span v-if="action" class="desktop-only mn-r-thin">{{action}}</span>
|
|
24
24
|
<IconArrow class="i-medium"/>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
v-if="show"
|
|
4
3
|
class="for-transition bg-white w-100"
|
|
5
4
|
>
|
|
6
5
|
<div
|
|
@@ -259,7 +258,7 @@ import IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'
|
|
|
259
258
|
|
|
260
259
|
import PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'
|
|
261
260
|
// Import libs
|
|
262
|
-
import { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'
|
|
261
|
+
import { computed, watch, onMounted, onServerPrefetch, ref, onBeforeMount, inject } from 'vue'
|
|
263
262
|
import { useRoute, useRouter } from 'vue-router'
|
|
264
263
|
|
|
265
264
|
// Import state
|
|
@@ -267,13 +266,14 @@ import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'
|
|
|
267
266
|
import * as users from '@martyrs/src/modules/auth/views/store/users.js'
|
|
268
267
|
import membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'
|
|
269
268
|
import { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'
|
|
269
|
+
import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'
|
|
270
270
|
// Accessing router
|
|
271
271
|
const route = useRoute()
|
|
272
272
|
const router = useRouter()
|
|
273
273
|
// Get organization _id from cookie
|
|
274
274
|
const show = ref(false)
|
|
275
275
|
|
|
276
|
-
const store =
|
|
276
|
+
const store = useStore()
|
|
277
277
|
const { isModuleInstalled } = useGlobalMixins()
|
|
278
278
|
|
|
279
279
|
const modules = {
|
|
@@ -310,9 +310,37 @@ const modules = {
|
|
|
310
310
|
}
|
|
311
311
|
|
|
312
312
|
|
|
313
|
+
// Функция загрузки данных пользователя
|
|
314
|
+
async function fetchUser() {
|
|
315
|
+
try {
|
|
316
|
+
const result = await users.actions.read({ _id: route.params._id, user: auth.state.user?._id });
|
|
317
|
+
// Если пользователь не найден - устанавливаем 404
|
|
318
|
+
if (!result || result.length === 0 || !users.state.current?._id) {
|
|
319
|
+
store.core.state.notFound = true;
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
return true;
|
|
323
|
+
} catch (error) {
|
|
324
|
+
console.error('Error fetching user:', error);
|
|
325
|
+
store.core.state.notFound = true;
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// SSR: загружаем данные на сервере для SEO
|
|
331
|
+
onServerPrefetch(async () => {
|
|
332
|
+
console.log('[SSR-404] Profile onServerPrefetch, route._id:', route.params._id);
|
|
333
|
+
await fetchUser();
|
|
334
|
+
console.log('[SSR-404] Profile fetchUser completed');
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
// Client: загружаем данные если еще не загружены (после гидратации)
|
|
313
338
|
onMounted(async () => {
|
|
314
|
-
|
|
315
|
-
|
|
339
|
+
// Если данные уже загружены на сервере (SSR) - не загружаем повторно
|
|
340
|
+
if (!users.state.current?._id || users.state.current._id !== route.params._id) {
|
|
341
|
+
await fetchUser();
|
|
342
|
+
}
|
|
343
|
+
show.value = true;
|
|
316
344
|
})
|
|
317
345
|
|
|
318
346
|
const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
// Router
|
|
2
2
|
import addRoutes from '@martyrs/src/modules/core/views/router/addRoutes.js';
|
|
3
|
-
import { getRoutes } from './backoffice.router.js';
|
|
3
|
+
import { getRoutes } from './router/backoffice.router.js';
|
|
4
4
|
|
|
5
5
|
// Views
|
|
6
|
-
// Layouts
|
|
7
|
-
|
|
8
6
|
// Pages
|
|
9
7
|
import Dashboard from './components/pages/Dashboard.vue';
|
|
10
8
|
|
|
11
|
-
// Admin components
|
|
12
|
-
// import AdminDashboard from './components/admin/Dashboard.vue';
|
|
13
|
-
// import FastOrders from './components/admin/FastOrders.vue';
|
|
14
|
-
// import UserEdit from './components/admin/UserEdit.vue';
|
|
15
|
-
// import Users from './components/admin/Users.vue';
|
|
16
|
-
// import ProductEdit from './components/admin/ProductEdit.vue';
|
|
17
|
-
// import Backcalls from './components/admin/Backcalls.vue';
|
|
18
|
-
|
|
19
|
-
// Partials
|
|
20
|
-
import Sidebar from './components/partials/Sidebar.vue';
|
|
21
|
-
|
|
22
9
|
// Пример функции инициализации для модуля бэкофиса
|
|
23
10
|
function initializeBackoffice(app, store, router, options = {}) {
|
|
24
11
|
const routes = getRoutes(options);
|
|
@@ -34,18 +21,7 @@ const ModuleBackoffice = {
|
|
|
34
21
|
getRoutes,
|
|
35
22
|
},
|
|
36
23
|
components: {
|
|
37
|
-
// Layouts
|
|
38
|
-
// Pages
|
|
39
24
|
Dashboard,
|
|
40
|
-
// Admin components
|
|
41
|
-
// AdminDashboard,
|
|
42
|
-
// FastOrders,
|
|
43
|
-
// UserEdit,
|
|
44
|
-
// Users,
|
|
45
|
-
// ProductEdit,
|
|
46
|
-
// Backcalls,
|
|
47
|
-
// Partials
|
|
48
|
-
Sidebar,
|
|
49
25
|
},
|
|
50
26
|
},
|
|
51
27
|
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// Import icons
|
|
2
|
+
import IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'
|
|
3
|
+
import IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'
|
|
4
|
+
import IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'
|
|
5
|
+
import IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'
|
|
6
|
+
import IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'
|
|
7
|
+
import IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'
|
|
8
|
+
import IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'
|
|
9
|
+
import IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'
|
|
10
|
+
|
|
11
|
+
// Backoffice navigation configuration
|
|
12
|
+
export const navigationItems = [
|
|
13
|
+
{
|
|
14
|
+
category: 'Menu',
|
|
15
|
+
visible: () => true,
|
|
16
|
+
items: [
|
|
17
|
+
{
|
|
18
|
+
title: 'Organizations',
|
|
19
|
+
iconComponent: IconGroups,
|
|
20
|
+
route: () => '/backoffice/organizations',
|
|
21
|
+
visible: () => true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
title: 'Community',
|
|
25
|
+
iconComponent: IconCommunity,
|
|
26
|
+
route: () => '/backoffice/community',
|
|
27
|
+
visible: () => true
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
title: 'Products',
|
|
31
|
+
iconComponent: IconProducts,
|
|
32
|
+
route: () => '/backoffice/products',
|
|
33
|
+
visible: () => true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: 'Inventory',
|
|
37
|
+
iconComponent: IconLeftovers,
|
|
38
|
+
route: () => '/backoffice/inventory',
|
|
39
|
+
visible: () => true
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
title: 'Orders',
|
|
43
|
+
iconComponent: IconOrders,
|
|
44
|
+
route: () => '/backoffice/orders',
|
|
45
|
+
visible: () => true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
title: 'Gallery',
|
|
49
|
+
iconComponent: IconGallery,
|
|
50
|
+
route: () => '/backoffice/gallery',
|
|
51
|
+
visible: () => true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
title: 'Applications',
|
|
55
|
+
iconComponent: IconEvents,
|
|
56
|
+
route: () => '/backoffice/applications',
|
|
57
|
+
visible: () => true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
title: 'Events',
|
|
61
|
+
iconComponent: IconEvents,
|
|
62
|
+
route: () => '/backoffice/events',
|
|
63
|
+
visible: () => true
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
category: 'General',
|
|
69
|
+
visible: () => true,
|
|
70
|
+
items: [
|
|
71
|
+
{
|
|
72
|
+
title: 'Payments',
|
|
73
|
+
iconComponent: IconPayments,
|
|
74
|
+
route: () => '/backoffice/payments',
|
|
75
|
+
visible: () => true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
title: 'Users',
|
|
79
|
+
iconComponent: null,
|
|
80
|
+
route: () => '/backoffice/users',
|
|
81
|
+
visible: () => true
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
title: 'Pages',
|
|
85
|
+
iconComponent: null,
|
|
86
|
+
route: () => '/backoffice/pages',
|
|
87
|
+
visible: () => true
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: 'Reports',
|
|
91
|
+
iconComponent: null,
|
|
92
|
+
route: () => '/backoffice/reports',
|
|
93
|
+
visible: () => true
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
|
|
99
|
+
export default navigationItems
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
import Navigation from '@martyrs/src/modules/core/views/components/partials/Navigation.vue'
|
|
2
|
+
import { navigationItems } from '../configs/navigation.backoffice.config.js'
|
|
3
3
|
|
|
4
4
|
export function getRoutes(options = {}) {
|
|
5
5
|
const route = options.route || 'Home';
|
|
6
6
|
const routes = [];
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
routes.push({
|
|
9
9
|
parentName: route,
|
|
10
10
|
config: {
|
|
@@ -14,8 +14,9 @@ export function getRoutes(options = {}) {
|
|
|
14
14
|
path: '',
|
|
15
15
|
name: 'Backoffice Root',
|
|
16
16
|
meta: {
|
|
17
|
-
sidebar_navigation:
|
|
18
|
-
|
|
17
|
+
sidebar_navigation: Navigation,
|
|
18
|
+
sidebar_navigation_items: navigationItems,
|
|
19
|
+
sidebar_width_hidden: 'w-2r',
|
|
19
20
|
},
|
|
20
21
|
props: {
|
|
21
22
|
newsletterPopup: 12344,
|
|
@@ -64,6 +65,6 @@ export function getRoutes(options = {}) {
|
|
|
64
65
|
],
|
|
65
66
|
}
|
|
66
67
|
});
|
|
67
|
-
|
|
68
|
+
|
|
68
69
|
return routes;
|
|
69
|
-
}
|
|
70
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
<div style="flex: 1 1 auto" class="w-100 h-100 pos-relative">
|
|
6
6
|
<header v-if="!route.params.url && route.name !== 'Create BlogPost'" class="bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex">
|
|
7
|
-
<h2 class="pos-relative
|
|
7
|
+
<h2 class="pos-relative ws-nowrap flex-v-center flex-nowrap flex">
|
|
8
8
|
<span class="mn-r-thin">Posts for </span>
|
|
9
9
|
|
|
10
10
|
<Select
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
</header>
|
|
30
30
|
|
|
31
31
|
<div v-if="!route.params.url && route.name !=='Create BlogPost'" class="w-100 pos-relative">
|
|
32
|
-
<ul class="align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll
|
|
32
|
+
<ul class="align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll ws-nowrap scroll-hide">
|
|
33
33
|
<li
|
|
34
34
|
:class="{'t-black bg-white': route.params.category === 'featured' }"
|
|
35
35
|
@click="() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}"
|
|
@@ -74,10 +74,12 @@ import Comments from '@martyrs/src/modules/community/components/sections/Comment
|
|
|
74
74
|
import Viewer from '@martyrs/src/modules/constructor/components/sections/Viewer.vue';
|
|
75
75
|
import * as blog from '@martyrs/src/modules/community/store/blogposts.js';
|
|
76
76
|
import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
|
|
77
|
-
|
|
77
|
+
import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';
|
|
78
|
+
|
|
78
79
|
import { useRoute } from 'vue-router';
|
|
79
80
|
|
|
80
81
|
const route = useRoute();
|
|
82
|
+
const store = useStore();
|
|
81
83
|
const blogpost = computed(() => blog.state.current);
|
|
82
84
|
const isLoading = ref(false);
|
|
83
85
|
const canShare = ref(false);
|
|
@@ -90,9 +92,15 @@ async function fetchBlogpost() {
|
|
|
90
92
|
blogpost.value = data[0];
|
|
91
93
|
// Обновляем состояние хранилища
|
|
92
94
|
blog.state.current = data[0];
|
|
95
|
+
|
|
96
|
+
// Если пост не найден - устанавливаем 404
|
|
97
|
+
if (!data || data.length === 0 || !blog.state.current) {
|
|
98
|
+
store.core.state.notFound = true;
|
|
99
|
+
}
|
|
93
100
|
} catch (err) {
|
|
94
101
|
error.value = err;
|
|
95
102
|
console.error('Error fetching blogpost:', err);
|
|
103
|
+
store.core.state.notFound = true;
|
|
96
104
|
} finally {
|
|
97
105
|
isLoading.value = false;
|
|
98
106
|
}
|
|
@@ -123,6 +123,7 @@ export { default as Sidebar } from '@martyrs/src/modules/core/views/components/p
|
|
|
123
123
|
export { default as Footer } from '@martyrs/src/modules/core/views/components/partials/Footer.vue';
|
|
124
124
|
export { default as Walkthrough } from '@martyrs/src/modules/core/views/components/sections/Walkthrough.vue';
|
|
125
125
|
|
|
126
|
+
|
|
126
127
|
// Functional exports
|
|
127
128
|
export {
|
|
128
129
|
appRenderer,
|
|
@@ -261,13 +261,14 @@ export function createUniversalApp({
|
|
|
261
261
|
// FOR SSR / SERVER ENTRY
|
|
262
262
|
async function renderApp({ url, cookies, headers, languages, ssrContext }) {
|
|
263
263
|
const { app, router, store, i18n, meta, moduleManager } = await createApp();
|
|
264
|
-
|
|
264
|
+
|
|
265
265
|
// Set SSR store for useStore calls
|
|
266
266
|
if (typeof window === 'undefined') {
|
|
267
267
|
const { setSSRStore } = await import('../store/core.store.js');
|
|
268
268
|
await setSSRStore(store);
|
|
269
269
|
}
|
|
270
|
-
|
|
270
|
+
|
|
271
|
+
|
|
271
272
|
const context = {
|
|
272
273
|
app,
|
|
273
274
|
store,
|
|
@@ -278,10 +279,11 @@ export function createUniversalApp({
|
|
|
278
279
|
|
|
279
280
|
// [LOADING 20] SSR renderApp starting and loading modules
|
|
280
281
|
performance.mark('loading-20-start');
|
|
281
|
-
console.log('[
|
|
282
|
+
console.log('[SSR-404] renderApp starting, url:', url);
|
|
282
283
|
|
|
283
284
|
// Для SSR загружаем модули для текущего маршрута
|
|
284
285
|
const requiredModules = moduleManager.getModulesForRoute(url);
|
|
286
|
+
console.log('[SSR-404] required modules:', requiredModules.map(m => m.name));
|
|
285
287
|
|
|
286
288
|
// Собираем имена модулей которые нужны для текущего роута
|
|
287
289
|
const currentRouteModules = [];
|
|
@@ -299,8 +301,11 @@ export function createUniversalApp({
|
|
|
299
301
|
console.log(`[LOADING 20] SSR modules loaded in ${measure20?.duration?.toFixed(2)}ms`);
|
|
300
302
|
|
|
301
303
|
// После загрузки модулей и регистрации роутов, выполняем навигацию
|
|
304
|
+
console.log('[SSR-404] modules loaded, pushing url:', url);
|
|
305
|
+
console.log('[SSR-404] available routes:', router.getRoutes().map(r => r.path));
|
|
302
306
|
await router.push(url);
|
|
303
307
|
await router.isReady();
|
|
308
|
+
console.log('[SSR-404] router ready, currentRoute:', router.currentRoute.value.name, router.currentRoute.value.path);
|
|
304
309
|
|
|
305
310
|
const result = await appRenderer.render({
|
|
306
311
|
url,
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
>
|
|
9
9
|
|
|
10
10
|
<div
|
|
11
|
-
class="w-100 gap-thin p-regular
|
|
11
|
+
class="w-100 gap-thin p-regular ws-nowrap flex-nowrap flex-v-center flex"
|
|
12
12
|
>
|
|
13
13
|
<img loading="lazy"
|
|
14
14
|
v-if="owner.target?.profile?.photo?.length > 0 && type !== 'short'"
|