@ozdao/prometheus-framework 0.2.311 → 0.2.313

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. package/dist/main.css +1 -1
  2. package/dist/prometheus-framework/src/components/BottomSheet/BottomSheet.vue.cjs +4 -3
  3. package/dist/prometheus-framework/src/components/BottomSheet/BottomSheet.vue.cjs.map +1 -1
  4. package/dist/prometheus-framework/src/components/BottomSheet/BottomSheet.vue.js +5 -4
  5. package/dist/prometheus-framework/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
  6. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +3 -2
  7. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs.map +1 -1
  8. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +3 -2
  9. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js.map +1 -1
  10. package/dist/prometheus-framework/src/components/Field/Field.vue2.cjs +21 -14
  11. package/dist/prometheus-framework/src/components/Field/Field.vue2.cjs.map +1 -1
  12. package/dist/prometheus-framework/src/components/Field/Field.vue2.js +21 -14
  13. package/dist/prometheus-framework/src/components/Field/Field.vue2.js.map +1 -1
  14. package/dist/prometheus-framework/src/modules/auth/views/router/users.cjs +1 -1
  15. package/dist/prometheus-framework/src/modules/auth/views/router/users.cjs.map +1 -1
  16. package/dist/prometheus-framework/src/modules/auth/views/router/users.js +1 -1
  17. package/dist/prometheus-framework/src/modules/auth/views/router/users.js.map +1 -1
  18. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  19. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  20. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  21. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  22. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  23. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  24. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  25. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +1 -1
  26. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  27. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  28. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
  29. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +1 -1
  30. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  31. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs.map +1 -1
  32. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  33. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  34. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  35. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  36. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  37. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  38. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +1 -1
  39. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +1 -1
  40. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  41. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  42. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +6 -1
  43. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs.map +1 -1
  44. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +6 -1
  45. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js.map +1 -1
  46. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +6 -18
  47. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  48. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +10 -22
  49. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  50. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  51. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  52. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
  53. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  54. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  55. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  56. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  57. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  58. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  59. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  60. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  61. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  62. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  63. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  64. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +34 -14
  65. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
  66. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +34 -14
  67. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
  68. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  69. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  70. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  71. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  72. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  73. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  74. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  75. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  76. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +695 -684
  77. package/dist/prometheus-framework/src/modules/pages/pages.client.js +695 -684
  78. package/dist/prometheus-framework/src/modules/products/components/blocks/CardCategory.vue.cjs +36 -23
  79. package/dist/prometheus-framework/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  80. package/dist/prometheus-framework/src/modules/products/components/blocks/CardCategory.vue.js +37 -24
  81. package/dist/prometheus-framework/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  82. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +2 -2
  83. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +2 -2
  84. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +39 -15
  85. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  86. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +39 -15
  87. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  88. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs +14 -4
  89. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  90. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js +15 -5
  91. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js.map +1 -1
  92. package/dist/prometheus-framework/src/modules/products/components/pages/Catalog.vue.cjs +3 -1
  93. package/dist/prometheus-framework/src/modules/products/components/pages/Catalog.vue.cjs.map +1 -1
  94. package/dist/prometheus-framework/src/modules/products/components/pages/Catalog.vue.js +3 -1
  95. package/dist/prometheus-framework/src/modules/products/components/pages/Catalog.vue.js.map +1 -1
  96. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  97. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +1 -1
  98. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +7 -74
  99. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  100. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +7 -74
  101. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  102. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  103. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  104. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs +7 -7
  105. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  106. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js +8 -8
  107. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js.map +1 -1
  108. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +4 -3
  109. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  110. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +4 -3
  111. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js.map +1 -1
  112. package/dist/prometheus-framework/src/modules/products/components/sections/CategoriesTree.vue.cjs +8 -8
  113. package/dist/prometheus-framework/src/modules/products/components/sections/CategoriesTree.vue.cjs.map +1 -1
  114. package/dist/prometheus-framework/src/modules/products/components/sections/CategoriesTree.vue.js +9 -9
  115. package/dist/prometheus-framework/src/modules/products/components/sections/CategoriesTree.vue.js.map +1 -1
  116. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  117. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
  118. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.cjs +1 -1
  119. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.js +1 -1
  120. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs +40 -65
  121. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs.map +1 -1
  122. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js +41 -66
  123. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js.map +1 -1
  124. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +60 -28
  125. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  126. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +63 -31
  127. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  128. package/dist/prometheus-framework/src/modules/products/store/marketplace.cjs +1 -1
  129. package/dist/prometheus-framework/src/modules/products/store/marketplace.cjs.map +1 -1
  130. package/dist/prometheus-framework/src/modules/products/store/marketplace.js +1 -1
  131. package/dist/prometheus-framework/src/modules/products/store/marketplace.js.map +1 -1
  132. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  133. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  134. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  135. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  136. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  137. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  138. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  139. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  140. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  141. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  142. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  143. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  144. package/dist/prometheus-framework.cjs.js +15 -15
  145. package/dist/prometheus-framework.es.js +640 -629
  146. package/package.json +1 -1
  147. package/src/components/BottomSheet/BottomSheet.vue +4 -2
  148. package/src/components/Feed/Feed.vue +1 -0
  149. package/src/components/Field/Field.vue +11 -4
  150. package/src/modules/auth/views/router/users.js +1 -1
  151. package/src/modules/community/components/pages/CreateBlogPost.vue +1 -1
  152. package/src/modules/globals/views/components/blocks/BlockSearch.vue +5 -0
  153. package/src/modules/globals/views/components/layouts/Client.vue +2 -2
  154. package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +15 -0
  155. package/src/modules/products/components/blocks/CardCategory.vue +56 -25
  156. package/src/modules/products/components/blocks/CardProduct.vue +46 -20
  157. package/src/modules/products/components/elements/Price.vue +10 -2
  158. package/src/modules/products/components/pages/Catalog.vue +3 -1
  159. package/src/modules/products/components/pages/CategoryEdit.vue +2 -32
  160. package/src/modules/products/components/pages/Product.vue +5 -21
  161. package/src/modules/products/components/pages/Products.vue +6 -4
  162. package/src/modules/products/components/sections/CategoriesTree.vue +3 -5
  163. package/src/modules/products/components/sections/PopularProducts.vue +28 -50
  164. package/src/modules/products/components/sections/SectionProduct.vue +48 -26
  165. package/src/modules/products/controllers/products.controller.js +1 -0
  166. package/src/modules/products/store/marketplace.js +1 -1
  167. package/src/styles/typography.scss +5 -5
