@ozdao/prometheus-framework 0.1.27 → 0.1.29
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Chips-493042f7.js +1 -0
- package/dist/Chips-9cf6c0da.mjs +286 -0
- package/dist/Feed-27f62b1c.mjs +368 -0
- package/dist/Feed-7c8c901a.mjs +380 -0
- package/dist/Feed-aee74095.js +1 -0
- package/dist/Feed-bfd7d1d9.js +1 -0
- package/dist/Image-1f7252c0.mjs +477 -0
- package/dist/Image-448f9228.js +9 -0
- package/dist/Product-3c9c8197.js +7 -0
- package/dist/Product-748ec8b7.mjs +842 -0
- package/dist/Product-852f952c.js +7 -0
- package/dist/Product-bbdc8460.mjs +841 -0
- package/dist/ProductEdit-17f4e395.mjs +304 -0
- package/dist/ProductEdit-4af06681.js +1 -0
- package/dist/ProductEdit-4f9b6d56.js +1 -0
- package/dist/ProductEdit-a1050ab6.mjs +303 -0
- package/dist/ProfileBlogposts-03d04b92.mjs +66 -0
- package/dist/ProfileBlogposts-f9312adf.js +1 -0
- package/dist/ProfileComments-6d863cd3.mjs +45 -0
- package/dist/ProfileComments-e6970923.js +1 -0
- package/dist/ProfileEvents-917169c6.mjs +58 -0
- package/dist/ProfileEvents-996bce18.js +1 -0
- package/dist/ProfileLikes-0402d1fb.js +1 -0
- package/dist/ProfileLikes-92196922.mjs +45 -0
- package/dist/auth.client.cjs +8 -8
- package/dist/auth.client.js +581 -602
- package/dist/auth.validation-2cdd2231.mjs +17 -0
- package/dist/auth.validation-30bb0efd.js +1 -0
- package/dist/community.client.cjs +1 -1
- package/dist/community.client.js +65 -65
- package/dist/components/CardFooter/CardFooter.vue.d.ts +1 -1
- package/dist/components/CardHeader/CardHeader.vue.d.ts +1 -1
- package/dist/events.client.cjs +2 -2
- package/dist/events.client.js +6 -6
- package/dist/legal.client.cjs +1 -1
- package/dist/legal.client.js +2596 -2567
- package/dist/modules/community/components/blocks/FooterBlogpost.vue.d.ts +1 -1
- package/dist/modules/community/components/sections/Feed.vue.d.ts +1 -1
- package/dist/modules/events/components/blocks/CardEvent.vue.d.ts +3 -3
- package/dist/modules/events/components/sections/Feed.vue.d.ts +1 -1
- package/dist/modules/events/components/sections/List.vue.d.ts +1 -1
- package/dist/modules/organizations/components/sections/Feed.vue.d.ts +1 -1
- package/dist/modules/organizations/components/sections/Organizations.vue.d.ts +1 -1
- package/dist/organizations.client-13fc2cbe.js +3 -0
- package/dist/organizations.client-39196bef.mjs +3041 -0
- package/dist/organizations.client-85a2ae66.js +3 -0
- package/dist/organizations.client-91e84d4f.mjs +3022 -0
- package/dist/organizations.client.cjs +1 -1
- package/dist/organizations.client.js +43 -42
- package/dist/states.validation-766a62a6.mjs +13 -0
- package/dist/states.validation-92231934.js +1 -0
- package/dist/style.css +1 -1
- package/dist/users.client.cjs +1 -1
- package/dist/users.client.js +199 -194
- package/package.json +1 -1
- package/src/components/CardFooter/CardFooter.vue +27 -30
- package/src/components/CardHeader/CardHeader.vue +56 -3
- package/src/modules/auth/components/pages/SignIn.vue +2 -2
- package/src/modules/community/components/layouts/Community.vue +5 -5
- package/src/modules/events/components/blocks/CardEvent.vue +3 -2
- package/src/modules/events/components/pages/EditEvent.vue +1 -1
- package/src/modules/events/router/events.js +1 -0
- package/src/modules/legal/components/pages/Legal.vue +33 -17
- package/src/modules/legal/router/legal.js +51 -21
- package/src/modules/organizations/router/organizations.js +19 -0
- package/src/modules/users/components/pages/Profile.vue +2 -2
- package/src/modules/users/router/users.js +36 -31
package/package.json
CHANGED
@@ -17,41 +17,34 @@
|
|
17
17
|
|
18
18
|
<script setup="props">
|
19
19
|
import { computed, ref } from 'vue'
|
20
|
-
import axios from 'axios';
|
21
20
|
|
22
|
-
|
21
|
+
import * as reactions from '@pf/src/modules/community/store/reactions';
|
23
22
|
|
24
|
-
const
|
25
|
-
|
26
|
-
|
23
|
+
const props = defineProps(['entity', 'entityType', 'user']);
|
24
|
+
|
25
|
+
const reactionsCount = ref(props.entity.numberOfReactions);
|
26
|
+
const isReacted = ref(props.entity.isReacted);
|
27
|
+
const reactionId = ref(props.entity.reactionId);
|
27
28
|
|
28
|
-
|
29
|
-
|
30
|
-
// const reactionsCount = ref(props.entity.reactionsCount);
|
31
|
-
// const isReacted = ref(props.entity.isReacted);
|
32
|
-
// const reactionId = ref(props.entity.reactionId);
|
33
|
-
|
34
|
-
const reactionsCount = ref(0);
|
35
|
-
const isReacted = ref(0);
|
36
|
-
const reactionId = ref(0);
|
37
|
-
const views = ref(0);
|
38
|
-
const commentsCount = ref(0)
|
39
|
-
|
40
|
-
async function addReaction(type) {
|
41
|
-
if (!props.owner) {
|
29
|
+
async function addReaction(type) {
|
30
|
+
if (!props.user) {
|
42
31
|
alert('Please login to add a reaction');
|
43
32
|
return;
|
44
33
|
}
|
34
|
+
|
45
35
|
try {
|
46
|
-
const
|
47
|
-
|
48
|
-
type:
|
49
|
-
|
50
|
-
|
51
|
-
|
36
|
+
const reaction = {
|
37
|
+
target: props.entity._id,
|
38
|
+
type: props.entityType,
|
39
|
+
user: props.user,
|
40
|
+
class: 'like'
|
41
|
+
};
|
42
|
+
const res = await reactions.actions.create(reaction);
|
43
|
+
|
44
|
+
if (res.reaction.class === 'like') {
|
52
45
|
reactionsCount.value += 1;
|
53
46
|
isReacted.value = true;
|
54
|
-
reactionId.value = res.
|
47
|
+
reactionId.value = res.reaction._id;
|
55
48
|
}
|
56
49
|
} catch (err) {
|
57
50
|
console.error(err);
|
@@ -60,17 +53,21 @@
|
|
60
53
|
}
|
61
54
|
|
62
55
|
async function deleteReaction(type) {
|
63
|
-
if (!props.
|
64
|
-
alert('Please login to
|
56
|
+
if (!props.user) {
|
57
|
+
alert('Please login to add a reaction');
|
65
58
|
return;
|
66
59
|
}
|
60
|
+
|
67
61
|
try {
|
68
|
-
const
|
62
|
+
const reaction = { _id: reactionId.value };
|
63
|
+
|
64
|
+
await reactions.actions.delete(reaction);
|
65
|
+
|
69
66
|
reactionsCount.value -= 1;
|
70
67
|
isReacted.value = false;
|
71
68
|
reactionId.value = null;
|
72
69
|
} catch (err) {
|
73
|
-
alert('Error
|
70
|
+
alert('Error adding reaction. Please try again later.');
|
74
71
|
}
|
75
72
|
}
|
76
73
|
</script>
|
@@ -69,6 +69,8 @@
|
|
69
69
|
· {{dateFormatted}}
|
70
70
|
</span>
|
71
71
|
</span>
|
72
|
+
|
73
|
+
|
72
74
|
<!-- Participaters avatar -->
|
73
75
|
|
74
76
|
<div class="d-block mn-l-auto flex-nowrap flex flex-v-center">
|
@@ -77,7 +79,7 @@
|
|
77
79
|
<!-- Круг с числом участников -->
|
78
80
|
<span
|
79
81
|
:style="{ position: 'absolute', top: '0px', right: '0px' }"
|
80
|
-
class="br-solid br-2px br-white z-index-1 radius-big i-thin bg-second flex flex-center t-white p-small
|
82
|
+
class="br-solid br-2px br-white z-index-1 radius-big i-thin bg-second flex flex-center t-white p-small t-semi"
|
81
83
|
>
|
82
84
|
{{members}}
|
83
85
|
</span>
|
@@ -87,7 +89,7 @@
|
|
87
89
|
v-for="(photo, index) in membersPhotos.slice(0,2)"
|
88
90
|
:key="index"
|
89
91
|
:src="(FILE_SERVER_URL || '') + photo"
|
90
|
-
:style="{ position: 'absolute', top: '0px', right: (index * 20 +
|
92
|
+
:style="{ position: 'absolute', top: '0px', right: (index * 20 + 20) + '%', zIndex: 1 - index }"
|
91
93
|
class="br-solid br-2px br-white i-thin bg-grey radius-big"
|
92
94
|
/>
|
93
95
|
</div>
|
@@ -96,6 +98,38 @@
|
|
96
98
|
|
97
99
|
</div>
|
98
100
|
|
101
|
+
<div
|
102
|
+
@click.stop="openReportPopup()"
|
103
|
+
v-if="type !== 'short'"
|
104
|
+
class="t-transp t-white flex-center flex t-semi mn-l-thin i-medium radius-extra bg-black"
|
105
|
+
>
|
106
|
+
!
|
107
|
+
</div>
|
108
|
+
|
109
|
+
<Popup
|
110
|
+
@close-popup="closeReportPopup"
|
111
|
+
:isPopupOpen="isReportPopup"
|
112
|
+
>
|
113
|
+
<div class="w-m-66r t-left pd-big bg-white radius-big">
|
114
|
+
<h3 class="mn-small">Report Inappropriate Content</h3>
|
115
|
+
|
116
|
+
<p class="p-medium mn-small">We strive to maintain a safe and comfortable environment for all users. If you encounter content that you believe violates our guidelines, please report it. Here’s what you can report:</p>
|
117
|
+
<ul class="p-medium mn-small">
|
118
|
+
<li>1. Abusive or harmful content</li>
|
119
|
+
<li>2. Spam or misleading information</li>
|
120
|
+
<li>3. Inappropriate or offensive material</li>
|
121
|
+
<li>4. Unauthorized sharing of personal information</li>
|
122
|
+
</ul>
|
123
|
+
<p class="p-medium mn-small">Our team of moderators will review your report and take appropriate action, which may include removing the content if it is found to be in violation of our policies.</p>
|
124
|
+
|
125
|
+
<Button
|
126
|
+
:submit="onSubmit"
|
127
|
+
:callback="closeReportPopup"
|
128
|
+
class="w-100 bg-black t-white">
|
129
|
+
Report
|
130
|
+
</Button>
|
131
|
+
</div>
|
132
|
+
</Popup>
|
99
133
|
|
100
134
|
</div>
|
101
135
|
</div>
|
@@ -104,12 +138,15 @@
|
|
104
138
|
|
105
139
|
|
106
140
|
<script setup="props">
|
107
|
-
import { computed } from 'vue'
|
141
|
+
import { computed,ref } from 'vue'
|
108
142
|
|
109
143
|
import { useRouter } from 'vue-router'
|
110
144
|
|
111
145
|
import PlaceholderUserpic from '@pf/src/modules/icons/placeholders/PlaceholderUserpic.vue'
|
112
146
|
|
147
|
+
import Popup from '@pf/src/components/Popup/Popup.vue';
|
148
|
+
import Button from '@pf/src/components/Button/Button.vue';
|
149
|
+
|
113
150
|
const props = defineProps([
|
114
151
|
'date',
|
115
152
|
'dateFormatted',
|
@@ -122,6 +159,22 @@
|
|
122
159
|
|
123
160
|
const router = useRouter()
|
124
161
|
|
162
|
+
// Popup logic
|
163
|
+
const isReportPopup = ref(false)
|
164
|
+
|
165
|
+
function openReportPopup() {
|
166
|
+
isReportPopup.value = true;
|
167
|
+
}
|
168
|
+
function closeReportPopup() {
|
169
|
+
isReportPopup.value = false;
|
170
|
+
}
|
171
|
+
// Popup Logic
|
172
|
+
async function onSubmit() {
|
173
|
+
setTimeout(function() {
|
174
|
+
|
175
|
+
}, 1);
|
176
|
+
}
|
177
|
+
|
125
178
|
function getTimeElapsed(timestamp) {
|
126
179
|
const now = new Date();
|
127
180
|
const createdAt = new Date(timestamp);
|
@@ -121,13 +121,13 @@
|
|
121
121
|
{{ t('signin') }}
|
122
122
|
</Button>
|
123
123
|
|
124
|
-
<Button
|
124
|
+
<!-- <Button
|
125
125
|
:submit="onSubmitApple"
|
126
126
|
:callback="redirectTo"
|
127
127
|
class="mn-thin bg-black t-white"
|
128
128
|
>
|
129
129
|
{{ t('signin_apple') }}
|
130
|
-
</Button>
|
130
|
+
</Button> -->
|
131
131
|
</section>
|
132
132
|
</template>
|
133
133
|
|
@@ -23,24 +23,24 @@
|
|
23
23
|
</h2>
|
24
24
|
</header>
|
25
25
|
|
26
|
-
<ul class="w-
|
26
|
+
<ul class="w-100 bg-grey pd-small radius-big mn-semi flex-nowrap flex">
|
27
27
|
<li
|
28
28
|
:class="{'t-white bg-black': route.params.category === 'featured' }"
|
29
29
|
@click="router.push({name: 'Blog'})"
|
30
|
-
class="mn-r-small t-medium pd-
|
30
|
+
class="mn-r-small t-medium pd-thin radius-small">👑 Featured</li>
|
31
31
|
<li
|
32
32
|
:class="{'t-white bg-black': route.params.category === 'popular' }"
|
33
33
|
@click="router.push({name: 'Blog', params: { category: 'popular' } })"
|
34
|
-
class="mn-r-small t-medium pd-
|
34
|
+
class="mn-r-small t-medium pd-thin radius-small">🔥 Popular</li>
|
35
35
|
<li
|
36
36
|
:class="{'t-white bg-black': route.params.category === 'new'}"
|
37
37
|
@click="router.push({name: 'Blog', params: { category: 'new' } })"
|
38
|
-
class="mn-r-small t-medium pd-
|
38
|
+
class="mn-r-small t-medium pd-thin radius-small">🆕 New</li>
|
39
39
|
<li
|
40
40
|
v-if="auth.state.user._id"
|
41
41
|
:class="{'t-white bg-black': route.params.category === 'following'}"
|
42
42
|
@click="router.push({name: 'Blog', params: { category: 'following' } })"
|
43
|
-
class="t-medium pd-
|
43
|
+
class="t-medium pd-thin radius-small">👥 Following</li>
|
44
44
|
</ul>
|
45
45
|
|
46
46
|
<section class="">
|
@@ -33,7 +33,7 @@
|
|
33
33
|
/>
|
34
34
|
</section>
|
35
35
|
|
36
|
-
<section v-if="event" class="pd-thin pos-
|
36
|
+
<section v-if="event" class="pd-thin pos-sticky pos-l-0 pos-b-0 w-100 ">
|
37
37
|
<div class="pd-thin radius-big bg-main w-100 flex-nowrap flex">
|
38
38
|
<a v-if="route.params.url" @click="onDelete()" class="mn-r-auto bg-red t-white t-black button">Delete</a>
|
39
39
|
<a @click="onDrafts()" class="mn-l-auto bg-white t-black button">To Drafts</a>
|
@@ -2,35 +2,51 @@
|
|
2
2
|
<div
|
3
3
|
class="for-transition w-100 pd-medium"
|
4
4
|
>
|
5
|
-
|
6
|
-
|
7
|
-
<
|
8
|
-
|
9
|
-
|
10
|
-
<
|
11
|
-
|
12
|
-
|
13
|
-
<
|
14
|
-
|
15
|
-
|
16
|
-
</
|
5
|
+
<div class="bg-grey radius-medium pd-medium mn-small">
|
6
|
+
<h2 class="mn-small">About No More Snow CO., LTD.</h2>
|
7
|
+
<p class="mn-small">
|
8
|
+
Welcome to NO MORE SNOW CO., LTD.! We are dedicated to providing top-notch services and creating a trustworthy environment for our users. Your trust and safety are our priority, and we are committed to being transparent about our policies and practices.
|
9
|
+
</p>
|
10
|
+
<p class="mn-small">
|
11
|
+
If you have any questions, concerns, or feedback, please do not hesitate to contact us through the following details. Our team is always here to assist you!
|
12
|
+
</p>
|
13
|
+
<p class="mn-small">
|
14
|
+
Address: 10/3 Laemsai Rd, Karon, Mueang Phuket District, Phuket 83100<br>
|
15
|
+
Telephone: +660803202142<br>
|
16
|
+
Email: <a href="mailto:hello@thecommunephuket.com">hello@thecommunephuket.com</a><br>
|
17
|
+
Website: <a href="https://thecommunephuket.com" target="_blank">https://thecommunephuket.com</a>
|
18
|
+
</p>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<Menu class="bg-grey">
|
22
|
+
<MenuItem @click="router.push({name: 'Terms of Use'})" class="cursor-pointer">
|
23
|
+
<span>Terms of Use</span>
|
24
|
+
</MenuItem>
|
25
|
+
<MenuItem @click="router.push({name: 'Privacy Policy'})" class="cursor-pointer">
|
26
|
+
<span>Privacy Policy</span>
|
27
|
+
</MenuItem>
|
28
|
+
<MenuItem @click="router.push({name: 'Cookie Policy'})" class="cursor-pointer">
|
29
|
+
<span>Cookie Policy</span>
|
30
|
+
</MenuItem>
|
31
|
+
</Menu>
|
32
|
+
</div>
|
17
33
|
</template>
|
18
34
|
|
19
35
|
<script setup>
|
20
|
-
// Import components
|
36
|
+
// Import components
|
21
37
|
import Field from '@pf/src/components/Field/Field.vue'
|
22
38
|
import Button from '@pf/src/components/Button/Button.vue'
|
23
|
-
// Mobile Module
|
39
|
+
// Mobile Module
|
24
40
|
import Menu from '@pf/src/modules/mobile/components/Menu/Menu.vue'
|
25
41
|
import MenuItem from '@pf/src/modules/mobile/components/Menu/MenuItem.vue'
|
26
|
-
// Import libs
|
42
|
+
// Import libs
|
27
43
|
import { computed, watch, onMounted, ref, onBeforeMount } from 'vue'
|
28
44
|
import { useRoute, useRouter } from 'vue-router'
|
29
45
|
import * as auth from '@pf/src/modules/auth/store/auth'
|
30
|
-
// Accessing router
|
46
|
+
// Accessing router
|
31
47
|
const route = useRoute()
|
32
48
|
const router = useRouter()
|
33
|
-
// Get organization _id from cookie
|
49
|
+
// Get organization _id from cookie
|
34
50
|
const show = ref(false)
|
35
51
|
|
36
52
|
|
@@ -1,22 +1,52 @@
|
|
1
|
-
const legal = [
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
{
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
1
|
+
const legal = [
|
2
|
+
{
|
3
|
+
path: 'legal',
|
4
|
+
name: 'Legal',
|
5
|
+
meta: {
|
6
|
+
title: {
|
7
|
+
en: 'Legal',
|
8
|
+
ru: 'Юридическая информация'
|
9
|
+
},
|
10
|
+
authorize: []
|
11
|
+
},
|
12
|
+
component: () => import(/* webpackChunkName: 'Legal' */ '../components/pages/Legal.vue'),
|
13
|
+
},
|
14
|
+
{
|
15
|
+
path: 'legal/privacy-policy',
|
16
|
+
name: 'Privacy Policy',
|
17
|
+
meta: {
|
18
|
+
title: {
|
19
|
+
en: 'Privacy Policy',
|
20
|
+
ru: 'Политика конфиденциальности'
|
21
|
+
},
|
22
|
+
authorize: []
|
23
|
+
},
|
24
|
+
component: () => import(/* webpackChunkName: 'Privacy' */ '../components/pages/legal/Privacy.vue'),
|
25
|
+
},
|
26
|
+
{
|
27
|
+
path: 'legal/terms-of-use',
|
28
|
+
name: 'Terms of Use',
|
29
|
+
meta: {
|
30
|
+
title: {
|
31
|
+
en: 'Terms of Use',
|
32
|
+
ru: 'Условия использования'
|
33
|
+
},
|
34
|
+
authorize: []
|
35
|
+
},
|
36
|
+
component: () => import(/* webpackChunkName: 'Terms' */ '../components/pages/legal/Terms.vue'),
|
37
|
+
},
|
38
|
+
{
|
39
|
+
path: 'legal/cookies-policy',
|
40
|
+
name: 'Cookie Policy',
|
41
|
+
meta: {
|
42
|
+
title: {
|
43
|
+
en: 'Cookie Policy',
|
44
|
+
ru: 'Политика Сookies'
|
45
|
+
},
|
46
|
+
authorize: []
|
47
|
+
},
|
48
|
+
component: () => import(/* webpackChunkName: 'Cookies' */ '../components/pages/legal/Cookies.vue'),
|
49
|
+
}
|
50
|
+
];
|
21
51
|
|
22
|
-
export default legal;
|
52
|
+
export default legal;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import layoutEmpty from '@pf/src/modules/globals/components/layouts/Empty.vue'
|
2
|
+
import * as validationAuth from '@pf/src/modules/middlewares/client/auth.validation.js';
|
2
3
|
|
3
4
|
const organizations = [{
|
4
5
|
path: 'organizations',
|
@@ -26,6 +27,9 @@ const organizations = [{
|
|
26
27
|
en: 'Create Organization',
|
27
28
|
ru: 'Создать Организацию'
|
28
29
|
},
|
30
|
+
beforeEnter: [
|
31
|
+
validationAuth.requiresAuth,
|
32
|
+
],
|
29
33
|
component: () => import(/* webpackChunkName: "organization" */ '@pf/src/modules/organizations/components/pages/OrganizationEdit.vue')
|
30
34
|
}, {
|
31
35
|
path: ':_id/edit',
|
@@ -36,6 +40,9 @@ const organizations = [{
|
|
36
40
|
ru: 'Редактировать Организацию'
|
37
41
|
}
|
38
42
|
},
|
43
|
+
beforeEnter: [
|
44
|
+
validationAuth.requiresAuth,
|
45
|
+
],
|
39
46
|
component: () => import(/* webpackChunkName: "organization" */ '@pf/src/modules/organizations/components/pages/OrganizationEdit.vue'),
|
40
47
|
}, {
|
41
48
|
path: ':_id/departments/create',
|
@@ -43,6 +50,9 @@ const organizations = [{
|
|
43
50
|
meta: {
|
44
51
|
title: 'Создание отдела',
|
45
52
|
},
|
53
|
+
beforeEnter: [
|
54
|
+
validationAuth.requiresAuth,
|
55
|
+
],
|
46
56
|
component: () => import(/* webpackChunkName: "department" */ '@pf/src/modules/organizations/components/pages/DepartmentEdit.vue'),
|
47
57
|
}, {
|
48
58
|
path: ':_id/departments/:deparment',
|
@@ -50,6 +60,9 @@ const organizations = [{
|
|
50
60
|
meta: {
|
51
61
|
title: 'Отдел',
|
52
62
|
},
|
63
|
+
beforeEnter: [
|
64
|
+
validationAuth.requiresAuth,
|
65
|
+
],
|
53
66
|
component: () => import(/* webpackChunkName: "department" */ '@pf/src/modules/organizations/components/pages/Department.vue'),
|
54
67
|
}, {
|
55
68
|
path: ':_id/departments/:department/edit',
|
@@ -57,6 +70,9 @@ const organizations = [{
|
|
57
70
|
meta: {
|
58
71
|
title: 'Редактирование отдела',
|
59
72
|
},
|
73
|
+
beforeEnter: [
|
74
|
+
validationAuth.requiresAuth,
|
75
|
+
],
|
60
76
|
component: () => import(/* webpackChunkName: "department" */ '@pf/src/modules/organizations/components/pages/DepartmentEdit.vue'),
|
61
77
|
},{
|
62
78
|
path: ':_id/products/:product',
|
@@ -71,6 +87,9 @@ const organizations = [{
|
|
71
87
|
},{
|
72
88
|
path: ':_id/products/:product/edit',
|
73
89
|
name: 'ProductEdit',
|
90
|
+
beforeEnter: [
|
91
|
+
validationAuth.requiresAuth,
|
92
|
+
],
|
74
93
|
component: () => import(/* webpackChunkName: 'ProductPageEdit' */ '@pf/src/modules/products/components/pages/ProductEdit.vue')
|
75
94
|
},{
|
76
95
|
path: ':_id/products/add',
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<template>
|
1
|
+
x<template>
|
2
2
|
<div
|
3
3
|
class="for-transition w-100"
|
4
4
|
>
|
@@ -110,7 +110,7 @@
|
|
110
110
|
</section>
|
111
111
|
|
112
112
|
<Menu
|
113
|
-
v-if="(auth.state.user._id === route.params._id) && (auth.state.access.roles.includes('ROLE_MODERATOR') || auth.state.access.roles.includes('ROLE_ADMIN'))"
|
113
|
+
v-if="(auth.state.access.roles && auth.state.user._id === route.params._id) && (auth.state.access.roles.includes('ROLE_MODERATOR') || auth.state.access.roles.includes('ROLE_ADMIN'))"
|
114
114
|
class="bg-black t-white"
|
115
115
|
>
|
116
116
|
<MenuItem
|
@@ -11,29 +11,12 @@ const users = [{
|
|
11
11
|
}
|
12
12
|
},
|
13
13
|
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/Profile.vue'),
|
14
|
-
},{
|
15
|
-
path: 'profile/:_id/blogposts',
|
16
|
-
name: 'User Blogposts',
|
17
|
-
meta: {
|
18
|
-
title: {
|
19
|
-
en: 'Posts',
|
20
|
-
ru: 'Посты'
|
21
|
-
}
|
22
|
-
},
|
23
|
-
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileBlogposts.vue'),
|
24
|
-
},{
|
25
|
-
path: 'profile/:_id/comments',
|
26
|
-
name: 'User Comments',
|
27
|
-
meta: {
|
28
|
-
title: {
|
29
|
-
en: 'Comments',
|
30
|
-
ru: 'Комментарии'
|
31
|
-
}
|
32
|
-
},
|
33
|
-
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileComments.vue'),
|
34
14
|
},{
|
35
15
|
path: 'profile/:_id/edit',
|
36
16
|
name: 'User Edit Profile',
|
17
|
+
beforeEnter: [
|
18
|
+
validationAuth.requiresAuth,
|
19
|
+
],
|
37
20
|
meta: {
|
38
21
|
title: {
|
39
22
|
en: 'Edit Profile',
|
@@ -41,6 +24,16 @@ const users = [{
|
|
41
24
|
}
|
42
25
|
},
|
43
26
|
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileEdit.vue'),
|
27
|
+
},{
|
28
|
+
path: 'profile/:_id/blogposts',
|
29
|
+
name: 'User Blogposts',
|
30
|
+
meta: {
|
31
|
+
title: {
|
32
|
+
en: 'Posts',
|
33
|
+
ru: 'Посты'
|
34
|
+
}
|
35
|
+
},
|
36
|
+
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileBlogposts.vue'),
|
44
37
|
},{
|
45
38
|
path: 'profile/:_id/events',
|
46
39
|
name: 'User Events',
|
@@ -51,16 +44,6 @@ const users = [{
|
|
51
44
|
}
|
52
45
|
},
|
53
46
|
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileEvents.vue'),
|
54
|
-
},{
|
55
|
-
path: 'profile/:_id/likes',
|
56
|
-
name: 'User Likes',
|
57
|
-
meta: {
|
58
|
-
title: {
|
59
|
-
en: 'Likes',
|
60
|
-
ru: 'Лайки'
|
61
|
-
}
|
62
|
-
},
|
63
|
-
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileLikes.vue'),
|
64
47
|
},{
|
65
48
|
path: 'profile/:_id/organizations',
|
66
49
|
name: 'User Organizations',
|
@@ -71,6 +54,28 @@ const users = [{
|
|
71
54
|
}
|
72
55
|
},
|
73
56
|
component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileOrganizations.vue'),
|
74
|
-
}
|
57
|
+
}
|
58
|
+
// ,{
|
59
|
+
// path: 'profile/:_id/likes',
|
60
|
+
// name: 'User Likes',
|
61
|
+
// meta: {
|
62
|
+
// title: {
|
63
|
+
// en: 'Likes',
|
64
|
+
// ru: 'Лайки'
|
65
|
+
// }
|
66
|
+
// },
|
67
|
+
// component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileLikes.vue'),
|
68
|
+
// },{
|
69
|
+
// path: 'profile/:_id/comments',
|
70
|
+
// name: 'User Comments',
|
71
|
+
// meta: {
|
72
|
+
// title: {
|
73
|
+
// en: 'Comments',
|
74
|
+
// ru: 'Комментарии'
|
75
|
+
// }
|
76
|
+
// },
|
77
|
+
// component: () => import(/* webpackChunkName: "profile" */ '../components/pages/ProfileComments.vue'),
|
78
|
+
// },
|
79
|
+
];
|
75
80
|
|
76
81
|
export default users;
|