@ozdao/martyrs 0.2.429 → 0.2.430

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/community.server.js +1 -1
  2. package/dist/community.server.mjs +1 -1
  3. package/dist/events.server.js +1 -1
  4. package/dist/events.server.mjs +1 -1
  5. package/dist/gallery.server.js +1 -1
  6. package/dist/gallery.server.mjs +1 -1
  7. package/dist/{globals.logger-Deb_8o7C.mjs → globals.cache-BT6q3vOf.mjs} +0 -33
  8. package/dist/{globals.logger-BuG0pN80.js → globals.cache-CwWvNGFQ.js} +0 -33
  9. package/dist/globals.logger-BdjooLaD.js +34 -0
  10. package/dist/globals.logger-DusiFsxN.mjs +35 -0
  11. package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
  12. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  13. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs → Tooltip.vue2.cjs} +2 -2
  14. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -0
  15. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
  16. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs.map → Tooltip.vue2.js.map} +1 -1
  17. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  18. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  19. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +11 -8
  20. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  21. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +11 -8
  22. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  23. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +5 -5
  24. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  25. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +5 -5
  26. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  27. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +17 -9
  28. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  29. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +17 -9
  30. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  31. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs +16 -4
  32. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
  33. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +16 -4
  34. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
  35. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +112 -0
  36. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -0
  37. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +112 -0
  38. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -0
  39. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +19 -13
  40. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
  41. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +19 -13
  42. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  43. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  45. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  47. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  48. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  49. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +14 -6
  50. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  51. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +23 -15
  52. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  53. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +16 -99
  54. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +16 -99
  56. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  57. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +2 -2
  58. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  59. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
  60. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  61. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  63. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +59 -56
  64. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +63 -60
  66. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/organizations/store/organizations.cjs +0 -2
  68. package/dist/martyrs/src/modules/organizations/store/organizations.cjs.map +1 -1
  69. package/dist/martyrs/src/modules/organizations/store/organizations.js +1 -3
  70. package/dist/martyrs/src/modules/organizations/store/organizations.js.map +1 -1
  71. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  73. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +4 -3
  74. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  75. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -4
  76. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  77. package/dist/martyrs/src/modules/spots/store/spots.cjs +4 -11
  78. package/dist/martyrs/src/modules/spots/store/spots.cjs.map +1 -1
  79. package/dist/martyrs/src/modules/spots/store/spots.js +4 -11
  80. package/dist/martyrs/src/modules/spots/store/spots.js.map +1 -1
  81. package/dist/martyrs.css +1 -1
  82. package/dist/orders.server.js +5 -4
  83. package/dist/orders.server.mjs +4 -3
  84. package/dist/organizations.server.js +33 -30
  85. package/dist/organizations.server.mjs +33 -30
  86. package/dist/products.server.js +1 -1
  87. package/dist/products.server.mjs +1 -1
  88. package/dist/{queryProcessor-CCmHM0yi.mjs → queryProcessor-CWnMIe2U.mjs} +4 -1
  89. package/dist/{queryProcessor-CwQakZkT.js → queryProcessor-D6GuKfTV.js} +4 -1
  90. package/dist/rents.server.js +4 -3
  91. package/dist/rents.server.mjs +3 -2
  92. package/dist/spots.server.js +4 -16
  93. package/dist/spots.server.mjs +4 -16
  94. package/dist/style.css +40 -48
  95. package/dist/wallet.server.js +1 -1
  96. package/dist/wallet.server.mjs +1 -1
  97. package/package.json +1 -1
  98. package/src/modules/globals/controllers/utils/queryProcessor.js +2 -1
  99. package/src/modules/globals/views/components/layouts/Client.vue +21 -15
  100. package/src/modules/globals/views/components/partials/Header.vue +3 -4
  101. package/src/modules/globals/views/components/partials/Navigation.vue +17 -19
  102. package/src/modules/globals/views/components/partials/Sidebar.vue +20 -9
  103. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +106 -0
  104. package/src/modules/orders/components/blocks/CardOrderUser.vue +16 -9
  105. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  106. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +15 -3
  107. package/src/modules/orders/components/pages/Orders.vue +10 -93
  108. package/src/modules/orders/components/partials/ShopCart.vue +2 -2
  109. package/src/modules/orders/controllers/orders.controller.js +2 -1
  110. package/src/modules/organizations/components/pages/Organization.vue +48 -47
  111. package/src/modules/organizations/controllers/organizations.controller.js +57 -47
  112. package/src/modules/organizations/store/organizations.js +6 -6
  113. package/src/modules/products/components/pages/Products.vue +4 -3
  114. package/src/modules/spots/controllers/spots.controller.js +3 -17
  115. package/src/modules/spots/routes/spots.routes.js +1 -4
  116. package/src/modules/spots/store/spots.js +4 -12
  117. package/src/styles/base/shadow_transitions_hover_refactor.scss +1 -0
  118. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
  119. package/src/modules/landing/components/sections/HowToBuyWDR.vue +0 -130
  120. package/src/modules/landing/components/sections/WhatIsWDRSection.vue +0 -116
@@ -118,64 +118,68 @@ const _sfc_main = {
118
118
  ]),
119
119
  _: 1
120
120
  }),
121
- tabOrganization.value === "products" && _ctx.hasAccess(vue.unref(route).params._id, null, null, auth.state.accesses, auth.state.access.roles) ? (vue.openBlock(), vue.createBlock(Block.default, {
122
- key: 0,
123
- class: "o-scroll mn-b-small"
124
- }, {
125
- default: vue.withCtx(() => [
126
- vue.createElementVNode("div", _hoisted_3, [
127
- vue.createVNode(_component_router_link, {
128
- class: "bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra",
129
- to: {
130
- name: "Organization_ProductAdd",
131
- params: {
132
- _id: vue.unref(route).params._id
133
- }
134
- }
135
- }, {
136
- default: vue.withCtx(() => _cache[2] || (_cache[2] = [
137
- vue.createTextVNode(" Add Product ")
138
- ])),
139
- _: 1
140
- }, 8, ["to"]),
141
- vue.createVNode(_component_router_link, {
142
- class: "uppercase t-nowrap t-semi pd-thin radius-extra",
143
- to: {
144
- name: "Leftovers",
145
- params: {
146
- _id: vue.unref(route).params._id
147
- }
148
- }
149
- }, {
150
- default: vue.withCtx(() => _cache[3] || (_cache[3] = [
151
- vue.createTextVNode(" Change Invetory ")
152
- ])),
153
- _: 1
154
- }, 8, ["to"]),
155
- vue.createVNode(_component_router_link, {
156
- class: "d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra",
157
- to: {
158
- name: "Backoffice",
159
- params: {
160
- _id: vue.unref(route).params._id
161
- }
162
- }
163
- }, {
164
- default: vue.withCtx(() => _cache[4] || (_cache[4] = [
165
- vue.createTextVNode(" Go to Backoffice ")
166
- ])),
167
- _: 1
168
- }, 8, ["to"])
169
- ])
170
- ]),
171
- _: 1
172
- })) : vue.createCommentVNode("", true),
173
121
  vue.createVNode(vue.Transition, { name: "slide-fade" }, {
174
122
  default: vue.withCtx(() => [
175
123
  tabOrganization.value === "products" ? (vue.openBlock(), vue.createBlock(Products.default, {
176
124
  key: 0,
177
125
  organization: organizations.state.current
178
- }, null, 8, ["organization"])) : vue.createCommentVNode("", true)
126
+ }, {
127
+ default: vue.withCtx(() => [
128
+ _ctx.hasAccess(vue.unref(route).params._id, null, null, auth.state.accesses, auth.state.access.roles) ? (vue.openBlock(), vue.createBlock(Block.default, {
129
+ key: 0,
130
+ class: "o-y-scroll w-100 pos-relative mn-b-small"
131
+ }, {
132
+ default: vue.withCtx(() => [
133
+ vue.createElementVNode("div", _hoisted_3, [
134
+ vue.createVNode(_component_router_link, {
135
+ class: "bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra",
136
+ to: {
137
+ name: "Organization_ProductAdd",
138
+ params: {
139
+ _id: vue.unref(route).params._id
140
+ }
141
+ }
142
+ }, {
143
+ default: vue.withCtx(() => _cache[2] || (_cache[2] = [
144
+ vue.createTextVNode(" Add Product ")
145
+ ])),
146
+ _: 1
147
+ }, 8, ["to"]),
148
+ vue.createVNode(_component_router_link, {
149
+ class: "uppercase t-nowrap t-semi pd-thin radius-extra",
150
+ to: {
151
+ name: "Leftovers",
152
+ params: {
153
+ _id: vue.unref(route).params._id
154
+ }
155
+ }
156
+ }, {
157
+ default: vue.withCtx(() => _cache[3] || (_cache[3] = [
158
+ vue.createTextVNode(" Change Invetory ")
159
+ ])),
160
+ _: 1
161
+ }, 8, ["to"]),
162
+ vue.createVNode(_component_router_link, {
163
+ class: "d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra",
164
+ to: {
165
+ name: "Backoffice",
166
+ params: {
167
+ _id: vue.unref(route).params._id
168
+ }
169
+ }
170
+ }, {
171
+ default: vue.withCtx(() => _cache[4] || (_cache[4] = [
172
+ vue.createTextVNode(" Go to Backoffice ")
173
+ ])),
174
+ _: 1
175
+ }, 8, ["to"])
176
+ ])
177
+ ]),
178
+ _: 1
179
+ })) : vue.createCommentVNode("", true)
180
+ ]),
181
+ _: 1
182
+ }, 8, ["organization"])) : vue.createCommentVNode("", true)
179
183
  ]),
