@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,139 +1,345 @@
1
1
  <template>
2
-
3
- <section class=" bg-grey order section">
4
-
5
- <!-- Ask to login -->
6
- <AskToLogin class="mn-b-big" v-if="auth.state.access.status === false" />
7
- {{order}}
8
- <!-- Order form -->
9
- <div class="order-wrapper cols-2">
10
- <!-- Empty State -->
11
- <EmptyState
12
- v-if="shopcart.state.items < 1"
13
- />
14
- <Succes
15
- v-if="order.status === true && shopcart.state.items.length > 0"
16
- :order="order"
17
- />
18
- <Form
19
- v-if="orders.state.current.status !== true && shopcart.state.items.length > 0"
20
- :order="orders.state.current"
21
- @create="handleCreate"
22
- />
23
- <!-- Order Items -->
24
- <div
25
- v-if="shopcart.state.items.length > 0"
26
- class="pd-medium radius-big t-white bg-black"
27
- >
28
- <p class="mn-b-medium p-big">Your Order</p>
29
-
30
- <ul class="mn-b-semi">
31
- <CardOrderItem v-for="product in shopcart.state.items" :key="product._id" editable="true" :product="product"
32
- :increase="product => shopcart.actions.incrementItemQuantity(product._id)"
33
- :decrease="product => shopcart.actions.decrementItemQuantity(product._id)"
34
- :remove="product => shopcart.actions.removeProduct(product._id)"
35
- />
36
- </ul>
37
-
38
- <div :class="{'mn-b-semi': order.delivery == ''}" class="flex">
39
- <p>Total</p>
40
- <p>$ {{ cartTotalPrice }}</p>
41
- </div>
42
-
43
- <div v-if="order.delivery !== ''" class="mn-b-semi flex">
44
- <p>Delivery</p>
45
- <p v-if="order.delivery === 'Pickup'">Free</p>
46
- </div>
47
-
48
- <div class="flex-bottom flex">
49
- <p>Total to be paid</p>
50
- <p v-if="order.delivery === ''" class="p-big t-semi">$ {{ cartTotalPrice }}</p>
51
- </div>
52
- </div>
53
-
54
- </div>
2
+ <div class="pd-big">
3
+
55
4
 
