@ozdao/prometheus-framework 0.2.220 → 0.2.222

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. package/dist/builder.js +7 -4
  2. package/dist/builder.mjs +7 -4
  3. package/dist/community.server.js +1 -1
  4. package/dist/community.server.mjs +1 -1
  5. package/dist/main.css +1 -1
  6. package/dist/organizations.server.js +39 -2
  7. package/dist/organizations.server.mjs +39 -2
  8. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +1 -1
  9. package/dist/prometheus-framework/src/components/Button/Button.vue.js +1 -1
  10. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
  11. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +1 -1
  12. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  13. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  14. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  15. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  16. package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs +1 -1
  17. package/dist/prometheus-framework/src/components/Slider/Slider.vue.js +1 -1
  18. package/dist/prometheus-framework/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  19. package/dist/prometheus-framework/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  20. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +4 -4
  21. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +4 -4
  22. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  23. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  24. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +3 -3
  25. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +3 -3
  26. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +3 -3
  27. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +3 -3
  28. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +3 -3
  29. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
  30. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +3 -3
  31. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  32. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +3 -3
  33. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  34. package/dist/prometheus-framework/src/modules/auth/views/middlewares/ownership.validation.cjs +33 -0
  35. package/dist/prometheus-framework/src/modules/auth/views/middlewares/ownership.validation.cjs.map +1 -0
  36. package/dist/prometheus-framework/src/modules/auth/views/middlewares/ownership.validation.js +33 -0
  37. package/dist/prometheus-framework/src/modules/auth/views/middlewares/ownership.validation.js.map +1 -0
  38. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +3 -1
  39. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
  40. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +3 -1
  41. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  42. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +9 -8
  43. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  44. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +10 -9
  45. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  46. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +11 -13
  47. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  48. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +11 -13
  49. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  50. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +4 -4
  51. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +4 -4
  52. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +3 -3
  53. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
  54. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +2 -2
  55. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +2 -2
  56. package/dist/prometheus-framework/src/modules/community/router/blogposts.cjs +11 -4
  57. package/dist/prometheus-framework/src/modules/community/router/blogposts.cjs.map +1 -1
  58. package/dist/prometheus-framework/src/modules/community/router/blogposts.js +11 -4
  59. package/dist/prometheus-framework/src/modules/community/router/blogposts.js.map +1 -1
  60. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  61. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  62. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +2 -2
  63. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +2 -2
  64. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  65. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  66. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
  67. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  68. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +3 -3
  69. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +3 -3
  70. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +1 -1
  71. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +1 -1
  72. package/dist/prometheus-framework/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  73. package/dist/prometheus-framework/src/modules/events/components/sections/Feed.vue.js +1 -1
  74. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs +1 -1
  75. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js +1 -1
  76. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  77. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  78. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
  79. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  80. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  81. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  82. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  83. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  84. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs +4 -5
  85. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
  86. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js +4 -5
  87. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
  88. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  89. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  90. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  91. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  92. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  93. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  94. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  95. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  96. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +3 -3
  97. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +3 -3
  98. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  99. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  100. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +5 -5
  101. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +5 -5
  102. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  103. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +1 -1
  104. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +3 -3
  105. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +3 -3
  106. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +2 -2
  107. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +2 -2
  108. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  109. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  110. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  111. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  112. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  113. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  114. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +6 -6
  115. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +6 -6
  116. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  117. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +2 -2
  118. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  119. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  120. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +5 -5
  121. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +5 -5
  122. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  123. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  124. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +4 -4
  125. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +4 -4
  126. package/dist/prometheus-framework/src/modules/organizations/components/sections/Feed.vue.cjs +1 -1
  127. package/dist/prometheus-framework/src/modules/organizations/components/sections/Feed.vue.js +1 -1
  128. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
  129. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
  130. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +5 -5
  131. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +5 -5
  132. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +713 -713
  133. package/dist/prometheus-framework/src/modules/pages/pages.client.js +713 -713
  134. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +3 -3
  135. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +3 -3
  136. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  137. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  138. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
  139. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  140. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +2 -2
  141. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +2 -2
  142. package/dist/prometheus-framework/src/modules/products/components/blocks/Images360.vue.cjs +1 -1
  143. package/dist/prometheus-framework/src/modules/products/components/blocks/Images360.vue.js +1 -1
  144. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  146. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  147. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  148. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  149. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  150. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  151. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +1 -1
  152. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  153. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  154. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +3 -3
  155. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +3 -3
  156. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  157. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  158. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +4 -4
  159. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
  160. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  161. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  162. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +2 -2
  163. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +2 -2
  164. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  165. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  166. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +4 -4
  167. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +4 -4
  168. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs +1 -1
  169. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js +1 -1
  170. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  171. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  172. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +3 -3
  173. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +3 -3
  174. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +2 -2
  175. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  176. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  177. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  178. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  179. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +1 -1
  180. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +5 -5
  181. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +5 -5
  182. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +3 -3
  183. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +3 -3
  184. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.cjs +1 -1
  185. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.js +1 -1
  186. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.cjs +3 -3
  187. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +3 -3
  188. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.cjs +1 -1
  189. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.js +1 -1
  190. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  191. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  192. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +2 -2
  193. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  194. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
  195. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  196. package/package.json +1 -1
  197. package/src/builder/webpack/webpack.config.client.js +7 -4
  198. package/src/modules/auth/views/middlewares/ownership.validation.js +45 -0
  199. package/src/modules/community/components/blocks/CardBlogpost.vue +3 -1
  200. package/src/modules/community/components/layouts/Community.vue +5 -7
  201. package/src/modules/community/components/pages/BlogPost.vue +7 -10
  202. package/src/modules/community/models/blogpost.model.js +1 -1
  203. package/src/modules/community/router/blogposts.js +10 -2
  204. package/src/modules/globals/views/components/layouts/App.vue +7 -7
  205. package/src/modules/organizations/controllers/organizations.controller.js +26 -34
  206. package/src/modules/organizations/models/department.model.js +14 -0
  207. package/src/styles/base/all.scss +0 -2
  208. package/src/styles/config.scss +6 -0
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Select = require("../../../../components/Select/Select.vue2.cjs");
5
+ const Select = require("../../../../components/Select/Select.vue.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
7
  const CardOrganization = require("../../../organizations/components/blocks/CardOrganization.vue.cjs");
8
8
  const IconFeatured = require("../../../icons/entities/IconFeatured.vue.cjs");
@@ -15,11 +15,11 @@ const organizations = require("../../../organizations/store/organizations.cjs");
15
15
  const memberships = require("../../../organizations/store/memberships.cjs");
16
16
  const _hoisted_1 = {
17
17
  style: { "grid-template-columns": "2fr 4fr 2fr" },
18
- class: "cols-3 gap-thin pd-thin"
18
+ class: "cols-3 gap-thin pd-t-zero pd-thin"
19
19
  };
20
- const _hoisted_2 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column flex-nowrap flex" };
20
+ const _hoisted_2 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column mobile:flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide" };
21
21
  const _hoisted_3 = { class: "pos-relative" };
22
- const _hoisted_4 = { class: "bg-main t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex" };
22
+ const _hoisted_4 = { class: "bg-light t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex" };
23
23
  const _hoisted_5 = { class: "pos-relative flex-v-center flex-nowrap flex" };
24
24
  const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode("span", { class: "mn-r-thin" }, "Topics for ", -1);
25
25
  const _hoisted_7 = { class: "align-self-start bg-light radius-big pd-medium" };
@@ -81,17 +81,18 @@ const _sfc_main = {
81
81
  vue.createVNode(IconFollowing.default, { class: "i-medium mn-r-thin t-transp" }),
82
82
  vue.createTextVNode(" Following ")
83
83
  ], 2)) : vue.createCommentVNode("", true),
84
- vue.createVNode(_component_router_link, {
84
+ auth.state.user._id ? (vue.openBlock(), vue.createBlock(_component_router_link, {
85
+ key: 1,
85
86
  to: {
86
87
  name: "Create BlogPost"
87
88
  },
88
- class: "button t-medium mn-t-small bg-main w-100"
89
+ class: "button t-medium bg-main w-100"
89
90
  }, {
90
91
  default: vue.withCtx(() => [
91
92
  vue.createTextVNode(" Create Post ")
92
93
  ]),
93
94
  _: 1
94
- })
95
+ })) : vue.createCommentVNode("", true)
95
96
  ]),
