@ozdao/prometheus-framework 0.2.30 → 0.2.31

Sign up to get free protection for your applications and to get access to all the features.
Files changed (269) hide show
  1. package/dist/addMembersQuantity-3505b6f3.mjs +98 -0
  2. package/dist/addMembersQuantity-fb552ca0.js +97 -0
  3. package/dist/auth.server.js +6 -9
  4. package/dist/auth.server.mjs +6 -9
  5. package/dist/community.server.js +28 -21
  6. package/dist/community.server.mjs +28 -21
  7. package/dist/events.server.js +1 -1
  8. package/dist/events.server.mjs +1 -1
  9. package/dist/files.server.js +114 -111
  10. package/dist/files.server.mjs +114 -111
  11. package/dist/gallery.server.js +3 -3
  12. package/dist/gallery.server.mjs +3 -3
  13. package/dist/globals.server.js +1 -1
  14. package/dist/globals.server.mjs +1 -1
  15. package/dist/index-a8dffc0c.js +213 -0
  16. package/dist/index-d769324d.mjs +214 -0
  17. package/dist/mailing-37c2ba41.mjs +68 -0
  18. package/dist/mailing-fe16a26a.js +67 -0
  19. package/dist/main.css +1 -1
  20. package/dist/middlewares.server.js +1 -1
  21. package/dist/middlewares.server.mjs +1 -1
  22. package/dist/organizations.server.js +125 -25
  23. package/dist/organizations.server.mjs +125 -25
  24. package/dist/prometheus-framework.cjs.js +30 -29
  25. package/dist/prometheus-framework.es.js +2478 -2282
  26. package/dist/reports.server.js +1 -1
  27. package/dist/reports.server.mjs +1 -1
  28. package/dist/users.server.js +1 -1
  29. package/dist/users.server.mjs +1 -1
  30. package/package.json +4 -2
  31. package/src/assets/images/logo.svg +7 -7
  32. package/src/components/Block/Block.vue +77 -0
  33. package/src/components/Breadcrumbs/Breadcrumbs.vue +2 -2
  34. package/src/components/Button/Button.vue +32 -227
  35. package/src/components/Checkbox/Checkbox.vue +1 -1
  36. package/src/components/Chips/Chips.vue +8 -8
  37. package/src/components/DatePicker/DatePicker.vue +3 -4
  38. package/src/components/EditImages/EditImages.vue +32 -14
  39. package/src/{modules/globals/components/sections → components/Feed}/Feed.vue +60 -45
  40. package/src/components/FieldBig/FieldBig.vue +16 -5
  41. package/src/components/FieldPhone/FieldPhone.vue +2 -1
  42. package/src/components/Footer/Footer.vue +36 -27
  43. package/src/components/Header/Header.vue +161 -166
  44. package/src/components/Loader/Loader.vue +9 -2
  45. package/src/components/LocationMarker/LocationMarker.vue +38 -12
  46. package/src/components/LocationSelection/LocationSelection.vue +67 -75
  47. package/src/components/Magnifier/Magnifier.vue +3 -3
  48. package/src/components/Navigation/Navigation.vue +16 -16
  49. package/src/components/Popup/Popup.vue +8 -6
  50. package/src/components/Select/Select.vue +35 -6
  51. package/src/components/SelectMulti/SelectMulti.vue +5 -13
  52. package/src/components/Shader/Shader.vue +128 -0
  53. package/src/components/Sidebar/Sidebar.vue +71 -35
  54. package/src/components/Spoiler/Spoiler.vue +1 -1
  55. package/src/components/Tab/Tab.vue +1 -1
  56. package/src/components/Tooltip/Tooltip.vue +1 -1
  57. package/src/components/UploadImage/UploadImage.vue +4 -4
  58. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +54 -10
  59. package/src/modules/applications/controllers/applications.controller.js +0 -1
  60. package/src/modules/auth/components/pages/EnterCode.vue +1 -1
  61. package/src/modules/auth/components/pages/EnterPassword.vue +3 -3
  62. package/src/modules/auth/components/pages/ResetPassword.vue +1 -2
  63. package/src/modules/auth/components/pages/SignIn.vue +26 -10
  64. package/src/modules/auth/components/pages/SignUp.vue +1 -2
  65. package/src/modules/auth/controllers/twofa.controller.js +4 -4
  66. package/src/modules/auth/localization/EnterCode.json +2 -2
  67. package/src/modules/auth/localization/EnterPassword.json +2 -2
  68. package/src/modules/auth/localization/ResetPassword.json +2 -2
  69. package/src/modules/auth/localization/SignIn.json +3 -3
  70. package/src/modules/auth/localization/SignUp.json +3 -3
  71. package/src/modules/auth/utils/server/verifyAppleIdToken.js +0 -1
  72. package/src/modules/backoffice/components/layouts/Backoffice.vue +1 -1
  73. package/src/modules/backoffice/components/pages/Dashboard.vue +171 -120
  74. package/src/modules/backoffice/router/backoffice.js +119 -129
  75. package/src/modules/chats/components/blocks/ChatMessage.vue +25 -0
  76. package/src/modules/chats/components/pages/ChatPage.vue +50 -0
  77. package/src/modules/chats/components/sections/ChatWindow.vue +38 -0
  78. package/src/modules/chats/controllers/chats.controller.js +32 -0
  79. package/src/modules/chats/models/chat.model.js +26 -0
  80. package/src/modules/chats/routes/chats.routes.js +53 -0
  81. package/src/modules/chats/store/chat.store.js +61 -0
  82. package/src/modules/community/components/blocks/CardBlogpost.vue +19 -4
  83. package/src/modules/community/components/layouts/Community.vue +96 -39
  84. package/src/modules/community/components/pages/Blog.vue +4 -3
  85. package/src/modules/community/components/pages/BlogPost.vue +10 -1
  86. package/src/modules/community/components/pages/CreateBlogPost.vue +36 -17
  87. package/src/modules/community/components/sections/HotPosts.vue +3 -3
  88. package/src/modules/community/components/sections/JoinUs.vue +19 -13
  89. package/src/modules/community/controllers/blog.controller.js +3 -4
  90. package/src/modules/community/controllers/utils/queryProcessor.js +16 -17
  91. package/src/modules/community/models/blogpost.model.js +6 -3
  92. package/src/modules/community/store/blogposts.js +1 -0
  93. package/src/modules/constructor/components/elements/Embed.vue +12 -1
  94. package/src/modules/constructor/components/elements/ImageUpload.vue +2 -2
  95. package/src/modules/constructor/components/elements/Textarea.vue +6 -1
  96. package/src/modules/constructor/components/elements/Video.vue +79 -0
  97. package/src/modules/constructor/components/elements/VideoPlayer.vue +59 -0
  98. package/src/modules/constructor/components/elements/Youtube.vue +52 -0
  99. package/src/modules/constructor/components/sections/Constructor.vue +27 -3
  100. package/src/modules/events/components/layouts/layoutEvents.vue +7 -28
  101. package/src/modules/files/controllers/files.controller.js +9 -22
  102. package/src/modules/files/middlewares/server/index.js +2 -2
  103. package/src/modules/files/middlewares/server/middlewareBusboy.js +137 -0
  104. package/src/modules/files/routes/files.routes.js +9 -9
  105. package/src/modules/globals/localization/vue-i18n.js +8 -1
  106. package/src/modules/globals/mixins/mixins.js +23 -13
  107. package/src/modules/globals/router/routerGuards.js +2 -2
  108. package/src/modules/globals/store/globals.js +86 -9
  109. package/src/modules/globals/utils/mailing.js +24 -3
  110. package/src/modules/icons/entities/IconCommunity.vue +4 -4
  111. package/src/modules/icons/entities/IconEvents.vue +1 -1
  112. package/src/modules/icons/entities/IconGroups.vue +1 -1
  113. package/src/modules/icons/entities/IconPrice.vue +5 -0
  114. package/src/modules/icons/entities/IconProfile.vue +5 -0
  115. package/src/modules/icons/entities/IconShopcart.vue +5 -0
  116. package/src/modules/icons/entities/IconTime.vue +5 -0
  117. package/src/modules/icons/icons.client.js +4 -0
  118. package/src/modules/icons/labels/LabelAppStore.vue +24 -24
  119. package/src/modules/icons/labels/LabelGooglePlay.vue +9 -9
  120. package/src/modules/icons/logos/Logotype.vue +20 -0
  121. package/src/modules/icons/navigation/IconAdd.vue +17 -0
  122. package/src/modules/icons/navigation/IconChevronBottom.vue +18 -0
  123. package/src/modules/icons/navigation/IconChevronRight.vue +3 -3
  124. package/src/modules/icons/navigation/IconDelete.vue +19 -0
  125. package/src/modules/icons/navigation/IconMinus.vue +15 -0
  126. package/src/modules/icons/navigation/IconSearch.vue +17 -0
  127. package/src/modules/icons/navigation/IconUpload.vue +16 -0
  128. package/src/modules/icons/placeholders/PlaceholderImage.vue +5 -0
  129. package/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue +20 -0
  130. package/src/modules/icons/placeholders/PlaceholderUserpic.vue +4 -18
  131. package/src/modules/icons/socials/instagram.vue +1 -1
  132. package/src/modules/icons/socials/line.vue +1 -1
  133. package/src/modules/icons/socials/reddit.vue +1 -1
  134. package/src/modules/icons/socials/telegram.vue +1 -1
  135. package/src/modules/icons/socials/twitter.vue +1 -1
  136. package/src/modules/icons/socials/youtube.vue +1 -1
  137. package/src/modules/landing/components/sections/Guide.vue +92 -0
  138. package/src/modules/landing/components/sections/MobileApp.vue +23 -12
  139. package/src/modules/marketplace/components/layouts/Marketplace.vue +76 -188
  140. package/src/modules/marketplace/components/pages/Catalog.vue +65 -119
  141. package/src/modules/marketplace/components/sections/Filters.vue +195 -0
  142. package/src/modules/marketplace/store/marketplace.js +2 -2
  143. package/src/modules/middlewares/client/auth.validation.js +0 -6
  144. package/src/modules/middlewares/client/states.validation.js +2 -8
  145. package/src/modules/middlewares/server/authJwt.js +1 -1
  146. package/src/modules/mobile/components/Menu/MenuItem.vue +3 -6
  147. package/src/modules/openai/controllers/openai.controller.js +0 -1
  148. package/src/modules/orders/components/blocks/CardOrder.vue +166 -0
  149. package/src/modules/orders/components/blocks/CardOrderItem.vue +59 -66
  150. package/src/modules/orders/components/blocks/Positions.vue +4 -4
  151. package/src/modules/orders/components/pages/EditOrder.vue +78 -142
  152. package/src/modules/orders/components/pages/FormOrder.vue +192 -0
  153. package/src/modules/orders/components/pages/Order.vue +326 -120
  154. package/src/modules/orders/components/pages/Orders.vue +13 -9
  155. package/src/modules/orders/components/pages/{ViewOrder.vue → Orders_refact.vue} +13 -10
  156. package/src/modules/orders/components/partials/ShopCart.vue +22 -13
  157. package/src/modules/orders/components/sections/EmptyState.vue +1 -1
  158. package/src/modules/orders/components/sections/{Form.vue → FormOrderDetails.vue} +38 -106
  159. package/src/modules/orders/controllers/orders.controller.js +37 -28
  160. package/src/modules/orders/models/order.model.js +39 -9
  161. package/src/modules/orders/router/orders.router.js +23 -2
  162. package/src/modules/orders/routes/orders.routes.js +14 -17
  163. package/src/modules/orders/store/orders.js +24 -9
  164. package/src/modules/orders/store/shopcart.js +20 -19
  165. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  166. package/src/modules/organizations/components/blocks/CardOrganization.vue +98 -46
  167. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  168. package/src/modules/organizations/components/blocks/Socials.vue +11 -3
  169. package/src/modules/organizations/components/elements/ButtonToggleMembership.vue +1 -1
  170. package/src/modules/organizations/components/pages/Department.vue +1 -1
  171. package/src/modules/organizations/components/pages/DepartmentEdit.vue +4 -4
  172. package/src/modules/organizations/components/pages/Members.vue +6 -4
  173. package/src/modules/organizations/components/pages/Organization.vue +120 -49
  174. package/src/modules/organizations/components/pages/OrganizationEdit.vue +8 -1
  175. package/src/modules/organizations/components/pages/Organizations.vue +27 -6
  176. package/src/modules/organizations/components/sections/DetailsTab.vue +11 -9
  177. package/src/modules/organizations/components/sections/Feed.vue +0 -3
  178. package/src/modules/organizations/components/sections/FeedDepartments.vue +2 -2
  179. package/src/modules/organizations/controllers/organizations.controller.js +126 -15
  180. package/src/modules/organizations/controllers/utils/addMembersQuantity.js +19 -9
  181. package/src/modules/organizations/models/organization.model.js +5 -2
  182. package/src/modules/organizations/router/members.router.js +1 -3
  183. package/src/modules/organizations/router/organizations.js +8 -6
  184. package/src/modules/organizations/router/products.router.js +36 -2
  185. package/src/modules/organizations/store/organizations.js +38 -84
  186. package/src/modules/pages/controllers/pages.controller.js +0 -4
  187. package/src/modules/payments/controller/payments.controller.js +1 -1
  188. package/src/modules/products/components/blocks/CardLeftover.vue +17 -22
  189. package/src/modules/products/components/blocks/CardPosition.vue +96 -49
  190. package/src/modules/products/components/blocks/CardProduct.vue +24 -53
  191. package/src/modules/products/components/blocks/Images360.vue +4 -4
  192. package/src/modules/products/components/blocks/ImagesThumbnails.vue +2 -7
  193. package/src/modules/products/components/blocks/ListPositions.vue +74 -0
  194. package/src/modules/products/components/elements/Price.vue +11 -5
  195. package/src/modules/products/components/elements/THC.vue +6 -6
  196. package/src/modules/products/components/pages/{LeftoverAdd.vue → EditLeftover.vue} +93 -79
  197. package/src/modules/products/components/pages/Leftovers.vue +74 -70
  198. package/src/modules/products/components/pages/Product.vue +4 -7
  199. package/src/modules/products/components/pages/ProductEdit.vue +230 -88
  200. package/src/modules/products/components/pages/ProductRecommmendation.vue +1 -1
  201. package/src/modules/products/components/pages/Products.vue +6 -3
  202. package/src/modules/products/components/pages/ProductsBackoffice.vue +3 -5
  203. package/src/modules/products/components/sections/EditModifications.vue +3 -3
  204. package/src/modules/products/components/sections/EditProductInfo.vue +40 -50
  205. package/src/modules/products/components/sections/FilterProducts.vue +57 -18
  206. package/src/modules/products/components/sections/HeroRecommendation.vue +233 -99
  207. package/src/modules/products/components/sections/MenuSection.vue +127 -0
  208. package/src/modules/products/components/sections/PopularProducts.vue +81 -37
  209. package/src/modules/products/components/sections/SectionProduct.vue +21 -23
  210. package/src/modules/products/controllers/leftovers.controller.js +11 -1
  211. package/src/modules/products/controllers/products.controller.js +100 -97
  212. package/src/modules/products/models/leftover.model.js +6 -4
  213. package/src/modules/products/models/product.model.js +13 -1
  214. package/src/modules/products/routes/products.routes.js +4 -4
  215. package/src/modules/products/store/leftovers.js +4 -24
  216. package/src/modules/products/store/products.js +44 -30
  217. package/src/modules/spots/components/blocks/CardSpot.vue +43 -72
  218. package/src/modules/spots/components/layouts/Spots.vue +9 -91
  219. package/src/modules/spots/components/pages/Map.vue +171 -62
  220. package/src/modules/spots/components/pages/Spot.vue +1 -1
  221. package/src/modules/spots/components/pages/SpotEdit.vue +131 -174
  222. package/src/modules/spots/controllers/spots.controller.js +1 -0
  223. package/src/modules/spots/models/spot.model.js +6 -3
  224. package/src/modules/spots/store/spots.js +42 -48
  225. package/src/modules/users/components/pages/Profile.vue +6 -28
  226. package/src/modules/users/components/pages/ProfileBlogposts.vue +1 -1
  227. package/src/modules/users/components/pages/ProfileEdit.vue +1 -1
  228. package/src/modules/users/components/pages/ProfileEvents.vue +1 -1
  229. package/src/modules/users/components/pages/ProfileOrganizations.vue +1 -1
  230. package/src/modules/users/router/users.js +1 -1
  231. package/src/modules/wallet/components/pages/Wallet.vue +105 -109
  232. package/src/modules/wallet/controllers/crypto.controller.js +129 -0
  233. package/src/modules/wallet/models/reward.model.js +53 -0
  234. package/src/modules/wallet/routes/crypto.routes.js +36 -0
  235. package/src/modules/wallet/store/wallet.js +52 -49
  236. package/src/styles/base/all.scss +143 -11
  237. package/src/styles/base/backgrounds.scss +2 -34
  238. package/src/styles/base/borders.scss +18 -23
  239. package/src/styles/base/scrolling.scss +97 -29
  240. package/src/styles/base/{shadows.scss → shadow_transitions_hover_refactor.scss} +55 -2
  241. package/src/styles/config.scss +69 -17
  242. package/src/styles/layout.scss +12 -182
  243. package/src/styles/reset.scss +20 -21
  244. package/src/styles/responsive.scss +4 -67
  245. package/src/styles/theme.scss +3 -4
  246. package/src/styles/typography.scss +15 -17
  247. package/src/assets/fonts/AvenirNext-Bold.woff2 +0 -0
  248. package/src/assets/fonts/AvenirNext-DemiBold.woff2 +0 -0
  249. package/src/assets/fonts/AvenirNext-Heavy.woff2 +0 -0
  250. package/src/assets/fonts/AvenirNext-Medium.woff2 +0 -0
  251. package/src/assets/fonts/AvenirNext-Regular.woff2 +0 -0
  252. package/src/assets/fonts/AvenirNext-UltraLight.woff2 +0 -0
  253. package/src/modules/files/middlewares/server/md.js +0 -152
  254. package/src/modules/files/middlewares/server/middlewareMulter.js +0 -121
  255. package/src/modules/organizations/controllers/organizations.new.controller.js +0 -372
  256. package/src/modules/products/components/blocks/EditCategories.vue +0 -68
  257. package/src/modules/products/components/sections/EditParameters.vue +0 -58
  258. package/src/modules/products/components/sections/EditProductImages.vue +0 -67
  259. package/src/modules/spots/components/sections/Feed.vue +0 -64
  260. package/src/styles/base/border-radius.scss +0 -47
  261. package/src/styles/base/cursors.scss +0 -23
  262. package/src/styles/base/height.scss +0 -60
  263. package/src/styles/base/hovers.scss +0 -110
  264. package/src/styles/base/positions.scss +0 -192
  265. package/src/styles/base/transitions.scss +0 -137
  266. package/src/styles/base/width.scss +0 -2
  267. package/src/styles/components/block.scss +0 -18
  268. package/src/styles/components/breadcrumbs.scss +0 -0
  269. package/src/styles/components/input.scss +0 -319
