@ozdao/martyrs 0.2.563 → 0.2.565
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/abac-BPl9Bmf9.js +1527 -0
- package/dist/builder.js +51 -39
- package/dist/{common.schema-GFSlNJo7.js → common.schema-DswiUXKB.js} +1 -1
- package/dist/community.server.js +48 -9
- package/dist/core.server.js +6 -4
- package/dist/{crud-C7FSTUes.js → crud-q1ye5IhV.js} +7 -7
- package/dist/events.server.js +3 -3
- package/dist/gallery.server.js +2 -2
- package/dist/inventory.server.js +4 -6
- package/dist/{main-CmjWiDVF.js → main-B9o1iBAZ.js} +1279 -1287
- package/dist/marketplace.server.js +1 -1
- package/dist/martyrs/src/components/Button/Button.vue2.js +33 -42
- package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -1
- package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +2 -2
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue.js +1 -2
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Tree/Tree.vue.js +6 -3
- package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/auth.client.js +10 -7
- package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +12 -12
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/router/auth.router.js +116 -0
- package/dist/martyrs/src/modules/auth/views/router/auth.router.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/router/users.router.js +180 -0
- package/dist/martyrs/src/modules/auth/views/router/users.router.js.map +1 -0
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +3 -3
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/locales/en.js +45 -0
- package/dist/martyrs/src/modules/core/locales/en.js.map +1 -1
- package/dist/martyrs/src/modules/core/locales/ru.js +45 -0
- package/dist/martyrs/src/modules/core/locales/ru.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js +9 -0
- package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js +1 -2
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/router/addRoutes.js +6 -1
- package/dist/martyrs/src/modules/core/views/router/addRoutes.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +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/pages/Marketplace.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/store/marketplace.js +0 -16
- package/dist/martyrs/src/modules/marketplace/views/store/marketplace.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +4 -4
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +3 -0
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +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/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 +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +15 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +9 -6
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +11 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +11 -8
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +210 -60
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/music.server.js +11 -12
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/notifications.server.js +0 -3
- package/dist/orders.server.js +5 -6
- package/dist/organizations.server.js +9 -10
- package/dist/products.server.js +27 -26
- package/dist/{queryProcessor-CBQgZycY.js → queryProcessor-C_5Iipam.js} +4 -1
- package/dist/rents.server.js +2 -3
- package/dist/spots.server.js +1 -1
- package/dist/style.css +38 -23
- package/dist/{web-cNKIl_cL.js → web-BF3ijvEr.js} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.rspack.dev.js +4 -3
- package/src/builder/rspack/rspack.config.api.js +15 -4
- package/src/builder/rspack/rspack.config.base.js +3 -3
- package/src/builder/rspack/rspack.config.ssr.client.js +28 -28
- package/src/builder/templates/page.js +2 -2
- package/src/components/Button/Button.vue +50 -37
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/Loader/Loader.vue +1 -1
- package/src/components/Tree/Tree.vue +6 -3
- package/src/modules/PROCESS.md +0 -0
- package/src/modules/TASKS.MD +17 -0
- package/src/modules/auth/auth.client.js +11 -7
- package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
- package/src/modules/auth/views/router/auth.router.js +94 -0
- package/src/modules/auth/views/router/users.router.js +153 -0
- package/src/modules/backoffice/components/partials/Sidebar.vue +7 -7
- package/src/modules/community/community.server.js +8 -0
- package/src/modules/community/policies/blog.policies.js +55 -0
- package/src/modules/community/routes/blog.routes.js +1 -1
- package/src/modules/community/routes/comments.routes.js +1 -1
- package/src/modules/community/routes/reactions.routes.js +1 -4
- package/src/modules/core/controllers/classes/abac/abac.adapter.express.js +206 -124
- package/src/modules/core/controllers/classes/abac/abac.adapter.ws.js +203 -50
- package/src/modules/core/controllers/classes/abac/abac.core.js +127 -36
- package/src/modules/core/controllers/classes/abac/abac.fields.js +144 -179
- package/src/modules/core/controllers/classes/abac/abac.js +201 -10
- package/src/modules/core/controllers/classes/abac/abac.policies.js +147 -57
- package/src/modules/core/controllers/classes/crud/crud.policies.js +5 -5
- package/src/modules/core/controllers/policies/core.policies.js +5 -2
- package/src/modules/core/controllers/utils/queryProcessor.js +4 -1
- package/src/modules/core/core.server.js +1 -0
- package/src/modules/core/locales/en.js +45 -0
- package/src/modules/core/locales/ru.js +45 -0
- package/src/modules/core/models/schemas/common.schema.js +1 -1
- package/src/modules/core/views/classes/i18n.manager.js +13 -0
- package/src/modules/core/views/components/sections/filters/FilterPrice.vue +81 -0
- package/src/modules/core/views/mixins/mixins.js +1 -2
- package/src/modules/core/views/router/addRoutes.js +6 -1
- package/src/modules/events/routes/events.routes.js +1 -1
- package/src/modules/inventory/components/pages/InventoryEdit.vue +3 -3
- package/src/modules/inventory/policies/inventory.policies.js +1 -1
- package/src/modules/inventory/routes/inventory.routes.js +1 -1
- package/src/modules/marketplace/marketplace.router.js +66 -0
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +363 -0
- package/src/modules/marketplace/views/components/pages/Catalog.vue +73 -0
- package/src/modules/marketplace/views/store/marketplace.js +0 -16
- package/src/modules/music/controllers/stream.controller.js +1 -1
- package/src/modules/music/music.server.js +1 -1
- package/src/modules/music/policies/music.policies.js +3 -2
- package/src/modules/music/router/library.router.js +26 -0
- package/src/modules/music/router/music.router.js +176 -0
- package/src/modules/notifications/components/elements/NotificationBadge.vue +5 -6
- package/src/modules/notifications/notifications.server.js +1 -3
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +5 -0
- package/src/modules/orders/orders.server.js +0 -1
- package/src/modules/organizations/components/blocks/CardOrganization.vue +2 -2
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
- package/src/modules/organizations/components/pages/OrganizationEdit.vue +2 -2
- package/src/modules/organizations/policies/organizations.policies.js +12 -6
- package/src/modules/organizations/routes/organizations.routes.js +1 -3
- package/src/modules/products/components/blocks/CardCategory.vue +1 -1
- package/src/modules/products/components/blocks/CardProduct.vue +16 -2
- package/src/modules/products/components/pages/Categories.vue +9 -6
- package/src/modules/products/components/pages/CategoryEdit.vue +8 -4
- package/src/modules/products/components/pages/Product.vue +11 -5
- package/src/modules/products/components/sections/SectionProduct.vue +11 -7
- package/src/modules/products/controllers/categories.controller.js +32 -27
- package/src/modules/products/routes/categories.routes.js +1 -1
- package/src/modules/rents/controllers/routes/rents.routes.js +1 -1
- package/src/modules/rents/views/components/pages/RentsEdit.vue +208 -49
- package/src/modules/spots/components/pages/Map.vue +2 -2
- package/dist/abac-DYoheWuc.js +0 -1031
- package/dist/core.abac-DUPBnlk6.js +0 -298
- package/dist/core.logger-C3q8A9dl.js +0 -51
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
- package/dist/martyrs/src/modules/auth/auth.router.js +0 -342
- package/dist/martyrs/src/modules/auth/auth.router.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
- package/src/modules/auth/auth.router.js +0 -262
- package/src/modules/core/controllers/classes/abac/v2/abac-core-fixed.js +0 -313
- package/src/modules/core/controllers/classes/abac/v2/abac-express-fixed.js +0 -276
- package/src/modules/core/controllers/classes/abac/v2/abac-fields-fixed.js +0 -425
- package/src/modules/core/controllers/classes/abac/v2/abac-main-fixed.js +0 -295
- package/src/modules/core/controllers/classes/abac/v2/abac-policies-fixed.js +0 -316
- package/src/modules/core/controllers/classes/abac/v2/abac-ws-fixed.js +0 -237
- package/src/modules/core/controllers/classes/core.abac.js +0 -310
- package/src/modules/core/controllers/classes/core.crud.js +0 -89
- package/src/modules/governance/reactcode/eslint.config.js +0 -28
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
import { state } from "./views/store/auth.js";
|
|
2
|
-
import { useGlobalMixins } from "../core/views/mixins/mixins.js";
|
|
3
|
-
import _sfc_main from "../icons/navigation/IconPlus.vue.js";
|
|
4
|
-
import { navigationItems } from "./views/configs/navigation.user.config.js";
|
|
5
|
-
import _sfc_main$1 from "./views/components/blocks/ProfileCard.vue.js";
|
|
6
|
-
import HelpCard from "../core/views/components/blocks/HelpCard.vue.js";
|
|
7
|
-
const { isPhone, isTablet } = useGlobalMixins();
|
|
8
|
-
function getRoutes(options = {}) {
|
|
9
|
-
const route = options.route || "Home";
|
|
10
|
-
const routes = [];
|
|
11
|
-
routes.push({
|
|
12
|
-
parentName: route,
|
|
13
|
-
config: {
|
|
14
|
-
basePath: "auth",
|
|
15
|
-
component: () => import(
|
|
16
|
-
/* webpackChunkName: "auth-layout" */
|
|
17
|
-
"./views/components/layouts/Auth.vue.js"
|
|
18
|
-
),
|
|
19
|
-
meta: {
|
|
20
|
-
title: {
|
|
21
|
-
en: "Аутентификация",
|
|
22
|
-
ru: "Authentication"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
routes: [
|
|
26
|
-
{
|
|
27
|
-
path: "signin",
|
|
28
|
-
name: "Sign In",
|
|
29
|
-
beforeEnter: [
|
|
30
|
-
() => import(
|
|
31
|
-
/* webpackChunkName: "auth-validation" */
|
|
32
|
-
"./views/middlewares/auth.validation.js"
|
|
33
|
-
).then((m) => m.requiresNoAuth),
|
|
34
|
-
() => import(
|
|
35
|
-
/* webpackChunkName: "auth-validation" */
|
|
36
|
-
"./views/middlewares/auth.validation.js"
|
|
37
|
-
).then((m) => m.resetUser)
|
|
38
|
-
],
|
|
39
|
-
meta: {
|
|
40
|
-
title: {
|
|
41
|
-
en: "Sign In",
|
|
42
|
-
ru: "Вход"
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
component: () => import(
|
|
46
|
-
/* webpackChunkName: "signin" */
|
|
47
|
-
"./views/components/pages/SignIn.vue.js"
|
|
48
|
-
)
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
path: "reset-password",
|
|
52
|
-
name: "Reset Password",
|
|
53
|
-
beforeEnter: [
|
|
54
|
-
() => import(
|
|
55
|
-
/* webpackChunkName: "auth-validation" */
|
|
56
|
-
"./views/middlewares/auth.validation.js"
|
|
57
|
-
).then((m) => m.requiresNoAuth),
|
|
58
|
-
() => import(
|
|
59
|
-
/* webpackChunkName: "auth-validation" */
|
|
60
|
-
"./views/middlewares/auth.validation.js"
|
|
61
|
-
).then((m) => m.resetUser)
|
|
62
|
-
],
|
|
63
|
-
meta: {
|
|
64
|
-
title: {
|
|
65
|
-
en: "Reset Password",
|
|
66
|
-
ru: "Сбросить Пароль"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
component: () => import(
|
|
70
|
-
/* webpackChunkName: "reset-password" */
|
|
71
|
-
"./views/components/pages/ResetPassword.vue.js"
|
|
72
|
-
)
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
path: "signup",
|
|
76
|
-
name: "Sign Up",
|
|
77
|
-
beforeEnter: [
|
|
78
|
-
() => import(
|
|
79
|
-
/* webpackChunkName: "auth-validation" */
|
|
80
|
-
"./views/middlewares/auth.validation.js"
|
|
81
|
-
).then((m) => m.requiresNoAuth),
|
|
82
|
-
() => import(
|
|
83
|
-
/* webpackChunkName: "auth-validation" */
|
|
84
|
-
"./views/middlewares/auth.validation.js"
|
|
85
|
-
).then((m) => m.resetUser)
|
|
86
|
-
],
|
|
87
|
-
meta: {
|
|
88
|
-
title: {
|
|
89
|
-
en: "Sign Up",
|
|
90
|
-
ru: "Регистрация"
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
component: () => import(
|
|
94
|
-
/* webpackChunkName: "signup" */
|
|
95
|
-
"./views/components/pages/SignUp.vue.js"
|
|
96
|
-
)
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
path: "enter-code",
|
|
100
|
-
name: "Enter Code",
|
|
101
|
-
beforeEnter: [
|
|
102
|
-
() => import(
|
|
103
|
-
/* webpackChunkName: "auth-validation" */
|
|
104
|
-
"./views/middlewares/auth.validation.js"
|
|
105
|
-
).then((m) => m.requiresNoAuth),
|
|
106
|
-
() => import(
|
|
107
|
-
/* webpackChunkName: "auth-validation" */
|
|
108
|
-
"./views/middlewares/auth.validation.js"
|
|
109
|
-
).then((m) => m.checkUser)
|
|
110
|
-
],
|
|
111
|
-
meta: {
|
|
112
|
-
title: {
|
|
113
|
-
en: "Enter Code",
|
|
114
|
-
ru: "Введите Код"
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
component: () => import(
|
|
118
|
-
/* webpackChunkName: "signup" */
|
|
119
|
-
"./views/components/pages/EnterCode.vue.js"
|
|
120
|
-
)
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
path: "enter-password",
|
|
124
|
-
name: "Enter Password",
|
|
125
|
-
beforeEnter: [
|
|
126
|
-
() => import(
|
|
127
|
-
/* webpackChunkName: "auth-validation" */
|
|
128
|
-
"./views/middlewares/auth.validation.js"
|
|
129
|
-
).then((m) => m.requiresNoAuth),
|
|
130
|
-
() => import(
|
|
131
|
-
/* webpackChunkName: "auth-validation" */
|
|
132
|
-
"./views/middlewares/auth.validation.js"
|
|
133
|
-
).then((m) => m.checkUser)
|
|
134
|
-
],
|
|
135
|
-
meta: {
|
|
136
|
-
title: {
|
|
137
|
-
en: "Enter Password",
|
|
138
|
-
ru: "Введите Пароль"
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
component: () => import(
|
|
142
|
-
/* webpackChunkName: "signup" */
|
|
143
|
-
"./views/components/pages/EnterPassword.vue.js"
|
|
144
|
-
)
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
path: "invite",
|
|
148
|
-
name: "Invite",
|
|
149
|
-
beforeEnter: [
|
|
150
|
-
() => import(
|
|
151
|
-
/* webpackChunkName: "auth-validation" */
|
|
152
|
-
"./views/middlewares/auth.validation.js"
|
|
153
|
-
).then((m) => m.requiresNoAuth),
|
|
154
|
-
() => import(
|
|
155
|
-
/* webpackChunkName: "auth-validation" */
|
|
156
|
-
"./views/middlewares/auth.validation.js"
|
|
157
|
-
).then((m) => m.resetUser)
|
|
158
|
-
],
|
|
159
|
-
meta: {
|
|
160
|
-
title: {
|
|
161
|
-
en: "Invite",
|
|
162
|
-
ru: "Приглашение"
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
component: () => import(
|
|
166
|
-
/* webpackChunkName: "signup" */
|
|
167
|
-
"./views/components/pages/Invite.vue.js"
|
|
168
|
-
)
|
|
169
|
-
}
|
|
170
|
-
]
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
routes.push({
|
|
174
|
-
parentName: route,
|
|
175
|
-
config: {
|
|
176
|
-
basePath: "users",
|
|
177
|
-
meta: {
|
|
178
|
-
title: {
|
|
179
|
-
en: "Users",
|
|
180
|
-
ru: "Пользователи"
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
routes: [
|
|
184
|
-
{
|
|
185
|
-
path: ":_id",
|
|
186
|
-
name: "User Profile Root",
|
|
187
|
-
meta: {
|
|
188
|
-
title: {
|
|
189
|
-
en: "Profile",
|
|
190
|
-
ru: "Профиль"
|
|
191
|
-
},
|
|
192
|
-
sidebar_hover: false,
|
|
193
|
-
sidebar_navigation_items: navigationItems,
|
|
194
|
-
sidebar_header_component: _sfc_main$1,
|
|
195
|
-
sidebar_footer_component: HelpCard,
|
|
196
|
-
sidebarOpenOnEnter: true,
|
|
197
|
-
sidebarCloseOnLeave: true
|
|
198
|
-
},
|
|
199
|
-
children: [
|
|
200
|
-
{
|
|
201
|
-
path: "",
|
|
202
|
-
// Пустой путь для основного профиля
|
|
203
|
-
name: "User Profile",
|
|
204
|
-
meta: {
|
|
205
|
-
title: {
|
|
206
|
-
en: "Profile",
|
|
207
|
-
ru: "Профиль"
|
|
208
|
-
},
|
|
209
|
-
title_hide: true,
|
|
210
|
-
hideNavigationBar: (route2) => route2.params._id === state.user._id
|
|
211
|
-
},
|
|
212
|
-
component: () => import(
|
|
213
|
-
/* webpackChunkName: "profile" */
|
|
214
|
-
"./views/components/pages/Profile.vue.js"
|
|
215
|
-
),
|
|
216
|
-
children: [
|
|
217
|
-
{
|
|
218
|
-
path: "edit",
|
|
219
|
-
name: "User Edit Profile",
|
|
220
|
-
component: () => import(
|
|
221
|
-
/* webpackChunkName: "profile-edit" */
|
|
222
|
-
"./views/components/pages/ProfileEdit.vue.js"
|
|
223
|
-
),
|
|
224
|
-
children: [
|
|
225
|
-
{
|
|
226
|
-
path: "profile",
|
|
227
|
-
name: "Profile Edit Profile",
|
|
228
|
-
component: () => import(
|
|
229
|
-
/* webpackChunkName: "profile-edit-profile" */
|
|
230
|
-
"./views/components/pages/ProfileEditProfile.vue.js"
|
|
231
|
-
)
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
path: "account",
|
|
235
|
-
name: "Profile Edit Account",
|
|
236
|
-
component: () => import(
|
|
237
|
-
/* webpackChunkName: "profile-edit-account" */
|
|
238
|
-
"./views/components/pages/ProfileEditAccount.vue.js"
|
|
239
|
-
)
|
|
240
|
-
}
|
|
241
|
-
]
|
|
242
|
-
}
|
|
243
|
-
]
|
|
244
|
-
},
|
|
245
|
-
{
|
|
246
|
-
path: "dashboard",
|
|
247
|
-
name: "User Dashboard",
|
|
248
|
-
meta: {
|
|
249
|
-
title: {
|
|
250
|
-
en: "Dashboard",
|
|
251
|
-
ru: "Дашборд"
|
|
252
|
-
}
|
|
253
|
-
},
|
|
254
|
-
beforeEnter: [
|
|
255
|
-
(to) => {
|
|
256
|
-
if (to.params._id !== state.user._id) {
|
|
257
|
-
return { name: "User Profile", params: { _id: to.params._id } };
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
],
|
|
261
|
-
component: () => import(
|
|
262
|
-
/* webpackChunkName: "profile-dashboard" */
|
|
263
|
-
"./views/components/pages/UserDashboard.vue.js"
|
|
264
|
-
)
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
path: "blogposts",
|
|
268
|
-
name: "User Posts",
|
|
269
|
-
meta: {
|
|
270
|
-
title: {
|
|
271
|
-
en: "Posts",
|
|
272
|
-
ru: "Посты"
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
component: () => import(
|
|
276
|
-
/* webpackChunkName: "profile" */
|
|
277
|
-
"./views/components/pages/ProfileBlogposts.vue.js"
|
|
278
|
-
)
|
|
279
|
-
},
|
|
280
|
-
{
|
|
281
|
-
path: "events",
|
|
282
|
-
name: "User Events",
|
|
283
|
-
meta: {
|
|
284
|
-
title: {
|
|
285
|
-
en: "Events",
|
|
286
|
-
ru: "События"
|
|
287
|
-
}
|
|
288
|
-
},
|
|
289
|
-
component: () => import(
|
|
290
|
-
/* webpackChunkName: "profile" */
|
|
291
|
-
"../events/components/pages/EventsBackoffice.vue.js"
|
|
292
|
-
)
|
|
293
|
-
},
|
|
294
|
-
{
|
|
295
|
-
path: "organizations",
|
|
296
|
-
name: "User Organizations",
|
|
297
|
-
meta: {
|
|
298
|
-
title: {
|
|
299
|
-
en: "Groups",
|
|
300
|
-
ru: "Группы"
|
|
301
|
-
},
|
|
302
|
-
actions: [
|
|
303
|
-
{
|
|
304
|
-
component: _sfc_main,
|
|
305
|
-
props: {
|
|
306
|
-
fill: "rgb(var(--main))"
|
|
307
|
-
},
|
|
308
|
-
condition: () => state.user && state.user._id,
|
|
309
|
-
action: (router) => router.push({ name: "Create Organization" })
|
|
310
|
-
}
|
|
311
|
-
]
|
|
312
|
-
},
|
|
313
|
-
component: () => import(
|
|
314
|
-
/* webpackChunkName: "profile" */
|
|
315
|
-
"../organizations/components/pages/Organizations.vue.js"
|
|
316
|
-
)
|
|
317
|
-
},
|
|
318
|
-
{
|
|
319
|
-
path: "wallet",
|
|
320
|
-
name: "User Wallet",
|
|
321
|
-
meta: {
|
|
322
|
-
title: {
|
|
323
|
-
en: "Wallet",
|
|
324
|
-
ru: "Кошелек"
|
|
325
|
-
}
|
|
326
|
-
},
|
|
327
|
-
component: () => import(
|
|
328
|
-
/* webpackChunkName: "profile" */
|
|
329
|
-
"../wallet/views/components/pages/Wallet.vue.js"
|
|
330
|
-
)
|
|
331
|
-
}
|
|
332
|
-
]
|
|
333
|
-
}
|
|
334
|
-
]
|
|
335
|
-
}
|
|
336
|
-
});
|
|
337
|
-
return routes;
|
|
338
|
-
}
|
|
339
|
-
export {
|
|
340
|
-
getRoutes
|
|
341
|
-
};
|
|
342
|
-
//# sourceMappingURL=auth.router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.router.js","sources":["../../../../../src/modules/auth/auth.router.js"],"sourcesContent":["// auth.meta.js\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\nimport IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue';\nimport { navigationItems } from '@martyrs/src/modules/auth/views/configs/navigation.user.config.js';\nimport ProfileCard from '@martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue';\nimport HelpCard from '@martyrs/src/modules/core/views/components/blocks/HelpCard.vue';\n\nconst { isPhone, isTablet } = useGlobalMixins();\n\nexport function getRoutes(options = {}) {\n const route = options.route || 'Home';\n const routes = [];\n \n // Auth routes\n routes.push({\n parentName: route,\n config: {\n basePath: 'auth',\n component: () => import(/* webpackChunkName: \"auth-layout\" */ './views/components/layouts/Auth.vue'),\n meta: {\n title: {\n en: 'Аутентификация',\n ru: 'Authentication',\n },\n },\n routes: [\n {\n path: 'signin',\n name: 'Sign In',\n beforeEnter: [\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),\n ],\n meta: {\n title: {\n en: 'Sign In',\n ru: 'Вход',\n },\n },\n component: () => import(/* webpackChunkName: \"signin\" */ './views/components/pages/SignIn.vue'),\n },\n {\n path: 'reset-password',\n name: 'Reset Password',\n beforeEnter: [\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),\n ],\n meta: {\n title: {\n en: 'Reset Password',\n ru: 'Сбросить Пароль',\n },\n },\n component: () => import(/* webpackChunkName: \"reset-password\" */ './views/components/pages/ResetPassword.vue'),\n },\n {\n path: 'signup',\n name: 'Sign Up',\n beforeEnter: [\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),\n ],\n meta: {\n title: {\n en: 'Sign Up',\n ru: 'Регистрация',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ './views/components/pages/SignUp.vue'),\n },\n {\n path: 'enter-code',\n name: 'Enter Code',\n beforeEnter: [\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.checkUser),\n ],\n meta: {\n title: {\n en: 'Enter Code',\n ru: 'Введите Код',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ './views/components/pages/EnterCode.vue'),\n },\n {\n path: 'enter-password',\n name: 'Enter Password',\n beforeEnter: [\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.checkUser),\n ],\n meta: {\n title: {\n en: 'Enter Password',\n ru: 'Введите Пароль',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ './views/components/pages/EnterPassword.vue'),\n },\n {\n path: 'invite',\n name: 'Invite',\n beforeEnter: [\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),\n () => import(/* webpackChunkName: \"auth-validation\" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),\n ],\n meta: {\n title: {\n en: 'Invite',\n ru: 'Приглашение',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ './views/components/pages/Invite.vue'),\n },\n ],\n }\n });\n \n // Users routes\n routes.push({\n parentName: route,\n config: {\n basePath: 'users',\n meta: {\n title: {\n en: 'Users',\n ru: 'Пользователи',\n },\n },\n routes: [\n {\n path: ':_id',\n name: 'User Profile Root',\n meta: {\n title: {\n en: 'Profile',\n ru: 'Профиль',\n },\n sidebar_hover: false,\n sidebar_navigation_items: navigationItems,\n sidebar_header_component: ProfileCard,\n sidebar_footer_component: HelpCard,\n sidebarOpenOnEnter: true,\n sidebarCloseOnLeave: true\n },\n children: [\n {\n path: '', // Пустой путь для основного профиля\n name: 'User Profile',\n meta: {\n title: {\n en: 'Profile',\n ru: 'Профиль',\n },\n title_hide: true,\n hideNavigationBar: route => route.params._id === auth.state.user._id,\n },\n component: () => import(/* webpackChunkName: \"profile\" */ './views/components/pages/Profile.vue'),\n children: [\n {\n path: 'edit',\n name: 'User Edit Profile',\n component: () => import(/* webpackChunkName: \"profile-edit\" */ './views/components/pages/ProfileEdit.vue'),\n children: [\n {\n path: 'profile',\n name: 'Profile Edit Profile',\n component: () => import(/* webpackChunkName: \"profile-edit-profile\" */ './views/components/pages/ProfileEditProfile.vue')\n },\n {\n path: 'account', \n name: 'Profile Edit Account',\n component: () => import(/* webpackChunkName: \"profile-edit-account\" */ './views/components/pages/ProfileEditAccount.vue')\n }\n ]\n }\n ]\n },\n {\n path: 'dashboard',\n name: 'User Dashboard',\n meta: {\n title: {\n en: 'Dashboard',\n ru: 'Дашборд',\n },\n },\n beforeEnter: [\n (to) => {\n if (to.params._id !== auth.state.user._id) {\n return { name: 'User Profile', params: { _id: to.params._id } };\n }\n }\n ],\n component: () => import(/* webpackChunkName: \"profile-dashboard\" */ './views/components/pages/UserDashboard.vue'),\n },\n {\n path: 'blogposts',\n name: 'User Posts',\n meta: {\n title: {\n en: 'Posts',\n ru: 'Посты',\n },\n },\n component: () => import(/* webpackChunkName: \"profile\" */ './views/components/pages/ProfileBlogposts.vue'),\n },\n {\n path: 'events',\n name: 'User Events',\n meta: {\n title: {\n en: 'Events',\n ru: 'События',\n },\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '@martyrs/src/modules/events/components/pages/EventsBackoffice.vue'),\n },\n {\n path: 'organizations',\n name: 'User Organizations',\n meta: {\n title: {\n en: 'Groups',\n ru: 'Группы',\n },\n actions: [\n {\n component: IconPlus,\n props: {\n fill: 'rgb(var(--main))',\n },\n condition: () => auth.state.user && auth.state.user._id,\n action: router => router.push({ name: 'Create Organization' }),\n },\n ],\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '@martyrs/src/modules/organizations/components/pages/Organizations.vue'),\n },\n {\n path: 'wallet',\n name: 'User Wallet',\n meta: {\n title: {\n en: 'Wallet',\n ru: 'Кошелек',\n },\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '@martyrs/src/modules/wallet/views/components/pages/Wallet.vue'),\n },\n ],\n },\n ],\n }\n });\n \n return routes;\n}"],"names":["ProfileCard","route","auth.state","IconPlus"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.vue.js","sources":["../../../../../../../../src/modules/core/views/components/sections/Filters.vue"],"sourcesContent":["<template>\n <div class=\"flex o-x-scroll scroll-hide t-nowrap gap-thin\">\n <!-- All Filters Button -->\n <button\n @click=\"showAllFilters = true\"\n class=\"pd-small radius-medium bg-light flex-v-center flex gap-micro cursor-pointer\"\n :class=\"{ 'bg-main': activeFiltersCount > 0 }\"\n >\n <IconFilter class=\"i-regular\" />\n <span class=\"h-1r\"></span>\n <span v-if=\"activeFiltersCount\">{{ activeFiltersCount }}</span>\n </button>\n\n <!-- Individual Filter Buttons -->\n <button\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n @click=\"openFilter(filter.value)\"\n class=\"pd-small radius-medium bg-light cursor-pointer flex-v-center flex gap-micro\"\n :class=\"{ 'selected bg-main': isFilterActive(filter) }\"\n >\n <IconCalendar v-if=\"filter.type === 'date'\" class=\"mn-r-micro i-regular\" />\n <span class=\"t-nowrap\">{{ filter.type === 'date' && getFilterValue(filter) ? formatFilterValue(filter) : filter.title }}</span>\n <span v-if=\"getFilterValue(filter) && filter.type !== 'date'\" class=\"mn-l-micro\">\n {{ formatFilterValue(filter) }}\n </span>\n </button>\n\n <!-- All Filters Popup -->\n <Popup\n :isPopupOpen=\"showAllFilters\"\n @close-popup=\"closeAllFilters\"\n :align=\"isPhone() ? 'bottom center' : 'center center'\"\n class=\"w-min-20r bg-white radius-medium mobile:radius-zero mobile:radius-tr-medium mobile:radius-tl-medium mobile:w-100 pd-medium\"\n >\n <FiltersGroup\n :filters=\"filters\"\n v-model:selected=\"tempSelected\"\n :immediate=\"false\"\n :showHeader=\"true\"\n :showApplyButton=\"true\"\n :showResetButton=\"true\"\n @update:selected=\"applyAllFilters\"\n />\n </Popup>\n\n <!-- Individual Filter Popups -->\n <Popup\n v-for=\"filter in filters\"\n :key=\"`popup-${filter.value}`\"\n :isPopupOpen=\"individualPopups[filter.value]\"\n @close-popup=\"cancelFilter(filter.value)\"\n :align=\"isPhone() ? 'bottom center' : 'center center'\"\n class=\"bg-white radius-medium mobile:radius-zero mobile:radius-tr-medium mobile:radius-tl-medium mobile:w-100 pd-medium\"\n >\n <h4 class=\"mn-b-medium\">{{ filter.title }}</h4>\n\n <!-- Checkbox Filter -->\n <FilterCheckbox\n v-if=\"filter.type === 'checkbox'\"\n v-model=\"tempSelected[filter.value]\"\n :options=\"filter.options\"\n />\n\n <!-- Range Filter -->\n <FilterRange\n v-else-if=\"filter.type === 'range'\"\n v-model=\"tempSelected[filter.value]\"\n :minPlaceholder=\"filter.minPlaceholder || 'Min'\"\n :maxPlaceholder=\"filter.maxPlaceholder || 'Max'\"\n :label=\"filter.label\"\n />\n\n <!-- Date Filter -->\n <div v-else-if=\"filter.type === 'date'\">\n <div class=\"mn-t-small\">\n <Calendar\n v-model:date=\"tempSelected[filter.value]\"\n :allowRange=\"true\"\n :disablePastDates=\"true\"\n class=\"bg-light radius-small\"\n />\n </div>\n </div>\n\n <!-- Radio/Options Filter -->\n <FilterOptions\n v-else-if=\"filter.type === 'radio'\"\n v-model=\"tempSelected[filter.value]\"\n :options=\"filter.options\"\n />\n\n <div class=\"flex gap-thin mn-t-medium\">\n <button\n @click=\"cancelFilter(filter.value)\"\n class=\"bg-light button flex-child-full\"\n >\n Cancel\n </button>\n <button\n @click=\"applyFilter(filter.value)\"\n class=\"bg-main w-100 button flex-child-full\"\n >\n Apply\n </button>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, reactive, watch } from 'vue'\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Calendar from '@martyrs/src/components/Calendar/Calendar.vue'\nimport FiltersGroup from './filters/FiltersGroup.vue'\nimport FilterCheckbox from './filters/FilterCheckbox.vue'\nimport FilterRange from './filters/FilterRange.vue'\nimport FilterDateRange from './filters/FilterDateRange.vue'\nimport FilterOptions from './filters/FilterOptions.vue'\nimport IconFilter from '@martyrs/src/modules/icons/navigation/IconFilter.vue'\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue'\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue'\n\nconst filters = defineModel('filters', {\n type: Array,\n required: true\n})\n\nconst selected = defineModel('selected', {\n type: Object,\n default: () => ({})\n})\n\nconst emit = defineEmits(['select'])\n\nconst { formatDate, returnCurrency } = useGlobalMixins()\n\n// State\nconst showAllFilters = ref(false)\nconst individualPopups = reactive({})\nconst tempSelected = reactive({})\nconst tempDateRange = ref(null)\n\n// Initialize popups and temp values\nwatch(filters, (newFilters) => {\n newFilters.forEach(filter => {\n individualPopups[filter.value] = false\n \n if (!tempSelected[filter.value]) {\n if (filter.type === 'checkbox') {\n tempSelected[filter.value] = [...(selected.value[filter.value] || [])]\n } else if (filter.type === 'range') {\n tempSelected[filter.value] = { ...(selected.value[filter.value] || { min: '', max: '' }) }\n } else if (filter.type === 'date') {\n tempSelected[filter.value] = selected.value[filter.value] || null\n } else {\n tempSelected[filter.value] = selected.value[filter.value] || null\n }\n }\n })\n}, { immediate: true, deep: true })\n\n// Sync selected to tempSelected\nwatch(selected, (newSelected) => {\n Object.keys(newSelected).forEach(key => {\n const filter = filters.value.find(f => f.value === key)\n if (filter) {\n if (filter.type === 'checkbox') {\n tempSelected[key] = [...(newSelected[key] || [])]\n } else if (filter.type === 'range') {\n tempSelected[key] = { ...(newSelected[key] || { min: '', max: '' }) }\n } else {\n tempSelected[key] = newSelected[key]\n }\n }\n })\n}, { deep: true })\n\n// Computed\nconst activeFiltersCount = computed(() => {\n return Object.entries(selected.value).filter(([key, value]) => {\n if (Array.isArray(value)) return value.length > 0\n if (typeof value === 'object' && value !== null) {\n return value.min || value.max\n }\n return value !== null && value !== undefined\n }).length\n})\n\n// Methods\nconst openFilter = (filterValue) => {\n individualPopups[filterValue] = true\n}\n\nconst isFilterActive = (filter) => {\n const value = selected.value[filter.value]\n if (!value) return false\n if (Array.isArray(value)) return value.length > 0\n if (filter.type === 'range') return value.min || value.max\n return true\n}\n\nconst getFilterValue = (filter) => {\n const value = selected.value[filter.value]\n if (!value) return false\n \n if (filter.type === 'range') {\n return value.min || value.max\n }\n \n if (filter.type === 'date') {\n return value && value.start && value.end\n }\n \n if (Array.isArray(value)) {\n return value.length > 0\n }\n \n return value\n}\n\nconst formatFilterValue = (filter) => {\n const value = selected.value[filter.value]\n if (!value) return ''\n \n if (Array.isArray(value)) {\n return `(${value.length})`\n }\n \n if (filter.type === 'range') {\n if (!value.min && !value.max) return ''\n return `${value.min || '0'}-${value.max || '∞'}`\n }\n \n if (filter.type === 'date') {\n if (!value || !value.start || !value.end) return ''\n return `${formatDate(value.start, { dayMonth: true, language: 'en' })} - ${formatDate(value.end, { dayMonth: true, language: 'en' })}`\n }\n \n if (filter.type === 'radio') {\n const option = filter.options.find(o => o.value === value)\n return option ? `(${option.label})` : ''\n }\n \n return ''\n}\n\nconst applyFilter = (filterValue) => {\n selected.value[filterValue] = tempSelected[filterValue]\n individualPopups[filterValue] = false\n emit('select', { filter: filterValue, value: tempSelected[filterValue] })\n}\n\nconst cancelFilter = (filterValue) => {\n const filter = filters.value.find(f => f.value === filterValue)\n if (filter) {\n if (filter.type === 'checkbox') {\n tempSelected[filterValue] = [...(selected.value[filterValue] || [])]\n } else if (filter.type === 'range') {\n tempSelected[filterValue] = { ...(selected.value[filterValue] || { min: '', max: '' }) }\n } else if (filter.type === 'date') {\n tempSelected[filterValue] = selected.value[filterValue] || null\n } else {\n tempSelected[filterValue] = selected.value[filterValue] || null\n }\n }\n individualPopups[filterValue] = false\n}\n\nconst applyAllFilters = (newValues) => {\n Object.entries(newValues).forEach(([key, value]) => {\n if (selected.value[key] !== value) {\n selected.value[key] = value\n emit('select', { filter: key, value })\n }\n })\n showAllFilters.value = false\n}\n\nconst closeAllFilters = () => {\n showAllFilters.value = false\n}\n</script>\n\n<style scoped>\n.filters-content {\n max-height: 60vh;\n overflow-y: auto;\n}\n</style>"],"names":["_useModel"],"mappings":"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"}
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
// auth.meta.js
|
|
2
|
-
import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
|
|
3
|
-
import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';
|
|
4
|
-
import { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';
|
|
5
|
-
import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue';
|
|
6
|
-
import { navigationItems } from '@martyrs/src/modules/auth/views/configs/navigation.user.config.js';
|
|
7
|
-
import ProfileCard from '@martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue';
|
|
8
|
-
import HelpCard from '@martyrs/src/modules/core/views/components/blocks/HelpCard.vue';
|
|
9
|
-
|
|
10
|
-
const { isPhone, isTablet } = useGlobalMixins();
|
|
11
|
-
|
|
12
|
-
export function getRoutes(options = {}) {
|
|
13
|
-
const route = options.route || 'Home';
|
|
14
|
-
const routes = [];
|
|
15
|
-
|
|
16
|
-
// Auth routes
|
|
17
|
-
routes.push({
|
|
18
|
-
parentName: route,
|
|
19
|
-
config: {
|
|
20
|
-
basePath: 'auth',
|
|
21
|
-
component: () => import(/* webpackChunkName: "auth-layout" */ './views/components/layouts/Auth.vue'),
|
|
22
|
-
meta: {
|
|
23
|
-
title: {
|
|
24
|
-
en: 'Аутентификация',
|
|
25
|
-
ru: 'Authentication',
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
routes: [
|
|
29
|
-
{
|
|
30
|
-
path: 'signin',
|
|
31
|
-
name: 'Sign In',
|
|
32
|
-
beforeEnter: [
|
|
33
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),
|
|
34
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),
|
|
35
|
-
],
|
|
36
|
-
meta: {
|
|
37
|
-
title: {
|
|
38
|
-
en: 'Sign In',
|
|
39
|
-
ru: 'Вход',
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
component: () => import(/* webpackChunkName: "signin" */ './views/components/pages/SignIn.vue'),
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
path: 'reset-password',
|
|
46
|
-
name: 'Reset Password',
|
|
47
|
-
beforeEnter: [
|
|
48
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),
|
|
49
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),
|
|
50
|
-
],
|
|
51
|
-
meta: {
|
|
52
|
-
title: {
|
|
53
|
-
en: 'Reset Password',
|
|
54
|
-
ru: 'Сбросить Пароль',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
component: () => import(/* webpackChunkName: "reset-password" */ './views/components/pages/ResetPassword.vue'),
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
path: 'signup',
|
|
61
|
-
name: 'Sign Up',
|
|
62
|
-
beforeEnter: [
|
|
63
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),
|
|
64
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),
|
|
65
|
-
],
|
|
66
|
-
meta: {
|
|
67
|
-
title: {
|
|
68
|
-
en: 'Sign Up',
|
|
69
|
-
ru: 'Регистрация',
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
component: () => import(/* webpackChunkName: "signup" */ './views/components/pages/SignUp.vue'),
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
path: 'enter-code',
|
|
76
|
-
name: 'Enter Code',
|
|
77
|
-
beforeEnter: [
|
|
78
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),
|
|
79
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.checkUser),
|
|
80
|
-
],
|
|
81
|
-
meta: {
|
|
82
|
-
title: {
|
|
83
|
-
en: 'Enter Code',
|
|
84
|
-
ru: 'Введите Код',
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
component: () => import(/* webpackChunkName: "signup" */ './views/components/pages/EnterCode.vue'),
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
path: 'enter-password',
|
|
91
|
-
name: 'Enter Password',
|
|
92
|
-
beforeEnter: [
|
|
93
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),
|
|
94
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.checkUser),
|
|
95
|
-
],
|
|
96
|
-
meta: {
|
|
97
|
-
title: {
|
|
98
|
-
en: 'Enter Password',
|
|
99
|
-
ru: 'Введите Пароль',
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
component: () => import(/* webpackChunkName: "signup" */ './views/components/pages/EnterPassword.vue'),
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
path: 'invite',
|
|
106
|
-
name: 'Invite',
|
|
107
|
-
beforeEnter: [
|
|
108
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.requiresNoAuth),
|
|
109
|
-
() => import(/* webpackChunkName: "auth-validation" */ './views/middlewares/auth.validation.js').then(m => m.resetUser),
|
|
110
|
-
],
|
|
111
|
-
meta: {
|
|
112
|
-
title: {
|
|
113
|
-
en: 'Invite',
|
|
114
|
-
ru: 'Приглашение',
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
component: () => import(/* webpackChunkName: "signup" */ './views/components/pages/Invite.vue'),
|
|
118
|
-
},
|
|
119
|
-
],
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
// Users routes
|
|
124
|
-
routes.push({
|
|
125
|
-
parentName: route,
|
|
126
|
-
config: {
|
|
127
|
-
basePath: 'users',
|
|
128
|
-
meta: {
|
|
129
|
-
title: {
|
|
130
|
-
en: 'Users',
|
|
131
|
-
ru: 'Пользователи',
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
routes: [
|
|
135
|
-
{
|
|
136
|
-
path: ':_id',
|
|
137
|
-
name: 'User Profile Root',
|
|
138
|
-
meta: {
|
|
139
|
-
title: {
|
|
140
|
-
en: 'Profile',
|
|
141
|
-
ru: 'Профиль',
|
|
142
|
-
},
|
|
143
|
-
sidebar_hover: false,
|
|
144
|
-
sidebar_navigation_items: navigationItems,
|
|
145
|
-
sidebar_header_component: ProfileCard,
|
|
146
|
-
sidebar_footer_component: HelpCard,
|
|
147
|
-
sidebarOpenOnEnter: true,
|
|
148
|
-
sidebarCloseOnLeave: true
|
|
149
|
-
},
|
|
150
|
-
children: [
|
|
151
|
-
{
|
|
152
|
-
path: '', // Пустой путь для основного профиля
|
|
153
|
-
name: 'User Profile',
|
|
154
|
-
meta: {
|
|
155
|
-
title: {
|
|
156
|
-
en: 'Profile',
|
|
157
|
-
ru: 'Профиль',
|
|
158
|
-
},
|
|
159
|
-
title_hide: true,
|
|
160
|
-
hideNavigationBar: route => route.params._id === auth.state.user._id,
|
|
161
|
-
},
|
|
162
|
-
component: () => import(/* webpackChunkName: "profile" */ './views/components/pages/Profile.vue'),
|
|
163
|
-
children: [
|
|
164
|
-
{
|
|
165
|
-
path: 'edit',
|
|
166
|
-
name: 'User Edit Profile',
|
|
167
|
-
component: () => import(/* webpackChunkName: "profile-edit" */ './views/components/pages/ProfileEdit.vue'),
|
|
168
|
-
children: [
|
|
169
|
-
{
|
|
170
|
-
path: 'profile',
|
|
171
|
-
name: 'Profile Edit Profile',
|
|
172
|
-
component: () => import(/* webpackChunkName: "profile-edit-profile" */ './views/components/pages/ProfileEditProfile.vue')
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
path: 'account',
|
|
176
|
-
name: 'Profile Edit Account',
|
|
177
|
-
component: () => import(/* webpackChunkName: "profile-edit-account" */ './views/components/pages/ProfileEditAccount.vue')
|
|
178
|
-
}
|
|
179
|
-
]
|
|
180
|
-
}
|
|
181
|
-
]
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
path: 'dashboard',
|
|
185
|
-
name: 'User Dashboard',
|
|
186
|
-
meta: {
|
|
187
|
-
title: {
|
|
188
|
-
en: 'Dashboard',
|
|
189
|
-
ru: 'Дашборд',
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
beforeEnter: [
|
|
193
|
-
(to) => {
|
|
194
|
-
if (to.params._id !== auth.state.user._id) {
|
|
195
|
-
return { name: 'User Profile', params: { _id: to.params._id } };
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
],
|
|
199
|
-
component: () => import(/* webpackChunkName: "profile-dashboard" */ './views/components/pages/UserDashboard.vue'),
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
path: 'blogposts',
|
|
203
|
-
name: 'User Posts',
|
|
204
|
-
meta: {
|
|
205
|
-
title: {
|
|
206
|
-
en: 'Posts',
|
|
207
|
-
ru: 'Посты',
|
|
208
|
-
},
|
|
209
|
-
},
|
|
210
|
-
component: () => import(/* webpackChunkName: "profile" */ './views/components/pages/ProfileBlogposts.vue'),
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
path: 'events',
|
|
214
|
-
name: 'User Events',
|
|
215
|
-
meta: {
|
|
216
|
-
title: {
|
|
217
|
-
en: 'Events',
|
|
218
|
-
ru: 'События',
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
component: () => import(/* webpackChunkName: "profile" */ '@martyrs/src/modules/events/components/pages/EventsBackoffice.vue'),
|
|
222
|
-
},
|
|
223
|
-
{
|
|
224
|
-
path: 'organizations',
|
|
225
|
-
name: 'User Organizations',
|
|
226
|
-
meta: {
|
|
227
|
-
title: {
|
|
228
|
-
en: 'Groups',
|
|
229
|
-
ru: 'Группы',
|
|
230
|
-
},
|
|
231
|
-
actions: [
|
|
232
|
-
{
|
|
233
|
-
component: IconPlus,
|
|
234
|
-
props: {
|
|
235
|
-
fill: 'rgb(var(--main))',
|
|
236
|
-
},
|
|
237
|
-
condition: () => auth.state.user && auth.state.user._id,
|
|
238
|
-
action: router => router.push({ name: 'Create Organization' }),
|
|
239
|
-
},
|
|
240
|
-
],
|
|
241
|
-
},
|
|
242
|
-
component: () => import(/* webpackChunkName: "profile" */ '@martyrs/src/modules/organizations/components/pages/Organizations.vue'),
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
path: 'wallet',
|
|
246
|
-
name: 'User Wallet',
|
|
247
|
-
meta: {
|
|
248
|
-
title: {
|
|
249
|
-
en: 'Wallet',
|
|
250
|
-
ru: 'Кошелек',
|
|
251
|
-
},
|
|
252
|
-
},
|
|
253
|
-
component: () => import(/* webpackChunkName: "profile" */ '@martyrs/src/modules/wallet/views/components/pages/Wallet.vue'),
|
|
254
|
-
},
|
|
255
|
-
],
|
|
256
|
-
},
|
|
257
|
-
],
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
return routes;
|
|
262
|
-
}
|