96
97
  vue.createElementVNode("section", _hoisted_3, [
97
98
  vue.createElementVNode("header", _hoisted_4, [
@@ -102,7 +103,7 @@ const _sfc_main = {
102
103
  select: blogposts.state.filter.period,
103
104
  "onUpdate:select": _cache[4] || (_cache[4] = ($event) => blogposts.state.filter.period = $event),
104
105
  placeholder: "all time",
105
- class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h3 t-center br-solid br-2px br-black-transp-10"
106
+ class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h3 t-center"
106
107
  }, null, 8, ["select"])
107
108
  ])
108
109
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"Community.vue.cjs","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["<template>\n\t<div style=\"grid-template-columns: 2fr 4fr 2fr;\" class=\"cols-3 gap-thin pd-thin\">\n\n\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column flex-nowrap flex\">\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFeatured\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\t\n\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tPopular\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tRecent\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFollowing\n\t\t\t</li>\n\n\t\t\t<router-link \n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t}\" \n\t\t\t\tclass=\"button t-medium mn-t-small bg-main w-100\"\n\t\t\t>\n\t\t\t\tCreate Post\n\t\t\t</router-link>\n\t\t</ul>\n\n\t\t<section class=\"pos-relative\">\n\n\t\t\t<header class=\"bg-main t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t \t<h3 class=\"pos-relative flex-v-center flex-nowrap flex\">\n\t \t\t<span class=\"mn-r-thin\">Topics for </span>\n\n\t \t\t<Select \n\t\t :options=\"['today','week','month','year','all time']\"\n\t\t v-model:select=\"blog.state.filter.period\" \n\t\t placeholder=\"all time\"\n\t\t class=\"\n\t\t \tt-semi\n\t\t \tpos-relative \n\t\t \tw-max\n\t\t \tbg-main t-black\n\t\t \tpd-thin\n\t\t \tradius-medium\n\t\t h3\n\t\t \tt-center\n\t\t \tbr-solid\n\t\t \tbr-2px\n\t\t \tbr-black-transp-10\n\t\t \"\n\t\t />\n\t \t</h3>\n\t\t\t</header>\n\n\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t</transition>\n\t\t\t</router-view>\n\n\t\t</section>\n\n\t\t<div class=\"align-self-start bg-light radius-big pd-medium\">\n\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t<p class=\"t-medium mn-b-small\">Popular Communities</p>\n\t\t\t\t\n\t\t\t\t<router-link \n\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t>\n\t\t\t\t\t+\n\t\t\t\t</router-link>\n\t\t\t</div>\n\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Feed\n\t\t :states=\"{\n\t\t empty: {\n\t\t title: 'No Organization Found',\n\t\t description: 'Currently, there are no organization available.'\n\t\t }\n\t\t }\"\n\t\t :store=\"{\n\t\t read: (options) => organizations.actions.read(options),\n\t\t state: organizations.state\n\t\t }\"\n\t\t :options=\"{\n\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\tlimit: 10\n\t\t }\"\n\t\t v-slot=\"{ \n\t\t items \n\t\t }\"\n\t\t >\n\t\t \t<CardOrganization \n\t \t\t\tv-for=\"organization in items\"\n\t \t:key=\"organization._id\" \n\t\t \t:organization=\"organization\"\n\t\t \t:user=\"auth.state.user\"\n\t\t \t:showProducts=\"false\"\n\t\t \t:showRating=\"false\"\n\t\t \t:showFeatured=\"false\"\n\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\tclass=\"mn-b-thin w-100 pd-0 bg-white radius-big o-hidden\"\n\t\t\t />\n\t\t </Feed>\n\t\t\t</transition>\n\t\t</div>\n</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@pf/src/components/Select/Select.vue'\n\timport Feed from '@pf/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@pf/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@pf/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@pf/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@pf/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@pf/src/modules/icons/entities/IconFollowing.vue'\n\n \t// Import state\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth'\n\timport * as organizations from '@pf/src/modules/organizations/store/organizations'\n\timport * as memberships from '@pf/src/modules/organizations/store/memberships'\n\n\t// State\n\tconst route = useRoute();\n\tconst router = useRouter();\n\n\tif (route.params.category === 'popular') blog.state.sort.param = 'views'; \n\tif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\n\tconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n\t memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n\t};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["useRoute","useRouter","blog.state","memberships.mutations","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+JC,UAAM,QAAQA,UAAAA;AACd,UAAM,SAASC,UAAAA;AAEf,QAAI,MAAM,OAAO,aAAa,UAAWC,WAAAA,MAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,WAAAA,MAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FC,4BAAsB,uBAAuBC,cAAAA,MAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACjI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Community.vue.cjs","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["<template>\n\t<div style=\"grid-template-columns: 2fr 4fr 2fr;\" class=\"cols-3 gap-thin pd-t-zero pd-thin\">\n\n\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column mobile:flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide\">\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFeatured\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\t\n\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tPopular\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tRecent\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFollowing\n\t\t\t</li>\n\n\t\t\t<router-link \n\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t}\" \n\t\t\t\tclass=\"button t-medium bg-main w-100\"\n\t\t\t>\n\t\t\t\tCreate Post\n\t\t\t</router-link>\n\t\t</ul>\n\n\t\t<section class=\"pos-relative\">\n\n\t\t\t<header class=\"bg-light t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t \t<h3 class=\"pos-relative flex-v-center flex-nowrap flex\">\n\t \t\t<span class=\"mn-r-thin\">Topics for </span>\n\n\t \t\t<Select \n\t\t :options=\"['today','week','month','year','all time']\"\n\t\t v-model:select=\"blog.state.filter.period\" \n\t\t placeholder=\"all time\"\n\t\t class=\"\n\t\t \tt-semi\n\t\t \tpos-relative \n\t\t \tw-max\n\t\t \tbg-main t-black\n\t\t \tpd-thin\n\t\t \tradius-medium\n\t\t h3\n\t\t \tt-center\n\t\t \"\n\t\t />\n\t \t</h3>\n\t\t\t</header>\n\n\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t</transition>\n\t\t\t</router-view>\n\n\t\t</section>\n\n\t\t<div class=\"align-self-start bg-light radius-big pd-medium\">\n\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t<p class=\"t-medium mn-b-small\">Popular Communities</p>\n\t\t\t\t\n\t\t\t\t<router-link \n\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t>\n\t\t\t\t\t+\n\t\t\t\t</router-link>\n\t\t\t</div>\n\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Feed\n\t\t :states=\"{\n\t\t empty: {\n\t\t title: 'No Organization Found',\n\t\t description: 'Currently, there are no organization available.'\n\t\t }\n\t\t }\"\n\t\t :store=\"{\n\t\t read: (options) => organizations.actions.read(options),\n\t\t state: organizations.state\n\t\t }\"\n\t\t :options=\"{\n\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\tlimit: 10\n\t\t }\"\n\t\t v-slot=\"{ \n\t\t items \n\t\t }\"\n\t\t >\n\t\t \t<CardOrganization \n\t \t\t\tv-for=\"organization in items\"\n\t \t:key=\"organization._id\" \n\t\t \t:organization=\"organization\"\n\t\t \t:user=\"auth.state.user\"\n\t\t \t:showProducts=\"false\"\n\t\t \t:showRating=\"false\"\n\t\t \t:showFeatured=\"false\"\n\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\tclass=\"mn-b-thin w-100 pd-0 bg-white radius-big o-hidden\"\n\t\t\t />\n\t\t </Feed>\n\t\t\t</transition>\n\t\t</div>\n</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@pf/src/components/Select/Select.vue'\n\timport Feed from '@pf/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@pf/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@pf/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@pf/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@pf/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@pf/src/modules/icons/entities/IconFollowing.vue'\n\n \t// Import state\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth'\n\timport * as organizations from '@pf/src/modules/organizations/store/organizations'\n\timport * as memberships from '@pf/src/modules/organizations/store/memberships'\n\n\t// State\n\tconst route = useRoute();\n\tconst router = useRouter();\n\n\tif (route.params.category === 'popular') blog.state.sort.param = 'views'; \n\tif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\n\tconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n\t memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n\t};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["useRoute","useRouter","blog.state","memberships.mutations","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JC,UAAM,QAAQA,UAAAA;AACd,UAAM,SAASC,UAAAA;AAEf,QAAI,MAAM,OAAO,aAAa,UAAWC,WAAAA,MAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,WAAAA,MAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FC,4BAAsB,uBAAuBC,cAAAA,MAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACjI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
- import { resolveComponent, openBlock, createElementBlock, createElementVNode, normalizeClass, unref, createVNode, createTextVNode, createCommentVNode, withCtx, Transition, createBlock, resolveDynamicComponent, Fragment, renderList } from "vue";
1
+ import { resolveComponent, openBlock, createElementBlock, createElementVNode, normalizeClass, unref, createVNode, createTextVNode, createCommentVNode, createBlock, withCtx, Transition, resolveDynamicComponent, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import Select from "../../../../components/Select/Select.vue2.js";
3
+ import Select from "../../../../components/Select/Select.vue.js";
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$6 from "../../../organizations/components/blocks/CardOrganization.vue.js";
6
6
  import _sfc_main$1 from "../../../icons/entities/IconFeatured.vue.js";
@@ -13,11 +13,11 @@ import { actions, state as state$2 } from "../../../organizations/store/organiza
13
13
  import { mutations } from "../../../organizations/store/memberships.js";
14
14
  const _hoisted_1 = {
15
15
  style: { "grid-template-columns": "2fr 4fr 2fr" },
16
- class: "cols-3 gap-thin pd-thin"
16
+ class: "cols-3 gap-thin pd-t-zero pd-thin"
17
17
  };
18
- const _hoisted_2 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column flex-nowrap flex" };
18
+ const _hoisted_2 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column mobile:flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide" };
19
19
  const _hoisted_3 = { class: "pos-relative" };
20
- const _hoisted_4 = { class: "bg-main t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex" };
20
+ const _hoisted_4 = { class: "bg-light t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex" };
21
21
  const _hoisted_5 = { class: "pos-relative flex-v-center flex-nowrap flex" };
22
22
  const _hoisted_6 = /* @__PURE__ */ createElementVNode("span", { class: "mn-r-thin" }, "Topics for ", -1);
23
23
  const _hoisted_7 = { class: "align-self-start bg-light radius-big pd-medium" };
@@ -79,17 +79,18 @@ const _sfc_main = {
79
79
  createVNode(_sfc_main$4, { class: "i-medium mn-r-thin t-transp" }),
80
80
  createTextVNode(" Following ")
81
81
  ], 2)) : createCommentVNode("", true),
82
- createVNode(_component_router_link, {
82
+ state$1.user._id ? (openBlock(), createBlock(_component_router_link, {
83
+ key: 1,
83
84
  to: {
84
85
  name: "Create BlogPost"
85
86
  },
86
- class: "button t-medium mn-t-small bg-main w-100"
87
+ class: "button t-medium bg-main w-100"
87
88
  }, {
88
89
  default: withCtx(() => [
89
90
  createTextVNode(" Create Post ")
90
91
  ]),
91
92
  _: 1
92
- })
93
+ })) : createCommentVNode("", true)
93
94
  ]),