180
184
  _: 1
181
185
  }),
@@ -190,13 +194,12 @@ const _sfc_main = {
190
194
  }
191
195
  },
192
196
  store: {
193
- read: (options) => spots.actions.read(vue.unref(route).params._id),
197
+ read: (options) => spots.actions.read(options),
194
198
  state: organizations.state
195
199
  },
196
200
  options: {
197
201
  user: auth.state.user._id,
198
- sort: "numberOfMemberships",
199
- contain: ["blogposts"],
202
+ organization: vue.unref(route).params._id,
200
203
  limit: 10
201
204
  }
202
205
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"Organization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/pages/Organization.vue"],"sourcesContent":["<template>\n\t<div v-if=\"organizationData\" class=\"pd-thin for-transition w-100\">\n\n\t\t<!-- <Breadcrumbs class=\"mn-b-thin pd-medium bg-light radius-big\"/> -->\n\t\t<!-- <pre>{{organization.state.current}}</pre> -->\n\n\t\t<DetailsTabSection \t\n\t\t\t:organization=\"organization.state.current\" \n\t\t\t:user=\"auth.state.user\"\n\t\t\tclass=\"mn-b-thin\"\n\t\t>\n\n\t\t</DetailsTabSection>\n\n\t\t<Tab \n\t\t\tv-model:selected=\"tabOrganization\"\n\t\t\t:tabs=\"[\n\t\t\t\t{ name: 'Community', value: 'community' },\n\t\t\t\t{ name: 'Menu', value: 'products' },\t\n\t\t\t\t{ name: 'Events', value: 'events' },\n\t\t\t\t{ name: 'Spots', value: 'spots' }\t\n\t\t\t]\"\n\t\t\tclass=\"mn-b-thin flex-child-default o-hidden t-medium p-medium radius-medium pd-thin bg-light\"\n\t\t/>\n\n\t\t<div class=\"h-100 pos-relative\">\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t <Feed\n\t\t \tv-if=\"tabOrganization === 'community'\"\n\t\t\t :showLoadMore=\"false\"\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Blog Posts Found',\n\t\t\t description: 'Currently, there are no posts available in this blog. Please check back later.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => blog.read(options)\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t status: 'published',\n\t\t\t user: auth.state.user._id,\n\t\t\t owner: route.params._id,\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t class=\"row-1 gap-thin\"\n\t\t\t >\n\t\t\t <CardBlogpost \n\t\t\t v-for=\"item in items\" \n\t\t\t :key=\"item._id\" \n\t\t\t :blogpost=\"item\" \n\t\t\t :user=\"auth.state.user._id\" \n\t\t\t class=\"h-max-40r mn-b-medium\"\n\t\t\t />\n\t\t\t </Feed>\n\t\t\t</transition>\n\n\t\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<FeedEvents \n\t\t\t\t\tv-if=\"tabOrganization === 'events'\"\n\t\t\t \t:user=\"auth.state.user._id\"\n\t\t\t\t\t:owner=\"route.params._id\"\n\t\t\t\t\t:sortOrder=\"'desc'\"\n\t\t\t\t\t:sortParam=\"'date.start'\"\n\t\t\t\t/>\n\t\t\t</transition>\n\n\t\t\t<Block\n\t\t\t\tv-if=\"tabOrganization === 'products' && hasAccess(route.params._id, null, null, auth.state.accesses, auth.state.access.roles)\"\n\t\t\t\tclass=\"o-scroll mn-b-small \"\n\t\t\t>\n\t\t\t<div class=\"w-100 gap-thin flex flex-nowrap\t o-x-scroll\">\n\t\t\t\t<router-link \n\t\t\t\t\tclass=\"bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra \"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname:'Organization_ProductAdd', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\tAdd Product\n\t\t\t\t</router-link>\n\n\t\t\t\t<router-link \n\t\t\t\t\tclass=\" uppercase t-nowrap t-semi pd-thin radius-extra \"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname:'Leftovers', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\tChange Invetory\n\t\t\t\t</router-link>\n\n\t\t\t\t\n\t\t\t\t<router-link \n\t\t\t\t\tclass=\"d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra \"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname:'Backoffice', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\tGo to Backoffice\n\t\t\t\t</router-link>\n\t\t\t</div>\n\t\t\t</Block>\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Products \n\t\t\t\t\tv-if=\"tabOrganization === 'products'\"\n\t\t\t\t\t:organization=\"organization.state.current\"\n\t\t\t\t/>\n\n\t\t\t</transition>\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-if=\"tabOrganization === 'spots'\">\n\t\t\t\t\t<Feed\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Spots Found',\n\t\t\t description: 'Currently, there are no spots available.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => spots.actions.read(route.params._id),\n\t\t\t state: organization.state\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t >\n\t\t\t \t<CardSpot\n\t\t v-for=\"(spot, index) in items\"\n\t\t :key=\"index\"\n\t\t :spot=\"spot\"\n\t\t :organization=\"organization.state.current\"\n\t\t :editAccess=\"hasAccess(route.params._id, 'spots', 'edit', auth.state.accesses, auth.state.access.roles)\"\n\t\t :showDeliveryOptions=\"true\"\n\t\t :showPaymentOptions=\"true\"\n\t\t class=\"radius-big bg-light mn-b-thin\"\n\t\t />\n\t\t\t </Feed>\n\n\t\t\t <button\n\t v-if=\"hasAccess(route.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)\"\n\t @click=\"$router.push(`/spots/${organization.state.current._id}/spots/create`)\"\n\t class=\"mn-b-thin bg-main button w-100\"\n\t >\n\t Add spot\n\t </button>\n\n\t\t\t\t</div>\n\t\t\t</transition>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n\timport { computed, reactive, ref, onMounted, watch } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Import components\n\timport Breadcrumbs \tfrom '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n\timport Block \t\tfrom '@martyrs/src/components/Block/Block.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\t// Community\n\t import CardBlogpost from '@martyrs/src/modules/community/components/blocks/CardBlogpost.vue';\n\t// Mobile Module\n\timport Menu from '@martyrs/src/components/Menu/Menu.vue'\n\timport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n\t// Organizations\n\timport DepartmentSub from '@martyrs/src/modules/organizations/components/blocks/DepartmentSub.vue';\n\timport DetailsTabSection from '@martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue'\n\timport User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\n\t// Feeds\n\timport FeedEvents from '@martyrs/src/modules/events/components/sections/Feed.vue'; \n\t// Spots\n\timport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue';\t\n\t// Local\n\timport Products from '@martyrs/src/modules/products/components/pages/Products.vue';\n\t// Import state\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as organization from '@martyrs/src/modules/organizations/store/organizations';\n\timport * as memberships from '@martyrs/src/modules/organizations/store/memberships';\n\timport * as departments from '@martyrs/src/modules/organizations/store/departments';\n\t// Community\n import * as blog from '@martyrs/src/modules/community/store/blogposts.js';\n\t// Spots\n\timport * as spots from '@martyrs/src/modules/spots/store/spots';\n\t// Init router\n\tconst router \t= useRouter()\n\tconst route \t= useRoute()\n\t// Accesing state\n\tlet tab = route.query.tab ? route.query.tab : 'products';\n\n\tconst organizationData = ref(null)\n\n\tconst tabOrganization = ref(tab)\n\n\troute.query.tab = tabOrganization.value\n\n\tonMounted(async () => {\n\t\t\n\t\torganizationData.value = await organization.actions.read({\n\t\t\t_id: route.params._id, \n\t\t\tuser: auth.state.user._id,\n\t\t\tlookup: ['memberships']\n\t\t})\n\n \t\tawait memberships.actions.read({target: route.params._id})\n\t})\n\n\twatch(tabOrganization, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>\n\n<style lang=\"scss\">\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\tposition: absolute;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n</style>\n"],"names":["useRouter","useRoute","ref","onMounted","organization.actions","auth.state","memberships.actions","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8MC,UAAM,SAAUA,UAAS,UAAA;AACzB,UAAM,QAASC,UAAQ,SAAA;AAEvB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,mBAAmBC,IAAAA,IAAI,IAAI;AAEjC,UAAM,kBAAkBA,IAAAA,IAAI,GAAG;AAE/B,UAAM,MAAM,MAAM,gBAAgB;AAElCC,QAAAA,UAAU,YAAY;AAErB,uBAAiB,QAAQ,MAAMC,cAAoB,QAAC,KAAK;AAAA,QACxD,KAAK,MAAM,OAAO;AAAA,QAClB,MAAMC,KAAAA,MAAW,KAAK;AAAA,QACtB,QAAQ,CAAC,aAAa;AAAA,MACtB,CAAA;AAEA,YAAMC,YAAAA,QAAoB,KAAK,EAAC,QAAQ,MAAM,OAAO,IAAG,CAAC;AAAA,IAC1D,CAAA;AAEDC,cAAM,iBAAiB,CAAC,aAAa;AACnC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Organization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/pages/Organization.vue"],"sourcesContent":["<template>\n\t<div v-if=\"organizationData\" class=\"pd-thin for-transition w-100\">\n\n\t\t<!-- <Breadcrumbs class=\"mn-b-thin pd-medium bg-light radius-big\"/> -->\n\t\t<!-- <pre>{{organization.state.current}}</pre> -->\n\n\t\t<DetailsTabSection \t\n\t\t\t:organization=\"organization.state.current\" \n\t\t\t:user=\"auth.state.user\"\n\t\t\tclass=\"mn-b-thin\"\n\t\t>\n\n\t\t</DetailsTabSection>\n\n\t\t<Tab \n\t\t\tv-model:selected=\"tabOrganization\"\n\t\t\t:tabs=\"[\n\t\t\t\t{ name: 'Community', value: 'community' },\n\t\t\t\t{ name: 'Menu', value: 'products' },\t\n\t\t\t\t{ name: 'Events', value: 'events' },\n\t\t\t\t{ name: 'Spots', value: 'spots' }\t\n\t\t\t]\"\n\t\t\tclass=\"mn-b-thin flex-child-default o-hidden t-medium p-medium radius-medium pd-thin bg-light\"\n\t\t/>\n\n\t\t<div class=\"h-100 pos-relative\">\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t <Feed\n\t\t \tv-if=\"tabOrganization === 'community'\"\n\t\t\t :showLoadMore=\"false\"\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Blog Posts Found',\n\t\t\t description: 'Currently, there are no posts available in this blog. Please check back later.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => blog.read(options)\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t status: 'published',\n\t\t\t user: auth.state.user._id,\n\t\t\t owner: route.params._id,\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t class=\"row-1 gap-thin\"\n\t\t\t >\n\t\t\t <CardBlogpost \n\t\t\t v-for=\"item in items\" \n\t\t\t :key=\"item._id\" \n\t\t\t :blogpost=\"item\" \n\t\t\t :user=\"auth.state.user._id\" \n\t\t\t class=\"h-max-40r mn-b-medium\"\n\t\t\t />\n\t\t\t </Feed>\n\t\t\t</transition>\n\n\t\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<FeedEvents \n\t\t\t\t\tv-if=\"tabOrganization === 'events'\"\n\t\t\t \t:user=\"auth.state.user._id\"\n\t\t\t\t\t:owner=\"route.params._id\"\n\t\t\t\t\t:sortOrder=\"'desc'\"\n\t\t\t\t\t:sortParam=\"'date.start'\"\n\t\t\t\t/>\n\t\t\t</transition>\n\n\t\t\t\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Products \n\t\t\t\t\tv-if=\"tabOrganization === 'products'\"\n\t\t\t\t\t:organization=\"organization.state.current\"\n\t\t\t\t>\n\t\t\t\t\t<Block\n\t\t\t\t\t\tv-if=\"hasAccess(route.params._id, null, null, auth.state.accesses, auth.state.access.roles)\"\n\t\t\t\t\t\tclass=\"o-y-scroll w-100 pos-relative mn-b-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"w-100 gap-thin flex flex-nowrap\t o-x-scroll\">\n\t\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\t\tclass=\"bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra \"\n\t\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\t\tname:'Organization_ProductAdd', \n\t\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tAdd Product\n\t\t\t\t\t\t\t</router-link>\n\n\t\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\t\tclass=\" uppercase t-nowrap t-semi pd-thin radius-extra \"\n\t\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\t\tname:'Leftovers', \n\t\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tChange Invetory\n\t\t\t\t\t\t\t</router-link>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\t\tclass=\"d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra \"\n\t\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\t\tname:'Backoffice', \n\t\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tGo to Backoffice\n\t\t\t\t\t\t\t</router-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Block>\n\t\t\t\t</Products>\n\n\t\t\t</transition>\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-if=\"tabOrganization === 'spots'\">\n\t\t\t\t\t<Feed\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Spots Found',\n\t\t\t description: 'Currently, there are no spots available.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => spots.actions.read(options),\n\t\t\t state: organization.state\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\torganization: route.params._id,\n\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t >\n\t\t\t \t<CardSpot\n\t\t v-for=\"(spot, index) in items\"\n\t\t :key=\"index\"\n\t\t :spot=\"spot\"\n\t\t :organization=\"organization.state.current\"\n\t\t :editAccess=\"hasAccess(route.params._id, 'spots', 'edit', auth.state.accesses, auth.state.access.roles)\"\n\t\t :showDeliveryOptions=\"true\"\n\t\t :showPaymentOptions=\"true\"\n\t\t class=\"radius-big bg-light mn-b-thin\"\n\t\t />\n\t\t\t </Feed>\n\n\t\t\t <button\n\t v-if=\"hasAccess(route.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)\"\n\t @click=\"$router.push(`/spots/${organization.state.current._id}/spots/create`)\"\n\t class=\"mn-b-thin bg-main button w-100\"\n\t >\n\t Add spot\n\t </button>\n\n\t\t\t\t</div>\n\t\t\t</transition>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n\timport { computed, reactive, ref, onMounted, watch } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Import components\n\timport Breadcrumbs \tfrom '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n\timport Block \t\tfrom '@martyrs/src/components/Block/Block.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\t// Community\n\t import CardBlogpost from '@martyrs/src/modules/community/components/blocks/CardBlogpost.vue';\n\t// Mobile Module\n\timport Menu from '@martyrs/src/components/Menu/Menu.vue'\n\timport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n\t// Organizations\n\timport DepartmentSub from '@martyrs/src/modules/organizations/components/blocks/DepartmentSub.vue';\n\timport DetailsTabSection from '@martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue'\n\timport User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\n\t// Feeds\n\timport FeedEvents from '@martyrs/src/modules/events/components/sections/Feed.vue'; \n\t// Spots\n\timport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue';\t\n\t// Local\n\timport Products from '@martyrs/src/modules/products/components/pages/Products.vue';\n\t// Import state\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as organization from '@martyrs/src/modules/organizations/store/organizations';\n\timport * as memberships from '@martyrs/src/modules/organizations/store/memberships';\n\timport * as departments from '@martyrs/src/modules/organizations/store/departments';\n\t// Community\n import * as blog from '@martyrs/src/modules/community/store/blogposts.js';\n\t// Spots\n\timport * as spots from '@martyrs/src/modules/spots/store/spots';\n\t// Init router\n\tconst router \t= useRouter()\n\tconst route \t= useRoute()\n\t// Accesing state\n\tlet tab = route.query.tab ? route.query.tab : 'products';\n\n\tconst organizationData = ref(null)\n\n\tconst tabOrganization = ref(tab)\n\n\troute.query.tab = tabOrganization.value\n\n\tonMounted(async () => {\n\t\t\n\t\torganizationData.value = await organization.actions.read({\n\t\t\t_id: route.params._id, \n\t\t\tuser: auth.state.user._id,\n\t\t\tlookup: ['memberships']\n\t\t})\n\n \t\tawait memberships.actions.read({target: route.params._id})\n\t})\n\n\twatch(tabOrganization, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>\n\n<style lang=\"scss\">\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\tposition: absolute;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n</style>\n"],"names":["useRouter","useRoute","ref","onMounted","organization.actions","auth.state","memberships.actions","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+MC,UAAM,SAAUA,UAAS,UAAA;AACzB,UAAM,QAASC,UAAQ,SAAA;AAEvB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,mBAAmBC,IAAAA,IAAI,IAAI;AAEjC,UAAM,kBAAkBA,IAAAA,IAAI,GAAG;AAE/B,UAAM,MAAM,MAAM,gBAAgB;AAElCC,QAAAA,UAAU,YAAY;AAErB,uBAAiB,QAAQ,MAAMC,cAAoB,QAAC,KAAK;AAAA,QACxD,KAAK,MAAM,OAAO;AAAA,QAClB,MAAMC,KAAAA,MAAW,KAAK;AAAA,QACtB,QAAQ,CAAC,aAAa;AAAA,MACtB,CAAA;AAEA,YAAMC,YAAAA,QAAoB,KAAK,EAAC,QAAQ,MAAM,OAAO,IAAG,CAAC;AAAA,IAC1D,CAAA;AAEDC,cAAM,iBAAiB,CAAC,aAAa;AACnC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
- import { ref, onMounted, watch, resolveComponent, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, createBlock, Transition, withCtx, unref, Fragment, renderList, createTextVNode } from "vue";
1
+ import { ref, onMounted, watch, resolveComponent, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, Transition, withCtx, createBlock, unref, Fragment, renderList, createTextVNode } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
5
5
  import _sfc_main$2 from "../../../../components/Tab/Tab.vue.js";
6
- import _sfc_main$6 from "../../../../components/Block/Block.vue.js";
6
+ import _sfc_main$7 from "../../../../components/Block/Block.vue.js";
7
7
  import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
8
8
  import _sfc_main$4 from "../../../community/components/blocks/CardBlogpost.vue.js";
9
9
  /* empty css */
@@ -11,7 +11,7 @@ import "../../../../components/Menu/MenuItem.vue.js";
11
11
  import _sfc_main$1 from "../sections/DetailsTabSection.vue.js";
12
12
  import _sfc_main$5 from "../../../events/components/sections/Feed.vue.js";
13
13
  import CardSpot from "../../../spots/components/blocks/CardSpot.vue.js";
14
- import _sfc_main$7 from "../../../products/components/pages/Products.vue.js";
14
+ import _sfc_main$6 from "../../../products/components/pages/Products.vue.js";
15
15
  import { state } from "../../../auth/views/store/auth.js";
16
16
  import { actions, state as state$1 } from "../../store/organizations.js";
17
17
  import { actions as actions$1 } from "../../store/memberships.js";
@@ -116,64 +116,68 @@ const _sfc_main = {
116
116
  ]),
