@ozdao/martyrs 0.2.563 → 0.2.565

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 (207) hide show
  1. package/dist/abac-BPl9Bmf9.js +1527 -0
  2. package/dist/builder.js +51 -39
  3. package/dist/{common.schema-GFSlNJo7.js → common.schema-DswiUXKB.js} +1 -1
  4. package/dist/community.server.js +48 -9
  5. package/dist/core.server.js +6 -4
  6. package/dist/{crud-C7FSTUes.js → crud-q1ye5IhV.js} +7 -7
  7. package/dist/events.server.js +3 -3
  8. package/dist/gallery.server.js +2 -2
  9. package/dist/inventory.server.js +4 -6
  10. package/dist/{main-CmjWiDVF.js → main-B9o1iBAZ.js} +1279 -1287
  11. package/dist/marketplace.server.js +1 -1
  12. package/dist/martyrs/src/components/Button/Button.vue2.js +33 -42
  13. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -1
  14. package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +2 -2
  15. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
  16. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  17. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  18. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  19. package/dist/martyrs/src/components/Loader/Loader.vue.js +1 -2
  20. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -1
  21. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  23. package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
  24. package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -0
  25. package/dist/martyrs/src/components/Tree/Tree.vue.js +6 -3
  26. package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
  27. package/dist/martyrs/src/modules/auth/auth.client.js +10 -7
  28. package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
  29. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  30. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  31. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  32. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  33. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  34. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +12 -12
  35. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/router/auth.router.js +116 -0
  38. package/dist/martyrs/src/modules/auth/views/router/auth.router.js.map +1 -0
  39. package/dist/martyrs/src/modules/auth/views/router/users.router.js +180 -0
  40. package/dist/martyrs/src/modules/auth/views/router/users.router.js.map +1 -0
  41. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +3 -3
  42. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  43. package/dist/martyrs/src/modules/core/locales/en.js +45 -0
  44. package/dist/martyrs/src/modules/core/locales/en.js.map +1 -1
  45. package/dist/martyrs/src/modules/core/locales/ru.js +45 -0
  46. package/dist/martyrs/src/modules/core/locales/ru.js.map +1 -1
  47. package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js +9 -0
  48. package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js.map +1 -1
  49. package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
  50. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
  51. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
  52. package/dist/martyrs/src/modules/core/views/mixins/mixins.js +1 -2
  53. package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
  54. package/dist/martyrs/src/modules/core/views/router/addRoutes.js +6 -1
  55. package/dist/martyrs/src/modules/core/views/router/addRoutes.js.map +1 -1
  56. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  57. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  58. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  59. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  60. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
  61. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  62. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +1 -1
  63. package/dist/martyrs/src/modules/marketplace/views/store/marketplace.js +0 -16
  64. package/dist/martyrs/src/modules/marketplace/views/store/marketplace.js.map +1 -1
  65. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +4 -4
  66. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
  68. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +3 -0
  69. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  70. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  71. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  72. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  73. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  74. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  75. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  76. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  77. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  78. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  79. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  80. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  81. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  82. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  83. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +15 -2
  84. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  85. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +9 -6
  86. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  87. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -3
  88. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  89. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +11 -2
  90. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  92. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
  93. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  94. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +11 -8
  95. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  96. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  97. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  98. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +210 -60
  99. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  100. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +3 -3
  101. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js.map +1 -1
  102. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  103. package/dist/martyrs.css +1 -1
  104. package/dist/martyrs.es.js +1 -1
  105. package/dist/music.server.js +11 -12
  106. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  107. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  108. package/dist/notifications.server.js +0 -3
  109. package/dist/orders.server.js +5 -6
  110. package/dist/organizations.server.js +9 -10
  111. package/dist/products.server.js +27 -26
  112. package/dist/{queryProcessor-CBQgZycY.js → queryProcessor-C_5Iipam.js} +4 -1
  113. package/dist/rents.server.js +2 -3
  114. package/dist/spots.server.js +1 -1
  115. package/dist/style.css +38 -23
  116. package/dist/{web-cNKIl_cL.js → web-BF3ijvEr.js} +1 -1
  117. package/package.json +1 -1
  118. package/src/builder/modes/ssr.rspack.dev.js +4 -3
  119. package/src/builder/rspack/rspack.config.api.js +15 -4
  120. package/src/builder/rspack/rspack.config.base.js +3 -3
  121. package/src/builder/rspack/rspack.config.ssr.client.js +28 -28
  122. package/src/builder/templates/page.js +2 -2
  123. package/src/components/Button/Button.vue +50 -37
  124. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  125. package/src/components/Loader/Loader.vue +1 -1
  126. package/src/components/Tree/Tree.vue +6 -3
  127. package/src/modules/PROCESS.md +0 -0
  128. package/src/modules/TASKS.MD +17 -0
  129. package/src/modules/auth/auth.client.js +11 -7
  130. package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
  131. package/src/modules/auth/views/router/auth.router.js +94 -0
  132. package/src/modules/auth/views/router/users.router.js +153 -0
  133. package/src/modules/backoffice/components/partials/Sidebar.vue +7 -7
  134. package/src/modules/community/community.server.js +8 -0
  135. package/src/modules/community/policies/blog.policies.js +55 -0
  136. package/src/modules/community/routes/blog.routes.js +1 -1
  137. package/src/modules/community/routes/comments.routes.js +1 -1
  138. package/src/modules/community/routes/reactions.routes.js +1 -4
  139. package/src/modules/core/controllers/classes/abac/abac.adapter.express.js +206 -124
  140. package/src/modules/core/controllers/classes/abac/abac.adapter.ws.js +203 -50
  141. package/src/modules/core/controllers/classes/abac/abac.core.js +127 -36
  142. package/src/modules/core/controllers/classes/abac/abac.fields.js +144 -179
  143. package/src/modules/core/controllers/classes/abac/abac.js +201 -10
  144. package/src/modules/core/controllers/classes/abac/abac.policies.js +147 -57
  145. package/src/modules/core/controllers/classes/crud/crud.policies.js +5 -5
  146. package/src/modules/core/controllers/policies/core.policies.js +5 -2
  147. package/src/modules/core/controllers/utils/queryProcessor.js +4 -1
  148. package/src/modules/core/core.server.js +1 -0
  149. package/src/modules/core/locales/en.js +45 -0
  150. package/src/modules/core/locales/ru.js +45 -0
  151. package/src/modules/core/models/schemas/common.schema.js +1 -1
  152. package/src/modules/core/views/classes/i18n.manager.js +13 -0
  153. package/src/modules/core/views/components/sections/filters/FilterPrice.vue +81 -0
  154. package/src/modules/core/views/mixins/mixins.js +1 -2
  155. package/src/modules/core/views/router/addRoutes.js +6 -1
  156. package/src/modules/events/routes/events.routes.js +1 -1
  157. package/src/modules/inventory/components/pages/InventoryEdit.vue +3 -3
  158. package/src/modules/inventory/policies/inventory.policies.js +1 -1
  159. package/src/modules/inventory/routes/inventory.routes.js +1 -1
  160. package/src/modules/marketplace/marketplace.router.js +66 -0
  161. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +363 -0
  162. package/src/modules/marketplace/views/components/pages/Catalog.vue +73 -0
  163. package/src/modules/marketplace/views/store/marketplace.js +0 -16
  164. package/src/modules/music/controllers/stream.controller.js +1 -1
  165. package/src/modules/music/music.server.js +1 -1
  166. package/src/modules/music/policies/music.policies.js +3 -2
  167. package/src/modules/music/router/library.router.js +26 -0
  168. package/src/modules/music/router/music.router.js +176 -0
  169. package/src/modules/notifications/components/elements/NotificationBadge.vue +5 -6
  170. package/src/modules/notifications/notifications.server.js +1 -3
  171. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +5 -0
  172. package/src/modules/orders/orders.server.js +0 -1
  173. package/src/modules/organizations/components/blocks/CardOrganization.vue +2 -2
  174. package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
  175. package/src/modules/organizations/components/pages/OrganizationEdit.vue +2 -2
  176. package/src/modules/organizations/policies/organizations.policies.js +12 -6
  177. package/src/modules/organizations/routes/organizations.routes.js +1 -3
  178. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  179. package/src/modules/products/components/blocks/CardProduct.vue +16 -2
  180. package/src/modules/products/components/pages/Categories.vue +9 -6
  181. package/src/modules/products/components/pages/CategoryEdit.vue +8 -4
  182. package/src/modules/products/components/pages/Product.vue +11 -5
  183. package/src/modules/products/components/sections/SectionProduct.vue +11 -7
  184. package/src/modules/products/controllers/categories.controller.js +32 -27
  185. package/src/modules/products/routes/categories.routes.js +1 -1
  186. package/src/modules/rents/controllers/routes/rents.routes.js +1 -1
  187. package/src/modules/rents/views/components/pages/RentsEdit.vue +208 -49
  188. package/src/modules/spots/components/pages/Map.vue +2 -2
  189. package/dist/abac-DYoheWuc.js +0 -1031
  190. package/dist/core.abac-DUPBnlk6.js +0 -298
  191. package/dist/core.logger-C3q8A9dl.js +0 -51
  192. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  193. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  194. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
  195. package/dist/martyrs/src/modules/auth/auth.router.js +0 -342
  196. package/dist/martyrs/src/modules/auth/auth.router.js.map +0 -1
  197. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
  198. package/src/modules/auth/auth.router.js +0 -262
  199. package/src/modules/core/controllers/classes/abac/v2/abac-core-fixed.js +0 -313
  200. package/src/modules/core/controllers/classes/abac/v2/abac-express-fixed.js +0 -276
  201. package/src/modules/core/controllers/classes/abac/v2/abac-fields-fixed.js +0 -425
  202. package/src/modules/core/controllers/classes/abac/v2/abac-main-fixed.js +0 -295
  203. package/src/modules/core/controllers/classes/abac/v2/abac-policies-fixed.js +0 -316
  204. package/src/modules/core/controllers/classes/abac/v2/abac-ws-fixed.js +0 -237
  205. package/src/modules/core/controllers/classes/core.abac.js +0 -310
  206. package/src/modules/core/controllers/classes/core.crud.js +0 -89
  207. package/src/modules/governance/reactcode/eslint.config.js +0 -28