94
95
  createElementVNode("section", _hoisted_3, [
95
96
  createElementVNode("header", _hoisted_4, [
@@ -100,7 +101,7 @@ const _sfc_main = {
100
101
  select: state.filter.period,
101
102
  "onUpdate:select": _cache[4] || (_cache[4] = ($event) => state.filter.period = $event),
102
103
  placeholder: "all time",
103
- class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h3 t-center br-solid br-2px br-black-transp-10"
104
+ class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h3 t-center"
104
105
  }, null, 8, ["select"])
105
106
  ])
106
107
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"Community.vue.js","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["<template>\n\t<div style=\"grid-template-columns: 2fr 4fr 2fr;\" class=\"cols-3 gap-thin pd-thin\">\n\n\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column flex-nowrap flex\">\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFeatured\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\t\n\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tPopular\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tRecent\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFollowing\n\t\t\t</li>\n\n\t\t\t<router-link \n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t}\" \n\t\t\t\tclass=\"button t-medium mn-t-small bg-main w-100\"\n\t\t\t>\n\t\t\t\tCreate Post\n\t\t\t</router-link>\n\t\t</ul>\n\n\t\t<section class=\"pos-relative\">\n\n\t\t\t<header class=\"bg-main t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t \t<h3 class=\"pos-relative flex-v-center flex-nowrap flex\">\n\t \t\t<span class=\"mn-r-thin\">Topics for </span>\n\n\t \t\t<Select \n\t\t :options=\"['today','week','month','year','all time']\"\n\t\t v-model:select=\"blog.state.filter.period\" \n\t\t placeholder=\"all time\"\n\t\t class=\"\n\t\t \tt-semi\n\t\t \tpos-relative \n\t\t \tw-max\n\t\t \tbg-main t-black\n\t\t \tpd-thin\n\t\t \tradius-medium\n\t\t h3\n\t\t \tt-center\n\t\t \tbr-solid\n\t\t \tbr-2px\n\t\t \tbr-black-transp-10\n\t\t \"\n\t\t />\n\t \t</h3>\n\t\t\t</header>\n\n\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t</transition>\n\t\t\t</router-view>\n\n\t\t</section>\n\n\t\t<div class=\"align-self-start bg-light radius-big pd-medium\">\n\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t<p class=\"t-medium mn-b-small\">Popular Communities</p>\n\t\t\t\t\n\t\t\t\t<router-link \n\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t>\n\t\t\t\t\t+\n\t\t\t\t</router-link>\n\t\t\t</div>\n\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Feed\n\t\t :states=\"{\n\t\t empty: {\n\t\t title: 'No Organization Found',\n\t\t description: 'Currently, there are no organization available.'\n\t\t }\n\t\t }\"\n\t\t :store=\"{\n\t\t read: (options) => organizations.actions.read(options),\n\t\t state: organizations.state\n\t\t }\"\n\t\t :options=\"{\n\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\tlimit: 10\n\t\t }\"\n\t\t v-slot=\"{ \n\t\t items \n\t\t }\"\n\t\t >\n\t\t \t<CardOrganization \n\t \t\t\tv-for=\"organization in items\"\n\t \t:key=\"organization._id\" \n\t\t \t:organization=\"organization\"\n\t\t \t:user=\"auth.state.user\"\n\t\t \t:showProducts=\"false\"\n\t\t \t:showRating=\"false\"\n\t\t \t:showFeatured=\"false\"\n\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\tclass=\"mn-b-thin w-100 pd-0 bg-white radius-big o-hidden\"\n\t\t\t />\n\t\t </Feed>\n\t\t\t</transition>\n\t\t</div>\n</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@pf/src/components/Select/Select.vue'\n\timport Feed from '@pf/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@pf/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@pf/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@pf/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@pf/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@pf/src/modules/icons/entities/IconFollowing.vue'\n\n \t// Import state\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth'\n\timport * as organizations from '@pf/src/modules/organizations/store/organizations'\n\timport * as memberships from '@pf/src/modules/organizations/store/memberships'\n\n\t// State\n\tconst route = useRoute();\n\tconst router = useRouter();\n\n\tif (route.params.category === 'popular') blog.state.sort.param = 'views'; \n\tif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\n\tconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n\t memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n\t};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.state","memberships.mutations","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+JC,UAAM,QAAQ;AACd,UAAM,SAAS;AAEf,QAAI,MAAM,OAAO,aAAa,UAAWA,OAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,OAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FC,gBAAsB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACjI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Community.vue.js","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["<template>\n\t<div style=\"grid-template-columns: 2fr 4fr 2fr;\" class=\"cols-3 gap-thin pd-t-zero pd-thin\">\n\n\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-big pd-medium p-medium gap-thin flex-column mobile:flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide\">\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFeatured\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\t\n\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tPopular\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tRecent\n\t\t\t</li>\n\t\t\t<li \t\n\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-extra\"\n\t\t\t>\n\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\tFollowing\n\t\t\t</li>\n\n\t\t\t<router-link \n\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t:to=\"{\n\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t}\" \n\t\t\t\tclass=\"button t-medium bg-main w-100\"\n\t\t\t>\n\t\t\t\tCreate Post\n\t\t\t</router-link>\n\t\t</ul>\n\n\t\t<section class=\"pos-relative\">\n\n\t\t\t<header class=\"bg-light t-black radius-big pd-medium pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t \t<h3 class=\"pos-relative flex-v-center flex-nowrap flex\">\n\t \t\t<span class=\"mn-r-thin\">Topics for </span>\n\n\t \t\t<Select \n\t\t :options=\"['today','week','month','year','all time']\"\n\t\t v-model:select=\"blog.state.filter.period\" \n\t\t placeholder=\"all time\"\n\t\t class=\"\n\t\t \tt-semi\n\t\t \tpos-relative \n\t\t \tw-max\n\t\t \tbg-main t-black\n\t\t \tpd-thin\n\t\t \tradius-medium\n\t\t h3\n\t\t \tt-center\n\t\t \"\n\t\t />\n\t \t</h3>\n\t\t\t</header>\n\n\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t</transition>\n\t\t\t</router-view>\n\n\t\t</section>\n\n\t\t<div class=\"align-self-start bg-light radius-big pd-medium\">\n\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t<p class=\"t-medium mn-b-small\">Popular Communities</p>\n\t\t\t\t\n\t\t\t\t<router-link \n\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t>\n\t\t\t\t\t+\n\t\t\t\t</router-link>\n\t\t\t</div>\n\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Feed\n\t\t :states=\"{\n\t\t empty: {\n\t\t title: 'No Organization Found',\n\t\t description: 'Currently, there are no organization available.'\n\t\t }\n\t\t }\"\n\t\t :store=\"{\n\t\t read: (options) => organizations.actions.read(options),\n\t\t state: organizations.state\n\t\t }\"\n\t\t :options=\"{\n\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\tlimit: 10\n\t\t }\"\n\t\t v-slot=\"{ \n\t\t items \n\t\t }\"\n\t\t >\n\t\t \t<CardOrganization \n\t \t\t\tv-for=\"organization in items\"\n\t \t:key=\"organization._id\" \n\t\t \t:organization=\"organization\"\n\t\t \t:user=\"auth.state.user\"\n\t\t \t:showProducts=\"false\"\n\t\t \t:showRating=\"false\"\n\t\t \t:showFeatured=\"false\"\n\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\tclass=\"mn-b-thin w-100 pd-0 bg-white radius-big o-hidden\"\n\t\t\t />\n\t\t </Feed>\n\t\t\t</transition>\n\t\t</div>\n</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@pf/src/components/Select/Select.vue'\n\timport Feed from '@pf/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@pf/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@pf/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@pf/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@pf/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@pf/src/modules/icons/entities/IconFollowing.vue'\n\n \t// Import state\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth'\n\timport * as organizations from '@pf/src/modules/organizations/store/organizations'\n\timport * as memberships from '@pf/src/modules/organizations/store/memberships'\n\n\t// State\n\tconst route = useRoute();\n\tconst router = useRouter();\n\n\tif (route.params.category === 'popular') blog.state.sort.param = 'views'; \n\tif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\n\tconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n\t memberships.mutations.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n\t};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.state","memberships.mutations","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JC,UAAM,QAAQ;AACd,UAAM,SAAS;AAEf,QAAI,MAAM,OAAO,aAAa,UAAWA,OAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,OAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAQ,GAAE,YAAY,iBAAiB;AAC3FC,gBAAsB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACjI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vue_f36acd1f = require("../../../../../../node_modules/@unhead/vue/dist/shared/vue.f36acd1f.cjs");
5
- ;/* empty css */
5
+ ;/* empty css */
6
6
  const EmptyState = require("../../../../components/EmptyState/EmptyState.vue.cjs");
7
7
  const CardBlogpost = require("../blocks/CardBlogpost.vue.cjs");
8
8
  const SkeletonBlogpost = require("../../../icons/skeletons/SkeletonBlogpost.vue.cjs");
@@ -30,20 +30,18 @@ const _sfc_main = {
30
30
  const data = ([__temp, __restore] = vue.withAsyncContext(() => blogposts.read({ user: auth.state.user._id, url: route.params.url })), __temp = await __temp, __restore(), __temp);
31
31
  blogpost.value = data[0];
32
32
  isLoading.value = false;
33
- vue.computed(() => {
33
+ const firstImage = vue.computed(() => {
34
34
  var _a;
35
35
  return (_a = blogpost.value) == null ? void 0 : _a.content.find((block) => block.type === "ImageUpload");
36
36
  });
37
- vue.computed(() => {
38
- var _a;
39
- return (_a = blogpost.value) == null ? void 0 : _a.content.find((block) => block.type === "Video");
40
- });
41
37
  const firstText = vue.computed(() => {
42
38
  var _a;
43
- return (_a = blogpost.value) == null ? void 0 : _a.content[2];
39
+ return (_a = blogpost.value) == null ? void 0 : _a.content.find(
40
+ (block) => block.type === "Textarea" && block.class !== "h2"
41
+ );
44
42
  });
45
43
  const metadata = vue.computed(() => {
46
- var _a, _b, _c, _d, _e, _f;
44
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
47
45
  return {
48
46
  title: (_a = blogpost.value) == null ? void 0 : _a.name,
49
47
  description: (_b = firstText.value) == null ? void 0 : _b.content.slice(0, 120),
@@ -52,12 +50,12 @@ const _sfc_main = {
52
50
  // { hid: 'keywords', name: 'keywords', content: t('meta.keywords') },
53
51
  { hid: "og:title", property: "og:title", content: (_d = blogpost.value) == null ? void 0 : _d.name },
54
52
  { hid: "og:description", property: "og:description", content: (_e = firstText.value) == null ? void 0 : _e.content.slice(0, 120) },
55
- // { hid: 'og:image', property: 'og:image', content: base_url + '/favicon/cover.jpg' },
53
+ { hid: "og:image", property: "og:image", content: ((_f = firstImage.value) == null ? void 0 : _f.content) ? process.env.FILE_SERVER_URL + ((_g = firstImage.value) == null ? void 0 : _g.content) : process.env.FILE_SERVER_URL + "/favicon/cover.jpg" },
56
54
  // { hid: 'og:url', property: 'og:url', content: current_url.value },
57
- { hid: "twitter:title", name: "twitter:title", content: (_f = blogpost.value) == null ? void 0 : _f.name },
58
- { hid: "twitter:description", name: "twitter:description", content: firstText.value }
59
- // { hid: 'twitter:image', name: 'twitter:image', content: base_url + '/favicon/cover.jpg' },
60
- // { hid: 'twitter:card', name: 'twitter:card', content: t('meta.twitter.card') },
55
+ { hid: "twitter:title", name: "twitter:title", content: (_h = blogpost.value) == null ? void 0 : _h.name },
56
+ { hid: "twitter:description", name: "twitter:description", content: (_i = firstText.value) == null ? void 0 : _i.content.slice(0, 120) },
57
+ { hid: "twitter:image", name: "twitter:image", content: ((_j = firstImage.value) == null ? void 0 : _j.content) ? process.env.FILE_SERVER_URL + ((_k = firstImage.value) == null ? void 0 : _k.content) : process.env.FILE_SERVER_URL + "/favicon/cover.jpg" },
58
+ { hid: "twitter:card", name: "twitter:card", content: process.env.FILE_SERVER_URL + "/favicon/cover.jpg" }
61
59
  ]
62
60
  };
63
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BlogPost.vue.cjs","sources":["../../../../../../../src/modules/community/components/pages/BlogPost.vue"],"sourcesContent":["<template>\n <section class=\"pd-thin\">\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"o-hidden bg-light radius-big\">\n <SkeletonBlogpost\n v-if=\"isLoading\"\n v-for=\"i in 3\" :key=\"i\"\n />\n </TransitionGroup>\n\n <transition \n name=\"fade\"\n >\n <EmptyState \n v-if=\"!isLoading && !blogpost\"\n title=\"No Blogpost Found\"\n description=\"Currently, there are no blogposts available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n\t\t \n\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"container\">\n \t <!-- <button @click=\"share\" >\n\t\t\t Поделиться\n\t\t\t </button>\n\t\t\t -->\n \t<CardBlogpost \n v-if=\"!isLoading && blogpost\"\n @click=\"$router.push({name: 'Blogpost', params: {url: blogpost.url}})\" \n :blogpost=\"blogpost\" \n :user=\"auth.state.user._id\"\n :type=\"'blogpostPage'\"\n :hideTitle=\"true\"\n class=\"mn-b-medium\"\n >\n\n\t <Viewer\n\t v-if=\"blogpost && blogpost.content\"\n\t :content=\"blogpost.content\"\n\t />\n\n\t\t\t\t<a v-if=\"blogpost.source\" :href=\"blogpost.source\" target=\"_blank\" class=\"mn-b-semi d-block w-max radius-big pd-thin bg-black t-white\">\n\t\t\t\t\tCheck Source 🔗\n\t\t\t\t</a>\n\t\t\t\n </CardBlogpost>\n\n \t<h3 class=\"mn-b-small\">Recommended Communities</h3>\n\t\t<Publics \n\t\t\tclass=\"mn-b-small\"\n\t\t/>\n\n <Comments \n v-if=\"!isLoading && blogpost\" \n :type=\"'blogpost'\" \n :target=\"blogpost._id\" \n :owner=\"auth.state.user._id\"\n />\n \n </TransitionGroup> \n \n </section>\n</template>\n\n<script setup>\n\timport { ref, onMounted, computed } from 'vue';\n\timport { useHead } from '@unhead/vue'\n\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue';\n\timport EmptyState from '@pf/src/components/EmptyState/EmptyState.vue';\n\n\timport CardBlogpost from '@pf/src/modules/community/components/blocks/CardBlogpost.vue';\n\timport SkeletonBlogpost from '@pf/src/modules/icons/skeletons/SkeletonBlogpost.vue'\n\timport Publics \t\tfrom '@pf/src/modules/organizations/components/sections/Publics.vue'\n\timport Comments from '@pf/src/modules/community/components/sections/Comments.vue';\n\n\timport Viewer from '@pf/src/modules/constructor/components/sections/Viewer.vue';\n\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth';\n\t \n\timport { useRoute } from 'vue-router';\n\n\tconst route = useRoute();\n\n\tconst blogpost = ref(null);\n\tconst isLoading = ref(true);\n\n\tconst canShare = ref(false);\n\n\tonMounted(() => {\n\t canShare.value = !!navigator.share;\n\t});\n\n\tconst share = async () => {\n\t if (!canShare.value) return;\n\n\t console.log('share')\n\t try {\n\t await navigator.share({\n\t title: 'Заголовок вашего контента',\n\t text: 'Описание вашего контента',\n\t // url: window.location.href,\n\t });\n\t console.log('Контент успешно отправлен');\n\t } catch (error) {\n\t console.error('Ошибка при отправке:', error);\n\t }\n\t};\n\n\t// onMounted(async () => {\n\t\tisLoading.value = true;\n\n\t\t// NOTE: You might need to change the method here to fetch blogposts\n\t\tconst data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n\n\t\tblogpost.value = data[0];\n\t\tisLoading.value = false;\n\t// });\n\n\t const firstImage = computed(() => {\n\t return blogpost.value?.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return blogpost.value?.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return blogpost.value?.content[2]\n\t});\n\n\t const metadata = computed(() => {return {\n title: blogpost.value?.name,\n description: firstText.value?.content.slice(0,120),\n meta: [\n { hid: 'description', name: 'description', content: firstText.value?.content.slice(0,120) },\n // { hid: 'keywords', name: 'keywords', content: t('meta.keywords') },\n { hid: 'og:title', property: 'og:title', content: blogpost.value?.name },\n { hid: 'og:description', property: 'og:description', content: firstText.value?.content.slice(0,120) },\n // { hid: 'og:image', property: 'og:image', content: base_url + '/favicon/cover.jpg' },\n // { hid: 'og:url', property: 'og:url', content: current_url.value },\n { hid: 'twitter:title', name: 'twitter:title', content: blogpost.value?.name },\n { hid: 'twitter:description', name: 'twitter:description', content: firstText.value },\n // { hid: 'twitter:image', name: 'twitter:image', content: base_url + '/favicon/cover.jpg' },\n // { hid: 'twitter:card', name: 'twitter:card', content: t('meta.twitter.card') },\n ],\n }});\nuseHead(metadata.value)\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["useRoute","ref","onMounted","_withAsyncContext","blog.read","auth.state","computed","useHead"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsFC,UAAM,QAAQA,UAAAA;AAEd,UAAM,WAAWC,QAAI,IAAI;AACzB,UAAM,YAAYA,QAAI,IAAI;AAE1B,UAAM,WAAWA,QAAI,KAAK;AAE1BC,QAAAA,UAAU,MAAM;AACd,eAAS,QAAQ,CAAC,CAAC,UAAU;AAAA,IAChC,CAAE;AAmBA,cAAU,QAAQ;AAGlB,UAAM,QAAO,CAAA,QAAA,SAAA,IAAAC,IAAAA,iBAAA,MAAMC,UAAS,KAAC,EAAE,MAAMC,KAAU,MAAC,KAAK,KAAK,KAAK,MAAM,OAAO,IAAG,CAAE,CAAA;AAEjF,aAAS,QAAQ,KAAK,CAAC;AACvB,cAAU,QAAQ;AAGCC,QAAAA,SAAS,MAAM;;AACjC,cAAO,cAAS,UAAT,mBAAgB,QAAQ,KAAK,WAAS,MAAM,SAAS;AAAA,IAC/D,CAAE;AAEkBA,QAAAA,SAAS,MAAM;;AAChC,cAAO,cAAS,UAAT,mBAAgB,QAAQ,KAAK,WAAS,MAAM,SAAS;AAAA,IAC/D,CAAE;AAED,UAAM,YAAYA,IAAAA,SAAS,MAAM;;AAC/B,cAAO,cAAS,UAAT,mBAAgB,QAAQ;AAAA,IAClC,CAAE;AAEA,UAAM,WAAWA,aAAS,MAAM;;AAAC,aAAO;AAAA,QACpC,QAAO,cAAS,UAAT,mBAAgB;AAAA,QACvB,cAAa,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE;AAAA,QAC9C,MAAM;AAAA,UACJ,EAAE,KAAK,eAAe,MAAM,eAAe,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA;AAAA,UAE3F,EAAE,KAAK,YAAY,UAAU,YAAY,UAAS,cAAS,UAAT,mBAAgB,KAAM;AAAA,UACxE,EAAE,KAAK,kBAAkB,UAAU,kBAAkB,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA;AAAA;AAAA,UAGrG,EAAE,KAAK,iBAAiB,MAAM,iBAAiB,UAAU,cAAS,UAAT,mBAAgB,KAAM;AAAA,UAC/E,EAAE,KAAK,uBAAuB,MAAM,uBAAuB,SAAS,UAAU,MAAO;AAAA;AAAA;AAAA,QAGtF;AAAA,MACF;AAAA,IAAA,CAAC;AACNC,iBAAAA,EAAQ,SAAS,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BlogPost.vue.cjs","sources":["../../../../../../../src/modules/community/components/pages/BlogPost.vue"],"sourcesContent":["<template>\n <section class=\"pd-thin\">\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"o-hidden bg-light radius-big\">\n <SkeletonBlogpost\n v-if=\"isLoading\"\n v-for=\"i in 3\" :key=\"i\"\n />\n </TransitionGroup>\n <transition \n name=\"fade\"\n >\n <EmptyState \n v-if=\"!isLoading && !blogpost\"\n title=\"No Blogpost Found\"\n description=\"Currently, there are no blogposts available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n\t\t \n\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"container\">\n \t <!-- <button @click=\"share\" >\n\t\t\t Поделиться\n\t\t\t </button>\n\t\t\t -->\n \t<CardBlogpost \n v-if=\"!isLoading && blogpost\"\n @click=\"$router.push({name: 'Blogpost', params: {url: blogpost.url}})\" \n :blogpost=\"blogpost\" \n :user=\"auth.state.user._id\"\n :type=\"'blogpostPage'\"\n :hideTitle=\"true\"\n class=\"mn-b-medium\"\n >\n\n\t <Viewer\n\t v-if=\"blogpost && blogpost.content\"\n\t :content=\"blogpost.content\"\n\t />\n\n\t\t\t\t<a v-if=\"blogpost.source\" :href=\"blogpost.source\" target=\"_blank\" class=\"mn-b-semi d-block w-max radius-big pd-thin bg-black t-white\">\n\t\t\t\t\tCheck Source 🔗\n\t\t\t\t</a>\n\t\t\t\n </CardBlogpost>\n\n \t<h3 class=\"mn-b-small\">Recommended Communities</h3>\n\t\t<Publics \n\t\t\tclass=\"mn-b-small\"\n\t\t/>\n\n <Comments \n v-if=\"!isLoading && blogpost\" \n :type=\"'blogpost'\" \n :target=\"blogpost._id\" \n :owner=\"auth.state.user._id\"\n />\n \n </TransitionGroup> \n \n </section>\n</template>\n\n<script setup>\n\timport { ref, onMounted, computed } from 'vue';\n\timport { useHead } from '@unhead/vue'\n\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue';\n\timport EmptyState from '@pf/src/components/EmptyState/EmptyState.vue';\n\n\timport CardBlogpost from '@pf/src/modules/community/components/blocks/CardBlogpost.vue';\n\timport SkeletonBlogpost from '@pf/src/modules/icons/skeletons/SkeletonBlogpost.vue'\n\timport Publics \t\tfrom '@pf/src/modules/organizations/components/sections/Publics.vue'\n\timport Comments from '@pf/src/modules/community/components/sections/Comments.vue';\n\n\timport Viewer from '@pf/src/modules/constructor/components/sections/Viewer.vue';\n\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth';\n\t \n\timport { useRoute } from 'vue-router';\n\n\tconst route = useRoute();\n\n\tconst blogpost = ref(null);\n\tconst isLoading = ref(true);\n\n\tconst canShare = ref(false);\n\n\tonMounted(() => {\n\t canShare.value = !!navigator.share;\n\t});\n\n\tconst share = async () => {\n\t if (!canShare.value) return;\n\n\t console.log('share')\n\t try {\n\t await navigator.share({\n\t title: 'Заголовок вашего контента',\n\t text: 'Описание вашего контента',\n\t // url: window.location.href,\n\t });\n\t console.log('Контент успешно отправлен');\n\t } catch (error) {\n\t console.error('Ошибка при отправке:', error);\n\t }\n\t};\n\n\t// onMounted(async () => {\n\t\tisLoading.value = true;\n\n\t\t// NOTE: You might need to change the method here to fetch blogposts\n\t\tconst data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n\n\t\tblogpost.value = data[0];\n\t\tisLoading.value = false;\n\t// });\n\n\t const firstImage = computed(() => {\n\t return blogpost.value?.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstText = computed(() => {\n\t return blogpost.value?.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n\t const metadata = computed(() => {return {\n title: blogpost.value?.name,\n description: firstText.value?.content.slice(0,120),\n meta: [\n { hid: 'description', name: 'description', content: firstText.value?.content.slice(0,120) },\n // { hid: 'keywords', name: 'keywords', content: t('meta.keywords') },\n { hid: 'og:title', property: 'og:title', content: blogpost.value?.name },\n { hid: 'og:description', property: 'og:description', content: firstText.value?.content.slice(0,120) },\n { hid: 'og:image', property: 'og:image', content: firstImage.value?.content ? process.env.FILE_SERVER_URL + firstImage.value?.content : process.env.FILE_SERVER_URL + '/favicon/cover.jpg' },\n // { hid: 'og:url', property: 'og:url', content: current_url.value },\n { hid: 'twitter:title', name: 'twitter:title', content: blogpost.value?.name },\n { hid: 'twitter:description', name: 'twitter:description', content: firstText.value?.content.slice(0,120) },\n { hid: 'twitter:image', name: 'twitter:image', content: firstImage.value?.content ? process.env.FILE_SERVER_URL + firstImage.value?.content : process.env.FILE_SERVER_URL + '/favicon/cover.jpg' },\n { hid: 'twitter:card', name: 'twitter:card', content: process.env.FILE_SERVER_URL + '/favicon/cover.jpg' },\n ],\n }});\nuseHead(metadata.value)\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["useRoute","ref","onMounted","_withAsyncContext","blog.read","auth.state","computed","useHead"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqFC,UAAM,QAAQA,UAAAA;AAEd,UAAM,WAAWC,QAAI,IAAI;AACzB,UAAM,YAAYA,QAAI,IAAI;AAE1B,UAAM,WAAWA,QAAI,KAAK;AAE1BC,QAAAA,UAAU,MAAM;AACd,eAAS,QAAQ,CAAC,CAAC,UAAU;AAAA,IAChC,CAAE;AAmBA,cAAU,QAAQ;AAGlB,UAAM,QAAO,CAAA,QAAA,SAAA,IAAAC,IAAAA,iBAAA,MAAMC,UAAS,KAAC,EAAE,MAAMC,KAAU,MAAC,KAAK,KAAK,KAAK,MAAM,OAAO,IAAG,CAAE,CAAA;AAEjF,aAAS,QAAQ,KAAK,CAAC;AACvB,cAAU,QAAQ;AAGlB,UAAM,aAAaC,IAAAA,SAAS,MAAM;;AACjC,cAAO,cAAS,UAAT,mBAAgB,QAAQ,KAAK,WAAS,MAAM,SAAS;AAAA,IAC/D,CAAE;AAED,UAAM,YAAYA,IAAAA,SAAS,MAAM;;AAC/B,cAAO,cAAS,UAAT,mBAAgB,QAAQ;AAAA,QAAK,WAClC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA;AAAA,IAElD,CAAE;AAEA,UAAM,WAAWA,aAAS,MAAM;;AAAC,aAAO;AAAA,QACpC,QAAO,cAAS,UAAT,mBAAgB;AAAA,QACvB,cAAa,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE;AAAA,QAC9C,MAAM;AAAA,UACJ,EAAE,KAAK,eAAe,MAAM,eAAe,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA;AAAA,UAE3F,EAAE,KAAK,YAAY,UAAU,YAAY,UAAS,cAAS,UAAT,mBAAgB,KAAM;AAAA,UACxE,EAAE,KAAK,kBAAkB,UAAU,kBAAkB,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA,UACrG,EAAE,KAAK,YAAY,UAAU,YAAY,WAAS,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,oBAAkB,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,kBAAkB,qBAAsB;AAAA;AAAA,UAE5L,EAAE,KAAK,iBAAiB,MAAM,iBAAiB,UAAU,cAAS,UAAT,mBAAgB,KAAM;AAAA,UAC/E,EAAE,KAAK,uBAAuB,MAAM,uBAAuB,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA,UAC3G,EAAE,KAAK,iBAAiB,MAAM,iBAAiB,WAAS,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,oBAAkB,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,kBAAkB,qBAAsB;AAAA,UAClM,EAAE,KAAK,gBAAgB,MAAM,gBAAgB,SAAS,QAAQ,IAAI,kBAAkB,qBAAsB;AAAA,QAC3G;AAAA,MACF;AAAA,IAAA,CAAC;AACNC,iBAAAA,EAAQ,SAAS,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, withAsyncContext, computed, openBlock, createElementBlock, createVNode, TransitionGroup, withCtx, Fragment, renderList, createCommentVNode, Transition, createBlock, createElementVNode } from "vue";
2
2
  import { u as useHead } from "../../../../../../node_modules/@unhead/vue/dist/shared/vue.f36acd1f.js";
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$1 from "../../../../components/EmptyState/EmptyState.vue.js";
5
5
  import _sfc_main$2 from "../blocks/CardBlogpost.vue.js";
6
6
  import SkeletonBlogpost from "../../../icons/skeletons/SkeletonBlogpost.vue.js";
@@ -28,20 +28,18 @@ const _sfc_main = {
28
28
  const data = ([__temp, __restore] = withAsyncContext(() => read({ user: state.user._id, url: route.params.url })), __temp = await __temp, __restore(), __temp);
29
29
  blogpost.value = data[0];
30
30
  isLoading.value = false;
31
- computed(() => {
31
+ const firstImage = computed(() => {
32
32
  var _a;
33
33
  return (_a = blogpost.value) == null ? void 0 : _a.content.find((block) => block.type === "ImageUpload");
34
34
  });
35
- computed(() => {
36
- var _a;
37
- return (_a = blogpost.value) == null ? void 0 : _a.content.find((block) => block.type === "Video");
38
- });
39
35
  const firstText = computed(() => {
40
36
  var _a;
41
- return (_a = blogpost.value) == null ? void 0 : _a.content[2];
37
+ return (_a = blogpost.value) == null ? void 0 : _a.content.find(
38
+ (block) => block.type === "Textarea" && block.class !== "h2"
39
+ );
42
40
  });
43
41
  const metadata = computed(() => {
44
- var _a, _b, _c, _d, _e, _f;
42
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
45
43
  return {
46
44
  title: (_a = blogpost.value) == null ? void 0 : _a.name,
47
45
  description: (_b = firstText.value) == null ? void 0 : _b.content.slice(0, 120),
@@ -50,12 +48,12 @@ const _sfc_main = {
50
48
  // { hid: 'keywords', name: 'keywords', content: t('meta.keywords') },
51
49
  { hid: "og:title", property: "og:title", content: (_d = blogpost.value) == null ? void 0 : _d.name },
52
50
  { hid: "og:description", property: "og:description", content: (_e = firstText.value) == null ? void 0 : _e.content.slice(0, 120) },
53
- // { hid: 'og:image', property: 'og:image', content: base_url + '/favicon/cover.jpg' },
51
+ { hid: "og:image", property: "og:image", content: ((_f = firstImage.value) == null ? void 0 : _f.content) ? process.env.FILE_SERVER_URL + ((_g = firstImage.value) == null ? void 0 : _g.content) : process.env.FILE_SERVER_URL + "/favicon/cover.jpg" },
54
52
  // { hid: 'og:url', property: 'og:url', content: current_url.value },
55
- { hid: "twitter:title", name: "twitter:title", content: (_f = blogpost.value) == null ? void 0 : _f.name },
56
- { hid: "twitter:description", name: "twitter:description", content: firstText.value }
57
- // { hid: 'twitter:image', name: 'twitter:image', content: base_url + '/favicon/cover.jpg' },
58
- // { hid: 'twitter:card', name: 'twitter:card', content: t('meta.twitter.card') },
53
+ { hid: "twitter:title", name: "twitter:title", content: (_h = blogpost.value) == null ? void 0 : _h.name },
54
+ { hid: "twitter:description", name: "twitter:description", content: (_i = firstText.value) == null ? void 0 : _i.content.slice(0, 120) },
55
+ { hid: "twitter:image", name: "twitter:image", content: ((_j = firstImage.value) == null ? void 0 : _j.content) ? process.env.FILE_SERVER_URL + ((_k = firstImage.value) == null ? void 0 : _k.content) : process.env.FILE_SERVER_URL + "/favicon/cover.jpg" },
56
+ { hid: "twitter:card", name: "twitter:card", content: process.env.FILE_SERVER_URL + "/favicon/cover.jpg" }
59
57
  ]
60
58
  };
61
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BlogPost.vue.js","sources":["../../../../../../../src/modules/community/components/pages/BlogPost.vue"],"sourcesContent":["<template>\n <section class=\"pd-thin\">\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"o-hidden bg-light radius-big\">\n <SkeletonBlogpost\n v-if=\"isLoading\"\n v-for=\"i in 3\" :key=\"i\"\n />\n </TransitionGroup>\n\n <transition \n name=\"fade\"\n >\n <EmptyState \n v-if=\"!isLoading && !blogpost\"\n title=\"No Blogpost Found\"\n description=\"Currently, there are no blogposts available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n\t\t \n\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"container\">\n \t <!-- <button @click=\"share\" >\n\t\t\t Поделиться\n\t\t\t </button>\n\t\t\t -->\n \t<CardBlogpost \n v-if=\"!isLoading && blogpost\"\n @click=\"$router.push({name: 'Blogpost', params: {url: blogpost.url}})\" \n :blogpost=\"blogpost\" \n :user=\"auth.state.user._id\"\n :type=\"'blogpostPage'\"\n :hideTitle=\"true\"\n class=\"mn-b-medium\"\n >\n\n\t <Viewer\n\t v-if=\"blogpost && blogpost.content\"\n\t :content=\"blogpost.content\"\n\t />\n\n\t\t\t\t<a v-if=\"blogpost.source\" :href=\"blogpost.source\" target=\"_blank\" class=\"mn-b-semi d-block w-max radius-big pd-thin bg-black t-white\">\n\t\t\t\t\tCheck Source 🔗\n\t\t\t\t</a>\n\t\t\t\n </CardBlogpost>\n\n \t<h3 class=\"mn-b-small\">Recommended Communities</h3>\n\t\t<Publics \n\t\t\tclass=\"mn-b-small\"\n\t\t/>\n\n <Comments \n v-if=\"!isLoading && blogpost\" \n :type=\"'blogpost'\" \n :target=\"blogpost._id\" \n :owner=\"auth.state.user._id\"\n />\n \n </TransitionGroup> \n \n </section>\n</template>\n\n<script setup>\n\timport { ref, onMounted, computed } from 'vue';\n\timport { useHead } from '@unhead/vue'\n\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue';\n\timport EmptyState from '@pf/src/components/EmptyState/EmptyState.vue';\n\n\timport CardBlogpost from '@pf/src/modules/community/components/blocks/CardBlogpost.vue';\n\timport SkeletonBlogpost from '@pf/src/modules/icons/skeletons/SkeletonBlogpost.vue'\n\timport Publics \t\tfrom '@pf/src/modules/organizations/components/sections/Publics.vue'\n\timport Comments from '@pf/src/modules/community/components/sections/Comments.vue';\n\n\timport Viewer from '@pf/src/modules/constructor/components/sections/Viewer.vue';\n\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth';\n\t \n\timport { useRoute } from 'vue-router';\n\n\tconst route = useRoute();\n\n\tconst blogpost = ref(null);\n\tconst isLoading = ref(true);\n\n\tconst canShare = ref(false);\n\n\tonMounted(() => {\n\t canShare.value = !!navigator.share;\n\t});\n\n\tconst share = async () => {\n\t if (!canShare.value) return;\n\n\t console.log('share')\n\t try {\n\t await navigator.share({\n\t title: 'Заголовок вашего контента',\n\t text: 'Описание вашего контента',\n\t // url: window.location.href,\n\t });\n\t console.log('Контент успешно отправлен');\n\t } catch (error) {\n\t console.error('Ошибка при отправке:', error);\n\t }\n\t};\n\n\t// onMounted(async () => {\n\t\tisLoading.value = true;\n\n\t\t// NOTE: You might need to change the method here to fetch blogposts\n\t\tconst data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n\n\t\tblogpost.value = data[0];\n\t\tisLoading.value = false;\n\t// });\n\n\t const firstImage = computed(() => {\n\t return blogpost.value?.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return blogpost.value?.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return blogpost.value?.content[2]\n\t});\n\n\t const metadata = computed(() => {return {\n title: blogpost.value?.name,\n description: firstText.value?.content.slice(0,120),\n meta: [\n { hid: 'description', name: 'description', content: firstText.value?.content.slice(0,120) },\n // { hid: 'keywords', name: 'keywords', content: t('meta.keywords') },\n { hid: 'og:title', property: 'og:title', content: blogpost.value?.name },\n { hid: 'og:description', property: 'og:description', content: firstText.value?.content.slice(0,120) },\n // { hid: 'og:image', property: 'og:image', content: base_url + '/favicon/cover.jpg' },\n // { hid: 'og:url', property: 'og:url', content: current_url.value },\n { hid: 'twitter:title', name: 'twitter:title', content: blogpost.value?.name },\n { hid: 'twitter:description', name: 'twitter:description', content: firstText.value },\n // { hid: 'twitter:image', name: 'twitter:image', content: base_url + '/favicon/cover.jpg' },\n // { hid: 'twitter:card', name: 'twitter:card', content: t('meta.twitter.card') },\n ],\n }});\nuseHead(metadata.value)\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["_withAsyncContext","blog.read","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;AAsFC,UAAM,QAAQ;AAEd,UAAM,WAAW,IAAI,IAAI;AACzB,UAAM,YAAY,IAAI,IAAI;AAE1B,UAAM,WAAW,IAAI,KAAK;AAE1B,cAAU,MAAM;AACd,eAAS,QAAQ,CAAC,CAAC,UAAU;AAAA,IAChC,CAAE;AAmBA,cAAU,QAAQ;AAGlB,UAAM,QAAO,CAAA,QAAA,SAAA,IAAAA,iBAAA,MAAMC,KAAU,EAAE,MAAMC,MAAW,KAAK,KAAK,KAAK,MAAM,OAAO,IAAG,CAAE,CAAA;AAEjF,aAAS,QAAQ,KAAK,CAAC;AACvB,cAAU,QAAQ;AAGC,aAAS,MAAM;;AACjC,cAAO,cAAS,UAAT,mBAAgB,QAAQ,KAAK,WAAS,MAAM,SAAS;AAAA,IAC/D,CAAE;AAEkB,aAAS,MAAM;;AAChC,cAAO,cAAS,UAAT,mBAAgB,QAAQ,KAAK,WAAS,MAAM,SAAS;AAAA,IAC/D,CAAE;AAED,UAAM,YAAY,SAAS,MAAM;;AAC/B,cAAO,cAAS,UAAT,mBAAgB,QAAQ;AAAA,IAClC,CAAE;AAEA,UAAM,WAAW,SAAS,MAAM;;AAAC,aAAO;AAAA,QACpC,QAAO,cAAS,UAAT,mBAAgB;AAAA,QACvB,cAAa,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE;AAAA,QAC9C,MAAM;AAAA,UACJ,EAAE,KAAK,eAAe,MAAM,eAAe,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA;AAAA,UAE3F,EAAE,KAAK,YAAY,UAAU,YAAY,UAAS,cAAS,UAAT,mBAAgB,KAAM;AAAA,UACxE,EAAE,KAAK,kBAAkB,UAAU,kBAAkB,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA;AAAA;AAAA,UAGrG,EAAE,KAAK,iBAAiB,MAAM,iBAAiB,UAAU,cAAS,UAAT,mBAAgB,KAAM;AAAA,UAC/E,EAAE,KAAK,uBAAuB,MAAM,uBAAuB,SAAS,UAAU,MAAO;AAAA;AAAA;AAAA,QAGtF;AAAA,MACF;AAAA,IAAA,CAAC;AACN,YAAQ,SAAS,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BlogPost.vue.js","sources":["../../../../../../../src/modules/community/components/pages/BlogPost.vue"],"sourcesContent":["<template>\n <section class=\"pd-thin\">\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"o-hidden bg-light radius-big\">\n <SkeletonBlogpost\n v-if=\"isLoading\"\n v-for=\"i in 3\" :key=\"i\"\n />\n </TransitionGroup>\n <transition \n name=\"fade\"\n >\n <EmptyState \n v-if=\"!isLoading && !blogpost\"\n title=\"No Blogpost Found\"\n description=\"Currently, there are no blogposts available. Please check back later.\"\n class=\"pd-medium mn-b-thin bg-light radius-big\"\n />\n </transition>\n\n\n\t\t \n\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"container\">\n \t <!-- <button @click=\"share\" >\n\t\t\t Поделиться\n\t\t\t </button>\n\t\t\t -->\n \t<CardBlogpost \n v-if=\"!isLoading && blogpost\"\n @click=\"$router.push({name: 'Blogpost', params: {url: blogpost.url}})\" \n :blogpost=\"blogpost\" \n :user=\"auth.state.user._id\"\n :type=\"'blogpostPage'\"\n :hideTitle=\"true\"\n class=\"mn-b-medium\"\n >\n\n\t <Viewer\n\t v-if=\"blogpost && blogpost.content\"\n\t :content=\"blogpost.content\"\n\t />\n\n\t\t\t\t<a v-if=\"blogpost.source\" :href=\"blogpost.source\" target=\"_blank\" class=\"mn-b-semi d-block w-max radius-big pd-thin bg-black t-white\">\n\t\t\t\t\tCheck Source 🔗\n\t\t\t\t</a>\n\t\t\t\n </CardBlogpost>\n\n \t<h3 class=\"mn-b-small\">Recommended Communities</h3>\n\t\t<Publics \n\t\t\tclass=\"mn-b-small\"\n\t\t/>\n\n <Comments \n v-if=\"!isLoading && blogpost\" \n :type=\"'blogpost'\" \n :target=\"blogpost._id\" \n :owner=\"auth.state.user._id\"\n />\n \n </TransitionGroup> \n \n </section>\n</template>\n\n<script setup>\n\timport { ref, onMounted, computed } from 'vue';\n\timport { useHead } from '@unhead/vue'\n\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue';\n\timport EmptyState from '@pf/src/components/EmptyState/EmptyState.vue';\n\n\timport CardBlogpost from '@pf/src/modules/community/components/blocks/CardBlogpost.vue';\n\timport SkeletonBlogpost from '@pf/src/modules/icons/skeletons/SkeletonBlogpost.vue'\n\timport Publics \t\tfrom '@pf/src/modules/organizations/components/sections/Publics.vue'\n\timport Comments from '@pf/src/modules/community/components/sections/Comments.vue';\n\n\timport Viewer from '@pf/src/modules/constructor/components/sections/Viewer.vue';\n\n\timport * as blog from '@pf/src/modules/community/store/blogposts.js';\n\timport * as auth from '@pf/src/modules/auth/views/store/auth';\n\t \n\timport { useRoute } from 'vue-router';\n\n\tconst route = useRoute();\n\n\tconst blogpost = ref(null);\n\tconst isLoading = ref(true);\n\n\tconst canShare = ref(false);\n\n\tonMounted(() => {\n\t canShare.value = !!navigator.share;\n\t});\n\n\tconst share = async () => {\n\t if (!canShare.value) return;\n\n\t console.log('share')\n\t try {\n\t await navigator.share({\n\t title: 'Заголовок вашего контента',\n\t text: 'Описание вашего контента',\n\t // url: window.location.href,\n\t });\n\t console.log('Контент успешно отправлен');\n\t } catch (error) {\n\t console.error('Ошибка при отправке:', error);\n\t }\n\t};\n\n\t// onMounted(async () => {\n\t\tisLoading.value = true;\n\n\t\t// NOTE: You might need to change the method here to fetch blogposts\n\t\tconst data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n\n\t\tblogpost.value = data[0];\n\t\tisLoading.value = false;\n\t// });\n\n\t const firstImage = computed(() => {\n\t return blogpost.value?.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstText = computed(() => {\n\t return blogpost.value?.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n\t const metadata = computed(() => {return {\n title: blogpost.value?.name,\n description: firstText.value?.content.slice(0,120),\n meta: [\n { hid: 'description', name: 'description', content: firstText.value?.content.slice(0,120) },\n // { hid: 'keywords', name: 'keywords', content: t('meta.keywords') },\n { hid: 'og:title', property: 'og:title', content: blogpost.value?.name },\n { hid: 'og:description', property: 'og:description', content: firstText.value?.content.slice(0,120) },\n { hid: 'og:image', property: 'og:image', content: firstImage.value?.content ? process.env.FILE_SERVER_URL + firstImage.value?.content : process.env.FILE_SERVER_URL + '/favicon/cover.jpg' },\n // { hid: 'og:url', property: 'og:url', content: current_url.value },\n { hid: 'twitter:title', name: 'twitter:title', content: blogpost.value?.name },\n { hid: 'twitter:description', name: 'twitter:description', content: firstText.value?.content.slice(0,120) },\n { hid: 'twitter:image', name: 'twitter:image', content: firstImage.value?.content ? process.env.FILE_SERVER_URL + firstImage.value?.content : process.env.FILE_SERVER_URL + '/favicon/cover.jpg' },\n { hid: 'twitter:card', name: 'twitter:card', content: process.env.FILE_SERVER_URL + '/favicon/cover.jpg' },\n ],\n }});\nuseHead(metadata.value)\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["_withAsyncContext","blog.read","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;AAqFC,UAAM,QAAQ;AAEd,UAAM,WAAW,IAAI,IAAI;AACzB,UAAM,YAAY,IAAI,IAAI;AAE1B,UAAM,WAAW,IAAI,KAAK;AAE1B,cAAU,MAAM;AACd,eAAS,QAAQ,CAAC,CAAC,UAAU;AAAA,IAChC,CAAE;AAmBA,cAAU,QAAQ;AAGlB,UAAM,QAAO,CAAA,QAAA,SAAA,IAAAA,iBAAA,MAAMC,KAAU,EAAE,MAAMC,MAAW,KAAK,KAAK,KAAK,MAAM,OAAO,IAAG,CAAE,CAAA;AAEjF,aAAS,QAAQ,KAAK,CAAC;AACvB,cAAU,QAAQ;AAGlB,UAAM,aAAa,SAAS,MAAM;;AACjC,cAAO,cAAS,UAAT,mBAAgB,QAAQ,KAAK,WAAS,MAAM,SAAS;AAAA,IAC/D,CAAE;AAED,UAAM,YAAY,SAAS,MAAM;;AAC/B,cAAO,cAAS,UAAT,mBAAgB,QAAQ;AAAA,QAAK,WAClC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA;AAAA,IAElD,CAAE;AAEA,UAAM,WAAW,SAAS,MAAM;;AAAC,aAAO;AAAA,QACpC,QAAO,cAAS,UAAT,mBAAgB;AAAA,QACvB,cAAa,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE;AAAA,QAC9C,MAAM;AAAA,UACJ,EAAE,KAAK,eAAe,MAAM,eAAe,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA;AAAA,UAE3F,EAAE,KAAK,YAAY,UAAU,YAAY,UAAS,cAAS,UAAT,mBAAgB,KAAM;AAAA,UACxE,EAAE,KAAK,kBAAkB,UAAU,kBAAkB,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA,UACrG,EAAE,KAAK,YAAY,UAAU,YAAY,WAAS,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,oBAAkB,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,kBAAkB,qBAAsB;AAAA;AAAA,UAE5L,EAAE,KAAK,iBAAiB,MAAM,iBAAiB,UAAU,cAAS,UAAT,mBAAgB,KAAM;AAAA,UAC/E,EAAE,KAAK,uBAAuB,MAAM,uBAAuB,UAAS,eAAU,UAAV,mBAAiB,QAAQ,MAAM,GAAE,KAAM;AAAA,UAC3G,EAAE,KAAK,iBAAiB,MAAM,iBAAiB,WAAS,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,oBAAkB,gBAAW,UAAX,mBAAkB,WAAU,QAAQ,IAAI,kBAAkB,qBAAsB;AAAA,UAClM,EAAE,KAAK,gBAAgB,MAAM,gBAAgB,SAAS,QAAQ,IAAI,kBAAkB,qBAAsB;AAAA,QAC3G;AAAA,MACF;AAAA,IAAA,CAAC;AACN,YAAQ,SAAS,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
6
- ;/* empty css */
7
- ;/* empty css */
8
- ;/* empty css */
6
+ ;/* empty css */
7
+ ;/* empty css */
8
+ ;/* empty css */
9
9
  require("axios");
10
10
  ;/* empty css */
11
11
  const CardBlogpost = require("../blocks/CardBlogpost.vue.cjs");
@@ -1,9 +1,9 @@
1
1
  import { withAsyncContext, ref, computed, openBlock, createElementBlock, createElementVNode, unref, Fragment, renderList, createBlock, withCtx, pushScopeId, popScopeId } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
4
- /* empty css */
5
- /* empty css */
6
- /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ /* empty css */
7
7
  import "axios";
8
8
  /* empty css */
9
9
  import _sfc_main$1 from "../blocks/CardBlogpost.vue.js";
@@ -4,14 +4,14 @@ const vue = require("vue");
4
4
  require("isomorphic-dompurify");
5
5
  ;/* empty css */
6
6
  const Constructor = require("../../../constructor/components/sections/Constructor.vue.cjs");
7
- const Popup = require("../../../../components/Popup/Popup.vue2.cjs");
7
+ const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  ;/* empty css */
9
9
  ;/* empty css */
10
10
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
11
11
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
12
- const Field = require("../../../../components/Field/Field.vue2.cjs");
12
+ const Field = require("../../../../components/Field/Field.vue.cjs");
13
13
  const SelectMulti = require("../../../../components/SelectMulti/SelectMulti.vue.cjs");
14
- const Button = require("../../../../components/Button/Button.vue2.cjs");
14
+ const Button = require("../../../../components/Button/Button.vue.cjs");
15
15
  const vueRouter = require("vue-router");
16
16
  const blogposts = require("../../store/blogposts.cjs");
17
17
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -2,14 +2,14 @@ import { ref, onMounted, computed, openBlock, createElementBlock, createElementV
2
2
  import "isomorphic-dompurify";
3
3
  /* empty css */
4
4
  import _sfc_main$1 from "../../../constructor/components/sections/Constructor.vue.js";
5
- import _sfc_main$2 from "../../../../components/Popup/Popup.vue2.js";
5
+ import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  import _sfc_main$3 from "../../../../components/FieldTags/BlockTags.vue.js";
9
9
  import _sfc_main$4 from "../../../../components/Checkbox/Checkbox.vue.js";
10
- import Field from "../../../../components/Field/Field.vue2.js";
10
+ import Field from "../../../../components/Field/Field.vue.js";
11
11
  import SelectMulti from "../../../../components/SelectMulti/SelectMulti.vue.js";
12
- import _sfc_main$5 from "../../../../components/Button/Button.vue2.js";
12
+ import _sfc_main$5 from "../../../../components/Button/Button.vue.js";
13
13
  import { useRoute, useRouter } from "vue-router";
14
14
  import { read, clean, state as state$1, update, create, remove } from "../../store/blogposts.js";
15
15
  import { state } from "../../../auth/views/store/auth.js";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
- ;/* empty css */
7
+ ;/* empty css */
8
8
  ;/* empty css */
9
9
  ;/* empty css */
10
10
  const Slider = require("../../../../components/Slider/Slider.vue.cjs");
@@ -1,8 +1,8 @@
1
1
  import { resolveComponent, openBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, withCtx, createBlock } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
- /* empty css */
5
+ /* empty css */
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  import _sfc_main$1 from "../../../../components/Slider/Slider.vue.js";
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const Community = require("../components/layouts/Community.vue.cjs");
4
+ const auth_validation = require("../../auth/views/middlewares/auth.validation.cjs");
5
+ const ownership_validation = require("../../auth/views/middlewares/ownership.validation.cjs");
4
6
  const community = [
5
7
  {
6
8
  path: "community",
@@ -38,9 +40,11 @@ const community = [
38
40
  title: {
39
41
  en: "Create Post",
40
42
  ru: "Создать Пост"
41
- },
42
- authorize: []
43
+ }
43
44
  },
45
+ beforeEnter: [
46
+ auth_validation.requiresAuth
47
+ ],
44
48
  component: () => Promise.resolve().then(() => require(
45
49
  /* webpackChunkName: 'CreateBlogPost' */
46
50
  "../components/pages/CreateBlogPost.vue.cjs"
@@ -67,9 +71,12 @@ const community = [
67
71
  title: {
68
72
  en: "Edit Post",
69
73
  ru: "Редактировать пост"
70
- },
71
- authorize: []
74
+ }
72
75
  },
76
+ beforeEnter: [
77
+ auth_validation.requiresAuth,
78
+ ownership_validation.requiresEditAccess
79
+ ],
73
80
  component: () => Promise.resolve().then(() => require(
74
81
  /* webpackChunkName: 'CreateBlogPost' */
75
82
  "../components/pages/CreateBlogPost.vue.cjs"
@@ -1 +1 @@
1
- {"version":3,"file":"blogposts.cjs","sources":["../../../../../../src/modules/community/router/blogposts.js"],"sourcesContent":["import layoutCommunity from '../components/layouts/Community.vue'\n\nconst community = [\n {\n path: 'community',\n component: layoutCommunity,\n meta: {\n title: {\n en: 'Community',\n ru: 'Коммьюнити'\n },\n breadcrumbs: {\n hidden: true\n },\n title_hide: true\n\n },\n children: [{\n path: ':category?',\n name: 'Blog',\n meta: {\n title: {\n en: 'Community',\n ru: 'Коммьюнити'\n },\n title_hide: true\n },\n component: () => import(/* webpackChunkName: 'Blog' */ '../components/pages/Blog.vue')\n }]\n },{\n path: 'community/posts/create',\n name: 'Create BlogPost',\n meta: {\n title: {\n en: 'Create Post',\n ru: 'Создать Пост'\n },\n authorize: []\n },\n component: () => import(/* webpackChunkName: 'CreateBlogPost' */ '../components/pages/CreateBlogPost.vue')\n },{\n path: 'community/posts/:url',\n name: 'BlogPost',\n meta: {\n title: {\n en: 'Post',\n ru: 'Пост'\n }\n },\n component: () => import(/* webpackChunkName: 'BlogPost' */ '../components/pages/BlogPost.vue')\n },{\n path: 'community/posts/:url/edit',\n name: 'Edit BlogPost',\n meta: {\n title: {\n en: 'Edit Post',\n ru: 'Редактировать пост'\n },\n authorize: []\n },\n component: () => import(/* webpackChunkName: 'CreateBlogPost' */ '../components/pages/CreateBlogPost.vue')\n }\n\n];\n\nexport default community;"],"names":["layoutCommunity"],"mappings":";;;AAEK,MAAC,YAAY;AAAA,EAChB;AAAA,IACE,MAAM;AAAA,IACN,WAAWA,UAAe;AAAA,IAC1B,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,MACD,aAAa;AAAA,QACX,QAAQ;AAAA,MACT;AAAA,MACD,YAAY;AAAA,IAEb;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,IAAI;AAAA,UACJ,IAAI;AAAA,QACL;AAAA,QACD,YAAY;AAAA,MACb;AAAA,MACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,QAA+B;AAAA,MAA8B,CAAC;AAAA,IAC5F,CAAK;AAAA,EACL;AAAA,EAAI;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,MACD,WAAW,CAAE;AAAA,IACd;AAAA,IACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,MAAyC;AAAA,IAAwC,CAAC;AAAA,EAC9G;AAAA,EAAI;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACF;AAAA,IACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,MAAmC;AAAA,IAAkC,CAAC;AAAA,EAClG;AAAA,EAAI;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACL,MAAM;AAAA,MACL,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,MACD,WAAW,CAAE;AAAA,IACd;AAAA,IACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,MAAyC;AAAA,IAAwC,CAAC;AAAA,EAC3G;AAEH;;"}
1
+ {"version":3,"file":"blogposts.cjs","sources":["../../../../../../src/modules/community/router/blogposts.js"],"sourcesContent":["import layoutCommunity from '../components/layouts/Community.vue'\nimport * as validationAuth from '@pf/src/modules/auth/views/middlewares/auth.validation';\nimport * as validationOwnership from '@pf/src/modules/auth/views/middlewares/ownership.validation';\n\n\nconst community = [\n {\n path: 'community',\n component: layoutCommunity,\n meta: {\n title: {\n en: 'Community',\n ru: 'Коммьюнити'\n },\n breadcrumbs: {\n hidden: true\n },\n title_hide: true\n\n },\n children: [{\n path: ':category?',\n name: 'Blog',\n meta: {\n title: {\n en: 'Community',\n ru: 'Коммьюнити'\n },\n title_hide: true\n },\n component: () => import(/* webpackChunkName: 'Blog' */ '../components/pages/Blog.vue')\n }]\n },{\n path: 'community/posts/create',\n name: 'Create BlogPost',\n meta: {\n title: {\n en: 'Create Post',\n ru: 'Создать Пост'\n },\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n ],\n component: () => import(/* webpackChunkName: 'CreateBlogPost' */ '../components/pages/CreateBlogPost.vue')\n },{\n path: 'community/posts/:url',\n name: 'BlogPost',\n meta: {\n title: {\n en: 'Post',\n ru: 'Пост'\n }\n },\n component: () => import(/* webpackChunkName: 'BlogPost' */ '../components/pages/BlogPost.vue')\n },{\n path: 'community/posts/:url/edit',\n name: 'Edit BlogPost',\n meta: {\n title: {\n en: 'Edit Post',\n ru: 'Редактировать пост'\n },\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n validationOwnership.requiresEditAccess\n ],\n component: () => import(/* webpackChunkName: 'CreateBlogPost' */ '../components/pages/CreateBlogPost.vue')\n }\n\n];\n\nexport default community;"],"names":["layoutCommunity","validationAuth.requiresAuth","validationOwnership.requiresEditAccess"],"mappings":";;;;;AAKK,MAAC,YAAY;AAAA,EAChB;AAAA,IACE,MAAM;AAAA,IACN,WAAWA,UAAe;AAAA,IAC1B,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,MACD,aAAa;AAAA,QACX,QAAQ;AAAA,MACT;AAAA,MACD,YAAY;AAAA,IAEb;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,IAAI;AAAA,UACJ,IAAI;AAAA,QACL;AAAA,QACD,YAAY;AAAA,MACb;AAAA,MACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,QAA+B;AAAA,MAA8B,CAAC;AAAA,IAC5F,CAAK;AAAA,EACL;AAAA,EAAI;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACF;AAAA,IACD,aAAa;AAAA,MACXC,gBAA2B;AAAA,IAC5B;AAAA,IACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,MAAyC;AAAA,IAAwC,CAAC;AAAA,EAC9G;AAAA,EAAI;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACF;AAAA,IACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,MAAmC;AAAA,IAAkC,CAAC;AAAA,EAClG;AAAA,EAAI;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,IACL,MAAM;AAAA,MACL,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACF;AAAA,IACD,aAAa;AAAA,MACXA,gBAA2B;AAAA,MAC3BC,qBAAsC;AAAA,IACvC;AAAA,IACD,WAAW,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA;AAAA;AAAA,MAAyC;AAAA,IAAwC,CAAC;AAAA,EAC3G;AAEH;;"}
@@ -1,4 +1,6 @@
1
1
  import _sfc_main from "../components/layouts/Community.vue.js";
2
+ import { requiresAuth } from "../../auth/views/middlewares/auth.validation.js";
3
+ import { requiresEditAccess } from "../../auth/views/middlewares/ownership.validation.js";
2
4
  const community = [
3
5
  {
4
6
  path: "community",
@@ -36,9 +38,11 @@ const community = [
36
38
  title: {
37
39
  en: "Create Post",
38
40
  ru: "Создать Пост"
39
- },
40
- authorize: []
41
+ }
41
42
  },
43
+ beforeEnter: [
44
+ requiresAuth
45
+ ],
42
46
  component: () => import(
43
47
  /* webpackChunkName: 'CreateBlogPost' */
44
48
  "../components/pages/CreateBlogPost.vue.js"
@@ -65,9 +69,12 @@ const community = [
65
69
  title: {
66
70
  en: "Edit Post",
67
71
  ru: "Редактировать пост"
68
- },
69
- authorize: []
72
+ }
70
73
  },
74
+ beforeEnter: [
75
+ requiresAuth,
76
+ requiresEditAccess
77
+ ],
71
78
  component: () => import(
72
79
  /* webpackChunkName: 'CreateBlogPost' */
73
80
  "../components/pages/CreateBlogPost.vue.js"