@ozdao/prometheus-framework 0.2.246 → 0.2.248

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. package/dist/builder.js +9 -1
  2. package/dist/builder.mjs +9 -1
  3. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +1 -1
  4. package/dist/prometheus-framework/src/components/Button/Button.vue.js +1 -1
  5. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
  6. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +1 -1
  7. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  8. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  9. package/dist/prometheus-framework/src/components/Loader/Loader.vue.cjs +24 -25
  10. package/dist/prometheus-framework/src/components/Loader/Loader.vue.cjs.map +1 -1
  11. package/dist/prometheus-framework/src/components/Loader/Loader.vue.js +25 -26
  12. package/dist/prometheus-framework/src/components/Loader/Loader.vue.js.map +1 -1
  13. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue.cjs +10 -13
  14. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue.cjs.map +1 -1
  15. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue.js +10 -13
  16. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue.js.map +1 -1
  17. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  18. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  19. package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs +1 -1
  20. package/dist/prometheus-framework/src/components/Slider/Slider.vue.js +1 -1
  21. package/dist/prometheus-framework/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  22. package/dist/prometheus-framework/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  23. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +4 -4
  24. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +4 -4
  25. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  26. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  27. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +3 -3
  28. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +3 -3
  29. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +3 -3
  30. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +3 -3
  31. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +3 -3
  32. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
  33. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +3 -3
  34. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  35. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +3 -3
  36. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  37. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  38. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  39. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +3 -3
  40. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +3 -3
  41. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  42. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  43. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +2 -2
  44. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +2 -2
  45. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  46. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  47. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +16 -19
  48. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs.map +1 -1
  49. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +16 -19
  50. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js.map +1 -1
  51. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  52. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  53. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  54. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  55. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  56. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  57. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +1 -1
  58. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +1 -1
  59. package/dist/prometheus-framework/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  60. package/dist/prometheus-framework/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  61. package/dist/prometheus-framework/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  62. package/dist/prometheus-framework/src/modules/events/components/sections/Feed.vue.js +1 -1
  63. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs +1 -1
  64. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js +1 -1
  65. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
  66. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  67. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  68. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  69. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  70. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  71. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  72. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  73. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  74. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  75. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  76. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  77. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  78. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  79. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +3 -3
  80. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +3 -3
  81. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  82. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  83. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
  84. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
  85. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  86. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +1 -1
  87. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
  88. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
  89. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  90. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  91. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  92. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  93. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  94. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  95. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +4 -4
  96. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +4 -4
  97. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  98. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +1 -1
  99. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  100. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  101. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  102. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  103. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  104. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  105. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +3 -3
  106. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +3 -3
  107. package/dist/prometheus-framework/src/modules/organizations/components/sections/Feed.vue.cjs +1 -1
  108. package/dist/prometheus-framework/src/modules/organizations/components/sections/Feed.vue.js +1 -1
  109. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  110. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  111. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +4 -4
  112. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +4 -4
  113. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +581 -581
  114. package/dist/prometheus-framework/src/modules/pages/pages.client.js +581 -581
  115. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +3 -3
  116. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +3 -3
  117. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  118. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  119. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  120. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  121. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  122. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  123. package/dist/prometheus-framework/src/modules/products/components/blocks/Images360.vue.cjs +1 -1
  124. package/dist/prometheus-framework/src/modules/products/components/blocks/Images360.vue.js +1 -1
  125. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  126. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  127. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  128. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  129. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  130. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +1 -1
  131. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  132. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  133. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
  134. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  136. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  137. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
  138. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  139. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  140. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  141. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +2 -2
  142. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +2 -2
  143. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  144. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +3 -3
  146. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +3 -3
  147. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs +1 -1
  148. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js +1 -1
  149. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  150. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  151. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  152. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  153. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  154. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  155. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  156. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  157. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  158. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +1 -1
  159. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
  160. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  161. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +3 -3
  162. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +3 -3
  163. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.cjs +1 -1
  164. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.js +1 -1
  165. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.cjs +3 -3
  166. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +3 -3
  167. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  168. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  169. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  170. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  171. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  172. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  173. package/package.json +1 -1
  174. package/src/builder/webpack/webpack.config.spa.js +7 -0
  175. package/src/modules/events/components/elements/ButtonCheck.vue +38 -44
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, openBlock, createElementBlock, createElementVNode, createVNode, withCtx } from "vue";
2
- /* empty css */
3
- import Field from "../../../../../components/Field/Field.vue2.js";
4
- import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
2
+ /* empty css */
3
+ import Field from "../../../../../components/Field/Field.vue.js";
4
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
5
5
  import { useRoute, useRouter } from "vue-router";
6
6
  import { state, actions as actions$1 } from "../../store/auth.js";
7
7
  import { actions } from "../../../../organizations/store/invites.js";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
5
- const Field = require("../../../../../components/Field/Field.vue2.cjs");
4
+ const Tab = require("../../../../../components/Tab/Tab.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue.cjs");
6
6
  const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
7
- const Button = require("../../../../../components/Button/Button.vue2.cjs");
7
+ const Button = require("../../../../../components/Button/Button.vue.cjs");
8
8
  const vueRouter = require("vue-router");
9
9
  const vueI18n = require("vue-i18n");
10
10
  const ResetPassword = require("../../localization/ResetPassword.json.cjs");