56
- </section>
5
+
6
+ <div class="mn-b-thin pos-relative w-100 bg-main radius-big pd-big">
7
+
8
+ <h2 class="mn-b-small">Order is {{order.status}}</h2>
9
+ <p class="mn-b-medium w-m-40r p-medium">Your order has been successfully created. Our manager will contact you within five minutes to confirm your order.</p>
10
+
11
+
12
+ <p class="p-medium mn-b-thin t-semi">{{ statuses.find(status => status.value === order.status).nextstatus}}</p>
13
+
14
+ <div class="radius-extra mn-b-medium flex-nowrap flex h-1r pos-relativew-40r">
15
+ <div
16
+ class="bg-grey br-anim br-glow radius-extra mn-r-thin h-100 w-20"
17
+ :class="
18
+ {'br-anim br-glow br-glow-anim': ['created','confirmed', 'packing','in delivery','delivered'].indexOf(order.status) === 0 }
19
+ "
20
+ />
21
+ <div
22
+ class="bg-grey br-anim br-glow radius-extra mn-r-thin h-100 w-20"
23
+ :class="
24
+ {'br-anim br-glow br-glow-anim': ['created','confirmed', 'packing','in delivery','delivered'].indexOf(order.status) === 0 },
25
+ {'t-transp': ['created','confirmed', 'packing','in delivery','delivered'].indexOf(order.status) === -1 },
26
+ {'blink': order.status === 'created' }
27
+ "
28
+ />
29
+ <div
30
+ :class="
31
+ {'br-anim br-glow br-glow-anim': ['confirmed', 'packing','in delivery','delivered'].indexOf(order.status) === 0 },
32
+ {'t-transp': ['confirmed', 'packing','in delivery','delivered'].indexOf(order.status) === -1 },
33
+ {'blink': order.status === 'confirmed' }
34
+ "
35
+ class="bg-grey radius-extra mn-r-thin h-100 w-40"
36
+ />
37
+ <div
38
+ class="bg-grey radius-extra mn-r-thin h-100 w-40"
39
+ :class="
40
+ {'br-anim br-glow br-glow-anim': ['packing','in delivery','delivered'].indexOf(order.status) === 0 },
41
+ {'t-transp': ['packing','in delivery','delivered'].indexOf(order.status) === -1 },
42
+ {'blink': order.status === 'packing' }
43
+ "
44
+ />
45
+ <div
46
+ class="bg-grey radius-extra h-100 w-20"
47
+ :class="
48
+ {'br-anim br-glow br-glow-anim': ['in delivery','delivered'].indexOf(order.status) === 0 },
49
+ {'t-transp': ['in delivery','delivered'].indexOf(order.status) === -1 },
50
+ {'blink': order.status === 'in delivery' }
51
+ "
52
+ />
53
+ </div>
54
+
55
+ <!-- <div class="w-max pd-thin radius-small bg-white-transp-20"> -->
56
+ <p>Estimated Arrival {{DateToFormattedString2(order.createdAt)}}</p>
57
+ <h3>10-15 min</h3>
58
+ <!-- </div> -->
59
+
60
+
61
+ <p class=" pos-absolute pos-t-medium pos-r-medium t-medium p-medium">
62
+ Order No: <span class="p-small t-transp">#{{order._id}}</span>
63
+ </p>
64
+ </div>
65
+
66
+
67
+
68
+ <div class="gap-thin cols-2">
69
+
70
+ <div class="w-100">
71
+
72
+ <CardOrganization
73
+ :organization="orderOrganization[0]"
74
+ :showRating="true"
75
+ :showFollowers="false"
76
+ :showProducts="false"
77
+ class="bg-grey mn-b-thin w-100 o-hidden radius-big pd-small "
78
+ />
79
+
80
+ <div
81
+ class="mn-b-thin bg-grey w-100 o-hidden radius-medium "
82
+ >
83
+ <div class="pd-small cols-2">
84
+ <div>
85
+ <span class="d-block t-medium p-medium">Your order is</span>
86
+ <span class=" t-lh-075 h2 d-block mn-b-small">{{order.status}}</span>
87
+ <p class="pd-t-nano pd-b-nano pd-r-thin pd-l-thin radius-extra bg-black t-white w-max">as on 29 aug 2021, Friday</p>
88
+ </div>
89
+ <div class="t-right">
90
+ Cancel order<br>
91
+ Exchange item
92
+ <hr class="mn-b-thin mn-t-thin">
93
+ For Delivery Queries Contact Us
94
+
95
+ </div>
96
+ </div>
97
+
98
+ <div class="pd-small cols-2 br-t br-black-transp-10 br-solid">
99
+ <p class="w-100 t-medium p-medium">
100
+ Phone
101
+ </p>
102
+
103
+ <p class="w-100 t-right ">
104
+ {{order.user?.phone.number}}
105
+ </p>
106
+ </div>
107
+
108
+ <div class="pd-small cols-2 br-t br-black-transp-10 br-solid">
109
+ <p class="t-medium p-medium">
110
+ Address
111
+ </p>
112
+
113
+ <p class="w-100 t-right">
114
+ {{order.delivery?.address.slice(0,64)}}
115
+ </p>
116
+ </div>
117
+
118
+ <div class="pd-small cols-2 br-t br-black-transp-10 br-solid">
119
+ <p class="mn-b-small t-medium p-medium">
120
+ Delivery
121
+ </p>
122
+
123
+ <p class="w-100 t-right mn-b-small">
124
+ {{order.delivery?.type}}
125
+ </p>
126
+ </div>
127
+
128
+ </div>
129
+
130
+
131
+ <div class="bg-grey radius-medium w-100">
132
+ <h3 class="pd-medium">Tracking History</h3>
133
+ <div v-for="status in statuses"
134
+ class="w-100 br-t br-solid br-black-transp-10 pd-medium flex-nowrap flex"
135
+ >
136
+ <img class="mn-r-small" src="@/assets/icons/status/created.svg"/>
137
+ <p class="h4 w-8r">{{status.name}}<br><span class="p-small">16:30, 29th Aug 2021</span></p>
138
+ <button @click="setStatus(status)" class="bg-main button radius-big">Set status</button>
139
+ </div>
140
+ </div>
141
+
142
+
143
+ <!-- <button
144
+ @click="requestPayment(order)"
145
+ v-if="
146
+ order.status === 'Подтвержден'
147
+ && order.payment.type === 'Online'
148
+ && payment.Status !== 'CONFIRMED'
149
+ && payment.Status !== 'REFUNDED'
150
+ "
151
+ class='w-100 button'>Оплатить заказ</button> -->
152
+ <span class="t-transp" v-if="payment && payment.Status === 'CONFIRMED'">Paid</span>
153
+ </div>
154
+
155
+ <div class="bg-grey radius-big pd-medium mn-r-bold pd-r-big br-right-dark w-100">
156
+ <h3 class="mn-b-small">Order Summary</h3>
157
+
158
+ <ul class="mn-b-semi">
159
+ <CardOrderItem
160
+ v-for="(product, index) in orderProducts" :key="product._id"
161
+ :editable="false"
162
+ :product="product"
163
+ />
164
+ </ul>
165
+
166
+ <div class="mn-b-medium radius-small br-solid br-1px br-black-transp-10 w-100">
167
+ <div class="pd-small br-solid br-b br-black-transp-10 flex">
168
+ <p class="mn-r-auto t-transp">In total</p>
169
+ <p>{{ cartTotalPrice }} {{returnCurrency()}} </p>
170
+ </div>
171
+ <div class="pd-small br-solid br-b br-black-transp-10 flex">
172
+ <p class="mn-r-auto t-transp">Delivery</p>
173
+ <p>Free</p>
174
+ </div>
175
+ <div class="pd-small flex-bottom flex">
176
+ <p class="mn-r-auto t-transp">In total to pay</p>
177
+ <p class="p-big t-semi">{{ cartTotalPrice }} {{returnCurrency()}} </p>
178
+ </div>
179
+ </div>
180
+
181
+ <h3 class="mn-b-small">Chat With Us</h3>
182
+
183
+ <ChatWindow
184
+ :username="
185
+ route.name === 'Order Status' ? order.user?.name || 'User' : 'Weeder Support'
186
+ "
187
+ :chatID="order._id"
188
+ class="bg-black radius-big bg-white o-hidden"
189
+ />
190
+
191
+ </div>
192
+ </div>
193
+ </div>
57
194
 