@@ -2,7 +2,7 @@ import { computed, openBlock, createElementBlock, createVNode, normalizeClass, c
2
2
  import _sfc_main$1 from "../../../globals/views/components/blocks/CardHeader.vue.js";
3
3
  import _sfc_main$3 from "./FooterBlogpost.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Text/Text.vue.js";
5
- /* empty css */
5
+ /* empty css */
6
6
  import { useRouter } from "vue-router";
7
7
  const _hoisted_1 = { class: "pos-relative flex-column flex" };
8
8
  const _hoisted_2 = { class: "pd-t-zero pd-b-zero pd-medium" };
@@ -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");
@@ -1,6 +1,6 @@
1
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";
@@ -7,7 +7,7 @@ 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");
9
9
  const vueRouter = require("vue-router");
10
- ;/* empty css */
10
+ ;/* empty css */
11
11
  ;/* empty css */
12
12
  const auth = require("../../../auth/views/store/auth.cjs");
13
13
  require("../../../organizations/store/memberships.cjs");
@@ -5,7 +5,7 @@ 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";
7
7
  import { useRoute } from "vue-router";
8
- /* empty css */
8
+ /* empty css */
9
9
  /* empty css */
10
10
  import { state as state$1 } from "../../../auth/views/store/auth.js";
11
11
  import "../../../organizations/store/memberships.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
6
- ;/* empty css */
6
+ ;/* empty css */
7
7
  ;/* empty css */
8
8
  ;/* empty css */
9
9
  require("axios");
@@ -1,7 +1,7 @@
1
1
  import { withAsyncContext, ref, computed, openBlock, createElementBlock, createElementVNode, unref, Fragment, renderList, createBlock, withCtx } from "vue";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
4
- /* empty css */
4
+ /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  import "axios";
@@ -155,7 +155,7 @@ const _sfc_main = {
155
155
  function onDelete() {
156
156
  if (confirm("Are you sure you want to delete this post?")) {
157
157
  blogposts.remove(post.value._id).then((response) => {
158
- router.push({ name: "User Blogposts", params: { _id: post.value.creator.target._id } });
158
+ router.push({ name: "User Posts", params: { _id: post.value.creator.target._id } });
159
159
  }).catch((error) => {
160
160
  console.log(error);
161
161
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CreateBlogPost.vue.cjs","sources":["../../../../../../../src/modules/community/components/pages/CreateBlogPost.vue"],"sourcesContent":["<template>\n <article \n class=\"pd-thin\"\n>\n <section \n style=\"min-height: 100%;\"\n class=\"w-100 bg-light pd-big radius-big\"\n >\n <!-- Title -->\n <div \n class=\"w-full h-full\"\n >\n <!-- <Textarea \n v-if=\"post\" \n :prop=\"post\" \n :setFocus=\"true\"\n content=\"name\" \n placeholder=\"Enter post title\" \n class=\"h2\"\n /> -->\n </div>\n\n <Constructor \n v-if=\"post\" \n :content=\"post.content\"\n @update=\"update => post.content = update\"\n />\n </section>\n\n \n <transition name=\"scaleIn\" >\n <section v-if=\"post\" class=\"pd-thin pos-sticky pos-l-0 pos-b-0 w-100 \">\n <div class=\"pd-thin radius-big bg-main w-100 flex-nowrap flex\">\n <a v-if=\"route.params.url\" @click=\"onDelete()\" class=\"mn-r-auto bg-red t-white t-black button\">Delete</a>\n <a @click=\"onDrafts()\" class=\"mn-l-auto bg-white t-black button\">To Drafts</a>\n <a @click=\"openPulicationPopup()\" class=\"mn-l-thin bg-black t-white button\">Publish</a>\n </div>\n </section>\n </transition>\n\n <Popup \n @close-popup=\"closePublicationPopup\" \n :isPopupOpen=\"isPublicationPopup\"\n class=\"w-m-33r t-left pd-big bg-white radius-big\"\n >\n <h3 class=\"mn-b-small\">Final Touches</h3>\n \n <BlockTags\n @tags-changed=\"newTags => post.tags = newTags\"\n :tags=\"post.tags\"\n class=\"mn-b-small\"\n />\n\n <h5 class=\"mn-b-thin\">Add source:</h5>\n <Field \n v-model:field=\"post.source\" \n placeholder=\"Add full link to the source\" \n class=\"mn-b-medium bg-light radius-medium pd-small\" \n />\n\n <h5 class=\"mn-b-thin\">Add to public</h5>\n <Card\n v-if=\"selectedOrganization\"\n :photo=\"selectedOrganization.profile?.photo\"\n :title=\"selectedOrganization.profile?.name\"\n @click=\"() => { \n selectedOrganization = null\n }\"\n class=\"h-4r w-100 bg-light pd-thin radius-medium mn-b-thin\"\n />\n\n <section v-else class=\"mn-b-thin h-25r o-x-hidden o-y-scroll bg-light radius-big pd-small \">\n <Feed\n :showLoadMore=\"false\" \n :search=\"{\n placeholder: 'Search organization...',\n class: 'bg-white mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No organizations Found',\n description: 'Currently, there are no such organizations available.'\n }\n }\"\n :store=\"{\n read: (options) => organizations.actions.read(options),\n state: null\n }\"\n :options=\"{\n user: auth.state.user._id,\n postable: auth.state.user._id,\n lookup: ['memberships']\n }\"\n v-slot=\"{ \n items \n }\"\n >\n <Card\n v-for=\"(organization, index) in items\" \n v-memo=\"[organization._id, organization.profile.name]\"\n :photo=\"organization.profile?.photo\"\n :title=\"organization.profile?.name\"\n @click=\"() => { \n selectedOrganization = organization\n }\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n />\n </Feed>\n </section>\n\n <h5 v-if=\"selectedOrganization\" class=\"mn-b-thin\">Options:</h5>\n <div v-if=\"selectedOrganization\" class=\"mn-b-medium br-grey-transp-25 br-2px br-solid pd-small radius-big\">\n <Checkbox \n :label=\"'Hide Author'\"\n :radio=\"post.creator.hidden\"\n @update:radio=\"event => post.creator.hidden = event\"\n name=\"prices\"\n class=\"w-100\"\n />\n </div>\n \n <Button :submit=\"onSubmit\" :callback=\"redirectTo\" class=\"w-100 bg-black t-white\">Publish</Button>\n </Popup>\n \n </article>\n</template>\n\n<script setup>\nimport Textarea from '@pf/src/modules/constructor/components/elements/Textarea.vue';\nimport Constructor from '@pf/src/modules/constructor/components/sections/Constructor.vue';\n\nimport Popup from '@pf/src/components/Popup/Popup.vue'\nimport FieldTags from '@pf/src/components/FieldTags/FieldTags.vue'\nimport BlockTags from '@pf/src/components/FieldTags/BlockTags.vue'\nimport Checkbox from '@pf/src/components/Checkbox/Checkbox.vue'\nimport Field from '@pf/src/components/Field/Field.vue'\nimport Button from '@pf/src/components/Button/Button.vue'; \nimport Feed from '@pf/src/components/Feed/Feed.vue'\n\nimport Card from '@pf/src/modules/globals/views/components/blocks/Card.vue';\n\nimport { ref, onMounted, watchEffect, nextTick, computed } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { VueDraggableNext } from 'vue-draggable-next';\n// Store & Router\nimport * as blog from '@pf/src/modules/community/store/blogposts.js';\nimport * as auth from '@pf/src/modules/auth/views/store/auth'\nimport * as organizations from '@pf/src/modules/organizations/store/organizations'\n \nimport { useGlobalMixins } from \"@pf/src/modules/globals/views/mixins/mixins.js\"\n\nconst { hasAccess } = useGlobalMixins()\n\nconst route = useRoute();\nconst router = useRouter();\n\nlet post = ref(null);\nlet publics = ref(null);\n\nconst selectedTags = ref([]);\nconst selectedOrganization = ref(null);\n\nonMounted(async () =>{\n \n if (route.params.url) {\n const data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n \n post.value = data.pop();\n\n if (!post.value) {\n router.push({name: 'notfound'})\n }\n\n if (post.value.owner.type === 'organization') {\n // Если пост принадлежит организации, проверяем права на редактирование через `hasAccess`\n const isAccess = hasAccess(post.value.owner.target._id, 'posts', 'edit', auth.state.accesses);\n\n if (!isAccess) {\n router.push({name: 'unauthorized'})\n }\n }\n\n if (post.value.owner.type === 'user' && post.value.creator.target._id !== auth.state.user._id) {\n router.push({name: 'unauthorized'})\n }\n } else {\n blog.clean();\n post.value = blog.state.current;\n }\n\n if (!post.value.owner) post.value.owner = {\n target: auth.state.user._id,\n type: 'user'\n }\n\n if (!post.value.creator) post.value.creator = {\n target: auth.state.user._id,\n type: 'user',\n hidden: false\n }\n\n\n if (post.value.owner.type === 'organization') selectedOrganization.value = {\n _id: post.value.owner.target._id,\n name: post.value.owner.target.profile.name,\n photo: post.value.owner.target.profile.photo\n }\n})\n// /////////////////////////////////////////\n// Publication Form\n// /////////////////////////////////////////\nconst tag = ref('');\nconst autocompleteItems = ref([\n { text: 'story' },\n { text: 'news' },\n { text: 'guide' },\n { text: 'discussion' },\n { text: 'photos' },\n]);\n\nconst filteredItems = computed(() => {\n return autocompleteItems.value.filter(i => {\n return i.text.toLowerCase().includes(tag.value.toLowerCase());\n });\n});\n\nconst filteredSuggestedItems = computed(() => {\n return autocompleteItems.value.filter(item => {\n return !selectedTags.value.some(tag => tag.text === item.text);\n });\n })\n\nfunction addTag (tag) {\n selectedTags.value.push(tag)\n}\n// /////////////////////////////////////////\n// Publication Popup\n// /////////////////////////////////////////\nconst isPublicationPopup = ref(false)\n\nfunction openPulicationPopup() {\n isPublicationPopup.value = true;\n}\nfunction closePublicationPopup() {\n isPublicationPopup.value = false;\n}\n\nfunction onDrafts() {\n\n if (selectedTags.value.length > 0) selectedTags.value.map(tag => (tag.text))\n\n post.value.status = \"draft\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n\nfunction onSubmit() {\n\n if (selectedOrganization.value) post.value.owner = {\n target: selectedOrganization.value._id,\n type: 'organization'\n }\n\n if (!selectedOrganization.value) post.value.creator.hidden = false\n if (!selectedOrganization.value) post.value.organization = post.value.creator\n\n post.value.status = \"published\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n console.log(post.value)\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n }\n}\n\nfunction onDelete() {\n if (confirm('Are you sure you want to delete this post?')) {\n blog.remove(post.value._id)\n .then(response => {\n router.push({ name: 'User Blogposts', params: { _id: post.value.creator.target._id } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n</script>\n\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["useGlobalMixins","useRoute","useRouter","ref","onMounted","blog.read","auth.state","blog.clean","blog.state","computed","tag","blog.update","blog.create","blog.remove"],"mappings":"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"}
1
+ {"version":3,"file":"CreateBlogPost.vue.cjs","sources":["../../../../../../../src/modules/community/components/pages/CreateBlogPost.vue"],"sourcesContent":["<template>\n <article \n class=\"pd-thin\"\n>\n <section \n style=\"min-height: 100%;\"\n class=\"w-100 bg-light pd-big radius-big\"\n >\n <!-- Title -->\n <div \n class=\"w-full h-full\"\n >\n <!-- <Textarea \n v-if=\"post\" \n :prop=\"post\" \n :setFocus=\"true\"\n content=\"name\" \n placeholder=\"Enter post title\" \n class=\"h2\"\n /> -->\n </div>\n\n <Constructor \n v-if=\"post\" \n :content=\"post.content\"\n @update=\"update => post.content = update\"\n />\n </section>\n\n \n <transition name=\"scaleIn\" >\n <section v-if=\"post\" class=\"pd-thin pos-sticky pos-l-0 pos-b-0 w-100 \">\n <div class=\"pd-thin radius-big bg-main w-100 flex-nowrap flex\">\n <a v-if=\"route.params.url\" @click=\"onDelete()\" class=\"mn-r-auto bg-red t-white t-black button\">Delete</a>\n <a @click=\"onDrafts()\" class=\"mn-l-auto bg-white t-black button\">To Drafts</a>\n <a @click=\"openPulicationPopup()\" class=\"mn-l-thin bg-black t-white button\">Publish</a>\n </div>\n </section>\n </transition>\n\n <Popup \n @close-popup=\"closePublicationPopup\" \n :isPopupOpen=\"isPublicationPopup\"\n class=\"w-m-33r t-left pd-big bg-white radius-big\"\n >\n <h3 class=\"mn-b-small\">Final Touches</h3>\n \n <BlockTags\n @tags-changed=\"newTags => post.tags = newTags\"\n :tags=\"post.tags\"\n class=\"mn-b-small\"\n />\n\n <h5 class=\"mn-b-thin\">Add source:</h5>\n <Field \n v-model:field=\"post.source\" \n placeholder=\"Add full link to the source\" \n class=\"mn-b-medium bg-light radius-medium pd-small\" \n />\n\n <h5 class=\"mn-b-thin\">Add to public</h5>\n <Card\n v-if=\"selectedOrganization\"\n :photo=\"selectedOrganization.profile?.photo\"\n :title=\"selectedOrganization.profile?.name\"\n @click=\"() => { \n selectedOrganization = null\n }\"\n class=\"h-4r w-100 bg-light pd-thin radius-medium mn-b-thin\"\n />\n\n <section v-else class=\"mn-b-thin h-25r o-x-hidden o-y-scroll bg-light radius-big pd-small \">\n <Feed\n :showLoadMore=\"false\" \n :search=\"{\n placeholder: 'Search organization...',\n class: 'bg-white mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No organizations Found',\n description: 'Currently, there are no such organizations available.'\n }\n }\"\n :store=\"{\n read: (options) => organizations.actions.read(options),\n state: null\n }\"\n :options=\"{\n user: auth.state.user._id,\n postable: auth.state.user._id,\n lookup: ['memberships']\n }\"\n v-slot=\"{ \n items \n }\"\n >\n <Card\n v-for=\"(organization, index) in items\" \n v-memo=\"[organization._id, organization.profile.name]\"\n :photo=\"organization.profile?.photo\"\n :title=\"organization.profile?.name\"\n @click=\"() => { \n selectedOrganization = organization\n }\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n />\n </Feed>\n </section>\n\n <h5 v-if=\"selectedOrganization\" class=\"mn-b-thin\">Options:</h5>\n <div v-if=\"selectedOrganization\" class=\"mn-b-medium br-grey-transp-25 br-2px br-solid pd-small radius-big\">\n <Checkbox \n :label=\"'Hide Author'\"\n :radio=\"post.creator.hidden\"\n @update:radio=\"event => post.creator.hidden = event\"\n name=\"prices\"\n class=\"w-100\"\n />\n </div>\n \n <Button :submit=\"onSubmit\" :callback=\"redirectTo\" class=\"w-100 bg-black t-white\">Publish</Button>\n </Popup>\n \n </article>\n</template>\n\n<script setup>\nimport Textarea from '@pf/src/modules/constructor/components/elements/Textarea.vue';\nimport Constructor from '@pf/src/modules/constructor/components/sections/Constructor.vue';\n\nimport Popup from '@pf/src/components/Popup/Popup.vue'\nimport FieldTags from '@pf/src/components/FieldTags/FieldTags.vue'\nimport BlockTags from '@pf/src/components/FieldTags/BlockTags.vue'\nimport Checkbox from '@pf/src/components/Checkbox/Checkbox.vue'\nimport Field from '@pf/src/components/Field/Field.vue'\nimport Button from '@pf/src/components/Button/Button.vue'; \nimport Feed from '@pf/src/components/Feed/Feed.vue'\n\nimport Card from '@pf/src/modules/globals/views/components/blocks/Card.vue';\n\nimport { ref, onMounted, watchEffect, nextTick, computed } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { VueDraggableNext } from 'vue-draggable-next';\n// Store & Router\nimport * as blog from '@pf/src/modules/community/store/blogposts.js';\nimport * as auth from '@pf/src/modules/auth/views/store/auth'\nimport * as organizations from '@pf/src/modules/organizations/store/organizations'\n \nimport { useGlobalMixins } from \"@pf/src/modules/globals/views/mixins/mixins.js\"\n\nconst { hasAccess } = useGlobalMixins()\n\nconst route = useRoute();\nconst router = useRouter();\n\nlet post = ref(null);\nlet publics = ref(null);\n\nconst selectedTags = ref([]);\nconst selectedOrganization = ref(null);\n\nonMounted(async () =>{\n \n if (route.params.url) {\n const data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n \n post.value = data.pop();\n\n if (!post.value) {\n router.push({name: 'notfound'})\n }\n\n if (post.value.owner.type === 'organization') {\n // Если пост принадлежит организации, проверяем права на редактирование через `hasAccess`\n const isAccess = hasAccess(post.value.owner.target._id, 'posts', 'edit', auth.state.accesses);\n\n if (!isAccess) {\n router.push({name: 'unauthorized'})\n }\n }\n\n if (post.value.owner.type === 'user' && post.value.creator.target._id !== auth.state.user._id) {\n router.push({name: 'unauthorized'})\n }\n } else {\n blog.clean();\n post.value = blog.state.current;\n }\n\n if (!post.value.owner) post.value.owner = {\n target: auth.state.user._id,\n type: 'user'\n }\n\n if (!post.value.creator) post.value.creator = {\n target: auth.state.user._id,\n type: 'user',\n hidden: false\n }\n\n\n if (post.value.owner.type === 'organization') selectedOrganization.value = {\n _id: post.value.owner.target._id,\n name: post.value.owner.target.profile.name,\n photo: post.value.owner.target.profile.photo\n }\n})\n// /////////////////////////////////////////\n// Publication Form\n// /////////////////////////////////////////\nconst tag = ref('');\nconst autocompleteItems = ref([\n { text: 'story' },\n { text: 'news' },\n { text: 'guide' },\n { text: 'discussion' },\n { text: 'photos' },\n]);\n\nconst filteredItems = computed(() => {\n return autocompleteItems.value.filter(i => {\n return i.text.toLowerCase().includes(tag.value.toLowerCase());\n });\n});\n\nconst filteredSuggestedItems = computed(() => {\n return autocompleteItems.value.filter(item => {\n return !selectedTags.value.some(tag => tag.text === item.text);\n });\n })\n\nfunction addTag (tag) {\n selectedTags.value.push(tag)\n}\n// /////////////////////////////////////////\n// Publication Popup\n// /////////////////////////////////////////\nconst isPublicationPopup = ref(false)\n\nfunction openPulicationPopup() {\n isPublicationPopup.value = true;\n}\nfunction closePublicationPopup() {\n isPublicationPopup.value = false;\n}\n\nfunction onDrafts() {\n\n if (selectedTags.value.length > 0) selectedTags.value.map(tag => (tag.text))\n\n post.value.status = \"draft\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n\nfunction onSubmit() {\n\n if (selectedOrganization.value) post.value.owner = {\n target: selectedOrganization.value._id,\n type: 'organization'\n }\n\n if (!selectedOrganization.value) post.value.creator.hidden = false\n if (!selectedOrganization.value) post.value.organization = post.value.creator\n\n post.value.status = \"published\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n console.log(post.value)\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n }\n}\n\nfunction onDelete() {\n if (confirm('Are you sure you want to delete this post?')) {\n blog.remove(post.value._id)\n .then(response => {\n router.push({ name: 'User Posts', params: { _id: post.value.creator.target._id } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n</script>\n\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["useGlobalMixins","useRoute","useRouter","ref","onMounted","blog.read","auth.state","blog.clean","blog.state","computed","tag","blog.update","blog.create","blog.remove"],"mappings":"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"}
@@ -153,7 +153,7 @@ const _sfc_main = {
153
153
  function onDelete() {
154
154
  if (confirm("Are you sure you want to delete this post?")) {
155
155
  remove(post.value._id).then((response) => {
156
- router.push({ name: "User Blogposts", params: { _id: post.value.creator.target._id } });
156
+ router.push({ name: "User Posts", params: { _id: post.value.creator.target._id } });
157
157
  }).catch((error) => {
158
158
  console.log(error);
159
159
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CreateBlogPost.vue.js","sources":["../../../../../../../src/modules/community/components/pages/CreateBlogPost.vue"],"sourcesContent":["<template>\n <article \n class=\"pd-thin\"\n>\n <section \n style=\"min-height: 100%;\"\n class=\"w-100 bg-light pd-big radius-big\"\n >\n <!-- Title -->\n <div \n class=\"w-full h-full\"\n >\n <!-- <Textarea \n v-if=\"post\" \n :prop=\"post\" \n :setFocus=\"true\"\n content=\"name\" \n placeholder=\"Enter post title\" \n class=\"h2\"\n /> -->\n </div>\n\n <Constructor \n v-if=\"post\" \n :content=\"post.content\"\n @update=\"update => post.content = update\"\n />\n </section>\n\n \n <transition name=\"scaleIn\" >\n <section v-if=\"post\" class=\"pd-thin pos-sticky pos-l-0 pos-b-0 w-100 \">\n <div class=\"pd-thin radius-big bg-main w-100 flex-nowrap flex\">\n <a v-if=\"route.params.url\" @click=\"onDelete()\" class=\"mn-r-auto bg-red t-white t-black button\">Delete</a>\n <a @click=\"onDrafts()\" class=\"mn-l-auto bg-white t-black button\">To Drafts</a>\n <a @click=\"openPulicationPopup()\" class=\"mn-l-thin bg-black t-white button\">Publish</a>\n </div>\n </section>\n </transition>\n\n <Popup \n @close-popup=\"closePublicationPopup\" \n :isPopupOpen=\"isPublicationPopup\"\n class=\"w-m-33r t-left pd-big bg-white radius-big\"\n >\n <h3 class=\"mn-b-small\">Final Touches</h3>\n \n <BlockTags\n @tags-changed=\"newTags => post.tags = newTags\"\n :tags=\"post.tags\"\n class=\"mn-b-small\"\n />\n\n <h5 class=\"mn-b-thin\">Add source:</h5>\n <Field \n v-model:field=\"post.source\" \n placeholder=\"Add full link to the source\" \n class=\"mn-b-medium bg-light radius-medium pd-small\" \n />\n\n <h5 class=\"mn-b-thin\">Add to public</h5>\n <Card\n v-if=\"selectedOrganization\"\n :photo=\"selectedOrganization.profile?.photo\"\n :title=\"selectedOrganization.profile?.name\"\n @click=\"() => { \n selectedOrganization = null\n }\"\n class=\"h-4r w-100 bg-light pd-thin radius-medium mn-b-thin\"\n />\n\n <section v-else class=\"mn-b-thin h-25r o-x-hidden o-y-scroll bg-light radius-big pd-small \">\n <Feed\n :showLoadMore=\"false\" \n :search=\"{\n placeholder: 'Search organization...',\n class: 'bg-white mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No organizations Found',\n description: 'Currently, there are no such organizations available.'\n }\n }\"\n :store=\"{\n read: (options) => organizations.actions.read(options),\n state: null\n }\"\n :options=\"{\n user: auth.state.user._id,\n postable: auth.state.user._id,\n lookup: ['memberships']\n }\"\n v-slot=\"{ \n items \n }\"\n >\n <Card\n v-for=\"(organization, index) in items\" \n v-memo=\"[organization._id, organization.profile.name]\"\n :photo=\"organization.profile?.photo\"\n :title=\"organization.profile?.name\"\n @click=\"() => { \n selectedOrganization = organization\n }\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n />\n </Feed>\n </section>\n\n <h5 v-if=\"selectedOrganization\" class=\"mn-b-thin\">Options:</h5>\n <div v-if=\"selectedOrganization\" class=\"mn-b-medium br-grey-transp-25 br-2px br-solid pd-small radius-big\">\n <Checkbox \n :label=\"'Hide Author'\"\n :radio=\"post.creator.hidden\"\n @update:radio=\"event => post.creator.hidden = event\"\n name=\"prices\"\n class=\"w-100\"\n />\n </div>\n \n <Button :submit=\"onSubmit\" :callback=\"redirectTo\" class=\"w-100 bg-black t-white\">Publish</Button>\n </Popup>\n \n </article>\n</template>\n\n<script setup>\nimport Textarea from '@pf/src/modules/constructor/components/elements/Textarea.vue';\nimport Constructor from '@pf/src/modules/constructor/components/sections/Constructor.vue';\n\nimport Popup from '@pf/src/components/Popup/Popup.vue'\nimport FieldTags from '@pf/src/components/FieldTags/FieldTags.vue'\nimport BlockTags from '@pf/src/components/FieldTags/BlockTags.vue'\nimport Checkbox from '@pf/src/components/Checkbox/Checkbox.vue'\nimport Field from '@pf/src/components/Field/Field.vue'\nimport Button from '@pf/src/components/Button/Button.vue'; \nimport Feed from '@pf/src/components/Feed/Feed.vue'\n\nimport Card from '@pf/src/modules/globals/views/components/blocks/Card.vue';\n\nimport { ref, onMounted, watchEffect, nextTick, computed } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { VueDraggableNext } from 'vue-draggable-next';\n// Store & Router\nimport * as blog from '@pf/src/modules/community/store/blogposts.js';\nimport * as auth from '@pf/src/modules/auth/views/store/auth'\nimport * as organizations from '@pf/src/modules/organizations/store/organizations'\n \nimport { useGlobalMixins } from \"@pf/src/modules/globals/views/mixins/mixins.js\"\n\nconst { hasAccess } = useGlobalMixins()\n\nconst route = useRoute();\nconst router = useRouter();\n\nlet post = ref(null);\nlet publics = ref(null);\n\nconst selectedTags = ref([]);\nconst selectedOrganization = ref(null);\n\nonMounted(async () =>{\n \n if (route.params.url) {\n const data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n \n post.value = data.pop();\n\n if (!post.value) {\n router.push({name: 'notfound'})\n }\n\n if (post.value.owner.type === 'organization') {\n // Если пост принадлежит организации, проверяем права на редактирование через `hasAccess`\n const isAccess = hasAccess(post.value.owner.target._id, 'posts', 'edit', auth.state.accesses);\n\n if (!isAccess) {\n router.push({name: 'unauthorized'})\n }\n }\n\n if (post.value.owner.type === 'user' && post.value.creator.target._id !== auth.state.user._id) {\n router.push({name: 'unauthorized'})\n }\n } else {\n blog.clean();\n post.value = blog.state.current;\n }\n\n if (!post.value.owner) post.value.owner = {\n target: auth.state.user._id,\n type: 'user'\n }\n\n if (!post.value.creator) post.value.creator = {\n target: auth.state.user._id,\n type: 'user',\n hidden: false\n }\n\n\n if (post.value.owner.type === 'organization') selectedOrganization.value = {\n _id: post.value.owner.target._id,\n name: post.value.owner.target.profile.name,\n photo: post.value.owner.target.profile.photo\n }\n})\n// /////////////////////////////////////////\n// Publication Form\n// /////////////////////////////////////////\nconst tag = ref('');\nconst autocompleteItems = ref([\n { text: 'story' },\n { text: 'news' },\n { text: 'guide' },\n { text: 'discussion' },\n { text: 'photos' },\n]);\n\nconst filteredItems = computed(() => {\n return autocompleteItems.value.filter(i => {\n return i.text.toLowerCase().includes(tag.value.toLowerCase());\n });\n});\n\nconst filteredSuggestedItems = computed(() => {\n return autocompleteItems.value.filter(item => {\n return !selectedTags.value.some(tag => tag.text === item.text);\n });\n })\n\nfunction addTag (tag) {\n selectedTags.value.push(tag)\n}\n// /////////////////////////////////////////\n// Publication Popup\n// /////////////////////////////////////////\nconst isPublicationPopup = ref(false)\n\nfunction openPulicationPopup() {\n isPublicationPopup.value = true;\n}\nfunction closePublicationPopup() {\n isPublicationPopup.value = false;\n}\n\nfunction onDrafts() {\n\n if (selectedTags.value.length > 0) selectedTags.value.map(tag => (tag.text))\n\n post.value.status = \"draft\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n\nfunction onSubmit() {\n\n if (selectedOrganization.value) post.value.owner = {\n target: selectedOrganization.value._id,\n type: 'organization'\n }\n\n if (!selectedOrganization.value) post.value.creator.hidden = false\n if (!selectedOrganization.value) post.value.organization = post.value.creator\n\n post.value.status = \"published\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n console.log(post.value)\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n }\n}\n\nfunction onDelete() {\n if (confirm('Are you sure you want to delete this post?')) {\n blog.remove(post.value._id)\n .then(response => {\n router.push({ name: 'User Blogposts', params: { _id: post.value.creator.target._id } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n</script>\n\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.read","auth.state","blog.clean","blog.state","tag","blog.update","blog.create","blog.remove"],"mappings":"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"}
1
+ {"version":3,"file":"CreateBlogPost.vue.js","sources":["../../../../../../../src/modules/community/components/pages/CreateBlogPost.vue"],"sourcesContent":["<template>\n <article \n class=\"pd-thin\"\n>\n <section \n style=\"min-height: 100%;\"\n class=\"w-100 bg-light pd-big radius-big\"\n >\n <!-- Title -->\n <div \n class=\"w-full h-full\"\n >\n <!-- <Textarea \n v-if=\"post\" \n :prop=\"post\" \n :setFocus=\"true\"\n content=\"name\" \n placeholder=\"Enter post title\" \n class=\"h2\"\n /> -->\n </div>\n\n <Constructor \n v-if=\"post\" \n :content=\"post.content\"\n @update=\"update => post.content = update\"\n />\n </section>\n\n \n <transition name=\"scaleIn\" >\n <section v-if=\"post\" class=\"pd-thin pos-sticky pos-l-0 pos-b-0 w-100 \">\n <div class=\"pd-thin radius-big bg-main w-100 flex-nowrap flex\">\n <a v-if=\"route.params.url\" @click=\"onDelete()\" class=\"mn-r-auto bg-red t-white t-black button\">Delete</a>\n <a @click=\"onDrafts()\" class=\"mn-l-auto bg-white t-black button\">To Drafts</a>\n <a @click=\"openPulicationPopup()\" class=\"mn-l-thin bg-black t-white button\">Publish</a>\n </div>\n </section>\n </transition>\n\n <Popup \n @close-popup=\"closePublicationPopup\" \n :isPopupOpen=\"isPublicationPopup\"\n class=\"w-m-33r t-left pd-big bg-white radius-big\"\n >\n <h3 class=\"mn-b-small\">Final Touches</h3>\n \n <BlockTags\n @tags-changed=\"newTags => post.tags = newTags\"\n :tags=\"post.tags\"\n class=\"mn-b-small\"\n />\n\n <h5 class=\"mn-b-thin\">Add source:</h5>\n <Field \n v-model:field=\"post.source\" \n placeholder=\"Add full link to the source\" \n class=\"mn-b-medium bg-light radius-medium pd-small\" \n />\n\n <h5 class=\"mn-b-thin\">Add to public</h5>\n <Card\n v-if=\"selectedOrganization\"\n :photo=\"selectedOrganization.profile?.photo\"\n :title=\"selectedOrganization.profile?.name\"\n @click=\"() => { \n selectedOrganization = null\n }\"\n class=\"h-4r w-100 bg-light pd-thin radius-medium mn-b-thin\"\n />\n\n <section v-else class=\"mn-b-thin h-25r o-x-hidden o-y-scroll bg-light radius-big pd-small \">\n <Feed\n :showLoadMore=\"false\" \n :search=\"{\n placeholder: 'Search organization...',\n class: 'bg-white mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No organizations Found',\n description: 'Currently, there are no such organizations available.'\n }\n }\"\n :store=\"{\n read: (options) => organizations.actions.read(options),\n state: null\n }\"\n :options=\"{\n user: auth.state.user._id,\n postable: auth.state.user._id,\n lookup: ['memberships']\n }\"\n v-slot=\"{ \n items \n }\"\n >\n <Card\n v-for=\"(organization, index) in items\" \n v-memo=\"[organization._id, organization.profile.name]\"\n :photo=\"organization.profile?.photo\"\n :title=\"organization.profile?.name\"\n @click=\"() => { \n selectedOrganization = organization\n }\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n />\n </Feed>\n </section>\n\n <h5 v-if=\"selectedOrganization\" class=\"mn-b-thin\">Options:</h5>\n <div v-if=\"selectedOrganization\" class=\"mn-b-medium br-grey-transp-25 br-2px br-solid pd-small radius-big\">\n <Checkbox \n :label=\"'Hide Author'\"\n :radio=\"post.creator.hidden\"\n @update:radio=\"event => post.creator.hidden = event\"\n name=\"prices\"\n class=\"w-100\"\n />\n </div>\n \n <Button :submit=\"onSubmit\" :callback=\"redirectTo\" class=\"w-100 bg-black t-white\">Publish</Button>\n </Popup>\n \n </article>\n</template>\n\n<script setup>\nimport Textarea from '@pf/src/modules/constructor/components/elements/Textarea.vue';\nimport Constructor from '@pf/src/modules/constructor/components/sections/Constructor.vue';\n\nimport Popup from '@pf/src/components/Popup/Popup.vue'\nimport FieldTags from '@pf/src/components/FieldTags/FieldTags.vue'\nimport BlockTags from '@pf/src/components/FieldTags/BlockTags.vue'\nimport Checkbox from '@pf/src/components/Checkbox/Checkbox.vue'\nimport Field from '@pf/src/components/Field/Field.vue'\nimport Button from '@pf/src/components/Button/Button.vue'; \nimport Feed from '@pf/src/components/Feed/Feed.vue'\n\nimport Card from '@pf/src/modules/globals/views/components/blocks/Card.vue';\n\nimport { ref, onMounted, watchEffect, nextTick, computed } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { VueDraggableNext } from 'vue-draggable-next';\n// Store & Router\nimport * as blog from '@pf/src/modules/community/store/blogposts.js';\nimport * as auth from '@pf/src/modules/auth/views/store/auth'\nimport * as organizations from '@pf/src/modules/organizations/store/organizations'\n \nimport { useGlobalMixins } from \"@pf/src/modules/globals/views/mixins/mixins.js\"\n\nconst { hasAccess } = useGlobalMixins()\n\nconst route = useRoute();\nconst router = useRouter();\n\nlet post = ref(null);\nlet publics = ref(null);\n\nconst selectedTags = ref([]);\nconst selectedOrganization = ref(null);\n\nonMounted(async () =>{\n \n if (route.params.url) {\n const data = await blog.read({ user: auth.state.user._id, url: route.params.url });\n \n post.value = data.pop();\n\n if (!post.value) {\n router.push({name: 'notfound'})\n }\n\n if (post.value.owner.type === 'organization') {\n // Если пост принадлежит организации, проверяем права на редактирование через `hasAccess`\n const isAccess = hasAccess(post.value.owner.target._id, 'posts', 'edit', auth.state.accesses);\n\n if (!isAccess) {\n router.push({name: 'unauthorized'})\n }\n }\n\n if (post.value.owner.type === 'user' && post.value.creator.target._id !== auth.state.user._id) {\n router.push({name: 'unauthorized'})\n }\n } else {\n blog.clean();\n post.value = blog.state.current;\n }\n\n if (!post.value.owner) post.value.owner = {\n target: auth.state.user._id,\n type: 'user'\n }\n\n if (!post.value.creator) post.value.creator = {\n target: auth.state.user._id,\n type: 'user',\n hidden: false\n }\n\n\n if (post.value.owner.type === 'organization') selectedOrganization.value = {\n _id: post.value.owner.target._id,\n name: post.value.owner.target.profile.name,\n photo: post.value.owner.target.profile.photo\n }\n})\n// /////////////////////////////////////////\n// Publication Form\n// /////////////////////////////////////////\nconst tag = ref('');\nconst autocompleteItems = ref([\n { text: 'story' },\n { text: 'news' },\n { text: 'guide' },\n { text: 'discussion' },\n { text: 'photos' },\n]);\n\nconst filteredItems = computed(() => {\n return autocompleteItems.value.filter(i => {\n return i.text.toLowerCase().includes(tag.value.toLowerCase());\n });\n});\n\nconst filteredSuggestedItems = computed(() => {\n return autocompleteItems.value.filter(item => {\n return !selectedTags.value.some(tag => tag.text === item.text);\n });\n })\n\nfunction addTag (tag) {\n selectedTags.value.push(tag)\n}\n// /////////////////////////////////////////\n// Publication Popup\n// /////////////////////////////////////////\nconst isPublicationPopup = ref(false)\n\nfunction openPulicationPopup() {\n isPublicationPopup.value = true;\n}\nfunction closePublicationPopup() {\n isPublicationPopup.value = false;\n}\n\nfunction onDrafts() {\n\n if (selectedTags.value.length > 0) selectedTags.value.map(tag => (tag.text))\n\n post.value.status = \"draft\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n\nfunction onSubmit() {\n\n if (selectedOrganization.value) post.value.owner = {\n target: selectedOrganization.value._id,\n type: 'organization'\n }\n\n if (!selectedOrganization.value) post.value.creator.hidden = false\n if (!selectedOrganization.value) post.value.organization = post.value.creator\n\n post.value.status = \"published\"\n post.value.name = post.value.content[0].content\n\n if (route.params.url) {\n blog.update(post.value)\n .then(response => {\n console.log(post.value)\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n } else {\n blog.create(post.value)\n .then(response => {\n router.push({ name: 'BlogPost', params: { url: response.url } });\n })\n .catch(error => {\n console.error(error);\n });\n }\n}\n\nfunction onDelete() {\n if (confirm('Are you sure you want to delete this post?')) {\n blog.remove(post.value._id)\n .then(response => {\n router.push({ name: 'User Posts', params: { _id: post.value.creator.target._id } });\n })\n .catch(error => {\n console.log(error);\n });\n }\n}\n</script>\n\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.read","auth.state","blog.clean","blog.state","tag","blog.update","blog.create","blog.remove"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Chips = require("../../../../components/Chips/Chips.vue.cjs");
4
+ const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
5
5
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
6
6
  const CardHeader = require("../../../globals/views/components/blocks/CardHeader.vue.cjs");
7
7
  require("../../../community/store/reactions.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, openBlock, createElementBlock, normalizeClass, createVNode, createElementVNode, createCommentVNode, createBlock, withModifiers, toDisplayString, renderSlot } from "vue";
2
- import _sfc_main$3 from "../../../../components/Chips/Chips.vue.js";
2
+ import _sfc_main$3 from "../../../../components/Chips/Chips.vue2.js";
3
3
  import _sfc_main$2 from "../../../icons/navigation/IconEdit.vue.js";
4
4
  import _sfc_main$1 from "../../../globals/views/components/blocks/CardHeader.vue.js";
5
5
  import "../../../community/store/reactions.js";
@@ -12,7 +12,7 @@ const Popup = require("../../../../components/Popup/Popup.vue.cjs");
12
12
  const Field = require("../../../../components/Field/Field.vue2.cjs");
13
13
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
14
14
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
15
- ;/* empty css */
15
+ ;/* empty css */
16
16
  require("axios");
17
17
  ;/* empty css */
18
18
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
@@ -10,7 +10,7 @@ import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
10
10
  import Field from "../../../../components/Field/Field.vue2.js";
11
11
  import _sfc_main$6 from "../../../../components/FieldTags/BlockTags.vue.js";
12
12
  import _sfc_main$9 from "../../../../components/Checkbox/Checkbox.vue.js";
13
- /* empty css */
13
+ /* empty css */
14
14
  import "axios";
15
15
  /* empty css */
16
16
  import _sfc_main$1 from "../../../../components/UploadImage/UploadImage.vue.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- ;/* empty css */
5
+ ;/* empty css */
6
6
  const Viewer = require("../../../constructor/components/sections/Viewer.vue.cjs");
7
7
  const Countdown = require("../../../../components/Countdown/Countdown.vue.cjs");
8
8
  const HeroEvent = require("../sections/HeroEvent.vue.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, openBlock, createElementBlock, createVNode, TransitionGroup, withCtx, Fragment, renderList, createCommentVNode, createBlock, createElementVNode, toDisplayString, withModifiers } from "vue";
2
2
  /* empty css */
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$1 from "../../../constructor/components/sections/Viewer.vue.js";
5
5
  import _sfc_main$3 from "../../../../components/Countdown/Countdown.vue.js";
6
6
  import HeroEvent from "../sections/HeroEvent.vue.js";
@@ -4,9 +4,9 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  ;/* empty css */
6
6
  const Button = require("../../../../components/Button/Button.vue2.cjs");
7
- ;/* empty css */
8
- const Chips = require("../../../../components/Chips/Chips.vue.cjs");
9
- ;/* empty css */
7
+ ;/* empty css */
8
+ const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
9
+ ;/* empty css */
10
10
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
11
11
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
12
12
  const PhotoViewer = require("../../../../components/PhotoViewer/PhotoViewer.vue.cjs");
@@ -2,9 +2,9 @@ import { ref, openBlock, createElementBlock, createVNode, unref, isRef, withCtx,
2
2
  import { useRoute } from "vue-router";
3
3
  /* empty css */
4
4
  import _sfc_main$9 from "../../../../components/Button/Button.vue2.js";
5
- /* empty css */
6
- import _sfc_main$4 from "../../../../components/Chips/Chips.vue.js";
7
- /* empty css */
5
+ /* empty css */
6
+ import _sfc_main$4 from "../../../../components/Chips/Chips.vue2.js";
7
+ /* empty css */
8
8
  import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
9
9
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
10
10
  import _sfc_main$6 from "../../../../components/PhotoViewer/PhotoViewer.vue.js";
@@ -11,6 +11,10 @@ const _sfc_main = {
11
11
  type: String,
12
12
  default: "Enter shop or product name"
13
13
  },
14
+ autofocus: {
15
+ type: Boolean,
16
+ default: false
17
+ },
14
18
  button: {
15
19
  type: String,
16
20
  default: "Search"
@@ -29,8 +33,9 @@ const _sfc_main = {
29
33
  vue.createVNode(Field.default, {
30
34
  placeholder: __props.placeholder,
31
35
  "onUpdate:field": _cache[0] || (_cache[0] = (search) => updateSearch(search)),
36
+ autofocus: __props.autofocus,
32
37
  class: "w-100"
33
- }, null, 8, ["placeholder"])
38
+ }, null, 8, ["placeholder", "autofocus"])
34
39
  ]);
35
40
  };
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BlockSearch.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/blocks/BlockSearch.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue';\n\nimport IconSearch from '@pf/src/modules/icons/navigation/IconSearch.vue';\nimport Field from '@pf/src/components/Field/Field.vue';\n\nconst emits = defineEmits(['search']);\nconst props = defineProps({\n placeholder: {\n type: String,\n default: 'Enter shop or product name'\n },\n button: {\n type: String,\n default: 'Search'\n },\n});\n\nconst stateSearch = ref(null)\n\nconst updateSearch = (search) => {\n emits('search', search);\n};\n</script>\n\n<template>\n <div class=\"flex-v-center flex-nowrap flex pd-small bg-light w-100 radius-big\">\n <IconSearch class=\"i-medium t-transp mn-r-thin\" />\n\n <Field\n :placeholder=\"placeholder\"\n @update:field=\"search => updateSearch(search)\"\n class=\"w-100\"\n />\n\n <!-- <button \n class=\"pd-r-small pd-l-small pd-t-thin pd-b-thin p-medium uppercase p-small t-medium cursor-pointer radius-extra bg-main\" \n @click=\"updateSearch(stateSearch)\"\n >\n {{ button }}\n </button> -->\n </div>\n</template>\n"],"names":["ref"],"mappings":";;;;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ;AAYMA,QAAG,IAAC,IAAI;AAE5B,UAAM,eAAe,CAAC,WAAW;AAC/B,YAAM,UAAU,MAAM;AAAA,IACxB;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BlockSearch.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/blocks/BlockSearch.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue';\n\nimport IconSearch from '@pf/src/modules/icons/navigation/IconSearch.vue';\nimport Field from '@pf/src/components/Field/Field.vue';\n\nconst emits = defineEmits(['search']);\nconst props = defineProps({\n placeholder: {\n type: String,\n default: 'Enter shop or product name'\n },\n autofocus:{ \n type: Boolean,\n default: false\n },\n button: {\n type: String,\n default: 'Search'\n },\n});\n\nconst stateSearch = ref(null)\n\nconst updateSearch = (search) => {\n emits('search', search);\n};\n</script>\n\n<template>\n <div class=\"flex-v-center flex-nowrap flex pd-small bg-light w-100 radius-big\">\n <IconSearch class=\"i-medium t-transp mn-r-thin\" />\n\n <Field\n :placeholder=\"placeholder\"\n @update:field=\"search => updateSearch(search)\"\n :autofocus=\"autofocus\"\n class=\"w-100\"\n />\n\n <!-- <button \n class=\"pd-r-small pd-l-small pd-t-thin pd-b-thin p-medium uppercase p-small t-medium cursor-pointer radius-extra bg-main\" \n @click=\"updateSearch(stateSearch)\"\n >\n {{ button }}\n </button> -->\n </div>\n</template>\n"],"names":["ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ;AAgBMA,QAAG,IAAC,IAAI;AAE5B,UAAM,eAAe,CAAC,WAAW;AAC/B,YAAM,UAAU,MAAM;AAAA,IACxB;;;;;;;;;;;;;;;"}
@@ -9,6 +9,10 @@ const _sfc_main = {
9
9
  type: String,
10
10
  default: "Enter shop or product name"
11
11
  },
12
+ autofocus: {
13
+ type: Boolean,
14
+ default: false
15
+ },
12
16
  button: {
13
17
  type: String,
14
18
  default: "Search"
@@ -27,8 +31,9 @@ const _sfc_main = {
27
31
  createVNode(Field, {
28
32
  placeholder: __props.placeholder,
29
33
  "onUpdate:field": _cache[0] || (_cache[0] = (search) => updateSearch(search)),
34
+ autofocus: __props.autofocus,
30
35
  class: "w-100"
31
- }, null, 8, ["placeholder"])
36
+ }, null, 8, ["placeholder", "autofocus"])
32
37
  ]);
33
38
  };
34
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BlockSearch.vue.js","sources":["../../../../../../../../src/modules/globals/views/components/blocks/BlockSearch.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue';\n\nimport IconSearch from '@pf/src/modules/icons/navigation/IconSearch.vue';\nimport Field from '@pf/src/components/Field/Field.vue';\n\nconst emits = defineEmits(['search']);\nconst props = defineProps({\n placeholder: {\n type: String,\n default: 'Enter shop or product name'\n },\n button: {\n type: String,\n default: 'Search'\n },\n});\n\nconst stateSearch = ref(null)\n\nconst updateSearch = (search) => {\n emits('search', search);\n};\n</script>\n\n<template>\n <div class=\"flex-v-center flex-nowrap flex pd-small bg-light w-100 radius-big\">\n <IconSearch class=\"i-medium t-transp mn-r-thin\" />\n\n <Field\n :placeholder=\"placeholder\"\n @update:field=\"search => updateSearch(search)\"\n class=\"w-100\"\n />\n\n <!-- <button \n class=\"pd-r-small pd-l-small pd-t-thin pd-b-thin p-medium uppercase p-small t-medium cursor-pointer radius-extra bg-main\" \n @click=\"updateSearch(stateSearch)\"\n >\n {{ button }}\n </button> -->\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ;AAYM,QAAI,IAAI;AAE5B,UAAM,eAAe,CAAC,WAAW;AAC/B,YAAM,UAAU,MAAM;AAAA,IACxB;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BlockSearch.vue.js","sources":["../../../../../../../../src/modules/globals/views/components/blocks/BlockSearch.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue';\n\nimport IconSearch from '@pf/src/modules/icons/navigation/IconSearch.vue';\nimport Field from '@pf/src/components/Field/Field.vue';\n\nconst emits = defineEmits(['search']);\nconst props = defineProps({\n placeholder: {\n type: String,\n default: 'Enter shop or product name'\n },\n autofocus:{ \n type: Boolean,\n default: false\n },\n button: {\n type: String,\n default: 'Search'\n },\n});\n\nconst stateSearch = ref(null)\n\nconst updateSearch = (search) => {\n emits('search', search);\n};\n</script>\n\n<template>\n <div class=\"flex-v-center flex-nowrap flex pd-small bg-light w-100 radius-big\">\n <IconSearch class=\"i-medium t-transp mn-r-thin\" />\n\n <Field\n :placeholder=\"placeholder\"\n @update:field=\"search => updateSearch(search)\"\n :autofocus=\"autofocus\"\n class=\"w-100\"\n />\n\n <!-- <button \n class=\"pd-r-small pd-l-small pd-t-thin pd-b-thin p-medium uppercase p-small t-medium cursor-pointer radius-extra bg-main\" \n @click=\"updateSearch(stateSearch)\"\n >\n {{ button }}\n </button> -->\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ;AAgBM,QAAI,IAAI;AAE5B,UAAM,eAAe,CAAC,WAAW;AAC/B,YAAM,UAAU,MAAM;AAAA,IACxB;;;;;;;;;;;;;;"}
@@ -4,14 +4,16 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const globals = require("../../store/globals.cjs");
6
6
  const Status = require("../../../../../components/Status/Status.vue.cjs");
7
- const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
8
- const Loader = require("../../../../../components/Loader/Loader.vue2.cjs");
9
7
  require("vue-i18n");
8
+ ;/* empty css */
9
+ const Loader = require("../../../../../components/Loader/Loader.vue2.cjs");
10
10
  ;/* empty css */
11
11
  require("../../../../orders/store/shopcart.cjs");
12
12
  require("../../../../auth/views/store/auth.cjs");
13
13
  ;/* empty css */
14
- const LocationSelection = require("../partials/LocationSelection.vue.cjs");
14
+ require("../../../../../../../node_modules/@googlemaps/js-api-loader/dist/index.cjs");
15
+ ;/* empty css */
16
+ ;/* empty css */
15
17
  const ShopCart = require("../../../../orders/components/partials/ShopCart.vue.cjs");
16
18
  ;/* empty css */
17
19
  const _sfc_main = {
@@ -21,9 +23,6 @@ const _sfc_main = {
21
23
  const page = vue.ref(null);
22
24
  const route = vueRouter.useRoute();
23
25
  const referalCode = vue.ref(route.query.referalCode);
24
- function closeLocationPopup() {
25
- globals.state.isOpenLocationPopup = false;
26
- }
27
26
  function scrollTop() {
28
27
  document.getElementById("app").scrollIntoView();
29
28
  }
@@ -103,17 +102,6 @@ const _sfc_main = {
103
102
  ]),
104
103
  _: 1
105
104
  }),
106
- vue.unref(route).meta.header.location ? (vue.openBlock(), vue.createBlock(Popup.default, {
107
- key: 1,
108
- onClosePopup: closeLocationPopup,
109
- isPopupOpen: globals.state.isOpenLocationPopup,
110
- class: "bg-white pd-semi w-m-33r radius-big"
111
- }, {
112
- default: vue.withCtx(() => [
113
- vue.createVNode(LocationSelection.default)
114
- ]),
115
- _: 1
116
- }, 8, ["isPopupOpen"])) : vue.createCommentVNode("", true),
117
105
  vue.createElementVNode("section", {
118
106
  id: "screen",
119
107
  ref: "screen",
@@ -167,7 +155,7 @@ const _sfc_main = {
167
155
  _: 1
168
156
  }),
169
157
  _ctx.MOBILE_APP && vue.unref(route).meta.title_hide ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(route).meta.bottombar), {
170
- key: 2,
158
+ key: 1,
171
159
  class: "z-index-2"
172
160
  })) : vue.createCommentVNode("", true)
173
161
  ], 2);
@@ -1 +1 @@
1
- {"version":3,"file":"Client.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/layouts/Client.vue"],"sourcesContent":["<template>\n\t<div \n\t\tid=\"app-wrapper\"\n\t\tclass=\"pos-relative o-hidden\"\n\t\t:class=\"{\n \t\t'pd-t-extra': MOBILE_APP === 'ios', \n\t\t\t'bg-light': headerTheme === 'light',\n\t\t\t'bg-dark': headerTheme === 'dark' \n \t}\"\n\t>\n\t\t<transition name=\"moveFromTop\" appear>\n\t\t\t<Loader v-if=\"!page\" class=\"pos-fixed\"/>\n\t\t</transition>\n\n\t\t\n <component\n\t\t\tv-if=\"!MOBILE_APP && route.meta.header.component\"\n ref=\"header\" \n :is=\"route.meta.header.component\"\n :theme=\"headerTheme\"\n :logotype=\"route.meta.header.logotype\"\n :location=\"route.meta.header.location\"\n />\n\n\t\t<transition name=\"moveFromTop\" mode=\"out-in\" appear>\n\t\t\t<component\n \tv-if=\"MOBILE_APP && !route.meta.hideNavigationBar\"\n :is=\"route.meta.navigationbar\"\n :logotype=\"route.meta.header.logotype\"\n />\n\t\t</transition>\n\n\t <Popup \n\t \tv-if=\"route.meta.header.location\"\n\t \t@close-popup=\"closeLocationPopup\" \n\t \t:isPopupOpen=\"globals.state.isOpenLocationPopup\"\n\t \tclass=\"bg-white pd-semi w-m-33r radius-big\"\n\t >\t\n\t \t<LocationSelection />\n\t </Popup>\n\n\t\t<section \n\t\t\tid=\"screen\" \n\t\t\tref=\"screen\"\n\t\t\t@scroll=\"handleScroll\"\n\t\t\tclass=\"transition-ease-in-out o-hidden w-100 pos-relative\"\n\t\t\t:class=\"{\n\t\t\t\t'': MOBILE_APP === 'ios',\n\t\t\t}\"\n\t\t>\n\t\t\t<ShopCart />\n\n\t\t\t<!-- <section v-if=\"!route.meta?.breadcrumbs?.hide\" class=\"pd-thin pd-b-zero\">\n\t\t\t\t<Breadcrumbs \n\t\t\t\t\tv-if=\"!MOBILE_APP\"\n\t\t\t\t\tclass=\"bg-light pd-small radius-big\"\n\t\t\t\t/>\n\t\t\t</section> -->\n\n\t\t\t<Suspense>\n\t\t\t\t<router-view \n\t\t\t\t\tv-slot=\"{ Component, route }\" \n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'scroll-hide': MOBILE_APP,\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"o-y-scroll o-x-hidden flex flex-column h-100\"\n\t\t\t\t>\n\t\t\t\t\t<Status \n\t\t\t\t\t\tv-if=\"globals.state.error.show\" \n\t\t\t\t\t\t:data=\"globals.state.error\"\n\t\t\t\t\t\t@close=\"globals.state.error.show = false\"\n\t\t\t\t\t\tclass=\"z-index-7\" \n\t\t\t\t\t/>\n\n\t\t\t\t\t<transition @before-enter=\"scrollTop\" name=\"scaleTransition\" mode=\"out-in\" appear>\n\t\t \t<component \n\t\t \t\tref=\"page\" \n\t\t \t\t:is=\"Component\" \n\t\t \t\t:key=\"route.path\"\n\t\t \t\tclass=\"h-min-100\"\n\t\t \t/>\n\t\t \t<!-- Key пока выключил непонятно какие проблемы это вызовет -->\n\t\t \t<!-- -->\n\t\t </transition>\n\n\t\t <!-- <Footer /> -->\n\t\t\t\t</router-view>\n\t\t\t</Suspense>\n \n\t\t</section>\n\n\t\t<router-view \n\t\t\tname=\"defaultBottom\"\n\t\t\tv-slot=\"{ Component, route }\" \n\t\t>\n\t\t\t<component \n \t\t:is=\"Component\" \n \t/>\n\t\t</router-view>\n\n <component \n v-if=\"MOBILE_APP && route.meta.title_hide\"\n class=\"z-index-2\"\n \t:is=\"route.meta.bottombar\"\n />\n\t</div>\n</template>\n\n\n\n<script setup>\n\timport { computed, ref, onMounted } from 'vue';\n\t// Router\n\timport { useRoute } from 'vue-router';\n\t// Store\n\timport * as globals from '@pf/src/modules/globals/views/store/globals';\n\t// Partials\n\timport Status from '@pf/src/components/Status/Status.vue';\n\timport Popup from '@pf/src/components/Popup/Popup.vue';\n\t// import Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Loader from '@pf/src/components/Loader/Loader.vue';\n\n\timport NavigationBar from '@pf/src/modules/globals/views/components/partials/NavigationBar.vue';\n\timport LocationSelection from '@pf/src/modules/globals/views/components/partials/LocationSelection.vue';\n\t// import Footer from '@pf/src/modules/globals/views/components/partials/Footer.vue'\n\n\timport ShopCart from '@pf/src/modules/orders/components/partials/ShopCart.vue';\n\t/////////////////////////////\n // LOADING\n /////////////////////////////\n // State\n let show = ref(false)\n // Preloader\n const page = ref(null)\n\t/////////////////////////////\n\t// CREATED\n\t/////////////////////////////\n\tconst route = useRoute()\n\t// const router = useRouter()\n\t// Ref Code\n\tconst referalCode = ref(route.query.referalCode);\n\t/////////////////////////////\n\t// Methods\n\t/////////////////////////////\n\tfunction closeLocationPopup() {\n\t globals.state.isOpenLocationPopup = false;\n\t}\n\tfunction scrollTop(){\n\t\tdocument.getElementById('app').scrollIntoView();\n\t}\n\t// Scrolling header\n\tconst scrollOffset = ref(0)\n\tlet isScrolled = false\n\tconst header = ref(null)\n\n\tconst headerTheme = computed(() => {\n\t\tif (scrollOffset.value > 50) {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t} else {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t}\n\t})\n\n\tconst handleScroll = () => {\n\t scrollOffset.value = event.target.scrollTop\n\t};\n\n\tonMounted(async () => {\n\t\t \n\t\tif ('serviceWorker' in navigator) {\n\t \twindow.addEventListener('load', () => {\n\t \tnavigator.serviceWorker.register('/service-worker.js').then(registration => {\n\t \tconsole.log('SW registered: ', registration);\n\t \t}).catch(registrationError => {\n\t \tconsole.log('SW registration failed: ', registrationError);\n\t \t});\n\t });\n\t \t}\n\t\t\n\t\tconst savedPosition = localStorage.getItem('position');\n\n\t if (savedPosition) {\n\t globals.state.position = JSON.parse(savedPosition);\n\t } else {\n \t\tglobals.state.isOpenLocationPopup = true;\n\t }\n\n\t\tif (referalCode.value) {\n\t\t localStorage.setItem('referalCode', referalCode.value);\n\t\t}\n\n\t\tif (page.value) show.value = true\n\t});\n</script>\n\n<style lang=\"scss\">;\t\n\t.moveFromTop-enter-active,\n\t.moveFromTop-leave-active {\n\t\ttransform: translateY(0);\n\t\topacity: 1;\n\t\ttransition: all 0.5s ease; \n\t\t\n\t}\n\t.moveFromTop-enter-from,\n\t.moveFromTop-leave-to {\n\t\ttransform: translateY(-1rem);\n\t\topacity: 0;\n\t\ttransition: all 0.5s ease;\n\t}\n\n\t.moveFromTopAbsolute-enter-active,\n\t.moveFromTopAbsolute-leave-active {\n\t\ttransform: translateY(0);\n\t\topacity: 1;\n\t\ttransition: all 0.5s ease; \n\t\t\n\t}\n\t.moveFromTopAbsolute-enter-from,\n\t.moveFromTopAbsolute-leave-to {\n\t\tposition: absolute;\n\t\ttransform: translateY(-1rem);\n\t\topacity: 0;\n\t\ttransition: all 0.5s ease;\n\t}\n\t.ScaleOut-enter-active,\n\t.ScaleOut-leave-active {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t\ttransition: all 0.3s ease; \n\t\t\n\t}\n\t.ScaleOut-enter-from,\n\t.ScaleOut-leave-to {\n\t\topacity: 0;\n\t\ttransform: scale(0.9);\n\t\ttransition: all 0.3s ease;\n\t}\n\t.slide-fade-enter-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-leave-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-enter-from,\n\t.slide-fade-leave-to {\n\t\tmin-height: 0;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n\t.scaleTransition-5px-enter-active,\n .scaleTransition-5px-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.2s ease;\n }\n\n .scaleTransition-5px-enter-from,\n .scaleTransition-5px-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n transform: translateY(-30px); \n transition: all 0.2s ease;\n }\n\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleTransition-enter-active,\n .scaleTransition-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.5s ease;\n }\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleIn-enter-active,\n .scaleIn-leave-active {\n // background: red;\n transition: all 0.5s ease;\n > section,div { transform-origin: 0 0; transform: translateZ(0px); transition: all 0.5s ease; }\n }\n .scaleIn-enter-from,\n .scaleIn-leave-to {\n opacity: 0;\n transform: scale(0.95);\n > section,div { transform: translateZ(-30px); transition: all 0.5s ease; }\n }\n</style>"],"names":["ref","useRoute","globals.state","computed","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;AAmIE,QAAI,OAAOA,IAAG,IAAC,KAAK;AAEpB,UAAM,OAAOA,IAAG,IAAC,IAAI;AAItB,UAAM,QAAQC,UAAAA,SAAU;AAGxB,UAAM,cAAcD,IAAG,IAAC,MAAM,MAAM,WAAW;AAI/C,aAAS,qBAAqB;AAC5BE,cAAa,MAAC,sBAAsB;AAAA,IACrC;AACD,aAAS,YAAW;AACnB,eAAS,eAAe,KAAK,EAAE,eAAc;AAAA,IAC7C;AAED,UAAM,eAAeF,IAAG,IAAC,CAAC;AAE1B,UAAM,SAASA,IAAG,IAAC,IAAI;AAEvB,UAAM,cAAcG,IAAAA,SAAS,MAAM;AAClC,UAAI,aAAa,QAAQ,IAAI;AAC5B,eAAO,MAAM,KAAK,gBAAiB;AAAA,MACtC,OAAS;AACN,eAAO,MAAM,KAAK,gBAAgB;AAAA,MAClC;AAAA,IACH,CAAE;AAED,UAAM,eAAe,MAAM;AACzB,mBAAa,QAAQ,MAAM,OAAO;AAAA,IACrC;AAECC,QAAAA,UAAU,YAAY;AAErB,UAAI,mBAAmB,WAAW;AAC/B,eAAO,iBAAiB,QAAQ,MAAM;AACpC,oBAAU,cAAc,SAAS,oBAAoB,EAAE,KAAK,kBAAgB;AAC1E,oBAAQ,IAAI,mBAAmB,YAAY;AAAA,UACpD,CAAQ,EAAE,MAAM,uBAAqB;AAC5B,oBAAQ,IAAI,4BAA4B,iBAAiB;AAAA,UAClE,CAAQ;AAAA,QACR,CAAK;AAAA,MACD;AAEF,YAAM,gBAAgB,aAAa,QAAQ,UAAU;AAEpD,UAAI,eAAe;AACjBF,gBAAAA,MAAc,WAAW,KAAK,MAAM,aAAa;AAAA,MACtD,OAAU;AACNA,gBAAa,MAAC,sBAAsB;AAAA,MACpC;AAEF,UAAI,YAAY,OAAO;AACrB,qBAAa,QAAQ,eAAe,YAAY,KAAK;AAAA,MACtD;AAED,UAAI,KAAK,MAAO,MAAK,QAAQ;AAAA,IAC/B,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Client.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/layouts/Client.vue"],"sourcesContent":["<template>\n\t<div \n\t\tid=\"app-wrapper\"\n\t\tclass=\"pos-relative o-hidden\"\n\t\t:class=\"{\n \t\t'pd-t-extra': MOBILE_APP === 'ios', \n\t\t\t'bg-light': headerTheme === 'light',\n\t\t\t'bg-dark': headerTheme === 'dark' \n \t}\"\n\t>\n\t\t<transition name=\"moveFromTop\" appear>\n\t\t\t<Loader v-if=\"!page\" class=\"pos-fixed\"/>\n\t\t</transition>\n\n\t\t\n <component\n\t\t\tv-if=\"!MOBILE_APP && route.meta.header.component\"\n ref=\"header\" \n :is=\"route.meta.header.component\"\n :theme=\"headerTheme\"\n :logotype=\"route.meta.header.logotype\"\n :location=\"route.meta.header.location\"\n />\n\n\t\t<transition name=\"moveFromTop\" mode=\"out-in\" appear>\n\t\t\t<component\n \tv-if=\"MOBILE_APP && !route.meta.hideNavigationBar\"\n :is=\"route.meta.navigationbar\"\n :logotype=\"route.meta.header.logotype\"\n />\n\t\t</transition>\n\n\t <!-- <Popup \n\t \tv-if=\"route.meta.header.location\"\n\t \t@close-popup=\"closeLocationPopup\" \n\t \t:isPopupOpen=\"globals.state.isOpenLocationPopup\"\n\t \tclass=\"bg-white pd-semi w-m-33r radius-big\"\n\t >\t\n\t \t<LocationSelection />\n\t </Popup> -->\n\n\t\t<section \n\t\t\tid=\"screen\" \n\t\t\tref=\"screen\"\n\t\t\t@scroll=\"handleScroll\"\n\t\t\tclass=\"transition-ease-in-out o-hidden w-100 pos-relative\"\n\t\t\t:class=\"{\n\t\t\t\t'': MOBILE_APP === 'ios',\n\t\t\t}\"\n\t\t>\n\t\t\t<ShopCart />\n\n\t\t\t<!-- <section v-if=\"!route.meta?.breadcrumbs?.hide\" class=\"pd-thin pd-b-zero\">\n\t\t\t\t<Breadcrumbs \n\t\t\t\t\tv-if=\"!MOBILE_APP\"\n\t\t\t\t\tclass=\"bg-light pd-small radius-big\"\n\t\t\t\t/>\n\t\t\t</section> -->\n\n\t\t\t<Suspense>\n\t\t\t\t<router-view \n\t\t\t\t\tv-slot=\"{ Component, route }\" \n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'scroll-hide': MOBILE_APP,\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"o-y-scroll o-x-hidden flex flex-column h-100\"\n\t\t\t\t>\n\t\t\t\t\t<Status \n\t\t\t\t\t\tv-if=\"globals.state.error.show\" \n\t\t\t\t\t\t:data=\"globals.state.error\"\n\t\t\t\t\t\t@close=\"globals.state.error.show = false\"\n\t\t\t\t\t\tclass=\"z-index-7\" \n\t\t\t\t\t/>\n\n\t\t\t\t\t<transition @before-enter=\"scrollTop\" name=\"scaleTransition\" mode=\"out-in\" appear>\n\t\t \t<component \n\t\t \t\tref=\"page\" \n\t\t \t\t:is=\"Component\" \n\t\t \t\t:key=\"route.path\"\n\t\t \t\tclass=\"h-min-100\"\n\t\t \t/>\n\t\t \t<!-- Key пока выключил непонятно какие проблемы это вызовет -->\n\t\t \t<!-- -->\n\t\t </transition>\n\n\t\t <!-- <Footer /> -->\n\t\t\t\t</router-view>\n\t\t\t</Suspense>\n \n\t\t</section>\n\n\t\t<router-view \n\t\t\tname=\"defaultBottom\"\n\t\t\tv-slot=\"{ Component, route }\" \n\t\t>\n\t\t\t<component \n \t\t:is=\"Component\" \n \t/>\n\t\t</router-view>\n\n <component \n v-if=\"MOBILE_APP && route.meta.title_hide\"\n class=\"z-index-2\"\n \t:is=\"route.meta.bottombar\"\n />\n\t</div>\n</template>\n\n\n\n<script setup>\n\timport { computed, ref, onMounted } from 'vue';\n\t// Router\n\timport { useRoute } from 'vue-router';\n\t// Store\n\timport * as globals from '@pf/src/modules/globals/views/store/globals';\n\t// Partials\n\timport Status from '@pf/src/components/Status/Status.vue';\n\timport Popup from '@pf/src/components/Popup/Popup.vue';\n\t// import Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Loader from '@pf/src/components/Loader/Loader.vue';\n\n\timport NavigationBar from '@pf/src/modules/globals/views/components/partials/NavigationBar.vue';\n\timport LocationSelection from '@pf/src/modules/globals/views/components/partials/LocationSelection.vue';\n\t// import Footer from '@pf/src/modules/globals/views/components/partials/Footer.vue'\n\n\timport ShopCart from '@pf/src/modules/orders/components/partials/ShopCart.vue';\n\t/////////////////////////////\n // LOADING\n /////////////////////////////\n // State\n let show = ref(false)\n // Preloader\n const page = ref(null)\n\t/////////////////////////////\n\t// CREATED\n\t/////////////////////////////\n\tconst route = useRoute()\n\t// const router = useRouter()\n\t// Ref Code\n\tconst referalCode = ref(route.query.referalCode);\n\t/////////////////////////////\n\t// Methods\n\t/////////////////////////////\n\tfunction closeLocationPopup() {\n\t globals.state.isOpenLocationPopup = false;\n\t}\n\tfunction scrollTop(){\n\t\tdocument.getElementById('app').scrollIntoView();\n\t}\n\t// Scrolling header\n\tconst scrollOffset = ref(0)\n\tlet isScrolled = false\n\tconst header = ref(null)\n\n\tconst headerTheme = computed(() => {\n\t\tif (scrollOffset.value > 50) {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t} else {\n\t\t\treturn route.meta.header_theme || 'light'\n\t\t}\n\t})\n\n\tconst handleScroll = () => {\n\t scrollOffset.value = event.target.scrollTop\n\t};\n\n\tonMounted(async () => {\n\t\t \n\t\tif ('serviceWorker' in navigator) {\n\t \twindow.addEventListener('load', () => {\n\t \tnavigator.serviceWorker.register('/service-worker.js').then(registration => {\n\t \tconsole.log('SW registered: ', registration);\n\t \t}).catch(registrationError => {\n\t \tconsole.log('SW registration failed: ', registrationError);\n\t \t});\n\t });\n\t \t}\n\t\t\n\t\tconst savedPosition = localStorage.getItem('position');\n\n\t if (savedPosition) {\n\t globals.state.position = JSON.parse(savedPosition);\n\t } else {\n \t\tglobals.state.isOpenLocationPopup = true;\n\t }\n\n\t\tif (referalCode.value) {\n\t\t localStorage.setItem('referalCode', referalCode.value);\n\t\t}\n\n\t\tif (page.value) show.value = true\n\t});\n</script>\n\n<style lang=\"scss\">;\t\n\t.moveFromTop-enter-active,\n\t.moveFromTop-leave-active {\n\t\ttransform: translateY(0);\n\t\topacity: 1;\n\t\ttransition: all 0.5s ease; \n\t\t\n\t}\n\t.moveFromTop-enter-from,\n\t.moveFromTop-leave-to {\n\t\ttransform: translateY(-1rem);\n\t\topacity: 0;\n\t\ttransition: all 0.5s ease;\n\t}\n\n\t.moveFromTopAbsolute-enter-active,\n\t.moveFromTopAbsolute-leave-active {\n\t\ttransform: translateY(0);\n\t\topacity: 1;\n\t\ttransition: all 0.5s ease; \n\t\t\n\t}\n\t.moveFromTopAbsolute-enter-from,\n\t.moveFromTopAbsolute-leave-to {\n\t\tposition: absolute;\n\t\ttransform: translateY(-1rem);\n\t\topacity: 0;\n\t\ttransition: all 0.5s ease;\n\t}\n\t.ScaleOut-enter-active,\n\t.ScaleOut-leave-active {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t\ttransition: all 0.3s ease; \n\t\t\n\t}\n\t.ScaleOut-enter-from,\n\t.ScaleOut-leave-to {\n\t\topacity: 0;\n\t\ttransform: scale(0.9);\n\t\ttransition: all 0.3s ease;\n\t}\n\t.slide-fade-enter-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-leave-active {\n\t\t// min-height: 100vh;\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-enter-from,\n\t.slide-fade-leave-to {\n\t\tmin-height: 0;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n\t.scaleTransition-5px-enter-active,\n .scaleTransition-5px-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.2s ease;\n }\n\n .scaleTransition-5px-enter-from,\n .scaleTransition-5px-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n transform: translateY(-30px); \n transition: all 0.2s ease;\n }\n\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleTransition-enter-active,\n .scaleTransition-leave-active {\n transform: translateY(0px); \n opacity: 1;\n z-index: 1;\n transition: all 0.5s ease;\n }\n .scaleTransition-enter-from,\n .scaleTransition-leave-to {\n opacity: 0;\n z-index: 0;\n position: absolute;\n width: inherit;\n height: inherit;\n display: block;\n transform: translateY(30px); \n transition: all 0.5s ease;\n }\n\n .scaleIn-enter-active,\n .scaleIn-leave-active {\n // background: red;\n transition: all 0.5s ease;\n > section,div { transform-origin: 0 0; transform: translateZ(0px); transition: all 0.5s ease; }\n }\n .scaleIn-enter-from,\n .scaleIn-leave-to {\n opacity: 0;\n transform: scale(0.95);\n > section,div { transform: translateZ(-30px); transition: all 0.5s ease; }\n }\n</style>"],"names":["ref","useRoute","computed","onMounted","globals.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmIE,QAAI,OAAOA,IAAG,IAAC,KAAK;AAEpB,UAAM,OAAOA,IAAG,IAAC,IAAI;AAItB,UAAM,QAAQC,UAAAA,SAAU;AAGxB,UAAM,cAAcD,IAAG,IAAC,MAAM,MAAM,WAAW;AAO/C,aAAS,YAAW;AACnB,eAAS,eAAe,KAAK,EAAE,eAAc;AAAA,IAC7C;AAED,UAAM,eAAeA,IAAG,IAAC,CAAC;AAE1B,UAAM,SAASA,IAAG,IAAC,IAAI;AAEvB,UAAM,cAAcE,IAAAA,SAAS,MAAM;AAClC,UAAI,aAAa,QAAQ,IAAI;AAC5B,eAAO,MAAM,KAAK,gBAAiB;AAAA,MACtC,OAAS;AACN,eAAO,MAAM,KAAK,gBAAgB;AAAA,MAClC;AAAA,IACH,CAAE;AAED,UAAM,eAAe,MAAM;AACzB,mBAAa,QAAQ,MAAM,OAAO;AAAA,IACrC;AAECC,QAAAA,UAAU,YAAY;AAErB,UAAI,mBAAmB,WAAW;AAC/B,eAAO,iBAAiB,QAAQ,MAAM;AACpC,oBAAU,cAAc,SAAS,oBAAoB,EAAE,KAAK,kBAAgB;AAC1E,oBAAQ,IAAI,mBAAmB,YAAY;AAAA,UACpD,CAAQ,EAAE,MAAM,uBAAqB;AAC5B,oBAAQ,IAAI,4BAA4B,iBAAiB;AAAA,UAClE,CAAQ;AAAA,QACR,CAAK;AAAA,MACD;AAEF,YAAM,gBAAgB,aAAa,QAAQ,UAAU;AAEpD,UAAI,eAAe;AACjBC,gBAAAA,MAAc,WAAW,KAAK,MAAM,aAAa;AAAA,MACtD,OAAU;AACNA,gBAAa,MAAC,sBAAsB;AAAA,MACpC;AAEF,UAAI,YAAY,OAAO;AACrB,qBAAa,QAAQ,eAAe,YAAY,KAAK;AAAA,MACtD;AAED,UAAI,KAAK,MAAO,MAAK,QAAQ;AAAA,IAC/B,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}