@@ -1,126 +1,154 @@
1
1
  <template>
2
2
  <div class="">
3
- <h1 class="mn-b-small">Your Backoffice</h1>
3
+ <SelectMulti
4
+ v-model="selectedOrganization"
5
+ :options="publics"
6
+ :multiple="false"
7
+ :taggable="false"
8
+ placeholder="Select organization"
9
+ label="name"
10
+ track-by="_id"
11
+ class="mn-b-medium h1 bg-grey radius-medium pd-big"
12
+ />
13
+
14
+
4
15
  <Menu
5
- class="bg-grey"
6
- >
7
- <MenuItem
8
- @click="router.push({
9
- name: 'Backoffice Organizations',
10
- params: {
11
- _id: route.params._id
12
- }
13
- })"
14
- class="cursor-pointer">
15
- <span>
16
- Organizations
17
- </span>
18
- </MenuItem>
19
-
20
- <MenuItem
21
- @click="router.push({
22
- name: 'Backoffice Events',
23
- params: {
24
- _id: route.params._id
25
- }
26
- })"
27
- class="cursor-pointer">
28
- <span>
29
- Events
30
- </span>
31
- </MenuItem>
32
-
33
- <MenuItem
34
- @click="router.push({
35
- name: 'Backoffice Community',
36
- params: {
37
- _id: route.params._id
38
- }
39
- })"
40
- class="cursor-pointer">
41
- <span>
42
- Community
43
- </span>
44
- </MenuItem>
45
-
46
- <MenuItem
47
- @click="router.push({
48
- name: 'Backoffice Products',
49
- params: {
50
- _id: route.params._id
51
- }
52
- })"
53
- class="cursor-pointer">
54
- <span>
55
- Products
56
- </span>
57
- </MenuItem>
58
-
59
- <MenuItem
60
- @click="router.push({
61
- name: 'Backoffice Leftovers',
62
- params: {
63
- _id: route.params._id
64
- }
65
- })"
66
- class="cursor-pointer">
67
- <span>
68
- Leftovers
69
- </span>
70
- </MenuItem>
71
-
72
- <MenuItem
73
- @click="router.push({
74
- name: 'Backoffice Orders',
75
- params: {
76
- _id: route.params._id
77
- }
78
- })"
79
- class="cursor-pointer">
80
- <span>
81
- Orders
82
- </span>
83
- </MenuItem>
84
-
85
- <MenuItem
86
- @click="router.push({
87
- name: 'Backoffice Payments',
88
- params: {
89
- _id: route.params._id
90
- }
91
- })"
92
- class="cursor-pointer">
93
- <span>
94
- Payments
95
- </span>
96
- </MenuItem>
97
-
98
- <MenuItem
99
- @click="router.push({
100
- name: 'Backoffice Gallery',
101
- params: {
102
- _id: route.params._id
103
- }
104
- })"
105
- class="cursor-pointer">
106
- <span>
107
- Gallery
108
- </span>
109
- </MenuItem>
110
-
111
- <MenuItem
112
- @click="router.push({
113
- name: 'Backoffice Reports',
114
- params: {
115
- _id: route.params._id
116
- }
117
- })"
118
- class="cursor-pointer">
119
- <span>
120
- Reports
121
- </span>
122
- </MenuItem>
123
- </Menu>
16
+ class="bg-grey mn-b-semi"
17
+ >
18
+ <MenuItem
19
+ @click="router.push({
20
+ name: 'Backoffice Events',
21
+ params: {
22
+ _id: route.params._id
23
+ }
24
+ })"
25
+ class="cursor-pointer">
26
+ <span>
27
+ Members
28
+ </span>
29
+ </MenuItem>
30
+
31
+ <MenuItem
32
+ @click="router.push({
33
+ name: 'Backoffice Events',
34
+ params: {
35
+ _id: route.params._id
36
+ }
37
+ })"
38
+ class="cursor-pointer">
39
+ <span>
40
+ Events
41
+ </span>
42
+ </MenuItem>
43
+
44
+ <MenuItem
45
+ @click="router.push({
46
+ name: 'Backoffice Community',
47
+ params: {
48
+ _id: route.params._id
49
+ }
50
+ })"
51
+ class="cursor-pointer">
52
+ <span>
53
+ Community
54
+ </span>
55
+ </MenuItem>
56
+
57
+ <MenuItem
58
+ @click="router.push({
59
+ name: 'Backoffice Products',
60
+ params: {
61
+ _id: route.params._id
62
+ }
63
+ })"
64
+ class="cursor-pointer">
65
+ <span>
66
+ Products
67
+ </span>
68
+ </MenuItem>
69
+
70
+ <MenuItem
71
+ @click="router.push({
72
+ name: 'Backoffice Leftovers',
73
+ params: {
74
+ _id: route.params._id
75
+ }
76
+ })"
77
+ class="cursor-pointer">
78
+ <span>
79
+ Leftovers
80
+ </span>
81
+ </MenuItem>
82
+
83
+ <MenuItem
84
+ @click="router.push({
85
+ name: 'Backoffice Orders',
86
+ params: {
87
+ _id: route.params._id
88
+ }
89
+ })"
90
+ class="cursor-pointer">
91
+ <span>
92
+ Orders
93
+ </span>
94
+ </MenuItem>
95
+
96
+ <MenuItem
97
+ @click="router.push({
98
+ name: 'Backoffice Payments',
99
+ params: {
100
+ _id: route.params._id
101
+ }
102
+ })"
103
+ class="cursor-pointer">
104
+ <span>
105
+ Payments
106
+ </span>
107
+ </MenuItem>
108
+ </Menu>
109
+
110
+ <Menu
111
+ class="bg-grey"
112
+ >
113
+ <MenuItem
114
+ @click="router.push({
115
+ name: 'Backoffice Organizations',
116
+ params: {
117
+ _id: route.params._id
118
+ }
119
+ })"
120
+ class="cursor-pointer">
121
+ <span>
122
+ Organizations
123
+ </span>
124
+ </MenuItem>
125
+
126
+ <MenuItem
127
+ @click="router.push({
128
+ name: 'Backoffice Gallery',
129
+ params: {
130
+ _id: route.params._id
131
+ }
132
+ })"
133
+ class="cursor-pointer">
134
+ <span>
135
+ Gallery
136
+ </span>
137
+ </MenuItem>
138
+
139
+ <MenuItem
140
+ @click="router.push({
141
+ name: 'Backoffice Reports',
142
+ params: {
143
+ _id: route.params._id
144
+ }
145
+ })"
146
+ class="cursor-pointer">
147
+ <span>
148
+ Reports
149
+ </span>
150
+ </MenuItem>
151
+ </Menu>
124
152
  </div>