58
195
  </template>
59
196
 
60
197
 
61
- <script setup>
62
- ///////////////////////////////////////////////////////////////////////////////////////////////////
63
- // Import components
64
- ///////////////////////////////////////////////////////////////////////////////////////////////////
65
- // Block
66
- import CardOrderItem from '@pf/src/modules/orders/components/blocks/CardOrderItem.vue'
67
- // Sections
68
- import AskToLogin from '@pf/src/modules/orders/components/sections/AskToLogin.vue'
69
- import Succes from '@pf/src/modules/orders/components/sections/Succes.vue'
70
- import EmptyState from '@pf/src/modules/orders/components/sections/EmptyState.vue'
71
- import Form from '@pf/src/modules/orders/components/sections/Form.vue'
72
- ///////////////////////////////////////////////////////////////////////////////////////////////////
73
- // Import libs
74
- ///////////////////////////////////////////////////////////////////////////////////////////////////
75
- import { computed, onMounted } from 'vue'
76
- import { useRoute,useRouter } from 'vue-router'
77
-
78
- import * as auth from '@pf/src/modules/auth/store/auth';
79
- import * as shopcart from '@pf/src/modules/orders/store/shopcart';
80
- import * as orders from '@pf/src/modules/orders/store/orders';
81
- import * as users from '@pf/src/modules/users/store/users';
82
- ///////////////////////////////////////////////////////////////////////////////////////////////////
83
- // Variables and computed
84
- ///////////////////////////////////////////////////////////////////////////////////////////////////
85
- // Accessing router and store
86
-
87
- const route = useRoute()
88
- const router = useRouter()
89
- const cartTotalPrice = computed(() => shopcart.getters.cartTotalPrice)
90
-
91
- const order = computed(() => orders.state.current)
92
- const user = computed(() => users.state.current)
93
-
94
- function handleCreate() {
95
- orders.actions.create(shopcart.state.items);
96
- }
97
- </script>
198
+ <script setup="props">
199
+ import { computed, ref, onMounted } from 'vue'
200
+ import { useRouter, useRoute } from 'vue-router'
201
+ // Block
202
+ import CardOrderItem from '@pf/src/modules/orders/components/blocks/CardOrderItem.vue'
203
+ import CardOrganization from '@pf/src/modules/organizations/components/blocks/CardOrganization.vue'
98
204
 