117
117
  _: 1
118
118
  }),
119
- tabOrganization.value === "products" && _ctx.hasAccess(unref(route).params._id, null, null, state.accesses, state.access.roles) ? (openBlock(), createBlock(_sfc_main$6, {
120
- key: 0,
121
- class: "o-scroll mn-b-small"
122
- }, {
123
- default: withCtx(() => [
124
- createElementVNode("div", _hoisted_3, [
125
- createVNode(_component_router_link, {
126
- class: "bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra",
127
- to: {
128
- name: "Organization_ProductAdd",
129
- params: {
130
- _id: unref(route).params._id
131
- }
132
- }
133
- }, {
134
- default: withCtx(() => _cache[2] || (_cache[2] = [
135
- createTextVNode(" Add Product ")
136
- ])),
137
- _: 1
138
- }, 8, ["to"]),
139
- createVNode(_component_router_link, {
140
- class: "uppercase t-nowrap t-semi pd-thin radius-extra",
141
- to: {
142
- name: "Leftovers",
143
- params: {
144
- _id: unref(route).params._id
145
- }
146
- }
147
- }, {
148
- default: withCtx(() => _cache[3] || (_cache[3] = [
149
- createTextVNode(" Change Invetory ")
150
- ])),
151
- _: 1
152
- }, 8, ["to"]),
153
- createVNode(_component_router_link, {
154
- class: "d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra",
155
- to: {
156
- name: "Backoffice",
157
- params: {
158
- _id: unref(route).params._id
159
- }
160
- }
161
- }, {
162
- default: withCtx(() => _cache[4] || (_cache[4] = [
163
- createTextVNode(" Go to Backoffice ")
164
- ])),
165
- _: 1
166
- }, 8, ["to"])
167
- ])
168
- ]),
169
- _: 1
170
- })) : createCommentVNode("", true),
171
119
  createVNode(Transition, { name: "slide-fade" }, {
172
120
  default: withCtx(() => [
173
- tabOrganization.value === "products" ? (openBlock(), createBlock(_sfc_main$7, {
121
+ tabOrganization.value === "products" ? (openBlock(), createBlock(_sfc_main$6, {
174
122
  key: 0,
175
123
  organization: state$1.current
176
- }, null, 8, ["organization"])) : createCommentVNode("", true)
124
+ }, {
125
+ default: withCtx(() => [
126
+ _ctx.hasAccess(unref(route).params._id, null, null, state.accesses, state.access.roles) ? (openBlock(), createBlock(_sfc_main$7, {
127
+ key: 0,
128
+ class: "o-y-scroll w-100 pos-relative mn-b-small"
129
+ }, {
130
+ default: withCtx(() => [
131
+ createElementVNode("div", _hoisted_3, [
132
+ createVNode(_component_router_link, {
133
+ class: "bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra",
134
+ to: {
135
+ name: "Organization_ProductAdd",
136
+ params: {
137
+ _id: unref(route).params._id
138
+ }
139
+ }
140
+ }, {
141
+ default: withCtx(() => _cache[2] || (_cache[2] = [
142
+ createTextVNode(" Add Product ")
143
+ ])),
144
+ _: 1
145
+ }, 8, ["to"]),
146
+ createVNode(_component_router_link, {
147
+ class: "uppercase t-nowrap t-semi pd-thin radius-extra",
148
+ to: {
149
+ name: "Leftovers",
150
+ params: {
151
+ _id: unref(route).params._id
152
+ }
153
+ }
154
+ }, {
155
+ default: withCtx(() => _cache[3] || (_cache[3] = [
156
+ createTextVNode(" Change Invetory ")
157
+ ])),
158
+ _: 1
159
+ }, 8, ["to"]),
160
+ createVNode(_component_router_link, {
161
+ class: "d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra",
162
+ to: {
163
+ name: "Backoffice",
164
+ params: {
165
+ _id: unref(route).params._id
166
+ }
167
+ }
168
+ }, {
169
+ default: withCtx(() => _cache[4] || (_cache[4] = [
170
+ createTextVNode(" Go to Backoffice ")
171
+ ])),
172
+ _: 1
173
+ }, 8, ["to"])
174
+ ])
175
+ ]),
176
+ _: 1
177
+ })) : createCommentVNode("", true)
178
+ ]),
179
+ _: 1
180
+ }, 8, ["organization"])) : createCommentVNode("", true)
177
181
  ]),
178
182
  _: 1
179
183
  }),