125
153
  </template>
126
154
 
@@ -128,13 +156,18 @@
128
156
  /////////////////////////////
129
157
  // COMPONENT DEPENDENCIES
130
158
  /////////////////////////////
159
+ import { ref, onMounted } from 'vue';
160
+
131
161
  // Mobile Module
132
162
  import Menu from '@pf/src/modules/mobile/components/Menu/Menu.vue'
133
163
  import MenuItem from '@pf/src/modules/mobile/components/Menu/MenuItem.vue'
164
+ import SelectMulti from '@pf/src/components/SelectMulti/SelectMulti.vue'
134
165
  /////////////////////////////
135
166
  // HELPERS
136
167
  /////////////////////////////
137
168
  import { useRoute, useRouter } from 'vue-router'
169
+ import * as auth from '@pf/src/modules/auth/store/auth'
170
+ import * as organizations from '@pf/src/modules/organizations/store/organizations'
138
171
  const route = useRoute()
139
172
  const router = useRouter()
140
173
  /////////////////////////////
@@ -144,9 +177,27 @@ const props = defineProps({
144
177
  favorites: Array,
145
178
  });
146
179
 
180
+ const selectedOrganization = ref(null);
181
+ const publics = ref([]);
147
182
  /////////////////////////////
148
183
  // MOUNTED