99
- <style lang="scss">
205
+ import ChatWindow from '@pf/src/modules/chats/components/pages/ChatPage.vue';
100
206
 
101
- .order-wrapper {
102
- gap: 2.5rem;
103
- }
104
207
 
105
- .round-wrapper {
106
- position: relative;
208
+ import * as orders from '@pf/src/modules/orders/store/orders'
209
+ import * as products from '@pf/src/modules/products/store/products'
210
+ import * as organizations from '@pf/src/modules/organizations/store/organizations'
107
211
 
108
- .round {
109
- margin: 0;
110
- margin-right: 1rem;
212
+ const router = useRouter()
213
+ const route = useRoute()
214
+
215
+ await orders.actions.fetchOrder(route.params.order)
216
+
217
+ let order = ref(orders.state.current)
218
+
219
+ let statuses = [{
220
+ value: 'created',
221
+ name: 'Received',
222
+ nextstatus: 'Confirming order...',
223
+ description: 'Your order has been successfully created. Our manager will contact you within five minutes to confirm your order.'
224
+ },{
225
+ value: 'confirming',
226
+ name: 'Confirming',
227
+ nextstatus: 'Confirming order...',
228
+ description: 'Your order has been confirmed. We are now processing your items and preparing them for shipment.'
229
+ },{
230
+ value: 'confirmed',
231
+ name: 'Confirmed',
232
+ nextstatus: 'Order is confirmed. Packing order...',
233
+ description: 'Your order has been confirmed. We are now processing your items and preparing them for shipment.'
234
+ },{
235
+ value: 'packing',
236
+ name: 'Packing',
237
+ nextstatus: 'Packing order...',
238
+ description: 'Your order is now awaiting shipment. Once shipped, you will receive a notification with tracking information.'
239
+ },{
240
+ value: 'packing',
241
+ name: 'Packed',
242
+ nextstatus: 'Delivering order...',
243
+ description: 'Your order is now awaiting shipment. Once shipped, you will receive a notification with tracking information.'
244
+ },{
245
+ value: 'in delivery',
246
+ name: 'Delivering',
247
+ description: 'Your order is currently in transit. Our delivery team is working hard to get your items to you as soon as possible.'
248
+ },{
249
+ value: 'delivered',
250
+ name: 'Delivered',
251
+ description: 'Congratulations! Your order has been successfully delivered. If you have any concerns or feedback, feel free to contact us.'
252
+ }]
253
+
254
+ const productsOrganization = ref([])
255
+ const orderOrganization = ref([])
256
+
257
+ productsOrganization.value = await products.actions.read({
258
+ organization: order.value.organization
259
+ });
260
+
261
+ orderOrganization.value = await organizations.actions.read({
262
+ _id: order.value.organization
263
+ });
264
+
265
+ let cartTotalPrice = computed(() => {
266
+ return Number(order.value.positions.reduce((total, product) => {
267
+ return total + product.price * product.quantity;
268
+ }, 0));
269
+ })
270
+
271
+ let cartTotalAmount = computed(() => {
272
+ return Number(order.value.positions.reduce((total, product) => {
273
+ return total + product.quantity;
274
+ }, 0));
275
+ })
276
+
277
+ let orderProducts = computed(() => {
278
+ return order.value.positions.map(({ _id, quantity }) => {
279
+
280
+ const product = productsOrganization.value.find(product => product._id === _id)
281
+
282
+ return {
283
+ name: product.name,
284
+ images: product.images,
285
+ price: product.price,
286
+ _id: product._id,
287
+ quantity
288
+ }
289
+ })
290
+ })
291
+
292
+ onMounted(async () => {
293
+
294
+ })
295
+
296
+ // await store.dispatch('payments/getStatus', props.order._id)
297
+
298
+ // const payment = computed(() => store.state.payments.current)
299
+
300
+ async function setStatus(status) {
301
+ console.log(status)
302
+ orders.state.current.status = status.value
303
+
304
+
305
+
306
+ await orders.actions.update(orders.state.current)
111
307
  }
112
308
 
113
- input:checked {
114
- background: #00ff88;
309
+ function requestPayment(order) {
310
+ // store.dispatch("payments/newPayment", order);
115
311
  }
312
+
313
+ function DateToFormattedString(d) {
314
+ var fixedDate = new Date(d);
315
+ var mm = (fixedDate.getMonth()+1).toString(); // getMonth() is zero-based
316
+ var dd = (fixedDate.getDate() + 6).toString();
317
+
318
+ return (dd[1]?dd:"0"+dd[0]) + '/' + (mm[1]?mm:"0"+mm[0]);
319
+ }
116
320
 
117
- .round-checkmark {
118
- position: absolute;
119
- width: 0.5rem;
120
- height: 0.5rem;
121
- background: white;
321
+ function DateToFormattedString2(d) {
322
+ var fixedDate = new Date(d);
323
+ var mm = (fixedDate.getMonth() + 1).toString(); // getMonth() is zero-based
324
+ var dd = (fixedDate.getDate() + 1).toString();
325
+
326
+ return (dd[1]?dd:"0"+dd[0]) + '/' + (mm[1]?mm:"0"+mm[0]);
327
+ }
122
328
 
123
- left: 0.5rem;
124
- top: 0.5rem;
125
329
 
126
- opacity: 1;
127
- }
128
- }
330
+ </script>
129
331
 
130
- .order {
131
- padding-top: 2rem;
332
+ <style lang="scss" scoped>
333
+ .blink {
334
+ animation: blink-animation 1s ease infinite;
335
+ }
132
336
 
133
- .order-form { order: 2; }
134
- .order-finished { order: 2; .order-data {background: #f7f7f7; } }
135
-
136
- .order-list { order: 1; }
137
- }
138
-
337
+ @keyframes blink-animation {
338
+ 0%, 100% {
339
+ opacity: 1;
340
+ }
341
+ 50% {
342
+ opacity: 0.8;
343
+ }
344
+ }
139
345
  </style>
@@ -6,7 +6,7 @@
6
6
  @click="$router.push({
7
7
  name: 'AdminOrder'
8
8
  })"
9
- class="radius-100p i-big hover-scale-1 cursor-pointer t-white bg-second">
9
+ class="radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second">
10
10
  +
11
11
  </button>
12
12
  </header>
@@ -25,22 +25,23 @@
25
25
  <section
26
26
  class="cols-3 gap-thin"
27
27
  >
28
+
28
29
  <div
29
30
  v-for="order in orders.state.all"
30
- class="flex block"
31
+ class="bg-grey pd-small radius-big"
31
32
  >
32
- {{order.status}}
33
+ Status: {{order.status}}
33
34
 
34
35
  <p
35
36
  class="w-100 mn-b-thin p-big"
36
37
  >
37
- Заказ #{{order._id.slice(0,8)}}
38
+ Order No.: #{{order._id}}
38
39
  </p>
39
40
 
40
41
  <p
41
42
  class="mn-b-small t-transp w-100"
42
43
  >
43
- Номер клиента: +7{{order.phone}}<br>
44
+ <!-- Номер клиента: +7{{order.phone}}<br> -->
44
45
  </p>
45
46
 
46
47
  <p
@@ -48,22 +49,23 @@
48
49
  class="mn-b-small"
49
50
  >
50
51
 
51
- {{formatDate(order.createdAt)}}
52
+ Order Created: {{formatDate(order.createdAt)}}
52
53
 
53
54
  <router-link
54
55
  :to="{
55
56
  name: 'AdminOrderEdit',
56
57
  params: {
57
- _id: order._id
58
+ order: order._id
59
+
58
60
  }
59
61
  }"
60
62
  class="i-small"
61
63
  >
62
64
  EDIT
63
- <!-- <img
65
+ <img
64
66
  class="i-small"
65
67
  src="@/assets/icons/edit.svg"
66
- > -->
68
+ >
67
69
  </router-link>
68
70
  </p>
69
71
 
@@ -79,6 +81,8 @@
79
81
 
80
82
  import * as orders from '@pf/src/modules/orders/store/orders';
81
83
 
84
+ import CardOrder from '@pf/src/modules/orders/components/blocks/CardOrder.vue'
85
+
82
86
  const route = useRoute();
83
87
  const router = useRouter();
84
88
  // Tab logic
@@ -1,20 +1,23 @@
1
1
  <template>
2
2
  <div class="mn-b-big">
3
- <p v-if="store.state.orders.current._id === ''" class="mn-b-small t-semi p-big">История заказов</p>
4
- <p @click="store.commit('orders/resetOrder')" v-if="store.state.orders.current._id !== ''" class="mn-b-small t-semi p-big flex-nojustify flex-center flex link-inherit">
3
+ <!-- v-if="order.state.current._id === ''" -->
4
+ <p class="mn-b-small t-semi p-big">История заказов</p>
5
+ <!-- @click="store.commit('orders/resetOrder')" v-if="order.state.current._id !== ''" -->
6
+ <p class="mn-b-small t-semi p-big flex-nojustify flex-center flex link-inherit">
5
7
  <svg class="mn-r-small" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
- <path fill="black" fill-rule="evenodd" clip-rule="evenodd" d="M5.34661 10.8333L10.5907 16.0774L9.41217 17.2559L2.15625 10L9.41217 2.74408L10.5907 3.92259L5.34661 9.16667H17.5014V10.8333H5.34661Z" />
8
+ <path fill="rgb(var(--black))" fill-rule="evenodd" clip-rule="evenodd" d="M5.34661 10.8333L10.5907 16.0774L9.41217 17.2559L2.15625 10L9.41217 2.74408L10.5907 3.92259L5.34661 9.16667H17.5014V10.8333H5.34661Z" />
7
9
  </svg>
8
10
  Назад ко всем заказам
9
11
  </p>
10
12
  <hr class="mn-b-semi">
11
13
 
12
14
  <!-- <transition @before-enter="scrollTop" name="scale"> -->
13
- <!-- <OrderCard v-if="store.state.orders.current._id !== ''" :order="store.state.orders.current" /> -->
15
+ <!-- <OrderCard v-if="order.state.current._id !== ''" :order="order.state.current" /> -->
14
16
  <!-- </transition> -->
15
17
 
16
18
  <transition @before-enter="scrollTop" name="scale">
17
- <div v-if="store.state.orders.current._id === ''" >
19
+ <div v-if="order.state.current._id === ''" >
20
+
18
21
  <section v-for="order in user.orders" class="pd-big mn-b-regular order-client-card col">
19
22
  <p class="mn-b-regular flex-center flex-nowrap flex w-100">
20
23
  <img v-if="order.status === 'Создан'" class="mn-r-small" src="@/assets/icons/status/created.svg"/>
@@ -25,12 +28,12 @@
25
28
  <span class="w-100 t-medium p-big">{{order.status}}</span>
26
29
  </p>
27
30
  <ul class="mn-b-semi order-images-wrapper">
28
- <li v-for="(product, index) in orderProducts(order.items.slice(0,2))" :key="product._id" class="mn-r-small">
31
+ <li v-for="(product, index) in orderProducts(order.positions.slice(0,2))" :key="product._id" class="mn-r-small">
29
32
  <img v-if="product.images" :src="`@/assets/images/products/${product.images.links[0]}`">
30
33
  <img v-if="!product.images" :src="require( `@/assets/icons/photo.svg`)">
31
34
  </li>
32
- <li v-if="order.items.length >= 3" class="mn-r-small order-last-image">
33
- +{{order.items.length - 2 }}
35
+ <li v-if="order.positions.length >= 3" class="mn-r-small order-last-image">
36
+ +{{order.positions.length - 2 }}
34
37
  </li>
35
38
  </ul>
36
39
  <div class="flex">
@@ -88,8 +91,8 @@ function scrollTop(){
88
91
  document.getElementById('page-content').scrollIntoView({behavior: 'smooth', block: "start", inline: "start"});
89
92
  }
90
93
 
91
- function orderProducts (items) {
92
- return items.map(({ _id, size, color, quantity }) => {
94
+ function orderProducts (positions) {
95
+ return positions.map(({ _id, size, color, quantity }) => {
93
96
  const product = store.state.products.all.find(product => product._id === _id)
94
97
  return {
95
98
  name: product.name,