@@ -3,7 +3,7 @@ import { ref, inject, onMounted, resolveComponent, createElementBlock, createCom
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  import _sfc_main$1 from "../../../../../components/Dropdown/Dropdown.vue.js";
6
- import _sfc_main$6 from "../../../../../components/Menu/Menu.vue.js";
6
+ import _sfc_main$6 from "../../../../../components/Menu/Menu.vue2.js";
7
7
  import _sfc_main$b from "../../../../../components/Menu/MenuItem.vue.js";
8
8
  import _sfc_main$3 from "../../../../organizations/components/elements/ButtonToggleMembership.vue.js";
9
9
  import _sfc_main$2 from "../../../../reports/components/sections/FormReport.vue.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, watch, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, createVNode, unref, withCtx, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
4
4
  import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$3 from "../../../../community/components/blocks/CardBlogpost.vue.js";
6
6
  import { state } from "../../store/auth.js";
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
5
  import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
@@ -1,11 +1,12 @@
1
1
  import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, createTextVNode, toDisplayString, unref, withCtx, Transition, withDirectives, vShow } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
5
  import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { useStore } from "../../../../core/views/store/core.store.js";
9
+ import { state, actions } from "../../store/auth.js";
9
10
  import { validateInputs, validatePhone, validateEmail } from "../../validations/inputs.validation.js";
10
11
  /* empty css */
11
12
  const _hoisted_1 = { class: "" };
