@ozdao/prometheus-framework 0.1.27 → 0.1.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. package/dist/Chips-493042f7.js +1 -0
  2. package/dist/Chips-9cf6c0da.mjs +286 -0
  3. package/dist/Feed-27f62b1c.mjs +368 -0
  4. package/dist/Feed-7c8c901a.mjs +380 -0
  5. package/dist/Feed-aee74095.js +1 -0
  6. package/dist/Feed-bfd7d1d9.js +1 -0
  7. package/dist/Image-1f7252c0.mjs +477 -0
  8. package/dist/Image-448f9228.js +9 -0
  9. package/dist/Product-3c9c8197.js +7 -0
  10. package/dist/Product-748ec8b7.mjs +842 -0
  11. package/dist/Product-852f952c.js +7 -0
  12. package/dist/Product-bbdc8460.mjs +841 -0
  13. package/dist/ProductEdit-17f4e395.mjs +304 -0
  14. package/dist/ProductEdit-4af06681.js +1 -0
  15. package/dist/ProductEdit-4f9b6d56.js +1 -0
  16. package/dist/ProductEdit-a1050ab6.mjs +303 -0
  17. package/dist/ProfileBlogposts-03d04b92.mjs +66 -0
  18. package/dist/ProfileBlogposts-f9312adf.js +1 -0
  19. package/dist/ProfileComments-6d863cd3.mjs +45 -0
  20. package/dist/ProfileComments-e6970923.js +1 -0
  21. package/dist/ProfileEvents-917169c6.mjs +58 -0
  22. package/dist/ProfileEvents-996bce18.js +1 -0
  23. package/dist/ProfileLikes-0402d1fb.js +1 -0
  24. package/dist/ProfileLikes-92196922.mjs +45 -0
  25. package/dist/auth.client.cjs +8 -8
  26. package/dist/auth.client.js +581 -602
  27. package/dist/auth.validation-2cdd2231.mjs +17 -0
  28. package/dist/auth.validation-30bb0efd.js +1 -0
  29. package/dist/community.client.cjs +1 -1
  30. package/dist/community.client.js +65 -65
  31. package/dist/components/CardFooter/CardFooter.vue.d.ts +1 -1
  32. package/dist/components/CardHeader/CardHeader.vue.d.ts +1 -1
  33. package/dist/events.client.cjs +2 -2
  34. package/dist/events.client.js +6 -6
  35. package/dist/legal.client.cjs +1 -1
  36. package/dist/legal.client.js +2596 -2567
  37. package/dist/modules/community/components/blocks/FooterBlogpost.vue.d.ts +1 -1
  38. package/dist/modules/community/components/sections/Feed.vue.d.ts +1 -1
  39. package/dist/modules/events/components/blocks/CardEvent.vue.d.ts +3 -3
  40. package/dist/modules/events/components/sections/Feed.vue.d.ts +1 -1
  41. package/dist/modules/events/components/sections/List.vue.d.ts +1 -1
  42. package/dist/modules/organizations/components/sections/Feed.vue.d.ts +1 -1
  43. package/dist/modules/organizations/components/sections/Organizations.vue.d.ts +1 -1
  44. package/dist/organizations.client-13fc2cbe.js +3 -0
  45. package/dist/organizations.client-39196bef.mjs +3041 -0
  46. package/dist/organizations.client-85a2ae66.js +3 -0
  47. package/dist/organizations.client-91e84d4f.mjs +3022 -0
  48. package/dist/organizations.client.cjs +1 -1
  49. package/dist/organizations.client.js +43 -42
  50. package/dist/states.validation-766a62a6.mjs +13 -0
  51. package/dist/states.validation-92231934.js +1 -0
  52. package/dist/style.css +1 -1
  53. package/dist/users.client.cjs +1 -1
  54. package/dist/users.client.js +199 -194
  55. package/package.json +1 -1
  56. package/src/components/CardFooter/CardFooter.vue +27 -30
  57. package/src/components/CardHeader/CardHeader.vue +56 -3
  58. package/src/modules/auth/components/pages/SignIn.vue +2 -2
  59. package/src/modules/community/components/layouts/Community.vue +5 -5
  60. package/src/modules/events/components/blocks/CardEvent.vue +3 -2
  61. package/src/modules/events/components/pages/EditEvent.vue +1 -1
  62. package/src/modules/events/router/events.js +1 -0
  63. package/src/modules/legal/components/pages/Legal.vue +33 -17
  64. package/src/modules/legal/router/legal.js +51 -21
  65. package/src/modules/organizations/router/organizations.js +19 -0
  66. package/src/modules/users/router/users.js +36 -31
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/prometheus-framework",
3
- "version": "0.1.27",
3
+ "version": "0.1.28",
4
4
  "description": "Web3 Framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -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