@@ -188,13 +192,12 @@ const _sfc_main = {
188
192
  }
189
193
  },
190
194
  store: {
191
- read: (options) => actions$2.read(unref(route).params._id),
195
+ read: (options) => actions$2.read(options),
192
196
  state: state$1
193
197
  },
194
198
  options: {
195
199
  user: state.user._id,
196
- sort: "numberOfMemberships",
197
- contain: ["blogposts"],
200
+ organization: unref(route).params._id,
198
201
  limit: 10
199
202
  }
200
203
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"Organization.vue.js","sources":["../../../../../../../src/modules/organizations/components/pages/Organization.vue"],"sourcesContent":["<template>\n\t<div v-if=\"organizationData\" class=\"pd-thin for-transition w-100\">\n\n\t\t<!-- <Breadcrumbs class=\"mn-b-thin pd-medium bg-light radius-big\"/> -->\n\t\t<!-- <pre>{{organization.state.current}}</pre> -->\n\n\t\t<DetailsTabSection \t\n\t\t\t:organization=\"organization.state.current\" \n\t\t\t:user=\"auth.state.user\"\n\t\t\tclass=\"mn-b-thin\"\n\t\t>\n\n\t\t</DetailsTabSection>\n\n\t\t<Tab \n\t\t\tv-model:selected=\"tabOrganization\"\n\t\t\t:tabs=\"[\n\t\t\t\t{ name: 'Community', value: 'community' },\n\t\t\t\t{ name: 'Menu', value: 'products' },\t\n\t\t\t\t{ name: 'Events', value: 'events' },\n\t\t\t\t{ name: 'Spots', value: 'spots' }\t\n\t\t\t]\"\n\t\t\tclass=\"mn-b-thin flex-child-default o-hidden t-medium p-medium radius-medium pd-thin bg-light\"\n\t\t/>\n\n\t\t<div class=\"h-100 pos-relative\">\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t <Feed\n\t\t \tv-if=\"tabOrganization === 'community'\"\n\t\t\t :showLoadMore=\"false\"\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Blog Posts Found',\n\t\t\t description: 'Currently, there are no posts available in this blog. Please check back later.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => blog.read(options)\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t status: 'published',\n\t\t\t user: auth.state.user._id,\n\t\t\t owner: route.params._id,\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t class=\"row-1 gap-thin\"\n\t\t\t >\n\t\t\t <CardBlogpost \n\t\t\t v-for=\"item in items\" \n\t\t\t :key=\"item._id\" \n\t\t\t :blogpost=\"item\" \n\t\t\t :user=\"auth.state.user._id\" \n\t\t\t class=\"h-max-40r mn-b-medium\"\n\t\t\t />\n\t\t\t </Feed>\n\t\t\t</transition>\n\n\t\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<FeedEvents \n\t\t\t\t\tv-if=\"tabOrganization === 'events'\"\n\t\t\t \t:user=\"auth.state.user._id\"\n\t\t\t\t\t:owner=\"route.params._id\"\n\t\t\t\t\t:sortOrder=\"'desc'\"\n\t\t\t\t\t:sortParam=\"'date.start'\"\n\t\t\t\t/>\n\t\t\t</transition>\n\n\t\t\t<Block\n\t\t\t\tv-if=\"tabOrganization === 'products' && hasAccess(route.params._id, null, null, auth.state.accesses, auth.state.access.roles)\"\n\t\t\t\tclass=\"o-scroll mn-b-small \"\n\t\t\t>\n\t\t\t<div class=\"w-100 gap-thin flex flex-nowrap\t o-x-scroll\">\n\t\t\t\t<router-link \n\t\t\t\t\tclass=\"bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra \"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname:'Organization_ProductAdd', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\tAdd Product\n\t\t\t\t</router-link>\n\n\t\t\t\t<router-link \n\t\t\t\t\tclass=\" uppercase t-nowrap t-semi pd-thin radius-extra \"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname:'Leftovers', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\tChange Invetory\n\t\t\t\t</router-link>\n\n\t\t\t\t\n\t\t\t\t<router-link \n\t\t\t\t\tclass=\"d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra \"\n\t\t\t\t\t:to=\"{\n\t\t\t\t\t\tname:'Backoffice', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\tGo to Backoffice\n\t\t\t\t</router-link>\n\t\t\t</div>\n\t\t\t</Block>\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Products \n\t\t\t\t\tv-if=\"tabOrganization === 'products'\"\n\t\t\t\t\t:organization=\"organization.state.current\"\n\t\t\t\t/>\n\n\t\t\t</transition>\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-if=\"tabOrganization === 'spots'\">\n\t\t\t\t\t<Feed\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Spots Found',\n\t\t\t description: 'Currently, there are no spots available.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => spots.actions.read(route.params._id),\n\t\t\t state: organization.state\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t >\n\t\t\t \t<CardSpot\n\t\t v-for=\"(spot, index) in items\"\n\t\t :key=\"index\"\n\t\t :spot=\"spot\"\n\t\t :organization=\"organization.state.current\"\n\t\t :editAccess=\"hasAccess(route.params._id, 'spots', 'edit', auth.state.accesses, auth.state.access.roles)\"\n\t\t :showDeliveryOptions=\"true\"\n\t\t :showPaymentOptions=\"true\"\n\t\t class=\"radius-big bg-light mn-b-thin\"\n\t\t />\n\t\t\t </Feed>\n\n\t\t\t <button\n\t v-if=\"hasAccess(route.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)\"\n\t @click=\"$router.push(`/spots/${organization.state.current._id}/spots/create`)\"\n\t class=\"mn-b-thin bg-main button w-100\"\n\t >\n\t Add spot\n\t </button>\n\n\t\t\t\t</div>\n\t\t\t</transition>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n\timport { computed, reactive, ref, onMounted, watch } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Import components\n\timport Breadcrumbs \tfrom '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n\timport Block \t\tfrom '@martyrs/src/components/Block/Block.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\t// Community\n\t import CardBlogpost from '@martyrs/src/modules/community/components/blocks/CardBlogpost.vue';\n\t// Mobile Module\n\timport Menu from '@martyrs/src/components/Menu/Menu.vue'\n\timport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n\t// Organizations\n\timport DepartmentSub from '@martyrs/src/modules/organizations/components/blocks/DepartmentSub.vue';\n\timport DetailsTabSection from '@martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue'\n\timport User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\n\t// Feeds\n\timport FeedEvents from '@martyrs/src/modules/events/components/sections/Feed.vue'; \n\t// Spots\n\timport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue';\t\n\t// Local\n\timport Products from '@martyrs/src/modules/products/components/pages/Products.vue';\n\t// Import state\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as organization from '@martyrs/src/modules/organizations/store/organizations';\n\timport * as memberships from '@martyrs/src/modules/organizations/store/memberships';\n\timport * as departments from '@martyrs/src/modules/organizations/store/departments';\n\t// Community\n import * as blog from '@martyrs/src/modules/community/store/blogposts.js';\n\t// Spots\n\timport * as spots from '@martyrs/src/modules/spots/store/spots';\n\t// Init router\n\tconst router \t= useRouter()\n\tconst route \t= useRoute()\n\t// Accesing state\n\tlet tab = route.query.tab ? route.query.tab : 'products';\n\n\tconst organizationData = ref(null)\n\n\tconst tabOrganization = ref(tab)\n\n\troute.query.tab = tabOrganization.value\n\n\tonMounted(async () => {\n\t\t\n\t\torganizationData.value = await organization.actions.read({\n\t\t\t_id: route.params._id, \n\t\t\tuser: auth.state.user._id,\n\t\t\tlookup: ['memberships']\n\t\t})\n\n \t\tawait memberships.actions.read({target: route.params._id})\n\t})\n\n\twatch(tabOrganization, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>\n\n<style lang=\"scss\">\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\tposition: absolute;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n</style>\n"],"names":["organization.actions","auth.state","memberships.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8MC,UAAM,SAAU,UAAS;AACzB,UAAM,QAAS,SAAQ;AAEvB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,mBAAmB,IAAI,IAAI;AAEjC,UAAM,kBAAkB,IAAI,GAAG;AAE/B,UAAM,MAAM,MAAM,gBAAgB;AAElC,cAAU,YAAY;AAErB,uBAAiB,QAAQ,MAAMA,QAAqB,KAAK;AAAA,QACxD,KAAK,MAAM,OAAO;AAAA,QAClB,MAAMC,MAAW,KAAK;AAAA,QACtB,QAAQ,CAAC,aAAa;AAAA,MACtB,CAAA;AAEA,YAAMC,UAAoB,KAAK,EAAC,QAAQ,MAAM,OAAO,IAAG,CAAC;AAAA,IAC1D,CAAA;AAED,UAAM,iBAAiB,CAAC,aAAa;AACnC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Organization.vue.js","sources":["../../../../../../../src/modules/organizations/components/pages/Organization.vue"],"sourcesContent":["<template>\n\t<div v-if=\"organizationData\" class=\"pd-thin for-transition w-100\">\n\n\t\t<!-- <Breadcrumbs class=\"mn-b-thin pd-medium bg-light radius-big\"/> -->\n\t\t<!-- <pre>{{organization.state.current}}</pre> -->\n\n\t\t<DetailsTabSection \t\n\t\t\t:organization=\"organization.state.current\" \n\t\t\t:user=\"auth.state.user\"\n\t\t\tclass=\"mn-b-thin\"\n\t\t>\n\n\t\t</DetailsTabSection>\n\n\t\t<Tab \n\t\t\tv-model:selected=\"tabOrganization\"\n\t\t\t:tabs=\"[\n\t\t\t\t{ name: 'Community', value: 'community' },\n\t\t\t\t{ name: 'Menu', value: 'products' },\t\n\t\t\t\t{ name: 'Events', value: 'events' },\n\t\t\t\t{ name: 'Spots', value: 'spots' }\t\n\t\t\t]\"\n\t\t\tclass=\"mn-b-thin flex-child-default o-hidden t-medium p-medium radius-medium pd-thin bg-light\"\n\t\t/>\n\n\t\t<div class=\"h-100 pos-relative\">\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t <Feed\n\t\t \tv-if=\"tabOrganization === 'community'\"\n\t\t\t :showLoadMore=\"false\"\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Blog Posts Found',\n\t\t\t description: 'Currently, there are no posts available in this blog. Please check back later.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => blog.read(options)\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t status: 'published',\n\t\t\t user: auth.state.user._id,\n\t\t\t owner: route.params._id,\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t class=\"row-1 gap-thin\"\n\t\t\t >\n\t\t\t <CardBlogpost \n\t\t\t v-for=\"item in items\" \n\t\t\t :key=\"item._id\" \n\t\t\t :blogpost=\"item\" \n\t\t\t :user=\"auth.state.user._id\" \n\t\t\t class=\"h-max-40r mn-b-medium\"\n\t\t\t />\n\t\t\t </Feed>\n\t\t\t</transition>\n\n\t\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<FeedEvents \n\t\t\t\t\tv-if=\"tabOrganization === 'events'\"\n\t\t\t \t:user=\"auth.state.user._id\"\n\t\t\t\t\t:owner=\"route.params._id\"\n\t\t\t\t\t:sortOrder=\"'desc'\"\n\t\t\t\t\t:sortParam=\"'date.start'\"\n\t\t\t\t/>\n\t\t\t</transition>\n\n\t\t\t\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<Products \n\t\t\t\t\tv-if=\"tabOrganization === 'products'\"\n\t\t\t\t\t:organization=\"organization.state.current\"\n\t\t\t\t>\n\t\t\t\t\t<Block\n\t\t\t\t\t\tv-if=\"hasAccess(route.params._id, null, null, auth.state.accesses, auth.state.access.roles)\"\n\t\t\t\t\t\tclass=\"o-y-scroll w-100 pos-relative mn-b-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"w-100 gap-thin flex flex-nowrap\t o-x-scroll\">\n\t\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\t\tclass=\"bg-black t-nowrap t-white uppercase t-semi pd-thin radius-extra \"\n\t\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\t\tname:'Organization_ProductAdd', \n\t\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tAdd Product\n\t\t\t\t\t\t\t</router-link>\n\n\t\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\t\tclass=\" uppercase t-nowrap t-semi pd-thin radius-extra \"\n\t\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\t\tname:'Leftovers', \n\t\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tChange Invetory\n\t\t\t\t\t\t\t</router-link>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\t\tclass=\"d-block t-nowrap mn-l-auto uppercase t-semi bg-white pd-thin radius-extra \"\n\t\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\t\tname:'Backoffice', \n\t\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\t\t_id: route.params._id\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tGo to Backoffice\n\t\t\t\t\t\t\t</router-link>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Block>\n\t\t\t\t</Products>\n\n\t\t\t</transition>\n\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-if=\"tabOrganization === 'spots'\">\n\t\t\t\t\t<Feed\n\t\t\t :states=\"{\n\t\t\t empty: {\n\t\t\t title: 'No Spots Found',\n\t\t\t description: 'Currently, there are no spots available.'\n\t\t\t }\n\t\t\t }\"\n\t\t\t :store=\"{\n\t\t\t read: (options) => spots.actions.read(options),\n\t\t\t state: organization.state\n\t\t\t }\"\n\t\t\t :options=\"{\n\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\torganization: route.params._id,\n\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t }\"\n\t\t\t v-slot=\"{ \n\t\t\t items \n\t\t\t }\"\n\t\t\t >\n\t\t\t \t<CardSpot\n\t\t v-for=\"(spot, index) in items\"\n\t\t :key=\"index\"\n\t\t :spot=\"spot\"\n\t\t :organization=\"organization.state.current\"\n\t\t :editAccess=\"hasAccess(route.params._id, 'spots', 'edit', auth.state.accesses, auth.state.access.roles)\"\n\t\t :showDeliveryOptions=\"true\"\n\t\t :showPaymentOptions=\"true\"\n\t\t class=\"radius-big bg-light mn-b-thin\"\n\t\t />\n\t\t\t </Feed>\n\n\t\t\t <button\n\t v-if=\"hasAccess(route.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)\"\n\t @click=\"$router.push(`/spots/${organization.state.current._id}/spots/create`)\"\n\t class=\"mn-b-thin bg-main button w-100\"\n\t >\n\t Add spot\n\t </button>\n\n\t\t\t\t</div>\n\t\t\t</transition>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n\timport { computed, reactive, ref, onMounted, watch } from 'vue'\n\timport { useRoute, useRouter } from 'vue-router'\n\t// Import components\n\timport Breadcrumbs \tfrom '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Tab \t\tfrom '@martyrs/src/components/Tab/Tab.vue'\n\timport Block \t\tfrom '@martyrs/src/components/Block/Block.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\t// Community\n\t import CardBlogpost from '@martyrs/src/modules/community/components/blocks/CardBlogpost.vue';\n\t// Mobile Module\n\timport Menu from '@martyrs/src/components/Menu/Menu.vue'\n\timport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n\t// Organizations\n\timport DepartmentSub from '@martyrs/src/modules/organizations/components/blocks/DepartmentSub.vue';\n\timport DetailsTabSection from '@martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue'\n\timport User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\n\t// Feeds\n\timport FeedEvents from '@martyrs/src/modules/events/components/sections/Feed.vue'; \n\t// Spots\n\timport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue';\t\n\t// Local\n\timport Products from '@martyrs/src/modules/products/components/pages/Products.vue';\n\t// Import state\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\timport * as organization from '@martyrs/src/modules/organizations/store/organizations';\n\timport * as memberships from '@martyrs/src/modules/organizations/store/memberships';\n\timport * as departments from '@martyrs/src/modules/organizations/store/departments';\n\t// Community\n import * as blog from '@martyrs/src/modules/community/store/blogposts.js';\n\t// Spots\n\timport * as spots from '@martyrs/src/modules/spots/store/spots';\n\t// Init router\n\tconst router \t= useRouter()\n\tconst route \t= useRoute()\n\t// Accesing state\n\tlet tab = route.query.tab ? route.query.tab : 'products';\n\n\tconst organizationData = ref(null)\n\n\tconst tabOrganization = ref(tab)\n\n\troute.query.tab = tabOrganization.value\n\n\tonMounted(async () => {\n\t\t\n\t\torganizationData.value = await organization.actions.read({\n\t\t\t_id: route.params._id, \n\t\t\tuser: auth.state.user._id,\n\t\t\tlookup: ['memberships']\n\t\t})\n\n \t\tawait memberships.actions.read({target: route.params._id})\n\t})\n\n\twatch(tabOrganization, (newValue) => {\n\t router.replace({ query: { ...route.query, tab: newValue } });\n\t});\n</script>\n\n<style lang=\"scss\">\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\tposition: absolute;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n</style>\n"],"names":["organization.actions","auth.state","memberships.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+MC,UAAM,SAAU,UAAS;AACzB,UAAM,QAAS,SAAQ;AAEvB,QAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM;AAE9C,UAAM,mBAAmB,IAAI,IAAI;AAEjC,UAAM,kBAAkB,IAAI,GAAG;AAE/B,UAAM,MAAM,MAAM,gBAAgB;AAElC,cAAU,YAAY;AAErB,uBAAiB,QAAQ,MAAMA,QAAqB,KAAK;AAAA,QACxD,KAAK,MAAM,OAAO;AAAA,QAClB,MAAMC,MAAW,KAAK;AAAA,QACtB,QAAQ,CAAC,aAAa;AAAA,MACtB,CAAA;AAEA,YAAMC,UAAoB,KAAK,EAAC,QAAQ,MAAM,OAAO,IAAG,CAAC;AAAA,IAC1D,CAAA;AAED,UAAM,iBAAiB,CAAC,aAAa;AACnC,aAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,KAAK,SAAQ,GAAI;AAAA,IAC9D,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -126,8 +126,6 @@ const actions = {
126
126
  };
127
127
  }