@@ -1,8 +1,8 @@
1
1
  import { ref, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, Transition, withCtx, createCommentVNode, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
- import Field from "../../../../../components/Field/Field.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import text from "../../localization/ResetPassword.json.js";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
5
- const Field = require("../../../../../components/Field/Field.vue2.cjs");
4
+ const Tab = require("../../../../../components/Tab/Tab.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue.cjs");
6
6
  const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
7
- const Button = require("../../../../../components/Button/Button.vue2.cjs");
7
+ const Button = require("../../../../../components/Button/Button.vue.cjs");
8
8
  const vueRouter = require("vue-router");
9
9
  const vueI18n = require("vue-i18n");
10
10
  const SignIn = require("../../localization/SignIn.json.cjs");
@@ -1,8 +1,8 @@
1
1
  import { ref, onMounted, resolveComponent, openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, unref, createVNode, withCtx, Transition, withDirectives, vShow } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
- import Field from "../../../../../components/Field/Field.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import text from "../../localization/SignIn.json.js";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
5
- const Field = require("../../../../../components/Field/Field.vue2.cjs");
4
+ const Tab = require("../../../../../components/Tab/Tab.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue.cjs");
6
6
  const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
7
- const Button = require("../../../../../components/Button/Button.vue2.cjs");
7
+ const Button = require("../../../../../components/Button/Button.vue.cjs");
8
8
  const vueRouter = require("vue-router");
9
9
  const vueI18n = require("vue-i18n");
10
10
  const SignUp = require("../../localization/SignUp.json.cjs");
@@ -1,8 +1,8 @@
1
1
  import { ref, resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, Transition, withCtx, withDirectives, vShow, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
3
- import Field from "../../../../../components/Field/Field.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
5
+ import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
6
6
  import { useRoute, useRouter } from "vue-router";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import text from "../../localization/SignUp.json.js";
@@ -2,13 +2,13 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vue_65b7bcda = require("../../../../../../node_modules/@unhead/vue/dist/shared/vue.65b7bcda.cjs");
5
- ;/* empty css */
5
+ ;/* empty css */
6
6
  const EmptyState = require("../../../../components/EmptyState/EmptyState.vue.cjs");
7
7
  const CardBlogpost = require("../blocks/CardBlogpost.vue.cjs");
8
8
  const SkeletonBlogpost = require("../../../icons/skeletons/SkeletonBlogpost.vue.cjs");
9
9
  const vueRouter = require("vue-router");
10
10
  ;/* empty css */
11
- ;/* empty css */
11
+ ;/* empty css */
12
12
  const auth = require("../../../auth/views/store/auth.cjs");
13
13
  require("../../../organizations/store/memberships.cjs");
14
14
  require("../../../organizations/store/organizations.cjs");
@@ -1,12 +1,12 @@
1
1
  import { computed, ref, onServerPrefetch, onMounted, openBlock, createElementBlock, createVNode, TransitionGroup, withCtx, Fragment, renderList, createCommentVNode, Transition, createBlock } from "vue";
2
2
  import { u as useHead } from "../../../../../../node_modules/@unhead/vue/dist/shared/vue.65b7bcda.js";
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$1 from "../../../../components/EmptyState/EmptyState.vue.js";
5
5
  import _sfc_main$2 from "../blocks/CardBlogpost.vue.js";
6
6
  import SkeletonBlogpost from "../../../icons/skeletons/SkeletonBlogpost.vue.js";
7
7
  import { useRoute } from "vue-router";
8
8
  /* empty css */
9
- /* empty css */
9
+ /* empty css */
10
10
  import { state as state$1 } from "../../../auth/views/store/auth.js";
11
11
  import "../../../organizations/store/memberships.js";
12
12
  import "../../../organizations/store/organizations.js";
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
6
6
  ;/* empty css */
7
- ;/* empty css */
8
- ;/* empty css */
7
+ ;/* empty css */
8
+ ;/* empty css */
9
9
  require("axios");
10
10
  ;/* empty css */
11
11
  const CardBlogpost = require("../blocks/CardBlogpost.vue.cjs");
@@ -1,9 +1,9 @@
1
1
  import { withAsyncContext, ref, computed, openBlock, createElementBlock, createElementVNode, unref, Fragment, renderList, createBlock, withCtx } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
4
4
  /* empty css */
5
- /* empty css */
6
- /* empty css */
5
+ /* empty css */
6
+ /* empty css */
7
7
  import "axios";
8
8
  /* empty css */
9
9
  import _sfc_main$1 from "../blocks/CardBlogpost.vue.js";
@@ -9,9 +9,9 @@ const Popup = require("../../../../components/Popup/Popup.vue.cjs");
9
9
  ;/* empty css */
10
10
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
11
11
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
12
- const Field = require("../../../../components/Field/Field.vue2.cjs");
12
+ const Field = require("../../../../components/Field/Field.vue.cjs");
13
13
  const SelectMulti = require("../../../../components/SelectMulti/SelectMulti.vue.cjs");
14
- const Button = require("../../../../components/Button/Button.vue2.cjs");
14
+ const Button = require("../../../../components/Button/Button.vue.cjs");
15
15
  const vueRouter = require("vue-router");
16
16
  const blogposts = require("../../store/blogposts.cjs");
17
17
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -7,9 +7,9 @@ import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
7
7
  /* empty css */
8
8
  import _sfc_main$3 from "../../../../components/FieldTags/BlockTags.vue.js";
9
9
  import _sfc_main$4 from "../../../../components/Checkbox/Checkbox.vue.js";
10
- import Field from "../../../../components/Field/Field.vue2.js";
10
+ import Field from "../../../../components/Field/Field.vue.js";
11
11
  import SelectMulti from "../../../../components/SelectMulti/SelectMulti.vue.js";
12
- import _sfc_main$5 from "../../../../components/Button/Button.vue2.js";
12
+ import _sfc_main$5 from "../../../../components/Button/Button.vue.js";
13
13
  import { useRoute, useRouter } from "vue-router";
14
14
  import { read, clean, state as state$1, update, create, remove } from "../../store/blogposts.js";
15
15
  import { state } from "../../../auth/views/store/auth.js";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
- ;/* empty css */
7
+ ;/* empty css */
8
8
  ;/* empty css */
9
9
  ;/* empty css */
10
10
  const Slider = require("../../../../components/Slider/Slider.vue.cjs");
@@ -1,8 +1,8 @@
1
1
  import { resolveComponent, openBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, withCtx, createBlock } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
- /* empty css */
5
+ /* empty css */
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  import _sfc_main$1 from "../../../../components/Slider/Slider.vue.js";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Field = require("../../../../components/Field/Field.vue2.cjs");
4
+ const Field = require("../../../../components/Field/Field.vue.cjs");
5
5
  const _hoisted_1 = { class: "mn-b-thin w-100 pd-medium bg-white radius-medium" };
6
6
  const _hoisted_2 = ["innerHTML"];
7
7
  const _hoisted_3 = {
@@ -1,5 +1,5 @@
1
1
  import { ref, openBlock, createElementBlock, createVNode, createElementVNode } from "vue";
2
- import Field from "../../../../components/Field/Field.vue2.js";
2
+ import Field from "../../../../components/Field/Field.vue.js";
3
3
  const _hoisted_1 = { class: "mn-b-thin w-100 pd-medium bg-white radius-medium" };
4
4
  const _hoisted_2 = ["innerHTML"];
5
5
  const _hoisted_3 = {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const index = require("../../../../../../node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs");
5
- const Button = require("../../../../components/Button/Button.vue2.cjs");
5
+ const Button = require("../../../../components/Button/Button.vue.cjs");
6
6
  const tickets = require("../../store/tickets.cjs");
7
7
  ;/* empty css */
8
8
  const _hoisted_1 = {
@@ -14,7 +14,7 @@ const _hoisted_2 = {
14
14
  class: "zoom-ratio-wrapper"
15
15
  };
16
16
  const _hoisted_3 = ["min", "max"];
17
- const SCAN_TIMEOUT = 5e3;
17
+ const SCAN_TIMEOUT = 2500;
18
18
  const _sfc_main = {
19
19
  __name: "ButtonCheck",
20
20
  emits: ["qrcodecheck"],
@@ -37,7 +37,6 @@ const _sfc_main = {
37
37
  vue.onUnmounted(async () => {
38
38
  await stopScan();
39
39
  });
40
- let lastScannedCode = null;
41
40
  async function startScan() {
42
41
  var _a, _b;
43
42
  try {
@@ -51,8 +50,11 @@ const _sfc_main = {
51
50
  (_a = document.querySelector("body")) == null ? void 0 : _a.classList.add("barcode-scanner-active");
52
51
  (_b = document.querySelector("html")) == null ? void 0 : _b.classList.add("barcode-scanner-active-html");
53
52
  isScanning.value = true;
54
- await index.BarcodeScanner.removeAllListeners();
55
- await index.BarcodeScanner.addListener("barcodeScanned", handleBarcodeScanned);
53
+ await index.BarcodeScanner.addListener("barcodeScanned", async (result) => {
54
+ if (!isProcessing.value) {
55
+ await processBarcode(result.barcode);
56
+ }
57
+ });
56
58
  await index.BarcodeScanner.startScan();
57
59
  const { zoomRatio: min } = await index.BarcodeScanner.getMinZoomRatio();
58
60
  const { zoomRatio: max } = await index.BarcodeScanner.getMaxZoomRatio();
@@ -71,18 +73,11 @@ const _sfc_main = {
71
73
  isScanning.value = false;
72
74
  await index.BarcodeScanner.stopScan();
73
75
  await index.BarcodeScanner.removeAllListeners();
74
- lastScannedCode = null;
75
76
  } catch (e) {
76
77
  error.value = e.message;
77
78
  alert(`Error stopping scan: ${error.value}`);
78
79
  }
79
80
  }
80
- async function handleBarcodeScanned(result) {
81
- if (!isProcessing.value && result.barcode.rawValue !== lastScannedCode) {
82
- lastScannedCode = result.barcode.rawValue;
83
- await processBarcode(result.barcode);
84
- }
85
- }
86
81
  async function processBarcode(barcode) {
87
82
  if (isProcessing.value) return;
88
83
  isProcessing.value = true;
@@ -91,18 +86,20 @@ const _sfc_main = {
91
86
  throw new Error("Invalid barcode data");
92
87
  }
93
88
  console.log("barcode is", barcode);
94
- const response = await tickets.actions.update({ _id: barcode.rawValue, status: "used", check: true });
89
+ const response = await tickets.actions.update({
90
+ _id: barcode.rawValue,
91
+ status: "used",
92
+ check: true
93
+ });
95
94
  alert("Ticket checked. And it's all right!");
96
95
  emits("qrcodecheck");
97
- setTimeout(() => {
98
- isProcessing.value = false;
99
- lastScannedCode = null;
100
- }, SCAN_TIMEOUT);
101
96
  } catch (e) {
102
97
  console.error(e);
103
- isProcessing.value = false;
104
98
  alert(`Ticket is not found, already used or deactivated!`);
105
- lastScannedCode = null;
99
+ } finally {
100
+ setTimeout(() => {
101
+ isProcessing.value = false;
102
+ }, SCAN_TIMEOUT);
106
103
  }
107
104
  }
108
105
  async function setZoomRatio(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonCheck.vue.cjs","sources":["../../../../../../../src/modules/events/components/elements/ButtonCheck.vue"],"sourcesContent":["<template>\n <div>\n <Button @click=\"startScan\" class=\"bg-main button-small radius-extra button\">\n Check Tickets\n </Button>\n <div v-if=\"isScanning\" class=\"barcode-scanner-modal\">\n <div class=\"square\"></div>\n <div class=\"zoom-ratio-wrapper\" v-if=\"minZoomRatio !== undefined && maxZoomRatio !== undefined\">\n <input type=\"range\" :min=\"minZoomRatio\" :max=\"maxZoomRatio\" @input=\"setZoomRatio\" />\n </div>\n <Button @click=\"stopScan\" class=\"bg-white t-black stop-scan-button\">Stop Scan</Button>\n <Button v-if=\"isTorchAvailable\" @click=\"toggleTorch\" class=\"bg-white torch-button\">\n Toggle Torch\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, onUnmounted } from 'vue'\nimport { BarcodeScanner } from '@capacitor-mlkit/barcode-scanning'\nimport Button from '@pf/src/components/Button/Button.vue'\nimport * as tickets from '@pf/src/modules/events/store/tickets'\n\nconst emits = defineEmits(['qrcodecheck'])\nconst error = ref('')\nconst isScanning = ref(false)\nconst isTorchAvailable = ref(false)\nconst minZoomRatio = ref(undefined)\nconst maxZoomRatio = ref(undefined)\nconst isProcessing = ref(false)\n\nonMounted(async () => {\n const { supported } = await BarcodeScanner.isSupported()\n if (!supported) {\n error.value = 'Barcode scanning is not supported on this device'\n }\n const { available } = await BarcodeScanner.isTorchAvailable()\n isTorchAvailable.value = available\n})\n\nonUnmounted(async () => {\n await stopScan()\n})\n\nconst SCAN_TIMEOUT = 5000 // 5 секунд (можно изменить по вашему усмотрению)\n\nlet lastScannedCode = null;\n\nasync function startScan() {\n try {\n const { camera } = await BarcodeScanner.checkPermissions();\n if (camera !== 'granted') {\n const { camera: newStatus } = await BarcodeScanner.requestPermissions();\n if (newStatus !== 'granted') {\n throw new Error('Camera permission is required to scan barcodes');\n }\n }\n document.querySelector('body')?.classList.add('barcode-scanner-active');\n document.querySelector('html')?.classList.add('barcode-scanner-active-html');\n isScanning.value = true;\n\n // Remove existing listeners before adding a new one\n await BarcodeScanner.removeAllListeners();\n\n await BarcodeScanner.addListener('barcodeScanned', handleBarcodeScanned);\n await BarcodeScanner.startScan();\n const { zoomRatio: min } = await BarcodeScanner.getMinZoomRatio();\n const { zoomRatio: max } = await BarcodeScanner.getMaxZoomRatio();\n minZoomRatio.value = min;\n maxZoomRatio.value = max;\n } catch (e) {\n error.value = e.message;\n alert(`Error: ${error.value}`);\n }\n}\n\nasync function stopScan() {\n try {\n document.querySelector('body')?.classList.remove('barcode-scanner-active');\n document.querySelector('html')?.classList.remove('barcode-scanner-active-html');\n isScanning.value = false;\n await BarcodeScanner.stopScan();\n await BarcodeScanner.removeAllListeners();\n lastScannedCode = null; // Reset the last scanned code\n } catch (e) {\n error.value = e.message;\n alert(`Error stopping scan: ${error.value}`);\n }\n}\n\nasync function handleBarcodeScanned(result) {\n if (!isProcessing.value && result.barcode.rawValue !== lastScannedCode) {\n lastScannedCode = result.barcode.rawValue;\n await processBarcode(result.barcode);\n }\n}\n\nasync function processBarcode(barcode) {\n if (isProcessing.value) return;\n isProcessing.value = true;\n try {\n if (!barcode || !barcode.rawValue) {\n throw new Error('Invalid barcode data');\n }\n console.log('barcode is', barcode);\n const response = await tickets.actions.update({ _id: barcode.rawValue, status: 'used', check: true });\n alert(\"Ticket checked. And it's all right!\");\n emits('qrcodecheck');\n // Устанавливаем таймаут перед следующим сканированием\n setTimeout(() => {\n isProcessing.value = false;\n lastScannedCode = null; // Reset the last scanned code after processing\n }, SCAN_TIMEOUT);\n } catch (e) {\n console.error(e);\n isProcessing.value = false;\n alert(`Ticket is not found, already used or deactivated!`);\n // Сбрасываем флаг isProcessing в случае ошибки, чтобы можно было попробовать снова\n lastScannedCode = null; // Reset the last scanned code in case of error\n }\n}\n\nasync function setZoomRatio(event) {\n const zoomRatio = parseFloat(event.target.value)\n await BarcodeScanner.setZoomRatio({ zoomRatio })\n}\n\nasync function toggleTorch() {\n await BarcodeScanner.toggleTorch()\n}\n</script>\n\n<style>\n.barcode-scanner-modal {\n visibility: visible;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.square {\n width: 200px;\n height: 200px;\n border: 2px solid white;\n border-radius: 10px;\n}\n\n.zoom-ratio-wrapper {\n width: 80%;\n margin-top: 20px;\n}\n\n.stop-scan-button,\n.torch-button {\n margin-top: 20px;\n}\n\n/* Existing styles */\nbody.barcode-scanner-active {\n visibility: hidden !important;\n background: transparent !important;\n --background: transparent;\n --ion-background-color: transparent;\n}\n\nhtml.barcode-scanner-active-html {\n background: transparent !important;\n}\n</style>\n"],"names":["ref","onMounted","BarcodeScanner","onUnmounted","tickets.actions"],"mappings":"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"}
1
+ {"version":3,"file":"ButtonCheck.vue.cjs","sources":["../../../../../../../src/modules/events/components/elements/ButtonCheck.vue"],"sourcesContent":["<template>\n <div>\n <Button @click=\"startScan\" class=\"bg-main button-small radius-extra button\">\n Check Tickets\n </Button>\n <div v-if=\"isScanning\" class=\"barcode-scanner-modal\">\n <div class=\"square\"></div>\n <div class=\"zoom-ratio-wrapper\" v-if=\"minZoomRatio !== undefined && maxZoomRatio !== undefined\">\n <input type=\"range\" :min=\"minZoomRatio\" :max=\"maxZoomRatio\" @input=\"setZoomRatio\" />\n </div>\n <Button @click=\"stopScan\" class=\"bg-white t-black stop-scan-button\">Stop Scan</Button>\n <Button v-if=\"isTorchAvailable\" @click=\"toggleTorch\" class=\"bg-white torch-button\">\n Toggle Torch\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, onUnmounted } from 'vue'\nimport { BarcodeScanner } from '@capacitor-mlkit/barcode-scanning'\nimport Button from '@pf/src/components/Button/Button.vue'\nimport * as tickets from '@pf/src/modules/events/store/tickets'\n\nconst emits = defineEmits(['qrcodecheck'])\nconst error = ref('')\nconst isScanning = ref(false)\nconst isTorchAvailable = ref(false)\nconst minZoomRatio = ref(undefined)\nconst maxZoomRatio = ref(undefined)\nconst isProcessing = ref(false)\n\nonMounted(async () => {\n const { supported } = await BarcodeScanner.isSupported()\n if (!supported) {\n error.value = 'Barcode scanning is not supported on this device'\n }\n const { available } = await BarcodeScanner.isTorchAvailable()\n isTorchAvailable.value = available\n})\n\nonUnmounted(async () => {\n await stopScan()\n})\n\nconst SCAN_TIMEOUT = 2500 // 5 секунд (можно изменить по вашему усмотрению)\n\nasync function startScan() {\n try {\n const { camera } = await BarcodeScanner.checkPermissions()\n if (camera !== 'granted') {\n const { camera: newStatus } = await BarcodeScanner.requestPermissions()\n if (newStatus !== 'granted') {\n throw new Error('Camera permission is required to scan barcodes')\n }\n }\n document.querySelector('body')?.classList.add('barcode-scanner-active')\n document.querySelector('html')?.classList.add('barcode-scanner-active-html')\n isScanning.value = true\n await BarcodeScanner.addListener('barcodeScanned', async (result) => {\n if (!isProcessing.value) {\n await processBarcode(result.barcode)\n }\n })\n await BarcodeScanner.startScan()\n const { zoomRatio: min } = await BarcodeScanner.getMinZoomRatio()\n const { zoomRatio: max } = await BarcodeScanner.getMaxZoomRatio()\n minZoomRatio.value = min\n maxZoomRatio.value = max\n } catch (e) {\n error.value = e.message\n alert(`Error: ${error.value}`)\n }\n}\n\nasync function stopScan() {\n try {\n document.querySelector('body')?.classList.remove('barcode-scanner-active')\n document.querySelector('html')?.classList.remove('barcode-scanner-active-html')\n isScanning.value = false\n await BarcodeScanner.stopScan()\n await BarcodeScanner.removeAllListeners()\n } catch (e) {\n error.value = e.message\n alert(`Error stopping scan: ${error.value}`)\n }\n}\n\nasync function processBarcode(barcode) {\n if (isProcessing.value) return;\n isProcessing.value = true;\n \n try {\n if (!barcode || !barcode.rawValue) {\n throw new Error('Invalid barcode data');\n }\n console.log('barcode is', barcode);\n\n const response = await tickets.actions.update({\n _id: barcode.rawValue,\n status: 'used',\n check: true\n });\n\n alert(\"Ticket checked. And it's all right!\");\n emits('qrcodecheck');\n } catch (e) {\n console.error(e);\n alert(`Ticket is not found, already used or deactivated!`);\n } finally {\n // Устанавливаем таймаут перед следующим сканированием\n setTimeout(() => {\n isProcessing.value = false;\n }, SCAN_TIMEOUT);\n }\n}\n\nasync function setZoomRatio(event) {\n const zoomRatio = parseFloat(event.target.value)\n await BarcodeScanner.setZoomRatio({ zoomRatio })\n}\n\nasync function toggleTorch() {\n await BarcodeScanner.toggleTorch()\n}\n</script>\n\n<style>\n.barcode-scanner-modal {\n visibility: visible;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.square {\n width: 200px;\n height: 200px;\n border: 2px solid white;\n border-radius: 10px;\n}\n\n.zoom-ratio-wrapper {\n width: 80%;\n margin-top: 20px;\n}\n\n.stop-scan-button,\n.torch-button {\n margin-top: 20px;\n}\n\n/* Existing styles */\nbody.barcode-scanner-active {\n visibility: hidden !important;\n background: transparent !important;\n --background: transparent;\n --ion-background-color: transparent;\n}\n\nhtml.barcode-scanner-active-html {\n background: transparent !important;\n}\n</style>\n"],"names":["ref","onMounted","BarcodeScanner","onUnmounted","tickets.actions"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, onUnmounted, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, createElementVNode, createCommentVNode, createBlock } from "vue";
2
2
  import { BarcodeScanner } from "../../../../../../node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.js";
3
- import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
3
+ import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
4
4
  import { actions } from "../../store/tickets.js";
5
5
  /* empty css */
6
6
  const _hoisted_1 = {
@@ -12,7 +12,7 @@ const _hoisted_2 = {
12
12
  class: "zoom-ratio-wrapper"
13
13
  };
14
14
  const _hoisted_3 = ["min", "max"];
15
- const SCAN_TIMEOUT = 5e3;
15
+ const SCAN_TIMEOUT = 2500;
16
16
  const _sfc_main = {
17
17
  __name: "ButtonCheck",
18
18
  emits: ["qrcodecheck"],
@@ -35,7 +35,6 @@ const _sfc_main = {
35
35
  onUnmounted(async () => {
36
36
  await stopScan();
37
37
  });
38
- let lastScannedCode = null;
39
38
  async function startScan() {
40
39
  var _a, _b;
41
40
  try {
@@ -49,8 +48,11 @@ const _sfc_main = {
49
48
  (_a = document.querySelector("body")) == null ? void 0 : _a.classList.add("barcode-scanner-active");
50
49
  (_b = document.querySelector("html")) == null ? void 0 : _b.classList.add("barcode-scanner-active-html");
51
50
  isScanning.value = true;
52
- await BarcodeScanner.removeAllListeners();
53
- await BarcodeScanner.addListener("barcodeScanned", handleBarcodeScanned);
51
+ await BarcodeScanner.addListener("barcodeScanned", async (result) => {
52
+ if (!isProcessing.value) {
53
+ await processBarcode(result.barcode);
54
+ }
55
+ });
54
56
  await BarcodeScanner.startScan();
55
57
  const { zoomRatio: min } = await BarcodeScanner.getMinZoomRatio();
56
58
  const { zoomRatio: max } = await BarcodeScanner.getMaxZoomRatio();
@@ -69,18 +71,11 @@ const _sfc_main = {
69
71
  isScanning.value = false;
70
72
  await BarcodeScanner.stopScan();
71
73
  await BarcodeScanner.removeAllListeners();
72
- lastScannedCode = null;
73
74
  } catch (e) {
74
75
  error.value = e.message;
75
76
  alert(`Error stopping scan: ${error.value}`);
76
77
  }
77
78
  }
78
- async function handleBarcodeScanned(result) {
79
- if (!isProcessing.value && result.barcode.rawValue !== lastScannedCode) {
80
- lastScannedCode = result.barcode.rawValue;
81
- await processBarcode(result.barcode);
82
- }
83
- }
84
79
  async function processBarcode(barcode) {
85
80
  if (isProcessing.value) return;
86
81
  isProcessing.value = true;
@@ -89,18 +84,20 @@ const _sfc_main = {
89
84
  throw new Error("Invalid barcode data");
90
85
  }
91
86
  console.log("barcode is", barcode);
92
- const response = await actions.update({ _id: barcode.rawValue, status: "used", check: true });
87
+ const response = await actions.update({
88
+ _id: barcode.rawValue,
89
+ status: "used",
90
+ check: true
91
+ });
93
92
  alert("Ticket checked. And it's all right!");
94
93
  emits("qrcodecheck");
95
- setTimeout(() => {
96
- isProcessing.value = false;
97
- lastScannedCode = null;
98
- }, SCAN_TIMEOUT);
99
94
  } catch (e) {
100
95
  console.error(e);
101
- isProcessing.value = false;
102
96
  alert(`Ticket is not found, already used or deactivated!`);
103
- lastScannedCode = null;
97
+ } finally {
98
+ setTimeout(() => {
99
+ isProcessing.value = false;
100
+ }, SCAN_TIMEOUT);
104
101
  }
105
102
  }
106
103
  async function setZoomRatio(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonCheck.vue.js","sources":["../../../../../../../src/modules/events/components/elements/ButtonCheck.vue"],"sourcesContent":["<template>\n <div>\n <Button @click=\"startScan\" class=\"bg-main button-small radius-extra button\">\n Check Tickets\n </Button>\n <div v-if=\"isScanning\" class=\"barcode-scanner-modal\">\n <div class=\"square\"></div>\n <div class=\"zoom-ratio-wrapper\" v-if=\"minZoomRatio !== undefined && maxZoomRatio !== undefined\">\n <input type=\"range\" :min=\"minZoomRatio\" :max=\"maxZoomRatio\" @input=\"setZoomRatio\" />\n </div>\n <Button @click=\"stopScan\" class=\"bg-white t-black stop-scan-button\">Stop Scan</Button>\n <Button v-if=\"isTorchAvailable\" @click=\"toggleTorch\" class=\"bg-white torch-button\">\n Toggle Torch\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, onUnmounted } from 'vue'\nimport { BarcodeScanner } from '@capacitor-mlkit/barcode-scanning'\nimport Button from '@pf/src/components/Button/Button.vue'\nimport * as tickets from '@pf/src/modules/events/store/tickets'\n\nconst emits = defineEmits(['qrcodecheck'])\nconst error = ref('')\nconst isScanning = ref(false)\nconst isTorchAvailable = ref(false)\nconst minZoomRatio = ref(undefined)\nconst maxZoomRatio = ref(undefined)\nconst isProcessing = ref(false)\n\nonMounted(async () => {\n const { supported } = await BarcodeScanner.isSupported()\n if (!supported) {\n error.value = 'Barcode scanning is not supported on this device'\n }\n const { available } = await BarcodeScanner.isTorchAvailable()\n isTorchAvailable.value = available\n})\n\nonUnmounted(async () => {\n await stopScan()\n})\n\nconst SCAN_TIMEOUT = 5000 // 5 секунд (можно изменить по вашему усмотрению)\n\nlet lastScannedCode = null;\n\nasync function startScan() {\n try {\n const { camera } = await BarcodeScanner.checkPermissions();\n if (camera !== 'granted') {\n const { camera: newStatus } = await BarcodeScanner.requestPermissions();\n if (newStatus !== 'granted') {\n throw new Error('Camera permission is required to scan barcodes');\n }\n }\n document.querySelector('body')?.classList.add('barcode-scanner-active');\n document.querySelector('html')?.classList.add('barcode-scanner-active-html');\n isScanning.value = true;\n\n // Remove existing listeners before adding a new one\n await BarcodeScanner.removeAllListeners();\n\n await BarcodeScanner.addListener('barcodeScanned', handleBarcodeScanned);\n await BarcodeScanner.startScan();\n const { zoomRatio: min } = await BarcodeScanner.getMinZoomRatio();\n const { zoomRatio: max } = await BarcodeScanner.getMaxZoomRatio();\n minZoomRatio.value = min;\n maxZoomRatio.value = max;\n } catch (e) {\n error.value = e.message;\n alert(`Error: ${error.value}`);\n }\n}\n\nasync function stopScan() {\n try {\n document.querySelector('body')?.classList.remove('barcode-scanner-active');\n document.querySelector('html')?.classList.remove('barcode-scanner-active-html');\n isScanning.value = false;\n await BarcodeScanner.stopScan();\n await BarcodeScanner.removeAllListeners();\n lastScannedCode = null; // Reset the last scanned code\n } catch (e) {\n error.value = e.message;\n alert(`Error stopping scan: ${error.value}`);\n }\n}\n\nasync function handleBarcodeScanned(result) {\n if (!isProcessing.value && result.barcode.rawValue !== lastScannedCode) {\n lastScannedCode = result.barcode.rawValue;\n await processBarcode(result.barcode);\n }\n}\n\nasync function processBarcode(barcode) {\n if (isProcessing.value) return;\n isProcessing.value = true;\n try {\n if (!barcode || !barcode.rawValue) {\n throw new Error('Invalid barcode data');\n }\n console.log('barcode is', barcode);\n const response = await tickets.actions.update({ _id: barcode.rawValue, status: 'used', check: true });\n alert(\"Ticket checked. And it's all right!\");\n emits('qrcodecheck');\n // Устанавливаем таймаут перед следующим сканированием\n setTimeout(() => {\n isProcessing.value = false;\n lastScannedCode = null; // Reset the last scanned code after processing\n }, SCAN_TIMEOUT);\n } catch (e) {\n console.error(e);\n isProcessing.value = false;\n alert(`Ticket is not found, already used or deactivated!`);\n // Сбрасываем флаг isProcessing в случае ошибки, чтобы можно было попробовать снова\n lastScannedCode = null; // Reset the last scanned code in case of error\n }\n}\n\nasync function setZoomRatio(event) {\n const zoomRatio = parseFloat(event.target.value)\n await BarcodeScanner.setZoomRatio({ zoomRatio })\n}\n\nasync function toggleTorch() {\n await BarcodeScanner.toggleTorch()\n}\n</script>\n\n<style>\n.barcode-scanner-modal {\n visibility: visible;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.square {\n width: 200px;\n height: 200px;\n border: 2px solid white;\n border-radius: 10px;\n}\n\n.zoom-ratio-wrapper {\n width: 80%;\n margin-top: 20px;\n}\n\n.stop-scan-button,\n.torch-button {\n margin-top: 20px;\n}\n\n/* Existing styles */\nbody.barcode-scanner-active {\n visibility: hidden !important;\n background: transparent !important;\n --background: transparent;\n --ion-background-color: transparent;\n}\n\nhtml.barcode-scanner-active-html {\n background: transparent !important;\n}\n</style>\n"],"names":["tickets.actions"],"mappings":"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"}
1
+ {"version":3,"file":"ButtonCheck.vue.js","sources":["../../../../../../../src/modules/events/components/elements/ButtonCheck.vue"],"sourcesContent":["<template>\n <div>\n <Button @click=\"startScan\" class=\"bg-main button-small radius-extra button\">\n Check Tickets\n </Button>\n <div v-if=\"isScanning\" class=\"barcode-scanner-modal\">\n <div class=\"square\"></div>\n <div class=\"zoom-ratio-wrapper\" v-if=\"minZoomRatio !== undefined && maxZoomRatio !== undefined\">\n <input type=\"range\" :min=\"minZoomRatio\" :max=\"maxZoomRatio\" @input=\"setZoomRatio\" />\n </div>\n <Button @click=\"stopScan\" class=\"bg-white t-black stop-scan-button\">Stop Scan</Button>\n <Button v-if=\"isTorchAvailable\" @click=\"toggleTorch\" class=\"bg-white torch-button\">\n Toggle Torch\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, onUnmounted } from 'vue'\nimport { BarcodeScanner } from '@capacitor-mlkit/barcode-scanning'\nimport Button from '@pf/src/components/Button/Button.vue'\nimport * as tickets from '@pf/src/modules/events/store/tickets'\n\nconst emits = defineEmits(['qrcodecheck'])\nconst error = ref('')\nconst isScanning = ref(false)\nconst isTorchAvailable = ref(false)\nconst minZoomRatio = ref(undefined)\nconst maxZoomRatio = ref(undefined)\nconst isProcessing = ref(false)\n\nonMounted(async () => {\n const { supported } = await BarcodeScanner.isSupported()\n if (!supported) {\n error.value = 'Barcode scanning is not supported on this device'\n }\n const { available } = await BarcodeScanner.isTorchAvailable()\n isTorchAvailable.value = available\n})\n\nonUnmounted(async () => {\n await stopScan()\n})\n\nconst SCAN_TIMEOUT = 2500 // 5 секунд (можно изменить по вашему усмотрению)\n\nasync function startScan() {\n try {\n const { camera } = await BarcodeScanner.checkPermissions()\n if (camera !== 'granted') {\n const { camera: newStatus } = await BarcodeScanner.requestPermissions()\n if (newStatus !== 'granted') {\n throw new Error('Camera permission is required to scan barcodes')\n }\n }\n document.querySelector('body')?.classList.add('barcode-scanner-active')\n document.querySelector('html')?.classList.add('barcode-scanner-active-html')\n isScanning.value = true\n await BarcodeScanner.addListener('barcodeScanned', async (result) => {\n if (!isProcessing.value) {\n await processBarcode(result.barcode)\n }\n })\n await BarcodeScanner.startScan()\n const { zoomRatio: min } = await BarcodeScanner.getMinZoomRatio()\n const { zoomRatio: max } = await BarcodeScanner.getMaxZoomRatio()\n minZoomRatio.value = min\n maxZoomRatio.value = max\n } catch (e) {\n error.value = e.message\n alert(`Error: ${error.value}`)\n }\n}\n\nasync function stopScan() {\n try {\n document.querySelector('body')?.classList.remove('barcode-scanner-active')\n document.querySelector('html')?.classList.remove('barcode-scanner-active-html')\n isScanning.value = false\n await BarcodeScanner.stopScan()\n await BarcodeScanner.removeAllListeners()\n } catch (e) {\n error.value = e.message\n alert(`Error stopping scan: ${error.value}`)\n }\n}\n\nasync function processBarcode(barcode) {\n if (isProcessing.value) return;\n isProcessing.value = true;\n \n try {\n if (!barcode || !barcode.rawValue) {\n throw new Error('Invalid barcode data');\n }\n console.log('barcode is', barcode);\n\n const response = await tickets.actions.update({\n _id: barcode.rawValue,\n status: 'used',\n check: true\n });\n\n alert(\"Ticket checked. And it's all right!\");\n emits('qrcodecheck');\n } catch (e) {\n console.error(e);\n alert(`Ticket is not found, already used or deactivated!`);\n } finally {\n // Устанавливаем таймаут перед следующим сканированием\n setTimeout(() => {\n isProcessing.value = false;\n }, SCAN_TIMEOUT);\n }\n}\n\nasync function setZoomRatio(event) {\n const zoomRatio = parseFloat(event.target.value)\n await BarcodeScanner.setZoomRatio({ zoomRatio })\n}\n\nasync function toggleTorch() {\n await BarcodeScanner.toggleTorch()\n}\n</script>\n\n<style>\n.barcode-scanner-modal {\n visibility: visible;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.square {\n width: 200px;\n height: 200px;\n border: 2px solid white;\n border-radius: 10px;\n}\n\n.zoom-ratio-wrapper {\n width: 80%;\n margin-top: 20px;\n}\n\n.stop-scan-button,\n.torch-button {\n margin-top: 20px;\n}\n\n/* Existing styles */\nbody.barcode-scanner-active {\n visibility: hidden !important;\n background: transparent !important;\n --background: transparent;\n --ion-background-color: transparent;\n}\n\nhtml.barcode-scanner-active-html {\n background: transparent !important;\n}\n</style>\n"],"names":["tickets.actions"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue2.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue.cjs");
5
5
  require("../../../auth/views/store/auth.cjs");
6
6
  const tickets = require("../../store/tickets.cjs");
7
7
  ;/* empty css */
@@ -1,5 +1,5 @@
1
1
  import { openBlock, createBlock, withCtx, createTextVNode, toDisplayString } from "vue";
2
- import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
2
+ import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
3
3
  import "../../../auth/views/store/auth.js";
4
4
  import { actions } from "../../store/tickets.js";
5
5
  /* empty css */
@@ -9,7 +9,7 @@ const vueDatepicker = require("../../../../../../node_modules/@vuepic/vue-datepi
9
9
  ;/* empty css */
10
10
  const Block = require("../../../../components/Block/Block.vue.cjs");
11
11
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
12
- const Field = require("../../../../components/Field/Field.vue2.cjs");
12
+ const Field = require("../../../../components/Field/Field.vue.cjs");
13
13
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
14
14
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
15
15
  ;/* empty css */
@@ -17,7 +17,7 @@ const Upload = require("../../../../components/Upload/Upload.vue.cjs");
17
17
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
18
18
  const EditImages = require("../../../../components/EditImages/EditImages.vue.cjs");
19
19
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
20
- const Button = require("../../../../components/Button/Button.vue2.cjs");
20
+ const Button = require("../../../../components/Button/Button.vue.cjs");
21
21
  const Card = require("../../../globals/views/components/blocks/Card.vue.cjs");
22
22
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
23
23
  const vueRouter = require("vue-router");
@@ -7,7 +7,7 @@ import Vn from "../../../../../../node_modules/@vuepic/vue-datepicker/dist/vue-d
7
7
  /* empty css */
8
8
  import _sfc_main$4 from "../../../../components/Block/Block.vue.js";
9
9
  import _sfc_main$7 from "../../../../components/Popup/Popup.vue.js";
10
- import Field from "../../../../components/Field/Field.vue2.js";
10
+ import Field from "../../../../components/Field/Field.vue.js";
11
11
  import _sfc_main$8 from "../../../../components/FieldTags/BlockTags.vue.js";
12
12
  import _sfc_main$2 from "../../../../components/Checkbox/Checkbox.vue.js";
13
13
  /* empty css */
@@ -15,7 +15,7 @@ import Upload from "../../../../components/Upload/Upload.vue.js";
15
15
  import _sfc_main$1 from "../../../../components/UploadImage/UploadImage.vue.js";
16
16
  import _sfc_main$3 from "../../../../components/EditImages/EditImages.vue.js";
17
17
  import _sfc_main$a from "../../../../components/Feed/Feed.vue.js";
18
- import _sfc_main$b from "../../../../components/Button/Button.vue2.js";
18
+ import _sfc_main$b from "../../../../components/Button/Button.vue.js";
19
19
  import _sfc_main$9 from "../../../globals/views/components/blocks/Card.vue.js";
20
20
  import _sfc_main$5 from "../../../icons/navigation/IconDelete.vue.js";
21
21
  import { useRoute, useRouter } from "vue-router";
@@ -4,8 +4,8 @@ const vue = require("vue");
4
4
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
5
5
  const Block = require("../../../../components/Block/Block.vue.cjs");
6
6
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
7
- const Field = require("../../../../components/Field/Field.vue2.cjs");
8
- const Button = require("../../../../components/Button/Button.vue2.cjs");
7
+ const Field = require("../../../../components/Field/Field.vue.cjs");
8
+ const Button = require("../../../../components/Button/Button.vue.cjs");
9
9
  const ButtonCheck = require("../elements/ButtonCheck.vue.cjs");
10
10
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
11
11
  const IconAdd = require("../../../icons/navigation/IconAdd.vue.cjs");
@@ -2,8 +2,8 @@ import { ref, onMounted, unref, openBlock, createElementBlock, createElementVNod
2
2
  import _sfc_main$7 from "../../../../components/Feed/Feed.vue.js";
3
3
  import _sfc_main$3 from "../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
5
- import Field from "../../../../components/Field/Field.vue2.js";
6
- import _sfc_main$6 from "../../../../components/Button/Button.vue2.js";
5
+ import Field from "../../../../components/Field/Field.vue.js";
6
+ import _sfc_main$6 from "../../../../components/Button/Button.vue.js";
7
7
  import _sfc_main$1 from "../elements/ButtonCheck.vue.js";
8
8
  import _sfc_main$5 from "../../../icons/navigation/IconDelete.vue.js";
9
9
  import _sfc_main$4 from "../../../icons/navigation/IconAdd.vue.js";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  const HeroEvent = require("../sections/HeroEvent.vue.cjs");
6
6
  const SectionMainGuest = require("../sections/SectionMainGuest.vue.cjs");
7
7
  const SectionSpecialGuests = require("../sections/SectionSpecialGuests.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, openBlock, createElementBlock, createVNode, TransitionGroup, withCtx, Fragment, renderList, createCommentVNode, createBlock, normalizeStyle, createElementVNode, normalizeClass, resolveDynamicComponent, mergeProps } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import HeroEvent from "../sections/HeroEvent.vue.js";
4
4
  import _sfc_main$1 from "../sections/SectionMainGuest.vue.js";
5
5
  import _sfc_main$2 from "../sections/SectionSpecialGuests.vue.js";