@@ -24,7 +25,6 @@ const _sfc_main = {
24
25
  __name: "SignIn",
25
26
  setup(__props) {
26
27
  const store = useStore();
27
- const auth = store.auth;
28
28
  const core = store.core;
29
29
  const phoneValidation = ref(null);
30
30
  const passswordValidation = ref(null);
@@ -61,21 +61,21 @@ const _sfc_main = {
61
61
  if (tabAuth.value === "phone") await validateInputs(
62
62
  phoneValidation,
63
63
  validatePhone,
64
- auth.state.user.phone,
64
+ state.user.phone,
65
65
  "Некорректный телефон"
66
66
  );
67
67
  if (tabAuth.value === "email") await validateInputs(
68
68
  emailValidation,
69
69
  validateEmail,
70
- auth.state.user.email,
70
+ state.user.email,
71
71
  "Некорректный email"
72
72
  );
73
73
  } catch (error) {
74
74
  console.log(error);
75
75
  throw new Error();
76
76
  }
77
- const userCopy = { ...auth.state.user };
78
- await auth.actions.login(userCopy, tabAuth.value);
77
+ const userCopy = { ...state.user };
78
+ await actions.login(userCopy, tabAuth.value);
79
79
  }
80
80
  function redirectTo() {
81
81
  if (route.query?.returnUrl) {
@@ -89,7 +89,7 @@ const _sfc_main = {
89
89
  router.push({
90
90
  name: "User Profile",
91
91
  params: {
92
- _id: auth.state.user._id
92
+ _id: state.user._id
93
93
  },
94
94
  query: {
95
95
  afterAuth: "true"
@@ -134,7 +134,7 @@ const _sfc_main = {
134
134
  default: withCtx(() => [
135
135
  withDirectives(createElementVNode("div", _hoisted_7, [
136
136
  createVNode(_sfc_main$2, {
137
- onChange: _cache[1] || (_cache[1] = (event) => unref(auth).state.user.phone = event),
137
+ onChange: _cache[1] || (_cache[1] = (event) => state.user.phone = event),
138
138
  dropdownOptions: {
139
139
  showDialCodeInSelection: true,
140
140
  showFlags: true,
@@ -157,8 +157,8 @@ const _sfc_main = {
157
157
  default: withCtx(() => [
158
158
  withDirectives(createElementVNode("div", _hoisted_8, [
159
159
  createVNode(Field, {
160
- field: unref(auth).state.user.email,
161
- "onUpdate:field": _cache[2] || (_cache[2] = ($event) => unref(auth).state.user.email = $event),
160
+ field: state.user.email,
161
+ "onUpdate:field": _cache[2] || (_cache[2] = ($event) => state.user.email = $event),
162
162
  placeholder: unref(t)("auth.signIn.emailPlaceholder"),
163
163
  validation: emailValidation.value,
164
164
  tabIndex: -1,
@@ -172,8 +172,8 @@ const _sfc_main = {
172
172
  })
173
173
  ]),
174
174
  createVNode(Field, {
175
- field: unref(auth).state.user.password,
176
- "onUpdate:field": _cache[3] || (_cache[3] = ($event) => unref(auth).state.user.password = $event),
175
+ field: state.user.password,
176
+ "onUpdate:field": _cache[3] || (_cache[3] = ($event) => state.user.password = $event),
177
177
  type: "password",
178
178
  validation: passswordValidation.value,
179
179
  placeholder: unref(t)("auth.signIn.passwordPlaceholder"),
@@ -1 +1 @@
1
- {"version":3,"file":"SignIn.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/SignIn.vue"],"sourcesContent":["<template>\n\t<section class=\"\">\n\t\t<!-- Header -->\n\t\t<img loading=\"lazy\" :src=\"'/logo/logo.svg'\" class=\"i-extra radius-small mn-b-small\">\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.signIn.title') }}\n\t\t\t<br>\n\t\t\t<span class=\"t-semi\">{{ t('auth.signIn.subtitle') }}</span>\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big\">\n\t\t\t<router-link :to=\"{name: 'Sign Up', query: { returnUrl: route.query?.returnUrl}}\" class=\"underline t-second\">{{ t('auth.signIn.signup') }}</router-link>\n\t\t</p>\n\t\t\n\t\t<!-- Select -->\n\t\t<div \n\t\t\tv-if=\"availableTabs.length > 1\" \n\t\t\tclass=\"mn-b-small p-small uppercase t-semi bg-light radius-small o-hidden\"\n\t\t>\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabAuth\"\n\t\t\t\t:tabs=\"availableTabs\"\n\t\t\t\tclassTab=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t/>\n\t\t</div>\n\t\t<!-- Form -->\n\t\t<div class=\"pos-relative\">\n\t\t<!-- Phone -->\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'phone'\" class=\"mn-b-thin radius-small\">\n\t\t\t\t\t<FieldPhone\n\t\t\t\t\t\t@change=\"(event) => auth.state.user.phone = event\" \t\n\t\t\t\t\t\t:dropdownOptions=\"{\n\t\t\t\t\t\t\tshowDialCodeInSelection: true,\n\t\t\t\t\t\t\tshowFlags: true,\n\t\t\t\t\t\t\tshowDialCodeInList: true,\n\t\t\t\t\t\t\ttabIndex: -1\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:validCharactersOnly=\"true\"\n\t\t\t\t\t\t:validation=\"phoneValidation\" \n\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\t:inputOptions=\"{placeholder: t('auth.signIn.phonePlaceholder'), type: 'tel'}\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-small radius-small mn-b-thin\" \n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'email'\" class=\"mn-b-thin radius-small o-hidden\">\n\t\t\t\t\t<Field \n\t\t\t\t\t\tv-model:field=\"auth.state.user.email\" \t\n\t\t\t\t\t\t:placeholder=\"t('auth.signIn.emailPlaceholder')\" \t\n\t\t\t\t\t\t:validation=\"emailValidation\"\n\t\t\t\t\t\t:tabIndex=\"-1\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-medium radius-small\" \n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\n\t\t<!-- Password -->\n\t\t<Field \n\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\ttype=\"password\" \t\n\t\t\t:validation=\"passswordValidation\" \n\t\t\t:placeholder=\"t('auth.signIn.passwordPlaceholder')\" \n\t\t\tclass=\"\n bg-light\n pd-medium\n radius-small\n mn-b-semi\n h-4r \n \"\n\t\t/>\n\t\t<!-- Links -->\n\t\t<div class=\"w-100 mn-b-big\">\n\t\t\t<router-link\n\t\t\t\t:to=\"{name: 'Reset Password', query: { returnUrl: route.query?.returnUrl}}\"\n\t\t\t\tclass=\"underline d-block t-blue\"\n\t\t\t>\n\t\t\t\t{{ t('auth.signIn.forgotPassword') }}\n\t\t\t</router-link>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button \n\t\t\t:submit=\"onSubmit\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"w-100 bg-main\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin') }}\n\t\t</Button>\n\t\t\n\t\t<!-- <Button \n\t\t\t:submit=\"onSubmitApple\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"mn-b-thin bg-black t-white\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin_apple') }}\n\t\t</Button> -->\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport FieldPhone from '@martyrs/src/components/FieldPhone/FieldPhone.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n// Import store\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\n// Get store\nconst store = useStore()\nconst auth = store.auth\nconst core = store.core\n\n// Init validation\nconst phoneValidation = ref(null)\nconst passswordValidation = ref(null)\nconst emailValidation = ref(null)\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst { t } = useI18n({\n\tuseScope: 'global'\n})\n// Accessing state\nconst availableTabs = computed(() => {\n const tabs = [\n { name: t('auth.signIn.phone'), value: 'phone' },\n { name: t('auth.signIn.email'), value: 'email' }\n ];\n const excludeMethods = core.state?.options?.auth?.authMethodsExclude || [];\n return tabs.filter(tab => !excludeMethods.includes(tab.value));\n});\n\nconst tabAuth = ref(availableTabs.value.length ? availableTabs.value[0].value : '');\n\nconst loadExternalScript = (src) => {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n}\n\nonMounted(async () => {\n\tawait loadExternalScript('https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js');\n});\n// Methods\nasync function onSubmit() {\n\ttry {\n\t if (tabAuth.value === 'phone') await inputsValidation.validateInputs(\n\t\t\tphoneValidation, \n\t\t\tinputsValidation.validatePhone, \n\t\t\tauth.state.user.phone, \n\t\t\t'Некорректный телефон'\n\t\t)\n\t\tif (tabAuth.value === 'email') await inputsValidation.validateInputs(\n\t\t\temailValidation, \n\t\t\tinputsValidation.validateEmail, \n\t\t\tauth.state.user.email, \n\t\t\t'Некорректный email'\n\t\t)\n\t} catch (error) {\n\t\tconsole.log(error)\n\t\tthrow new Error\n\t}\n\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\tconst userCopy = {...auth.state.user};\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\n \tawait auth.actions.login(userCopy, tabAuth.value)\n}\n\nasync function onSubmitApple() {\n try {\n window.AppleID.auth.init({\n clientId: 'com.thecommune.app.signin',\n scope: 'email name',\n redirectURI: 'https://thecommunephuket.com/auth/signin',\n usePopup: true,\n });\n\n let response = await window.AppleID.auth.signIn();\n\n if (response) {\n console.log(response);\n await auth.actions.login(response, 'apple');\n }\n\n } catch (error) {\n console.error(error);\n throw new Error('Error during Apple authentication');\n }\n}\n\nfunction redirectTo () {\n\tif (route.query?.returnUrl) {\n\t\trouter.push({ \n\t\t\tpath: route.query?.returnUrl,\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t} else { \n\t\trouter.push({ \n\t\t\tname: 'User Profile', \n\t\t\tparams: { \n\t\t\t\t_id: auth.state.user._id \n\t\t\t},\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n\n\t.input-error {\n\t border: 1px solid red;\n\t box-shadow: 0 0 3px 0 red;\n\t}\n</style>"],"names":["inputsValidation.validateInputs","inputsValidation.validatePhone","inputsValidation.validateEmail"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuHA,UAAM,QAAQ,SAAQ;AACtB,UAAM,OAAO,MAAM;AACnB,UAAM,OAAO,MAAM;AAGnB,UAAM,kBAAkB,IAAI,IAAI;AAChC,UAAM,sBAAsB,IAAI,IAAI;AACpC,UAAM,kBAAkB,IAAI,IAAI;AAEhC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACX,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACjC,YAAM,OAAO;AAAA,QACT,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,QAC9C,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,MACtD;AACI,YAAM,iBAAiB,KAAK,OAAO,SAAS,MAAM,sBAAsB,CAAA;AACxE,aAAO,KAAK,OAAO,SAAO,CAAC,eAAe,SAAS,IAAI,KAAK,CAAC;AAAA,IACjE,CAAC;AAED,UAAM,UAAU,IAAI,cAAc,MAAM,SAAS,cAAc,MAAM,CAAC,EAAE,QAAQ,EAAE;AAElF,UAAM,qBAAqB,CAAC,QAAQ;AAClC,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,OAAO;AACd,eAAO,MAAM;AACb,eAAO,SAAS;AAChB,eAAO,UAAU;AACjB,iBAAS,KAAK,YAAY,MAAM;AAAA,MAClC,CAAC;AAAA,IACH;AAEA,cAAU,YAAY;AACrB,YAAM,mBAAmB,sFAAsF;AAAA,IAChH,CAAC;AAED,mBAAe,WAAW;AACzB,UAAI;AACF,YAAI,QAAQ,UAAU,QAAS,OAAMA;AAAAA,UACrC;AAAA,UACAC;AAAAA,UACA,KAAK,MAAM,KAAK;AAAA,UAChB;AAAA,QACH;AACE,YAAI,QAAQ,UAAU,QAAS,OAAMD;AAAAA,UACpC;AAAA,UACAE;AAAAA,UACA,KAAK,MAAM,KAAK;AAAA,UAChB;AAAA,QACH;AAAA,MACC,SAAS,OAAO;AACf,gBAAQ,IAAI,KAAK;AACjB,cAAM,IAAI;AAAA,MACX;AAGA,YAAM,WAAW,EAAC,GAAG,KAAK,MAAM,KAAI;AAGnC,YAAM,KAAK,QAAQ,MAAM,UAAU,QAAQ,KAAK;AAAA,IAClD;AAwBA,aAAS,aAAc;AACtB,UAAI,MAAM,OAAO,WAAW;AAC3B,eAAO,KAAK;AAAA,UACX,MAAM,MAAM,OAAO;AAAA,UACnB,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF,OAAO;AACN,eAAO,KAAK;AAAA,UACX,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,KAAK,KAAK,MAAM,KAAK;AAAA,UACzB;AAAA,UACG,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SignIn.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/SignIn.vue"],"sourcesContent":["<template>\n\t<section class=\"\">\n\t\t<!-- Header -->\n\t\t<img loading=\"lazy\" :src=\"'/logo/logo.svg'\" class=\"i-extra radius-small mn-b-small\">\n\n\t\t<h3 class=\"mn-b-medium\">\n\t\t\t{{ t('auth.signIn.title') }}\n\t\t\t<br>\n\t\t\t<span class=\"t-semi\">{{ t('auth.signIn.subtitle') }}</span>\n\t\t</h3>\n\n\t\t<p class=\"mn-b-big\">\n\t\t\t<router-link :to=\"{name: 'Sign Up', query: { returnUrl: route.query?.returnUrl}}\" class=\"underline t-second\">{{ t('auth.signIn.signup') }}</router-link>\n\t\t</p>\n\t\t\n\t\t<!-- Select -->\n\t\t<div \n\t\t\tv-if=\"availableTabs.length > 1\" \n\t\t\tclass=\"mn-b-small p-small uppercase t-semi bg-light radius-small o-hidden\"\n\t\t>\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabAuth\"\n\t\t\t\t:tabs=\"availableTabs\"\n\t\t\t\tclassTab=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t/>\n\t\t</div>\n\t\t<!-- Form -->\n\t\t<div class=\"pos-relative\">\n\t\t<!-- Phone -->\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'phone'\" class=\"mn-b-thin radius-small\">\n\t\t\t\t\t<FieldPhone\n\t\t\t\t\t\t@change=\"(event) => auth.state.user.phone = event\" \t\n\t\t\t\t\t\t:dropdownOptions=\"{\n\t\t\t\t\t\t\tshowDialCodeInSelection: true,\n\t\t\t\t\t\t\tshowFlags: true,\n\t\t\t\t\t\t\tshowDialCodeInList: true,\n\t\t\t\t\t\t\ttabIndex: -1\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:validCharactersOnly=\"true\"\n\t\t\t\t\t\t:validation=\"phoneValidation\" \n\t\t\t\t\t\tmode=\"national\"\n\t\t\t\t\t\t:inputOptions=\"{placeholder: t('auth.signIn.phonePlaceholder'), type: 'tel'}\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-small radius-small mn-b-thin\" \n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t<div v-show=\"tabAuth === 'email'\" class=\"mn-b-thin radius-small o-hidden\">\n\t\t\t\t\t<Field \n\t\t\t\t\t\tv-model:field=\"auth.state.user.email\" \t\n\t\t\t\t\t\t:placeholder=\"t('auth.signIn.emailPlaceholder')\" \t\n\t\t\t\t\t\t:validation=\"emailValidation\"\n\t\t\t\t\t\t:tabIndex=\"-1\"\n\t\t\t\t\t\tclass=\"bg-light h-4r pd-medium radius-small\" \n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\n\t\t<!-- Password -->\n\t\t<Field \n\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\ttype=\"password\" \t\n\t\t\t:validation=\"passswordValidation\" \n\t\t\t:placeholder=\"t('auth.signIn.passwordPlaceholder')\" \n\t\t\tclass=\"\n bg-light\n pd-medium\n radius-small\n mn-b-semi\n h-4r \n \"\n\t\t/>\n\t\t<!-- Links -->\n\t\t<div class=\"w-100 mn-b-big\">\n\t\t\t<router-link\n\t\t\t\t:to=\"{name: 'Reset Password', query: { returnUrl: route.query?.returnUrl}}\"\n\t\t\t\tclass=\"underline d-block t-blue\"\n\t\t\t>\n\t\t\t\t{{ t('auth.signIn.forgotPassword') }}\n\t\t\t</router-link>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button \n\t\t\t:submit=\"onSubmit\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"w-100 bg-main\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin') }}\n\t\t</Button>\n\t\t\n\t\t<!-- <Button \n\t\t\t:submit=\"onSubmitApple\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"mn-b-thin bg-black t-white\"\n\t\t>\n\t\t\t{{ t('auth.signIn.signin_apple') }}\n\t\t</Button> -->\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport FieldPhone from '@martyrs/src/components/FieldPhone/FieldPhone.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n// Import store\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\n// Get store\nconst store = useStore()\nconst core = store.core\n\n// Init validation\nconst phoneValidation = ref(null)\nconst passswordValidation = ref(null)\nconst emailValidation = ref(null)\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst { t } = useI18n({\n\tuseScope: 'global'\n})\n// Accessing state\nconst availableTabs = computed(() => {\n const tabs = [\n { name: t('auth.signIn.phone'), value: 'phone' },\n { name: t('auth.signIn.email'), value: 'email' }\n ];\n const excludeMethods = core.state?.options?.auth?.authMethodsExclude || [];\n return tabs.filter(tab => !excludeMethods.includes(tab.value));\n});\n\nconst tabAuth = ref(availableTabs.value.length ? availableTabs.value[0].value : '');\n\nconst loadExternalScript = (src) => {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n}\n\nonMounted(async () => {\n\tawait loadExternalScript('https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js');\n});\n// Methods\nasync function onSubmit() {\n\ttry {\n\t if (tabAuth.value === 'phone') await inputsValidation.validateInputs(\n\t\t\tphoneValidation, \n\t\t\tinputsValidation.validatePhone, \n\t\t\tauth.state.user.phone, \n\t\t\t'Некорректный телефон'\n\t\t)\n\t\tif (tabAuth.value === 'email') await inputsValidation.validateInputs(\n\t\t\temailValidation, \n\t\t\tinputsValidation.validateEmail, \n\t\t\tauth.state.user.email, \n\t\t\t'Некорректный email'\n\t\t)\n\t} catch (error) {\n\t\tconsole.log(error)\n\t\tthrow new Error\n\t}\n\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\tconst userCopy = {...auth.state.user};\n\t// COSTIL PLEASE GOD MAKE IT GOOD, FUKEN INPUT COMPONENT RETURN OBJECT NUT NUMBER\n\n \tawait auth.actions.login(userCopy, tabAuth.value)\n}\n\nasync function onSubmitApple() {\n try {\n window.AppleID.auth.init({\n clientId: 'com.thecommune.app.signin',\n scope: 'email name',\n redirectURI: 'https://thecommunephuket.com/auth/signin',\n usePopup: true,\n });\n\n let response = await window.AppleID.auth.signIn();\n\n if (response) {\n console.log(response);\n await auth.actions.login(response, 'apple');\n }\n\n } catch (error) {\n console.error(error);\n throw new Error('Error during Apple authentication');\n }\n}\n\nfunction redirectTo () {\n\tif (route.query?.returnUrl) {\n\t\trouter.push({ \n\t\t\tpath: route.query?.returnUrl,\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t} else { \n\t\trouter.push({ \n\t\t\tname: 'User Profile', \n\t\t\tparams: { \n\t\t\t\t_id: auth.state.user._id \n\t\t\t},\n\t\t\tquery: { \n\t\t\t\tafterAuth: 'true' \n\t\t\t}\n\t\t})\n\t}\n}\n</script>\n\n<style lang=\"scss\">\n\n\t.input-error {\n\t border: 1px solid red;\n\t box-shadow: 0 0 3px 0 red;\n\t}\n</style>"],"names":["inputsValidation.validateInputs","inputsValidation.validatePhone","auth.state","inputsValidation.validateEmail","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAwHA,UAAM,QAAQ,SAAQ;AACtB,UAAM,OAAO,MAAM;AAGnB,UAAM,kBAAkB,IAAI,IAAI;AAChC,UAAM,sBAAsB,IAAI,IAAI;AACpC,UAAM,kBAAkB,IAAI,IAAI;AAEhC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACX,CAAC;AAED,UAAM,gBAAgB,SAAS,MAAM;AACjC,YAAM,OAAO;AAAA,QACT,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,QAC9C,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,QAAO;AAAA,MACtD;AACI,YAAM,iBAAiB,KAAK,OAAO,SAAS,MAAM,sBAAsB,CAAA;AACxE,aAAO,KAAK,OAAO,SAAO,CAAC,eAAe,SAAS,IAAI,KAAK,CAAC;AAAA,IACjE,CAAC;AAED,UAAM,UAAU,IAAI,cAAc,MAAM,SAAS,cAAc,MAAM,CAAC,EAAE,QAAQ,EAAE;AAElF,UAAM,qBAAqB,CAAC,QAAQ;AAClC,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,OAAO;AACd,eAAO,MAAM;AACb,eAAO,SAAS;AAChB,eAAO,UAAU;AACjB,iBAAS,KAAK,YAAY,MAAM;AAAA,MAClC,CAAC;AAAA,IACH;AAEA,cAAU,YAAY;AACrB,YAAM,mBAAmB,sFAAsF;AAAA,IAChH,CAAC;AAED,mBAAe,WAAW;AACzB,UAAI;AACF,YAAI,QAAQ,UAAU,QAAS,OAAMA;AAAAA,UACrC;AAAA,UACAC;AAAAA,UACAC,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AACE,YAAI,QAAQ,UAAU,QAAS,OAAMF;AAAAA,UACpC;AAAA,UACAG;AAAAA,UACAD,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AAAA,MACC,SAAS,OAAO;AACf,gBAAQ,IAAI,KAAK;AACjB,cAAM,IAAI;AAAA,MACX;AAGA,YAAM,WAAW,EAAC,GAAGA,MAAW,KAAI;AAGnC,YAAME,QAAa,MAAM,UAAU,QAAQ,KAAK;AAAA,IAClD;AAwBA,aAAS,aAAc;AACtB,UAAI,MAAM,OAAO,WAAW;AAC3B,eAAO,KAAK;AAAA,UACX,MAAM,MAAM,OAAO;AAAA,UACnB,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF,OAAO;AACN,eAAO,KAAK;AAAA,UACX,MAAM;AAAA,UACN,QAAQ;AAAA,YACP,KAAKF,MAAW,KAAK;AAAA,UACzB;AAAA,UACG,OAAO;AAAA,YACN,WAAW;AAAA,UACf;AAAA,QACA,CAAG;AAAA,MACF;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, withDirectives, vShow, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
5
  import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
@@ -0,0 +1,116 @@
1
+ import { requiresNoAuth, resetUser, checkUser } from "../middlewares/auth.validation.js";
2
+ function getAuthRoutes(options = {}) {
3
+ const route = options.route || "Home";
4
+ return {
5
+ parentName: route,
6
+ config: {
7
+ basePath: "auth",
8
+ component: () => import(
9
+ /* webpackChunkName: "auth-layout" */
10
+ "../components/layouts/Auth.vue.js"
11
+ ),
12
+ meta: {
13
+ title: {
14
+ en: "Аутентификация",
15
+ ru: "Authentication"
16
+ }
17
+ },
18
+ routes: [
19
+ {
20
+ path: "signin",
21
+ name: "Sign In",
22
+ beforeEnter: [requiresNoAuth, resetUser],
23
+ meta: {
24
+ title: {
25
+ en: "Sign In",
26
+ ru: "Вход"
27
+ }
28
+ },
29
+ component: () => import(
30
+ /* webpackChunkName: "signin" */
31
+ "../components/pages/SignIn.vue.js"
32
+ )
33
+ },
34
+ {
35
+ path: "reset-password",
36
+ name: "Reset Password",
37
+ beforeEnter: [requiresNoAuth, resetUser],
38
+ meta: {
39
+ title: {
40
+ en: "Reset Password",
41
+ ru: "Сбросить Пароль"
42
+ }
43
+ },
44
+ component: () => import(
45
+ /* webpackChunkName: "reset-password" */
46
+ "../components/pages/ResetPassword.vue.js"
47
+ )
48
+ },
49
+ {
50
+ path: "signup",
51
+ name: "Sign Up",
52
+ beforeEnter: [requiresNoAuth, resetUser],
53
+ meta: {
54
+ title: {
55
+ en: "Sign Up",
56
+ ru: "Регистрация"
57
+ }
58
+ },
59
+ component: () => import(
60
+ /* webpackChunkName: "signup" */
61
+ "../components/pages/SignUp.vue.js"
62
+ )
63
+ },
64
+ {
65
+ path: "enter-code",
66
+ name: "Enter Code",
67
+ beforeEnter: [requiresNoAuth, checkUser],
68
+ meta: {
69
+ title: {
70
+ en: "Enter Code",
71
+ ru: "Введите Код"
72
+ }
73
+ },
74
+ component: () => import(
75
+ /* webpackChunkName: "signup" */
76
+ "../components/pages/EnterCode.vue.js"
77
+ )
78
+ },
79
+ {
80
+ path: "enter-password",
81
+ name: "Enter Password",
82
+ beforeEnter: [requiresNoAuth, checkUser],
83
+ meta: {
84
+ title: {
85
+ en: "Enter Password",
86
+ ru: "Введите Пароль"
87
+ }
88
+ },
89
+ component: () => import(
90
+ /* webpackChunkName: "signup" */
91
+ "../components/pages/EnterPassword.vue.js"
92
+ )
93
+ },
94
+ {
95
+ path: "invite",
96
+ name: "Invite",
97
+ beforeEnter: [requiresNoAuth, resetUser],
98
+ meta: {
99
+ title: {
100
+ en: "Invite",
101
+ ru: "Приглашение"
102
+ }
103
+ },
104
+ component: () => import(
105
+ /* webpackChunkName: "signup" */
106
+ "../components/pages/Invite.vue.js"
107
+ )
108
+ }
109
+ ]
110
+ }
111
+ };
112
+ }
113
+ export {
114
+ getAuthRoutes
115
+ };
116
+ //# sourceMappingURL=auth.router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.router.js","sources":["../../../../../../../src/modules/auth/views/router/auth.router.js"],"sourcesContent":["// auth.router.js - Authentication routes\nimport { requiresNoAuth, resetUser, checkUser } from '../middlewares/auth.validation.js';\n\nexport function getAuthRoutes(options = {}) {\n const route = options.route || 'Home';\n\n return {\n parentName: route,\n config: {\n basePath: 'auth',\n component: () => import(/* webpackChunkName: \"auth-layout\" */ '../components/layouts/Auth.vue'),\n meta: {\n title: {\n en: 'Аутентификация',\n ru: 'Authentication',\n },\n },\n routes: [\n {\n path: 'signin',\n name: 'Sign In',\n beforeEnter: [requiresNoAuth, resetUser],\n meta: {\n title: {\n en: 'Sign In',\n ru: 'Вход',\n },\n },\n component: () => import(/* webpackChunkName: \"signin\" */ '../components/pages/SignIn.vue'),\n },\n {\n path: 'reset-password',\n name: 'Reset Password',\n beforeEnter: [requiresNoAuth, resetUser],\n meta: {\n title: {\n en: 'Reset Password',\n ru: 'Сбросить Пароль',\n },\n },\n component: () => import(/* webpackChunkName: \"reset-password\" */ '../components/pages/ResetPassword.vue'),\n },\n {\n path: 'signup',\n name: 'Sign Up',\n beforeEnter: [requiresNoAuth, resetUser],\n meta: {\n title: {\n en: 'Sign Up',\n ru: 'Регистрация',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ '../components/pages/SignUp.vue'),\n },\n {\n path: 'enter-code',\n name: 'Enter Code',\n beforeEnter: [requiresNoAuth, checkUser],\n meta: {\n title: {\n en: 'Enter Code',\n ru: 'Введите Код',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ '../components/pages/EnterCode.vue'),\n },\n {\n path: 'enter-password',\n name: 'Enter Password',\n beforeEnter: [requiresNoAuth, checkUser],\n meta: {\n title: {\n en: 'Enter Password',\n ru: 'Введите Пароль',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ '../components/pages/EnterPassword.vue'),\n },\n {\n path: 'invite',\n name: 'Invite',\n beforeEnter: [requiresNoAuth, resetUser],\n meta: {\n title: {\n en: 'Invite',\n ru: 'Приглашение',\n },\n },\n component: () => import(/* webpackChunkName: \"signup\" */ '../components/pages/Invite.vue'),\n },\n ],\n }\n };\n}\n"],"names":[],"mappings":";AAGO,SAAS,cAAc,UAAU,IAAI;AAC1C,QAAM,QAAQ,QAAQ,SAAS;AAE/B,SAAO;AAAA,IACL,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW,MAAM;AAAA;AAAA,QAA6C;AAAA,MAAgC;AAAA,MAC9F,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,IAAI;AAAA,UACJ,IAAI;AAAA,QACd;AAAA,MACA;AAAA,MACM,QAAQ;AAAA,QACN;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa,CAAC,gBAAgB,SAAS;AAAA,UACvC,MAAM;AAAA,YACJ,OAAO;AAAA,cACL,IAAI;AAAA,cACJ,IAAI;AAAA,YAClB;AAAA,UACA;AAAA,UACU,WAAW,MAAM;AAAA;AAAA,YAAwC;AAAA,UAAgC;AAAA,QACnG;AAAA,QACQ;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa,CAAC,gBAAgB,SAAS;AAAA,UACvC,MAAM;AAAA,YACJ,OAAO;AAAA,cACL,IAAI;AAAA,cACJ,IAAI;AAAA,YAClB;AAAA,UACA;AAAA,UACU,WAAW,MAAM;AAAA;AAAA,YAAgD;AAAA,UAAuC;AAAA,QAClH;AAAA,QACQ;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa,CAAC,gBAAgB,SAAS;AAAA,UACvC,MAAM;AAAA,YACJ,OAAO;AAAA,cACL,IAAI;AAAA,cACJ,IAAI;AAAA,YAClB;AAAA,UACA;AAAA,UACU,WAAW,MAAM;AAAA;AAAA,YAAwC;AAAA,UAAgC;AAAA,QACnG;AAAA,QACQ;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa,CAAC,gBAAgB,SAAS;AAAA,UACvC,MAAM;AAAA,YACJ,OAAO;AAAA,cACL,IAAI;AAAA,cACJ,IAAI;AAAA,YAClB;AAAA,UACA;AAAA,UACU,WAAW,MAAM;AAAA;AAAA,YAAwC;AAAA,UAAmC;AAAA,QACtG;AAAA,QACQ;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa,CAAC,gBAAgB,SAAS;AAAA,UACvC,MAAM;AAAA,YACJ,OAAO;AAAA,cACL,IAAI;AAAA,cACJ,IAAI;AAAA,YAClB;AAAA,UACA;AAAA,UACU,WAAW,MAAM;AAAA;AAAA,YAAwC;AAAA,UAAuC;AAAA,QAC1G;AAAA,QACQ;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa,CAAC,gBAAgB,SAAS;AAAA,UACvC,MAAM;AAAA,YACJ,OAAO;AAAA,cACL,IAAI;AAAA,cACJ,IAAI;AAAA,YAClB;AAAA,UACA;AAAA,UACU,WAAW,MAAM;AAAA;AAAA,YAAwC;AAAA,UAAgC;AAAA,QACnG;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;"}
@@ -0,0 +1,180 @@
1
+ import { state } from "../store/auth.js";
2
+ import { useGlobalMixins } from "../../../core/views/mixins/mixins.js";
3
+ import { requiresAuth } from "../middlewares/auth.validation.js";
4
+ import _sfc_main from "../../../icons/navigation/IconPlus.vue.js";
5
+ import { navigationItems } from "../configs/navigation.user.config.js";
6
+ import _sfc_main$1 from "../components/blocks/ProfileCard.vue.js";
7
+ import HelpCard from "../../../core/views/components/blocks/HelpCard.vue.js";
8
+ const { isPhone, isTablet } = useGlobalMixins();
9
+ function getUsersRoutes(options = {}) {
10
+ const route = options.route || "Home";
11
+ return {
12
+ parentName: route,
13
+ config: {
14
+ basePath: "users",
15
+ meta: {
16
+ title: {
17
+ en: "Users",
18
+ ru: "Пользователи"
19
+ }
20
+ },
21
+ routes: [
22
+ {
23
+ path: ":_id",
24
+ name: "User Profile Root",
25
+ meta: {
26
+ title: {
27
+ en: "Profile",
28
+ ru: "Профиль"
29
+ },
30
+ sidebar_hover: false,
31
+ sidebar_navigation_items: navigationItems,
32
+ sidebar_header_component: _sfc_main$1,
33
+ sidebar_footer_component: HelpCard,
34
+ sidebarOpenOnEnter: true,
35
+ sidebarCloseOnLeave: true
36
+ },
37
+ children: [
38
+ {
39
+ path: "",
40
+ name: "User Profile",
41
+ meta: {
42
+ title: {
43
+ en: "Profile",
44
+ ru: "Профиль"
45
+ },
46
+ title_hide: true,
47
+ hideNavigationBar: (route2) => route2.params._id === state.user._id
48
+ },
49
+ component: () => import(
50
+ /* webpackChunkName: "profile" */
51
+ "../components/pages/Profile.vue.js"
52
+ ),
53
+ children: [
54
+ {
55
+ path: "edit",
56
+ name: "User Edit Profile",
57
+ beforeEnter: [requiresAuth],
58
+ component: () => import(
59
+ /* webpackChunkName: "profile-edit" */
60
+ "../components/pages/ProfileEdit.vue.js"
61
+ ),
62
+ children: [
63
+ {
64
+ path: "profile",
65
+ name: "Profile Edit Profile",
66
+ component: () => import(
67
+ /* webpackChunkName: "profile-edit-profile" */
68
+ "../components/pages/ProfileEditProfile.vue.js"
69
+ )
70
+ },
71
+ {
72
+ path: "account",
73
+ name: "Profile Edit Account",
74
+ component: () => import(
75
+ /* webpackChunkName: "profile-edit-account" */
76
+ "../components/pages/ProfileEditAccount.vue.js"
77
+ )
78
+ }
79
+ ]
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ path: "dashboard",
85
+ name: "User Dashboard",
86
+ beforeEnter: [
87
+ requiresAuth,
88
+ (to) => {
89
+ if (to.params._id !== state.user._id) {
90
+ return { name: "User Profile", params: { _id: to.params._id } };
91
+ }
92
+ }
93
+ ],
94
+ meta: {
95
+ title: {
96
+ en: "Dashboard",
97
+ ru: "Дашборд"
98
+ }
99
+ },
100
+ component: () => import(
101
+ /* webpackChunkName: "profile-dashboard" */
102
+ "../components/pages/UserDashboard.vue.js"
103
+ )
104
+ },
105
+ {
106
+ path: "blogposts",
107
+ name: "User Posts",
108
+ meta: {
109
+ title: {
110
+ en: "Posts",
111
+ ru: "Посты"
112
+ }
113
+ },
114
+ component: () => import(
115
+ /* webpackChunkName: "profile" */
116
+ "../components/pages/ProfileBlogposts.vue.js"
117
+ )
118
+ },
119
+ {
120
+ path: "events",
121
+ name: "User Events",
122
+ meta: {
123
+ title: {
124
+ en: "Events",
125
+ ru: "События"
126
+ }
127
+ },
128
+ component: () => import(
129
+ /* webpackChunkName: "profile" */
130
+ "../../../events/components/pages/EventsBackoffice.vue.js"
131
+ )
132
+ },
133
+ {
134
+ path: "organizations",
135
+ name: "User Organizations",
136
+ meta: {
137
+ title: {
138
+ en: "Groups",
139
+ ru: "Группы"
140
+ },
141
+ actions: [
142
+ {
143
+ component: _sfc_main,
144
+ props: {
145
+ fill: "rgb(var(--main))"
146
+ },
147
+ condition: () => state.user && state.user._id,
148
+ action: (router) => router.push({ name: "Create Organization" })
149
+ }
150
+ ]
151
+ },
152
+ component: () => import(
153
+ /* webpackChunkName: "profile" */
154
+ "../../../organizations/components/pages/Organizations.vue.js"
155
+ )
156
+ },
157
+ {
158
+ path: "wallet",
159
+ name: "User Wallet",
160
+ meta: {
161
+ title: {
162
+ en: "Wallet",
163
+ ru: "Кошелек"
164
+ }
165
+ },
166
+ component: () => import(
167
+ /* webpackChunkName: "profile" */
168
+ "../../../wallet/views/components/pages/Wallet.vue.js"
169
+ )
170
+ }
171
+ ]
172
+ }
173
+ ]
174
+ }
175
+ };
176
+ }
177
+ export {
178
+ getUsersRoutes
179
+ };
180
+ //# sourceMappingURL=users.router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.router.js","sources":["../../../../../../../src/modules/auth/views/router/users.router.js"],"sourcesContent":["// users.router.js - User profile routes\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\nimport { requiresAuth } from '../middlewares/auth.validation.js';\nimport IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue';\nimport { navigationItems } from '@martyrs/src/modules/auth/views/configs/navigation.user.config.js';\nimport ProfileCard from '@martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue';\nimport HelpCard from '@martyrs/src/modules/core/views/components/blocks/HelpCard.vue';\n\nconst { isPhone, isTablet } = useGlobalMixins();\n\nexport function getUsersRoutes(options = {}) {\n const route = options.route || 'Home';\n\n return {\n parentName: route,\n config: {\n basePath: 'users',\n meta: {\n title: {\n en: 'Users',\n ru: 'Пользователи',\n },\n },\n routes: [\n {\n path: ':_id',\n name: 'User Profile Root',\n meta: {\n title: {\n en: 'Profile',\n ru: 'Профиль',\n },\n sidebar_hover: false,\n sidebar_navigation_items: navigationItems,\n sidebar_header_component: ProfileCard,\n sidebar_footer_component: HelpCard,\n sidebarOpenOnEnter: true,\n sidebarCloseOnLeave: true\n },\n children: [\n {\n path: '',\n name: 'User Profile',\n meta: {\n title: {\n en: 'Profile',\n ru: 'Профиль',\n },\n title_hide: true,\n hideNavigationBar: route => route.params._id === auth.state.user._id,\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '../components/pages/Profile.vue'),\n children: [\n {\n path: 'edit',\n name: 'User Edit Profile',\n beforeEnter: [requiresAuth],\n component: () => import(/* webpackChunkName: \"profile-edit\" */ '../components/pages/ProfileEdit.vue'),\n children: [\n {\n path: 'profile',\n name: 'Profile Edit Profile',\n component: () => import(/* webpackChunkName: \"profile-edit-profile\" */ '../components/pages/ProfileEditProfile.vue')\n },\n {\n path: 'account',\n name: 'Profile Edit Account',\n component: () => import(/* webpackChunkName: \"profile-edit-account\" */ '../components/pages/ProfileEditAccount.vue')\n }\n ]\n }\n ]\n },\n {\n path: 'dashboard',\n name: 'User Dashboard',\n beforeEnter: [\n requiresAuth,\n (to) => {\n if (to.params._id !== auth.state.user._id) {\n return { name: 'User Profile', params: { _id: to.params._id } };\n }\n }\n ],\n meta: {\n title: {\n en: 'Dashboard',\n ru: 'Дашборд',\n },\n },\n component: () => import(/* webpackChunkName: \"profile-dashboard\" */ '../components/pages/UserDashboard.vue'),\n },\n {\n path: 'blogposts',\n name: 'User Posts',\n meta: {\n title: {\n en: 'Posts',\n ru: 'Посты',\n },\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '../components/pages/ProfileBlogposts.vue'),\n },\n {\n path: 'events',\n name: 'User Events',\n meta: {\n title: {\n en: 'Events',\n ru: 'События',\n },\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '@martyrs/src/modules/events/components/pages/EventsBackoffice.vue'),\n },\n {\n path: 'organizations',\n name: 'User Organizations',\n meta: {\n title: {\n en: 'Groups',\n ru: 'Группы',\n },\n actions: [\n {\n component: IconPlus,\n props: {\n fill: 'rgb(var(--main))',\n },\n condition: () => auth.state.user && auth.state.user._id,\n action: router => router.push({ name: 'Create Organization' }),\n },\n ],\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '@martyrs/src/modules/organizations/components/pages/Organizations.vue'),\n },\n {\n path: 'wallet',\n name: 'User Wallet',\n meta: {\n title: {\n en: 'Wallet',\n ru: 'Кошелек',\n },\n },\n component: () => import(/* webpackChunkName: \"profile\" */ '@martyrs/src/modules/wallet/views/components/pages/Wallet.vue'),\n },\n ],\n },\n ],\n }\n };\n}\n"],"names":["ProfileCard","route","auth.state","IconPlus"],"mappings":";;;;;;;AASA,MAAM,EAAE,SAAS,SAAQ,IAAK,gBAAe;AAEtC,SAAS,eAAe,UAAU,IAAI;AAC3C,QAAM,QAAQ,QAAQ,SAAS;AAE/B,SAAO;AAAA,IACL,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,IAAI;AAAA,UACJ,IAAI;AAAA,QACd;AAAA,MACA;AAAA,MACM,QAAQ;AAAA,QACN;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,OAAO;AAAA,cACL,IAAI;AAAA,cACJ,IAAI;AAAA,YAClB;AAAA,YACY,eAAe;AAAA,YACf,0BAA0B;AAAA,YAC1B,0BAA0BA;AAAAA,YAC1B,0BAA0B;AAAA,YAC1B,oBAAoB;AAAA,YACpB,qBAAqB;AAAA,UACjC;AAAA,UACU,UAAU;AAAA,YACR;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,cACN,MAAM;AAAA,gBACJ,OAAO;AAAA,kBACL,IAAI;AAAA,kBACJ,IAAI;AAAA,gBACtB;AAAA,gBACgB,YAAY;AAAA,gBACZ,mBAAmB,CAAAC,WAASA,OAAM,OAAO,QAAQC,MAAW,KAAK;AAAA,cACjF;AAAA,cACc,WAAW,MAAM;AAAA;AAAA,gBAAyC;AAAA,cAAiC;AAAA,cAC3F,UAAU;AAAA,gBACR;AAAA,kBACE,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,aAAa,CAAC,YAAY;AAAA,kBAC1B,WAAW,MAAM;AAAA;AAAA,oBAA8C;AAAA,kBAAqC;AAAA,kBACpG,UAAU;AAAA,oBACR;AAAA,sBACE,MAAM;AAAA,sBACN,MAAM;AAAA,sBACN,WAAW,MAAM;AAAA;AAAA,wBAAsD;AAAA,sBAA4C;AAAA,oBACzI;AAAA,oBACoB;AAAA,sBACE,MAAM;AAAA,sBACN,MAAM;AAAA,sBACN,WAAW,MAAM;AAAA;AAAA,wBAAsD;AAAA,sBAA4C;AAAA,oBACzI;AAAA,kBACA;AAAA,gBACA;AAAA,cACA;AAAA,YACA;AAAA,YACY;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,cACN,aAAa;AAAA,gBACX;AAAA,gBACA,CAAC,OAAO;AACN,sBAAI,GAAG,OAAO,QAAQA,MAAW,KAAK,KAAK;AACzC,2BAAO,EAAE,MAAM,gBAAgB,QAAQ,EAAE,KAAK,GAAG,OAAO,MAAK;AAAA,kBAC/D;AAAA,gBACF;AAAA,cAChB;AAAA,cACc,MAAM;AAAA,gBACJ,OAAO;AAAA,kBACL,IAAI;AAAA,kBACJ,IAAI;AAAA,gBACtB;AAAA,cACA;AAAA,cACc,WAAW,MAAM;AAAA;AAAA,gBAAmD;AAAA,cAAuC;AAAA,YACzH;AAAA,YACY;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,cACN,MAAM;AAAA,gBACJ,OAAO;AAAA,kBACL,IAAI;AAAA,kBACJ,IAAI;AAAA,gBACtB;AAAA,cACA;AAAA,cACc,WAAW,MAAM;AAAA;AAAA,gBAAyC;AAAA,cAA0C;AAAA,YAClH;AAAA,YACY;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,cACN,MAAM;AAAA,gBACJ,OAAO;AAAA,kBACL,IAAI;AAAA,kBACJ,IAAI;AAAA,gBACtB;AAAA,cACA;AAAA,cACc,WAAW,MAAM;AAAA;AAAA,gBAAyC;AAAA,cAAmE;AAAA,YAC3I;AAAA,YACY;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,cACN,MAAM;AAAA,gBACJ,OAAO;AAAA,kBACL,IAAI;AAAA,kBACJ,IAAI;AAAA,gBACtB;AAAA,gBACgB,SAAS;AAAA,kBACP;AAAA,oBACE,WAAWC;AAAAA,oBACX,OAAO;AAAA,sBACL,MAAM;AAAA,oBAC5B;AAAA,oBACoB,WAAW,MAAMD,MAAW,QAAQA,MAAW,KAAK;AAAA,oBACpD,QAAQ,YAAU,OAAO,KAAK,EAAE,MAAM,uBAAuB;AAAA,kBACjF;AAAA,gBACA;AAAA,cACA;AAAA,cACc,WAAW,MAAM;AAAA;AAAA,gBAAyC;AAAA,cAAuE;AAAA,YAC/I;AAAA,YACY;AAAA,cACE,MAAM;AAAA,cACN,MAAM;AAAA,cACN,MAAM;AAAA,gBACJ,OAAO;AAAA,kBACL,IAAI;AAAA,kBACJ,IAAI;AAAA,gBACtB;AAAA,cACA;AAAA,cACc,WAAW,MAAM;AAAA;AAAA,gBAAyC;AAAA,cAA+D;AAAA,YACvI;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;"}
@@ -29,7 +29,7 @@ const _sfc_main = {
29
29
  {
30
30
  name: "organizations",
31
31
  title: "Organizations",
32
- routeName: "Backoffice Organizations",
32
+ to: "/backoffice/organizations",
33
33
  icon: _sfc_main$1
34
34
  },
35
35
  {
@@ -111,7 +111,7 @@ const _sfc_main = {
111
111
  (openBlock(), createElementBlock(Fragment, null, renderList(menuItems, (item) => {
112
112
  return createElementVNode("div", {
113
113
  key: item.name,
114
- onClick: ($event) => unref(router).push({ name: item.routeName }),
114
+ onClick: ($event) => unref(router).push(item.to || { name: item.routeName }),
115
115
  class: "flex pd-thin flex-v-center cursor-pointer"
116
116
  }, [
117
117
  item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), {
@@ -127,7 +127,7 @@ const _sfc_main = {
127
127
  (openBlock(), createElementBlock(Fragment, null, renderList(generalItems, (item) => {
128
128
  return createElementVNode("div", {
129
129
  key: item.name,
130
- onClick: ($event) => unref(router).push({ name: item.routeName }),
130
+ onClick: ($event) => unref(router).push(item.to || { name: item.routeName }),
131
131
  class: "flex pd-thin flex-v-center cursor-pointer"
132
132
  }, [
133
133
  item.icon ? (openBlock(), createBlock(resolveDynamicComponent(item.icon), {
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../src/modules/backoffice/components/partials/Sidebar.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative o-y-scroll o-x-hidden h-100\">\n <div class=\"br-b h3 h-4r pd-semi br-solid br-black-transp-10\">Backoffice</div>\n <div class=\"pd-semi\">\n <span class=\"pd-thin uppercase t-medium t-transp\">Menu</span>\n <div \n v-for=\"item in menuItems\" \n :key=\"item.name\"\n @click=\"router.push({ name: item.routeName })\" \n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-medium mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n \n <span class=\"pd-thin d-block mn-t-medium uppercase t-medium t-transp\">General</span>\n <div \n v-for=\"item in generalItems\" \n :key=\"item.name\"\n @click=\"router.push({ name: item.routeName })\" \n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-medium mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup=\"props\">\n/////////////////////////////\n// COMPONENT DEPENDENCIES\n/////////////////////////////\nimport { ref, onMounted } from 'vue';\n\n// Mobile Module\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue'\n\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n/////////////////////////////\n// HELPERS\n/////////////////////////////\nimport { useRoute, useRouter } from 'vue-router'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\n\nconst route = useRoute()\nconst router = useRouter()\n/////////////////////////////\n// CREATED\n/////////////////////////////\nconst props = defineProps({\n favorites: Array,\n});\n\nconst selectedOrganization = ref(null);\nconst publics = ref([]);\n\n// Define menu items\nconst menuItems = [\n {\n name: 'organizations',\n title: 'Organizations',\n routeName: 'Backoffice Organizations',\n icon: IconGroups\n },\n {\n name: 'community',\n title: 'Community',\n routeName: 'Backoffice Community',\n icon: IconCommunity\n },\n {\n name: 'products',\n title: 'Products',\n routeName: 'Products',\n icon: IconProducts\n },\n {\n name: 'inventory',\n title: 'Inventory',\n routeName: 'BackofficeInventoryList',\n icon: IconLeftovers\n },\n {\n name: 'orders',\n title: 'Orders',\n routeName: 'BackofficeOrdersList',\n icon: IconOrders\n },\n {\n name: 'gallery',\n title: 'Gallery',\n routeName: 'Backoffice Gallery',\n icon: IconGallery\n },\n {\n name: 'applications',\n title: 'Applications',\n routeName: 'BackofficeApplications',\n icon: IconEvents\n },\n {\n name: 'events',\n title: 'Events',\n routeName: 'BackofficeEvents Backoffice',\n icon: IconEvents\n }\n];\n\n// Define general items\nconst generalItems = [\n {\n name: 'payments',\n title: 'Payments',\n routeName: 'Payments',\n icon: IconPayments\n },\n {\n name: 'users',\n title: 'Users',\n routeName: 'Users',\n icon: null\n },\n {\n name: 'pages',\n title: 'Pages',\n routeName: 'Backoffice Pages',\n icon: null\n },\n {\n name: 'reports',\n title: 'Reports',\n routeName: 'Backoffice Reports',\n icon: null\n }\n];\n\n/////////////////////////////\n// MOUNTED\n/////////////////////////////\nonMounted(async () => {\n});\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconGroups","IconCommunity","IconProducts","IconLeftovers","IconOrders","IconGallery","IconEvents","IconPayments"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgEc,aAAQ;AACtB,UAAM,SAAS,UAAS;AAQK,QAAI,IAAI;AACrB,QAAI,CAAA,CAAE;AAGtB,UAAM,YAAY;AAAA,MAChB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMA;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMA;AAAAA,MACV;AAAA,IACA;AAGA,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,IACA;AAKA,cAAU,YAAY;AAAA,IACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../src/modules/backoffice/components/partials/Sidebar.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative o-y-scroll o-x-hidden h-100\">\n <div class=\"br-b h3 h-4r pd-semi br-solid br-black-transp-10\">Backoffice</div>\n <div class=\"pd-semi\">\n <span class=\"pd-thin uppercase t-medium t-transp\">Menu</span>\n <div\n v-for=\"item in menuItems\"\n :key=\"item.name\"\n @click=\"router.push(item.to || { name: item.routeName })\"\n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-medium mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n \n <span class=\"pd-thin d-block mn-t-medium uppercase t-medium t-transp\">General</span>\n <div\n v-for=\"item in generalItems\"\n :key=\"item.name\"\n @click=\"router.push(item.to || { name: item.routeName })\"\n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-medium mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup=\"props\">\n/////////////////////////////\n// COMPONENT DEPENDENCIES\n/////////////////////////////\nimport { ref, onMounted } from 'vue';\n\n// Mobile Module\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue'\n\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n/////////////////////////////\n// HELPERS\n/////////////////////////////\nimport { useRoute, useRouter } from 'vue-router'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\n\nconst route = useRoute()\nconst router = useRouter()\n/////////////////////////////\n// CREATED\n/////////////////////////////\nconst props = defineProps({\n favorites: Array,\n});\n\nconst selectedOrganization = ref(null);\nconst publics = ref([]);\n\n// Define menu items\nconst menuItems = [\n {\n name: 'organizations',\n title: 'Organizations',\n to: '/backoffice/organizations',\n icon: IconGroups\n },\n {\n name: 'community',\n title: 'Community',\n routeName: 'Backoffice Community',\n icon: IconCommunity\n },\n {\n name: 'products',\n title: 'Products',\n routeName: 'Products',\n icon: IconProducts\n },\n {\n name: 'inventory',\n title: 'Inventory',\n routeName: 'BackofficeInventoryList',\n icon: IconLeftovers\n },\n {\n name: 'orders',\n title: 'Orders',\n routeName: 'BackofficeOrdersList',\n icon: IconOrders\n },\n {\n name: 'gallery',\n title: 'Gallery',\n routeName: 'Backoffice Gallery',\n icon: IconGallery\n },\n {\n name: 'applications',\n title: 'Applications',\n routeName: 'BackofficeApplications',\n icon: IconEvents\n },\n {\n name: 'events',\n title: 'Events',\n routeName: 'BackofficeEvents Backoffice',\n icon: IconEvents\n }\n];\n\n// Define general items\nconst generalItems = [\n {\n name: 'payments',\n title: 'Payments',\n routeName: 'Payments',\n icon: IconPayments\n },\n {\n name: 'users',\n title: 'Users',\n routeName: 'Users',\n icon: null\n },\n {\n name: 'pages',\n title: 'Pages',\n routeName: 'Backoffice Pages',\n icon: null\n },\n {\n name: 'reports',\n title: 'Reports',\n routeName: 'Backoffice Reports',\n icon: null\n }\n];\n\n/////////////////////////////\n// MOUNTED\n/////////////////////////////\nonMounted(async () => {\n});\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconGroups","IconCommunity","IconProducts","IconLeftovers","IconOrders","IconGallery","IconEvents","IconPayments"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgEc,aAAQ;AACtB,UAAM,SAAS,UAAS;AAQK,QAAI,IAAI;AACrB,QAAI,CAAA,CAAE;AAGtB,UAAM,YAAY;AAAA,MAChB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,IAAI;AAAA,QACJ,MAAMA;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMA;AAAAA,MACV;AAAA,IACA;AAGA,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,IACA;AAKA,cAAU,YAAY;AAAA,IACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,6 +24,51 @@ const en = {
24
24
  PREVIEW_GENERATION_ERROR: "Error generating file previews.",
25
25
  IMAGE_CONVERSION_ERROR: "Error converting image format."
26
26
  }
27
+ },
28
+ footer: {
29
+ description: "Get in touch with us",
30
+ phoneNumber: "+1 234 567 890",
31
+ emailAddress: "info{'@'}example.com",
32
+ hours_text: "Mon-Fri: 9:00 AM - 6:00 PM",
33
+ app: "Download our app",
34
+ subscribe: "Subscribe to our newsletter",
35
+ subscribe_text: "Stay updated with the latest news and updates",
36
+ follow: "Follow us",
37
+ year: "2025",
38
+ heart: "♥",
39
+ copyright: "All rights reserved",
40
+ ozdao: "Made by OZ DAO",
41
+ navigationColumns: [
42
+ {
43
+ sections: [
44
+ {
45
+ title: "Company",
46
+ items: [
47
+ { name: "About", url: "about" },
48
+ { name: "Careers", url: "careers" },
49
+ { name: "Contact", url: "contact" }
50
+ ]
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ sections: [
56
+ {
57
+ title: "Resources",
58
+ items: [
59
+ { name: "Blog", url: "blog" },
60
+ { name: "Help Center", url: "help" },
61
+ { name: "Privacy", url: "privacy" }
62
+ ]
63
+ }
64
+ ]
65
+ }
66
+ ],
67
+ socialLinks: [
68
+ { name: "IconInstagram", url: "https://instagram.com" },
69
+ { name: "IconFacebook", url: "https://facebook.com" },
70
+ { name: "IconLinkedin", url: "https://linkedin.com" }
71
+ ]
27
72
  }
28
73
  };
29
74
  export {