128
128
  };
129
- vue.watch(state, (newState, oldState) => {
130
- });
131
129
  exports.actions = actions;
132
130
  exports.state = state;
133
131
  //# sourceMappingURL=organizations.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.cjs","sources":["../../../../../../src/modules/organizations/store/organizations.js"],"sourcesContent":["// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n// State\nconst state = reactive({\n all: [],\n current: {\n _id: null,\n profile: {\n tags: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: '',\n youtube: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n});\n\nconst actions = {\n // Create\n async create(organization,owner) {\n organization.owner = owner\n try {\n const response = await $axios.post('/api/organizations/create', organization);\n state.current = response.data;\n return response.data;\n } catch (error) {\n console.log(error);\n setError(error);\n throw error;\n }\n },\n async read(options = {}) {\n\n console.log(options)\n\n try {\n const response = await $axios.get('/api/organizations', { params: options });\n\n if (options._id) {\n Object.assign(state.current || {}, response.data[0])\n } else {\n // state.all = [...state.all, ...response.data]; \n // state.all = response.data; // Assuming that the response.data is an array of organization objects\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error)\n return Promise.reject(error);\n }\n },\n // Update\n async update(_id, updatedData) {\n console.log(_id,updatedData)\n return await $axios\n .post(`/api/organizations/${_id}/update`, updatedData)\n .then(\n (response) => {\n console.log('Organization updated successfully');\n return Promise.resolve(response.data);\n },\n (error) => {\n console.log('Updating organization failed');\n return Promise.reject(error);\n }\n );\n },\n\n // Remove\n async remove(organizationId) {\n await $axios\n .delete(`/api/organizations/${organizationId}/delete`)\n .then(\n (response) => {\n state.error = null;\n return Promise.resolve(response.data);\n },\n (error) => {\n setError(error)\n return Promise.reject(error);\n }\n )\n .catch(error => {\n setError(error)\n });\n },\n // Reset\n async reset () {\n state.current = {\n _id: null,\n profile: {\n categories: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n }\n}\n\nconst history = []\nhistory.push(state) \n\n// // Watch\nwatch(state, (newState, oldState) => {\n history.push(newState)\n})\n\n// Module Export\nexport {\n state,\n actions\n}"],"names":["reactive","$axios","setError","watch"],"mappings":"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"}