149
184
  /////////////////////////////
185
+ onMounted(async () =>{
186
+ const dataPublics = await organizations.actions.read({
187
+ user: auth.state.user._id,
188
+ postable: auth.state.user._id,
189
+ limit: 100
190
+ })
191
+
192
+ console.log(dataPublics)
193
+
194
+ publics.value = dataPublics.map(publicItem => ({
195
+ name: publicItem.profile.name,
196
+ _id: publicItem._id,
197
+ photo: publicItem.profile.photo
198
+ }));
199
+
200
+ })
150
201
  </script>
151
202
 
152
203
  <style lang="scss">
@@ -40,135 +40,125 @@ const backofficeRoutes = [{
40
40
  },
41
41
  component: () => import(/* webpackChunkName: 'BackofficeGallery' */ '@pf/src/modules/reports/components/pages/BackofficeReports.vue'),
42
42
  },
43
- // {
44
- // path: 'organizations',
45
- // name: 'Backoffice Organizations',
46
- // meta: {
47
- // title: {
48
- // en: 'Backoffice Organizations',
49
- // ru: 'Управление Организациями'
50
- // },
51
- // authorize: []
52
- // },
53
- // component: () => import(/* webpackChunkName: 'BackofficeOrganizations' */ '@pf/src/modules/organizations/components/pages/Organizations.vue'),
54
- // },{
55
- // path: 'events',
56
- // name: 'Backoffice Events',
57
- // meta: {
58
- // title: {
59
- // en: 'Backoffice Events',
60
- // ru: 'Управление Событиями'
61
- // },
62
- // authorize: []
63
- // },
64
- // component: () => import(/* webpackChunkName: 'BackofficeEvents' */ '@pf/src/modules/events/components/pages/Events.vue'),
65
- // },{
66
- // path: 'community',
67
- // name: 'Backoffice Community',
68
- // meta: {
69
- // title: {
70
- // en: 'Backoffice Community',
71
- // ru: 'Управление Сообществом'
72
- // },
73
- // authorize: []
74
- // },
75
- // component: () => import(/* webpackChunkName: 'BackofficeCommunity' */ '@pf/src/modules/community/components/pages/Community.vue'),
76
- // },{
77
- // path: 'products',
78
- // name: 'Backoffice Products',
79
- // meta: {
80
- // title: {
81
- // en: 'Backoffice Products',
82
- // ru: 'Управление Продуктами'
83
- // },
84
- // authorize: []
85
- // },
86
- // component: () => import(/* webpackChunkName: 'BackofficeProducts' */ '@pf/src/modules/products/components/pages/ProductsBackoffice.vue'),
87
- // },{
88
- // path: 'products/add',
89
- // name: 'AddProduct',
90
- // component: () => import('@pf/src/modules/products/components/pages/ProductEdit.vue')
91
- // },{
92
- // path: 'products/:product',
93
- // name: 'Product Backofffice',
94
- // meta: {
95
- // title: {
96
- // en: 'Product',
97
- // ru: 'Продукт'
98
- // }
99
- // },
100
- // component: () => import('@pf/src/modules/products/components/pages/Product.vue')
101
- // }, {
102
- // path: 'products/:product/edit',
103
- // name: 'ProductEdit',
104
- // beforeEnter: [validationAuth.requiresAuth],
105
- // component: () => import('@pf/src/modules/products/components/pages/ProductEdit.vue')
106
- // },{
107
- // path: 'leftovers',
108
- // name: 'Backoffice Leftovers',
109
- // meta: {
110
- // title: {
111
- // en: 'Backoffice Leftovers',
112
- // ru: 'Управление Остатками'
113
- // },
114
- // authorize: []
115
- // },
116
- // component: () => import(/* webpackChunkName: 'BackofficeLeftovers' */ '@pf/src/modules/products/components/pages/Leftovers.vue'),
117
- // },{
118
- // path: 'leftovers/add',
119
- // name: 'LeftoverAdd',
120
- // meta: {
121
- // title: {
122
- // en: 'Backoffice Leftovers',
123
- // ru: 'Управление Остатками'
124
- // },
125
- // authorize: []
126
- // },
127
- // component: () => import(/* webpackChunkName: 'LeftoverEdit' */ '@pf/src/modules/products/components/pages/LeftoverAdd.vue')
128
- // },
129
- // {
130
- // path: 'leftovers/:_id',
131
- // name: 'LeftoverEdit',
132
- // meta: {
133
- // title: {
134
- // en: 'Backoffice Leftovers',
135
- // ru: 'Управление Остатками'
136
- // },
137
- // authorize: []
138
- // },
139
- // component: () => import(/* webpackChunkName: 'LeftoverEdit' */ '@pf/src/modules/products/components/pages/LeftoverAdd.vue')
140
- // },
141
- // {
142
- // path: 'orders',
143
- // name: 'Backoffice Orders',
144
- // meta: {
145
- // title: {
146
- // en: 'Backoffice Orders',
147
- // ru: 'Управление Заказами'
148
- // },
149
- // authorize: []
150
- // },
151
- // component: () => import(/* webpackChunkName: 'BackofficeOrders' */ '@pf/src/modules/orders/components/pages/Orders.vue'),
152
- // },{
153
- // path: 'orders/add',
154
- // name: 'AdminOrder',
155
- // component: () => import(/* webpackChunkName: 'AdminOrders' */ '@pf/src/modules/orders/components/pages/EditOrder.vue')
156
- // },{
157
- // path: 'orders/:_id',
158
- // name: 'AdminOrderEdit',
159
- // component: () => import(/* webpackChunkName: 'AdminOrders' */ '@pf/src/modules/orders/components/pages/EditOrder.vue')
160
- // },{
161
- // path: 'payments',
162
- // name: 'Backoffice Payments',
163
- // meta: {
164
- // title: {
165
- // en: 'Backoffice Payments',
166
- // ru: 'Управление Платежами'
167
- // },
168
- // authorize: []
169
- // },
170
- // component: () => import(/* webpackChunkName: 'BackofficePayments' */ '@pf/src/modules/payments/components/pages/Payments.vue'),
171
- // }
43
+ {
44
+ path: 'organizations',
45
+ name: 'Backoffice Organizations',
46
+ meta: {
47
+ title: {
48
+ en: 'Backoffice Organizations',
49
+ ru: 'Управление Организациями'
50
+ },
51
+ authorize: []
52
+ },
53
+ component: () => import(/* webpackChunkName: 'BackofficeOrganizations' */ '@pf/src/modules/organizations/components/pages/Organizations.vue'),
54
+ },{
55
+ path: 'events',
56
+ name: 'Backoffice Events',
57
+ meta: {
58
+ title: {
59
+ en: 'Backoffice Events',
60
+ ru: 'Управление Событиями'
61
+ },
62
+ authorize: []
63
+ },
64
+ component: () => import(/* webpackChunkName: 'BackofficeEvents' */ '@pf/src/modules/events/components/pages/Events.vue'),
65
+ },{
66
+ path: 'community',
67
+ name: 'Backoffice Community',
68
+ meta: {
69
+ title: {
70
+ en: 'Backoffice Community',
71
+ ru: 'Управление Сообществом'
72
+ },
73
+ authorize: []
74
+ },
75
+ component: () => import(/* webpackChunkName: 'BackofficeCommunity' */ '@pf/src/modules/community/components/pages/Community.vue'),
76
+ },{
77
+ path: 'products',
78
+ name: 'Backoffice Products',
79
+ meta: {
80
+ title: {
81
+ en: 'Backoffice Products',
82
+ ru: 'Управление Продуктами'
83
+ },
84
+ authorize: []
85
+ },
86
+ component: () => import(/* webpackChunkName: 'BackofficeProducts' */ '@pf/src/modules/products/components/pages/ProductsBackoffice.vue'),
87
+ },{
88
+ path: 'products/add',
89
+ name: 'Backoffice AddProduct',
90
+ component: () => import('@pf/src/modules/products/components/pages/ProductEdit.vue')
91
+ },{
92
+ path: 'products/:product',
93
+ name: 'Backoffice ProductEdit',
94
+ beforeEnter: [validationAuth.requiresAuth],
95
+ component: () => import('@pf/src/modules/products/components/pages/ProductEdit.vue')
96
+ },{
97
+ path: 'leftovers',
98
+ name: 'Backoffice Leftovers',
99
+ meta: {
100
+ title: {
101
+ en: 'Backoffice Leftovers',
102
+ ru: 'Управление Остатками'
103
+ },
104
+ authorize: []
105
+ },
106
+ component: () => import(/* webpackChunkName: 'BackofficeLeftovers' */ '@pf/src/modules/products/components/pages/Leftovers.vue'),
107
+ },{
108
+ path: 'leftovers/add',
109
+ name: 'Backoffice LeftoverAdd',
110
+ meta: {
111
+ title: {
112
+ en: 'Backoffice Leftovers Add',
113
+ ru: 'Управление Остатками'
114
+ },
115
+ authorize: []
116
+ },
117
+ component: () => import(/* webpackChunkName: 'LeftoverEdit' */ '@pf/src/modules/products/components/pages/EditLeftover.vue')
118
+ },
119
+ {
120
+ path: 'leftovers/:leftover',
121
+ name: 'Backoffice LeftoverEdit',
122
+ meta: {
123
+ title: {
124
+ en: 'Backoffice Leftovers Edit',
125
+ ru: 'Управление Остатками'
126
+ },
127
+ authorize: []
128
+ },
129
+ component: () => import(/* webpackChunkName: 'LeftoverEdit' */ '@pf/src/modules/products/components/pages/EditLeftover.vue')
130
+ },
131
+ {
132
+ path: 'orders',
133
+ name: 'Backoffice Orders',
134
+ meta: {
135
+ title: {
136
+ en: 'Backoffice Orders',
137
+ ru: 'Управление Заказами'
138
+ },
139
+ authorize: []
140
+ },
141
+ component: () => import(/* webpackChunkName: 'BackofficeOrders' */ '@pf/src/modules/orders/components/pages/Orders.vue'),
142
+ },{
143
+ path: 'orders/add',
144
+ name: 'AdminOrder',
145
+ component: () => import(/* webpackChunkName: 'AdminOrders' */ '@pf/src/modules/orders/components/pages/EditOrder.vue')
146
+ },{
147
+ path: 'orders/:order',
148
+ name: 'AdminOrderEdit',
149
+ component: () => import(/* webpackChunkName: 'AdminOrders' */ '@pf/src/modules/orders/components/pages/EditOrder.vue')
150
+ },{
151
+ path: 'payments',
152
+ name: 'Backoffice Payments',
153
+ meta: {
154
+ title: {
155
+ en: 'Backoffice Payments',
156
+ ru: 'Управление Платежами'
157
+ },
158
+ authorize: []
159
+ },
160
+ component: () => import(/* webpackChunkName: 'BackofficePayments' */ '@pf/src/modules/payments/components/pages/Payments.vue'),
161
+ }
172
162
  ]