- const props = defineProps(['entity', 'entityType', 'owner']);
21
+ import * as reactions from '@pf/src/modules/community/store/reactions';
23
22
 
24
- const isProd = process.env.NODE_ENV === 'production';
25
- var clientUrl = 'https://api.ozdao.dev';
26
- var localtUrl = 'http://localhost:8081';
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
- const $axios = axios.create({ baseURL: isProd ? clientUrl : localtUrl });
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 res = await $axios.post(`/reactions/create/${props.entityType}`, {
47
- source: props.entity._id,
48
- type: 'like',
49
- owner: props.owner
50
- });
51
- if (res.data.reaction.type === 'like') {
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.data.reaction._id;
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.owner) {
64
- alert('Please login to remove a reaction');
56
+ if (!props.user) {
57
+ alert('Please login to add a reaction');
65
58
  return;
66
59
  }
60
+
67
61
  try {
68
- const res = await $axios.delete(`/reactions/delete/${props.entityType}/${reactionId.value}`);
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 removing reaction. Please try again later.');
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 mn-r-small t-semi"
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 + 40) + '%', zIndex: 1 - index }"
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-max bg-grey pd-medium radius-big mn-semi flex-nowrap flex">
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-small radius-small">👑 Featured</li>
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-small radius-small">🔥 Popular</li>
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-small radius-small">🆕 New</li>
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-small radius-small">👥 Following</li>
43
+ class="t-medium pd-thin radius-small">👥 Following</li>
44
44
  </ul>
45
45
 
46
46
  <section class="">
@@ -116,8 +116,9 @@
116
116
  <!-- <CardFooter
117
117
  v-if="type !== 'short'"
118
118
  class=""
119
- :entity="event"
120
- :owner="owner"
119
+ :entity="event"
120
+ :entityType="'event'"
121
+ :user="user"
121
122
  /> -->
122
123
 
123
124
  </section>
@@ -33,7 +33,7 @@
33
33
  />
34
34
  </section>
35
35
 
36
- <section v-if="event" class="pd-thin pos-fixed pos-l-0 pos-b-0 w-100 ">
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>
@@ -1,4 +1,5 @@
1
1
  import layoutEvents from '../components/layouts/layoutEvents.vue'
2
+ import * as validationAuth from '@pf/src/modules/middlewares/client/auth.validation.js';
2
3
 
3
4
  const eventsRoutes = [
4
5
  {
@@ -2,35 +2,51 @@
2
2
  <div
3
3
  class="for-transition w-100 pd-medium"
4
4
  >
5
- <Menu class="bg-grey">
6
- <MenuItem @click="router.push({name: 'Terms of Use'})" class="cursor-pointer">
7
- <span>Terms of Use</span>
8
- </MenuItem>
9
- <MenuItem @click="router.push({name: 'Privacy Policy'})" class="cursor-pointer">
10
- <span>Privacy Policy</span>
11
- </MenuItem>
12
- <MenuItem @click="router.push({name: 'Cookie Policy'})" class="cursor-pointer">
13
- <span>Cookie Policy</span>
14
- </MenuItem>
15
- </Menu>
16
- </div>
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
- path: 'legal',
3
- name: 'Legal',
4
- component: () => import(/* webpackChunkName: 'Legal' */ '../components/pages/Legal.vue'),
5
- },
6
- {
7
- path: 'legal/privacy-policy',
8
- name: 'Privacy Policy',
9
- component: () => import(/* webpackChunkName: 'Legal' */ '../components/pages/legal/Privacy.vue'),
10
- },
11
- {
12
- path: 'legal/terms-of-use',
13
- name: 'Terms of Use',
14
- component: () => import(/* webpackChunkName: 'Legal' */ '../components/pages/legal/Terms.vue'),
15
- },
16
- {
17
- path: 'legal/cookies-policy',
18
- name: 'Cookie Policy',
19
- component: () => import(/* webpackChunkName: 'Legal' */ '../components/pages/legal/Cookies.vue'),
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',
@@ -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;