1
+ {"version":3,"file":"organizations.cjs","sources":["../../../../../../src/modules/organizations/store/organizations.js"],"sourcesContent":["// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n// State\nconst state = reactive({\n all: [],\n current: {\n _id: null,\n profile: {\n tags: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: '',\n youtube: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n});\n\nconst actions = {\n // Create\n async create(organization,owner) {\n organization.owner = owner\n try {\n const response = await $axios.post('/api/organizations/create', organization);\n state.current = response.data;\n return response.data;\n } catch (error) {\n console.log(error);\n setError(error);\n throw error;\n }\n },\n async read(options = {}) {\n\n console.log(options)\n\n try {\n const response = await $axios.get('/api/organizations', { params: options });\n\n if (options._id) {\n Object.assign(state.current || {}, response.data[0])\n } else {\n // state.all = [...state.all, ...response.data]; \n // state.all = response.data; // Assuming that the response.data is an array of organization objects\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error)\n return Promise.reject(error);\n }\n },\n // Update\n async update(_id, updatedData) {\n console.log(_id,updatedData)\n return await $axios\n .post(`/api/organizations/${_id}/update`, updatedData)\n .then(\n (response) => {\n console.log('Organization updated successfully');\n return Promise.resolve(response.data);\n },\n (error) => {\n console.log('Updating organization failed');\n return Promise.reject(error);\n }\n );\n },\n\n // Remove\n async remove(organizationId) {\n await $axios\n .delete(`/api/organizations/${organizationId}/delete`)\n .then(\n (response) => {\n state.error = null;\n return Promise.resolve(response.data);\n },\n (error) => {\n setError(error)\n return Promise.reject(error);\n }\n )\n .catch(error => {\n setError(error)\n });\n },\n // Reset\n async reset () {\n state.current = {\n _id: null,\n profile: {\n categories: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n }\n}\n\n// const history = []\n// history.push(state) \n\n// // // Watch\n// watch(state, (newState, oldState) => {\n// history.push(newState)\n// })\n\n// Module Export\nexport {\n state,\n actions\n}"],"names":["reactive","$axios","setError"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { reactive, watch } from "vue";
1
+ import { reactive } from "vue";
2
2
  import { setError } from "../../globals/views/store/globals.js";
3
3
  import $axios from "../../globals/views/utils/axios-instance.js";
4
4
  const state = reactive({
@@ -124,8 +124,6 @@ const actions = {
124
124
  };
125
125
  }
126
126
  };
127
- watch(state, (newState, oldState) => {
128
- });
129
127
  export {
130
128
  actions,
131
129
  state
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.js","sources":["../../../../../../src/modules/organizations/store/organizations.js"],"sourcesContent":["// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n// State\nconst state = reactive({\n all: [],\n current: {\n _id: null,\n profile: {\n tags: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: '',\n youtube: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n});\n\nconst actions = {\n // Create\n async create(organization,owner) {\n organization.owner = owner\n try {\n const response = await $axios.post('/api/organizations/create', organization);\n state.current = response.data;\n return response.data;\n } catch (error) {\n console.log(error);\n setError(error);\n throw error;\n }\n },\n async read(options = {}) {\n\n console.log(options)\n\n try {\n const response = await $axios.get('/api/organizations', { params: options });\n\n if (options._id) {\n Object.assign(state.current || {}, response.data[0])\n } else {\n // state.all = [...state.all, ...response.data]; \n // state.all = response.data; // Assuming that the response.data is an array of organization objects\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error)\n return Promise.reject(error);\n }\n },\n // Update\n async update(_id, updatedData) {\n console.log(_id,updatedData)\n return await $axios\n .post(`/api/organizations/${_id}/update`, updatedData)\n .then(\n (response) => {\n console.log('Organization updated successfully');\n return Promise.resolve(response.data);\n },\n (error) => {\n console.log('Updating organization failed');\n return Promise.reject(error);\n }\n );\n },\n\n // Remove\n async remove(organizationId) {\n await $axios\n .delete(`/api/organizations/${organizationId}/delete`)\n .then(\n (response) => {\n state.error = null;\n return Promise.resolve(response.data);\n },\n (error) => {\n setError(error)\n return Promise.reject(error);\n }\n )\n .catch(error => {\n setError(error)\n });\n },\n // Reset\n async reset () {\n state.current = {\n _id: null,\n profile: {\n categories: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n }\n}\n\nconst history = []\nhistory.push(state) \n\n// // Watch\nwatch(state, (newState, oldState) => {\n history.push(newState)\n})\n\n// Module Export\nexport {\n state,\n actions\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organizations.js","sources":["../../../../../../src/modules/organizations/store/organizations.js"],"sourcesContent":["// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// Setup Axios\nimport $axios from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\n// State\nconst state = reactive({\n all: [],\n current: {\n _id: null,\n profile: {\n tags: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: '',\n youtube: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n});\n\nconst actions = {\n // Create\n async create(organization,owner) {\n organization.owner = owner\n try {\n const response = await $axios.post('/api/organizations/create', organization);\n state.current = response.data;\n return response.data;\n } catch (error) {\n console.log(error);\n setError(error);\n throw error;\n }\n },\n async read(options = {}) {\n\n console.log(options)\n\n try {\n const response = await $axios.get('/api/organizations', { params: options });\n\n if (options._id) {\n Object.assign(state.current || {}, response.data[0])\n } else {\n // state.all = [...state.all, ...response.data]; \n // state.all = response.data; // Assuming that the response.data is an array of organization objects\n }\n return Promise.resolve(response.data);\n } catch (error) {\n setError(error)\n return Promise.reject(error);\n }\n },\n // Update\n async update(_id, updatedData) {\n console.log(_id,updatedData)\n return await $axios\n .post(`/api/organizations/${_id}/update`, updatedData)\n .then(\n (response) => {\n console.log('Organization updated successfully');\n return Promise.resolve(response.data);\n },\n (error) => {\n console.log('Updating organization failed');\n return Promise.reject(error);\n }\n );\n },\n\n // Remove\n async remove(organizationId) {\n await $axios\n .delete(`/api/organizations/${organizationId}/delete`)\n .then(\n (response) => {\n state.error = null;\n return Promise.resolve(response.data);\n },\n (error) => {\n setError(error)\n return Promise.reject(error);\n }\n )\n .catch(error => {\n setError(error)\n });\n },\n // Reset\n async reset () {\n state.current = {\n _id: null,\n profile: {\n categories: [],\n photo: '',\n name: '',\n description: ''\n },\n structure: [],\n owner: null,\n types: '',\n contacts: {\n email: '',\n website: '',\n phone: '',\n address: '',\n },\n socials: {\n telegram: '',\n line: '',\n facebook: '',\n instagram: ''\n },\n rating: {\n popularity: 0,\n median: 0,\n amount: 0,\n }\n }\n }\n}\n\n// const history = []\n// history.push(state) \n\n// // // Watch\n// watch(state, (newState, oldState) => {\n// history.push(newState)\n// })\n\n// Module Export\nexport {\n state,\n actions\n}"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ const mixins = require("../../../../globals/views/mixins/mixins.cjs");
6
6
  const pages = require("../../store/pages.cjs");
7
7
  const Button = require("../../../../../components/Button/Button.vue.cjs");
8
8
  ;/* empty css */
9
- ;/* empty css */
9
+ ;/* empty css */
10
10
  const Constructor = require("../../../../constructor/components/sections/Constructor.vue.cjs");
11
11
  const _hoisted_1 = { key: 0 };
12
12
  const _hoisted_2 = {
@@ -4,7 +4,7 @@ import { useGlobalMixins } from "../../../../globals/views/mixins/mixins.js";
4
4
  import { actions, state } from "../../store/pages.js";
5
5
  import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
6
6
  /* empty css */
7
- /* empty css */
7
+ /* empty css */
8
8
  import _sfc_main$1 from "../../../../constructor/components/sections/Constructor.vue.js";
9
9
  const _hoisted_1 = { key: 0 };
10
10
  const _hoisted_2 = {
@@ -24,7 +24,7 @@ const _hoisted_2 = {
24
24
  const _hoisted_3 = { class: "cols-2-1_3 br-b br-t br-solid br-light h-100 z-index-3 pos-relative radius-big gap-thin" };
25
25
  const _hoisted_4 = { class: "o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative" };
26
26
  const _hoisted_5 = { class: "z-index-3 bg-white radius-tl-big radius-tr-big" };
27
- const _hoisted_6 = { class: "pd-thin z-index-3 radius-tl-big radius-tr-big" };
27
+ const _hoisted_6 = { class: "z-index-3 radius-tl-big radius-tr-big" };
28
28
  const _sfc_main = {
29
29
  __name: "Products",
30
30
  setup(__props) {
@@ -135,11 +135,12 @@ const _sfc_main = {
135
135
  }, null, 8, ["filter", "options"])
136
136
  ]),
137
137
  vue.createElementVNode("div", _hoisted_5, [
138
+ vue.renderSlot(_ctx.$slots, "default"),
138
139
  vue.createElementVNode("div", _hoisted_6, [
139
140
  vue.createVNode(BlockSearch.default, {
140
141
  onSearch: updateSearch,
141
142
  placeholder: "Enter product name",
142
- class: "bg-light h-4r"
143
+ class: "bg-light mn-b-thin h-4r"
143
144
  })
144
145
  ]),
145
146
  vue.createVNode(Feed.default, {
@@ -167,7 +168,7 @@ const _sfc_main = {
167
168
  ...tabProducts.value !== "all" && { status: tabProducts.value }
168
169
  // user: user
169
170
  },
170
- class: "cols-4 rows-1 pd-t-zero pd-thin gap-thin mn-b-thin"
171
+ class: "cols-4 rows-1 gap-thin"
171
172
  }, {
172
173
  default: vue.withCtx(({
173
174
  items
@@ -1 +1 @@
1
- {"version":3,"file":"Products.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100 pos-relative\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"pd-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n v-if=\"hasAccess(route.params._id, 'products', 'create', auth.state.accesses, auth.state.access.roles)\"\n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization' && isAdmin\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n\n p-medium\n br-t br-solid br-light \n bg-white\n gap-micro pd-medium pd-t-thin pd-b-thin\n z-index-1\n\n \"\n tabClass=\"bg-light uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 br-b br-t br-solid br-light h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <div class=\"o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative\">\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100\"\n />\n </div>\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 16,\n owner: route.params._id,\n categories: route.query.categories,\n filters: generateFilters(marketplace.state.filter.selected),\n prices: route.query.prices,\n delivery: route.query.delivery,\n search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 pd-t-zero pd-thin gap-thin mn-b-thin\"\n \n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\"\n class=\"pos-relative h-100 w-100\"\n >\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)\"\n class=\"pos-relative h-100 w-100 bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@martyrs/src/components/Tab/Tab.vue'\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@martyrs/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@martyrs/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n import * as globals from '@martyrs/src/modules/globals/views/store/globals';\n import * as products from '@martyrs/src/modules/products/store/products';\n import * as marketplace from '@martyrs/src/modules/marketplace/views/store/marketplace';\n import * as categories from '@martyrs/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n marketplace.state.filter.selected.brand = query.brand ? query.brand.split(',') : [];\n }\n\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.read({rootOnly:true});\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category._id,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","watch","globals.state","IconPlus","auth.state","onMounted","categories.actions","onUnmounted"],"mappings":"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"}
1
+ {"version":3,"file":"Products.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100 pos-relative\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"pd-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n v-if=\"hasAccess(route.params._id, 'products', 'create', auth.state.accesses, auth.state.access.roles)\"\n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization' && isAdmin\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n\n p-medium\n br-t br-solid br-light \n bg-white\n gap-micro pd-medium pd-t-thin pd-b-thin\n z-index-1\n\n \"\n tabClass=\"bg-light uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 br-b br-t br-solid br-light h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <div class=\"o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative\">\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100\"\n />\n </div>\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <slot></slot>\n <div class=\" z-index-3 radius-tl-big radius-tr-big\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light mn-b-thin h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 16,\n owner: route.params._id,\n categories: route.query.categories,\n filters: generateFilters(marketplace.state.filter.selected),\n prices: route.query.prices,\n delivery: route.query.delivery,\n search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 gap-thin\"\n \n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\"\n class=\"pos-relative h-100 w-100\"\n >\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)\"\n class=\"pos-relative h-100 w-100 bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@martyrs/src/components/Tab/Tab.vue'\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@martyrs/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@martyrs/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n import * as globals from '@martyrs/src/modules/globals/views/store/globals';\n import * as products from '@martyrs/src/modules/products/store/products';\n import * as marketplace from '@martyrs/src/modules/marketplace/views/store/marketplace';\n import * as categories from '@martyrs/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n marketplace.state.filter.selected.brand = query.brand ? query.brand.split(',') : [];\n }\n\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.read({rootOnly:true});\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category._id,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","watch","globals.state","IconPlus","auth.state","onMounted","categories.actions","onUnmounted"],"mappings":"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"}