173
163
  }];
174
164
 
@@ -0,0 +1,25 @@
1
+ <template>
2
+ <div
3
+ class="pd-small"
4
+ :class="{'bg-main-nano': message.username === 'Weeder Support'}"
5
+ >
6
+ <p class="w-100 p-small">
7
+ <strong class="mn-r-auto">{{ message.username }} {{formatDate(message.createdAt)}}:</strong>
8
+ </p>
9
+ <p>{{ message.text }}</p>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ props: {
16
+ message: {
17
+ type: Object,
18
+ required: true
19
+ }
20
+ }
21
+ };
22
+ </script>
23
+
24
+ <style>
25
+ </style>
@@ -0,0 +1,50 @@
1
+ <template>
2
+ <div class="chat-page">
3
+ <aside class="chat-list">
4
+ <!-- Примерный список чатов. Должен быть дополнен реальной логикой -->
5
+ <!-- <div v-for="chat in chats" :key="chat.id" @click="selectChat(chat.id)">
6
+ Чат {{ chat.name }}
7
+ </div> -->
8
+ </aside>
9
+ <main class="chat-main">
10
+ <ChatWindow />
11
+ </main>
12
+ </div>
13
+ </template>
14
+
15
+ <script setup>
16
+ import { ref, onMounted } from 'vue';
17
+ import ChatWindow from '../sections/ChatWindow.vue';
18
+ import chatStore from '../../store/chat.store.js';
19
+
20
+ const props = defineProps({
21
+ username: {
22
+ type: String,
23
+ required: true
24
+ },
25
+ chatID: {
26
+ type: String,
27
+ required: true
28
+ },
29
+ })
30
+
31
+ // const chats = ref([
32
+ // // Примерный список. В реальном приложении, список чатов должен загружаться с сервера.
33
+ // { id: 'chat1', name: 'Чат 1' },
34
+ // { id: 'chat2', name: 'Чат 2' }
35
+ // ]);
36
+
37
+ const selectChat = (chatId) => {
38
+ chatStore.methods.setCurrentChat(chatId);
39
+ };
40
+
41
+ onMounted(async() => {
42
+ chatStore.methods.setUsername(props.username || 'user'); // Установка имени пользователя
43
+ await chatStore.methods.connectWebSocket(); // Подключение к WebSocket
44
+ chatStore.methods.setCurrentChat(props.chatID);
45
+ });
46
+ </script>
47
+
48
+ <style>
49
+ /* Стили остаются без изменений */
50
+ </style>