@ozdao/prometheus-framework 0.2.48 → 0.2.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. package/dist/auth.server.js +27 -25
  2. package/dist/auth.server.mjs +27 -25
  3. package/dist/community.server.js +1 -1
  4. package/dist/community.server.mjs +1 -1
  5. package/dist/events.server.js +1 -1
  6. package/dist/events.server.mjs +1 -1
  7. package/dist/files.server.js +1 -1
  8. package/dist/files.server.mjs +1 -1
  9. package/dist/gallery.server.js +1 -1
  10. package/dist/gallery.server.mjs +1 -1
  11. package/dist/index-3981e903.mjs +217 -0
  12. package/dist/index-4eecfdb9.js +216 -0
  13. package/dist/main-203b36b6.mjs +13628 -0
  14. package/dist/main-_b1_i8mt.mjs +13606 -0
  15. package/dist/main-a7ae4ce5.js +91 -0
  16. package/dist/main-uiQFxEks.js +91 -0
  17. package/dist/main.css +1 -1
  18. package/dist/middlewares.server.js +1 -1
  19. package/dist/middlewares.server.mjs +1 -1
  20. package/dist/node_modules/vue-select/dist/vue-select.es.cjs +1 -3
  21. package/dist/node_modules/vue-select/dist/vue-select.es.js +49 -645
  22. package/dist/organizations.server.js +35 -43
  23. package/dist/organizations.server.mjs +35 -43
  24. package/dist/products.server.js +107 -24
  25. package/dist/products.server.mjs +107 -24
  26. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +1 -1
  27. package/dist/prometheus-framework/src/components/Button/Button.vue.js +2 -225
  28. package/dist/prometheus-framework/src/components/Button/Button.vue2.cjs +1 -1
  29. package/dist/prometheus-framework/src/components/Button/Button.vue2.js +225 -2
  30. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue.cjs +1 -1
  31. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue.js +61 -2
  32. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue2.cjs +1 -1
  33. package/dist/prometheus-framework/src/components/Checkbox/Checkbox.vue2.js +2 -61
  34. package/dist/prometheus-framework/src/components/Field/Field.vue.cjs +1 -1
  35. package/dist/prometheus-framework/src/components/Field/Field.vue.js +2 -76
  36. package/dist/prometheus-framework/src/components/Field/Field.vue2.cjs +1 -1
  37. package/dist/prometheus-framework/src/components/Field/Field.vue2.js +76 -2
  38. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  39. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  40. package/dist/prometheus-framework/src/components/SelectMulti/SelectMulti.vue.cjs +1 -1
  41. package/dist/prometheus-framework/src/components/SelectMulti/SelectMulti.vue.js +6 -6
  42. package/dist/prometheus-framework/src/components/Tab/Tab.vue.cjs +1 -1
  43. package/dist/prometheus-framework/src/components/Tab/Tab.vue.js +2 -44
  44. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.cjs +1 -1
  45. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.js +44 -2
  46. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.cjs +1 -1
  47. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.js +3 -3
  48. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.cjs +1 -1
  49. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.js +1 -1
  50. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.cjs +1 -1
  51. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.js +3 -3
  52. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.cjs +1 -1
  53. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.js +44 -32
  54. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.cjs +1 -1
  55. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.js +3 -3
  56. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.cjs +1 -1
  57. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.js +3 -3
  58. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.cjs +1 -1
  59. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.js +3 -3
  60. package/dist/prometheus-framework/src/modules/auth/store/auth.cjs +1 -1
  61. package/dist/prometheus-framework/src/modules/auth/store/auth.js +45 -44
  62. package/dist/prometheus-framework/src/modules/auth/store/invites.cjs +1 -1
  63. package/dist/prometheus-framework/src/modules/auth/store/invites.js +5 -5
  64. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  65. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  66. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  67. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
  68. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  69. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  70. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  71. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  72. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  73. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  74. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs +1 -1
  75. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js +1 -1
  76. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  77. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  78. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.cjs +1 -1
  79. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.js +2 -2
  80. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
  81. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +1 -1
  82. package/dist/prometheus-framework/src/modules/globals/store/globals.cjs +1 -1
  83. package/dist/prometheus-framework/src/modules/globals/store/globals.js +22 -21
  84. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
  85. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +3 -3
  86. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.cjs +1 -1
  87. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.js +11 -2
  88. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.cjs +1 -1
  89. package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.js +2 -11
  90. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.cjs +1 -1
  91. package/dist/prometheus-framework/src/modules/orders/components/pages/EditOrder.vue.js +1 -1
  92. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  93. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +1 -1
  94. package/dist/prometheus-framework/src/modules/orders/components/sections/FormOrderDetails.vue.cjs +1 -1
  95. package/dist/prometheus-framework/src/modules/orders/components/sections/FormOrderDetails.vue.js +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
  97. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.js +17 -17
  98. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.cjs +1 -1
  99. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.js +49 -42
  100. package/dist/prometheus-framework/src/modules/organizations/components/blocks/User.vue.cjs +1 -1
  101. package/dist/prometheus-framework/src/modules/organizations/components/blocks/User.vue.js +48 -15
  102. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  103. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  104. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
  105. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.js +38 -37
  106. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  107. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +249 -61
  108. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  109. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +78 -45
  110. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  111. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +160 -86
  112. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  113. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  114. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  115. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  116. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  117. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  118. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  119. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +52 -54
  120. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  121. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +20 -26
  122. package/dist/prometheus-framework/src/modules/organizations/organizations.client.cjs +1 -1
  123. package/dist/prometheus-framework/src/modules/organizations/organizations.client.js +40 -46
  124. package/dist/prometheus-framework/src/modules/organizations/store/departments.cjs +1 -1
  125. package/dist/prometheus-framework/src/modules/organizations/store/departments.js +34 -30
  126. package/dist/prometheus-framework/src/modules/organizations/store/memberships.cjs +1 -1
  127. package/dist/prometheus-framework/src/modules/organizations/store/memberships.js +30 -28
  128. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  129. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +18 -18
  130. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  131. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  132. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  133. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  134. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
  136. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  137. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  138. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs +1 -1
  139. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js +33 -28
  140. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  141. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +123 -113
  142. package/dist/prometheus-framework/src/modules/products/components/pages/ProductsBackoffice.vue.cjs +1 -1
  143. package/dist/prometheus-framework/src/modules/products/components/pages/ProductsBackoffice.vue.js +1 -1
  144. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  146. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  147. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
  148. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  149. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  150. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  151. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  152. package/dist/prometheus-framework/src/modules/products/store/products.cjs +1 -1
  153. package/dist/prometheus-framework/src/modules/products/store/products.js +1 -1
  154. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  155. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  156. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
  157. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +3 -3
  158. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.cjs +1 -1
  159. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileBlogposts.vue.js +1 -1
  160. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.cjs +1 -1
  161. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +3 -3
  162. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.cjs +1 -1
  163. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEvents.vue.js +1 -1
  164. package/dist/prometheus-framework/src/modules/wallet/components/pages/Wallet.vue.cjs +1 -1
  165. package/dist/prometheus-framework/src/modules/wallet/components/pages/Wallet.vue.js +1 -1
  166. package/dist/prometheus-framework.cjs.js +1 -1
  167. package/dist/prometheus-framework.es.js +1 -1
  168. package/dist/reports.server.js +1 -1
  169. package/dist/reports.server.mjs +1 -1
  170. package/dist/style.css +1 -1
  171. package/dist/web-7p76PGnO.mjs +55 -0
  172. package/dist/web-c63f0ecc.js +1 -0
  173. package/dist/web-d8173758.mjs +55 -0
  174. package/dist/web-dn8vgptQ.js +1 -0
  175. package/package.json +1 -1
  176. package/src/components/SelectMulti/SelectMulti.vue +1 -1
  177. package/src/modules/auth/components/pages/Invite.vue +17 -6
  178. package/src/modules/auth/controllers/auth.controller.js +24 -16
  179. package/src/modules/auth/controllers/invites.controller.js +17 -8
  180. package/src/modules/auth/store/auth.js +8 -1
  181. package/src/modules/auth/store/invites.js +1 -0
  182. package/src/modules/globals/store/globals.js +5 -1
  183. package/src/modules/landing/components/blocks/MapBlock.vue +37 -0
  184. package/src/modules/landing/components/pages/404.vue +3 -0
  185. package/src/modules/landing/components/pages/Governance.vue +155 -0
  186. package/src/modules/landing/components/pages/Home.vue +52 -0
  187. package/src/modules/landing/components/pages/Hotel.vue +54 -0
  188. package/src/modules/landing/components/pages/Page.vue +184 -0
  189. package/src/modules/landing/components/sections/AboutSection.vue +69 -0
  190. package/src/modules/landing/components/sections/Examples.vue +90 -0
  191. package/src/modules/landing/components/sections/FeatureSection.vue +80 -0
  192. package/src/modules/landing/components/sections/GiftSection.vue +63 -0
  193. package/src/modules/landing/components/sections/HeroSection.vue +74 -0
  194. package/src/modules/landing/components/sections/HowItWorksSection.vue +88 -0
  195. package/src/modules/landing/components/sections/HowToBuyWDR.vue +131 -0
  196. package/src/modules/landing/components/sections/InstagramSection.vue +181 -0
  197. package/src/modules/landing/components/sections/MapSection.vue +91 -0
  198. package/src/modules/landing/components/sections/SectionsSection.vue +69 -0
  199. package/src/modules/landing/components/sections/SliderFeatures.vue +131 -0
  200. package/src/modules/landing/components/sections/WhatIsWDRSection.vue +116 -0
  201. package/src/modules/landing/router/landing.js +34 -0
  202. package/src/modules/middlewares/server/verifySignUp.js +4 -0
  203. package/src/modules/mobile/components/BottomNavigation/BottomNavigation.vue +86 -0
  204. package/src/modules/mobile/components/BottomSheet/BottomSheet.vue +86 -0
  205. package/src/modules/mobile/components/NavigationBar/NavigationBar.vue +132 -0
  206. package/src/modules/mobile/components/Walkthrough/Walkthrough.vue +195 -0
  207. package/src/modules/organizations/components/blocks/CardDepartment.vue +3 -3
  208. package/src/modules/organizations/components/blocks/DepartmentMemberModify.vue +52 -44
  209. package/src/modules/organizations/components/blocks/User.vue +42 -10
  210. package/src/modules/organizations/components/pages/Department.vue +7 -6
  211. package/src/modules/organizations/components/pages/DepartmentEdit.vue +110 -134
  212. package/src/modules/organizations/components/pages/Members.vue +85 -26
  213. package/src/modules/organizations/components/pages/Organization.vue +59 -4
  214. package/src/modules/organizations/components/sections/MembersAdd.vue +27 -34
  215. package/src/modules/organizations/components/sections/Organizations.vue +0 -1
  216. package/src/modules/organizations/controllers/memberships.controller.js +33 -26
  217. package/src/modules/organizations/controllers/organizations.controller.js +1 -1
  218. package/src/modules/organizations/models/department.model.js +0 -19
  219. package/src/modules/organizations/models/membership.model.js +4 -0
  220. package/src/modules/organizations/organizations.client.js +1 -6
  221. package/src/modules/organizations/store/departments.js +48 -44
  222. package/src/modules/organizations/store/memberships.js +11 -3
  223. package/src/modules/products/components/blocks/CardPosition.vue +2 -2
  224. package/src/modules/products/components/pages/Product.vue +6 -1
  225. package/src/modules/products/components/pages/ProductEdit.vue +48 -28
  226. package/src/modules/products/controllers/products.controller.js +99 -33
  227. package/src/modules/products/models/product.model.js +16 -1
  228. package/src/modules/products/store/products.js +1 -1
  229. package/src/modules/users/components/pages/ProfileOrganizations.vue +41 -7
  230. package/src/styles/layout.scss +1 -1
  231. package/src/modules/organizations/components/sections/FeedDepartments.vue +0 -64
  232. package/src/modules/organizations/components/sections/MembersList.vue +0 -85
  233. package/src/modules/organizations/store/invites.js +0 -93
@@ -0,0 +1,55 @@
1
+ import { W as p } from "./main-_b1_i8mt.mjs";
2
+ import "vue";
3
+ class m extends p {
4
+ constructor() {
5
+ super(...arguments), this.group = "CapacitorStorage";
6
+ }
7
+ async configure({ group: e }) {
8
+ typeof e == "string" && (this.group = e);
9
+ }
10
+ async get(e) {
11
+ return { value: this.impl.getItem(this.applyPrefix(e.key)) };
12
+ }
13
+ async set(e) {
14
+ this.impl.setItem(this.applyPrefix(e.key), e.value);
15
+ }
16
+ async remove(e) {
17
+ this.impl.removeItem(this.applyPrefix(e.key));
18
+ }
19
+ async keys() {
20
+ return { keys: this.rawKeys().map((t) => t.substring(this.prefix.length)) };
21
+ }
22
+ async clear() {
23
+ for (const e of this.rawKeys())
24
+ this.impl.removeItem(e);
25
+ }
26
+ async migrate() {
27
+ var e;
28
+ const t = [], s = [], n = "_cap_", o = Object.keys(this.impl).filter((i) => i.indexOf(n) === 0);
29
+ for (const i of o) {
30
+ const r = i.substring(n.length), a = (e = this.impl.getItem(i)) !== null && e !== void 0 ? e : "", { value: l } = await this.get({ key: r });
31
+ typeof l == "string" ? s.push(r) : (await this.set({ key: r, value: a }), t.push(r));
32
+ }
33
+ return { migrated: t, existing: s };
34
+ }
35
+ async removeOld() {
36
+ const e = "_cap_", t = Object.keys(this.impl).filter((s) => s.indexOf(e) === 0);
37
+ for (const s of t)
38
+ this.impl.removeItem(s);
39
+ }
40
+ get impl() {
41
+ return window.localStorage;
42
+ }
43
+ get prefix() {
44
+ return this.group === "NativeStorage" ? "" : `${this.group}.`;
45
+ }
46
+ rawKeys() {
47
+ return Object.keys(this.impl).filter((e) => e.indexOf(this.prefix) === 0);
48
+ }
49
+ applyPrefix(e) {
50
+ return this.prefix + e;
51
+ }
52
+ }
53
+ export {
54
+ m as PreferencesWeb
55
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./main-a7ae4ce5.js");require("vue");class p extends c.WebPlugin{constructor(){super(...arguments),this.group="CapacitorStorage"}async configure({group:e}){typeof e=="string"&&(this.group=e)}async get(e){return{value:this.impl.getItem(this.applyPrefix(e.key))}}async set(e){this.impl.setItem(this.applyPrefix(e.key),e.value)}async remove(e){this.impl.removeItem(this.applyPrefix(e.key))}async keys(){return{keys:this.rawKeys().map(t=>t.substring(this.prefix.length))}}async clear(){for(const e of this.rawKeys())this.impl.removeItem(e)}async migrate(){var e;const t=[],s=[],n="_cap_",o=Object.keys(this.impl).filter(i=>i.indexOf(n)===0);for(const i of o){const r=i.substring(n.length),a=(e=this.impl.getItem(i))!==null&&e!==void 0?e:"",{value:l}=await this.get({key:r});typeof l=="string"?s.push(r):(await this.set({key:r,value:a}),t.push(r))}return{migrated:t,existing:s}}async removeOld(){const e="_cap_",t=Object.keys(this.impl).filter(s=>s.indexOf(e)===0);for(const s of t)this.impl.removeItem(s)}get impl(){return window.localStorage}get prefix(){return this.group==="NativeStorage"?"":`${this.group}.`}rawKeys(){return Object.keys(this.impl).filter(e=>e.indexOf(this.prefix)===0)}applyPrefix(e){return this.prefix+e}}exports.PreferencesWeb=p;
@@ -0,0 +1,55 @@
1
+ import { W as p } from "./main-203b36b6.mjs";
2
+ import "vue";
3
+ class m extends p {
4
+ constructor() {
5
+ super(...arguments), this.group = "CapacitorStorage";
6
+ }
7
+ async configure({ group: e }) {
8
+ typeof e == "string" && (this.group = e);
9
+ }
10
+ async get(e) {
11
+ return { value: this.impl.getItem(this.applyPrefix(e.key)) };
12
+ }
13
+ async set(e) {
14
+ this.impl.setItem(this.applyPrefix(e.key), e.value);
15
+ }
16
+ async remove(e) {
17
+ this.impl.removeItem(this.applyPrefix(e.key));
18
+ }
19
+ async keys() {
20
+ return { keys: this.rawKeys().map((t) => t.substring(this.prefix.length)) };
21
+ }
22
+ async clear() {
23
+ for (const e of this.rawKeys())
24
+ this.impl.removeItem(e);
25
+ }
26
+ async migrate() {
27
+ var e;
28
+ const t = [], s = [], n = "_cap_", o = Object.keys(this.impl).filter((i) => i.indexOf(n) === 0);
29
+ for (const i of o) {
30
+ const r = i.substring(n.length), a = (e = this.impl.getItem(i)) !== null && e !== void 0 ? e : "", { value: l } = await this.get({ key: r });
31
+ typeof l == "string" ? s.push(r) : (await this.set({ key: r, value: a }), t.push(r));
32
+ }
33
+ return { migrated: t, existing: s };
34
+ }
35
+ async removeOld() {
36
+ const e = "_cap_", t = Object.keys(this.impl).filter((s) => s.indexOf(e) === 0);
37
+ for (const s of t)
38
+ this.impl.removeItem(s);
39
+ }
40
+ get impl() {
41
+ return window.localStorage;
42
+ }
43
+ get prefix() {
44
+ return this.group === "NativeStorage" ? "" : `${this.group}.`;
45
+ }
46
+ rawKeys() {
47
+ return Object.keys(this.impl).filter((e) => e.indexOf(this.prefix) === 0);
48
+ }
49
+ applyPrefix(e) {
50
+ return this.prefix + e;
51
+ }
52
+ }
53
+ export {
54
+ m as PreferencesWeb
55
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./main-uiQFxEks.js");require("vue");class p extends c.WebPlugin{constructor(){super(...arguments),this.group="CapacitorStorage"}async configure({group:e}){typeof e=="string"&&(this.group=e)}async get(e){return{value:this.impl.getItem(this.applyPrefix(e.key))}}async set(e){this.impl.setItem(this.applyPrefix(e.key),e.value)}async remove(e){this.impl.removeItem(this.applyPrefix(e.key))}async keys(){return{keys:this.rawKeys().map(t=>t.substring(this.prefix.length))}}async clear(){for(const e of this.rawKeys())this.impl.removeItem(e)}async migrate(){var e;const t=[],s=[],n="_cap_",o=Object.keys(this.impl).filter(i=>i.indexOf(n)===0);for(const i of o){const r=i.substring(n.length),a=(e=this.impl.getItem(i))!==null&&e!==void 0?e:"",{value:l}=await this.get({key:r});typeof l=="string"?s.push(r):(await this.set({key:r,value:a}),t.push(r))}return{migrated:t,existing:s}}async removeOld(){const e="_cap_",t=Object.keys(this.impl).filter(s=>s.indexOf(e)===0);for(const s of t)this.impl.removeItem(s)}get impl(){return window.localStorage}get prefix(){return this.group==="NativeStorage"?"":`${this.group}.`}rawKeys(){return Object.keys(this.impl).filter(e=>e.indexOf(this.prefix)===0)}applyPrefix(e){return this.prefix+e}}exports.PreferencesWeb=p;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/prometheus-framework",
3
- "version": "0.2.48",
3
+ "version": "0.2.51",
4
4
  "description": "Web3 Framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -8,7 +8,7 @@
8
8
  @keydown.self.up.prevent="pointerBackward()"
9
9
  @keypress.enter.tab.stop.self="addPointerElement($event)"
10
10
  @keyup.esc="deactivate()"
11
- class="multiselect"
11
+ class="multiselect flex flex-v-center"
12
12
  role="combobox"
13
13
  :aria-owns="'listbox-'+id">
14
14
 
@@ -24,9 +24,11 @@
24
24
  />
25
25
  </div>
26
26
  <!-- Button -->
27
- <Button :disabled="invites.state.invite === null" :submit="onSubmit" :callback="redirectTo" class="mn-b-big">
28
- <span v-if="route.query.method === 'reset-password'">Поменять пароль</span>
29
- <span v-else>Зарегистрироваться</span>
27
+ <Button
28
+ :submit="onSubmit"
29
+ :callback="redirectTo"
30
+ class="w-100 bg-main mn-b-big">\
31
+ <span>Join</span>
30
32
  </Button>
31
33
  </section>
32
34
  </template>
@@ -62,12 +64,21 @@ async function onSubmit() {
62
64
  } catch (error) {
63
65
  throw new Error
64
66
  }
65
-
66
- await auth.actions.signup(auth.state.user, route.query.type, route.query.inviteCode)
67
+ try {
68
+ await auth.actions.signup(auth.state.user, route.query.type, route.query.inviteCode)
69
+ } catch (err) {
70
+ console.log(err)
71
+ }
67
72
  }
68
73
 
69
74
  function redirectTo () {
70
- router.push({ name: 'Dashboard'})
75
+ router.push({ name: 'User Profile',
76
+ params: {
77
+ _id: auth.state.user._id
78
+ },
79
+ query: {
80
+ afterAuth: 'true'
81
+ }})
71
82
  }
72
83
  </script>
73
84
 
@@ -95,18 +95,8 @@ const controllerFactory = (db) => {
95
95
 
96
96
  const signup = async (req, res) => {
97
97
  const { type, email, phone, inviteCode } = req.body;
98
- let invite = null;
99
- if (inviteCode) {
100
- try {
101
- invite = await Invite.findOne({ code: inviteCode, status: 'active' });
102
- if (!invite) {
103
- return res.status(400).json({ errorCode: "INVALID_INVITATION_CODE" });
104
- }
105
- } catch (err) {
106
- return res.status(500).send({ message: err });
107
- }
108
- }
109
- console.log(invite);
98
+
99
+ console.log(req.body)
110
100
 
111
101
  let userData = {
112
102
  password: bcrypt.hashSync(req.body.password, 8)
@@ -144,14 +134,31 @@ const controllerFactory = (db) => {
144
134
  return res.status(500).send({ message: err });
145
135
  }
146
136
  }
137
+
138
+ let invite = null;
139
+
140
+ if (inviteCode) {
141
+ try {
142
+ invite = await Invite.findOne({ code: inviteCode, status: 'active' });
143
+ if (!invite) {
144
+ return res.status(400).json({ errorCode: "INVALID_INVITATION_CODE" });
145
+ }
146
+ } catch (err) {
147
+ return res.status(500).send({ message: err });
148
+ }
149
+ }
150
+ console.log(inviteCode);
151
+
147
152
  if (invite) {
148
153
  invite.status = 'used';
154
+
149
155
  await invite.save();
156
+
150
157
  const newMembership = new Membership({
151
- user: ObjectId(user._id),
152
- organization: ObjectId(invite.organization),
153
- position: invite.role.name,
154
- unit: []
158
+ user: new ObjectId(user._id),
159
+ type: 'organization',
160
+ target: new ObjectId(invite.organization),
161
+ role: invite.role.name,
155
162
  });
156
163
  try {
157
164
  await newMembership.save();
@@ -159,6 +166,7 @@ const controllerFactory = (db) => {
159
166
  console.log(err);
160
167
  }
161
168
  }
169
+
162
170
  const token = jwt.sign({
163
171
  _id: user._id,
164
172
  organization: invite ? invite.organization : null,
@@ -9,7 +9,7 @@ const сontrollerFactory = (db) => {
9
9
 
10
10
  const getOneByCode = async (req, res) => {
11
11
  try {
12
- const invite = await Invite.findOne({ code: req.params._id }).populate('user');
12
+ const invite = await Invite.findOne({ code: req.params._id })
13
13
  if (!invite) {
14
14
  return res.status(404).send({ message: "Приглашение не найдено" });
15
15
  }
@@ -21,7 +21,7 @@ const сontrollerFactory = (db) => {
21
21
 
22
22
  const read = async (req, res) => {
23
23
  try {
24
- const invites = await Invite.find({ organization: req.params._id }).populate('user');
24
+ const invites = await Invite.find({ organization: req.params._id })
25
25
  if (!invites) {
26
26
  return res.status(404).send({ message: "Invites not found" });
27
27
  }
@@ -34,22 +34,29 @@ const сontrollerFactory = (db) => {
34
34
  const create = async (req, res) => {
35
35
  const userInviter = JSON.parse(req.cookies.user);
36
36
  const organizationId = req.params._id;
37
+
37
38
  try {
38
39
  const invites = req.body;
39
40
  for (let invite of invites) {
40
41
  let user = null;
42
+
41
43
  if (invite.contact.includes('@')) {
42
44
  user = await User.findOne({ email: invite.contact });
43
45
  } else {
44
46
  user = await User.findOne({ phone: invite.contact });
45
47
  }
48
+
46
49
  if (user) {
50
+
51
+ console.log(invite)
52
+
47
53
  const membership = new Membership({
48
54
  user: user._id,
49
- organization: organizationId,
50
- position: invite.role.name,
55
+ type: 'organization',
56
+ target: organizationId,
51
57
  role: invite.role,
52
58
  });
59
+
53
60
  await membership.save();
54
61
  res.status(200).json({ message: 'Invites sent successfully!' });
55
62
  } else {
@@ -65,14 +72,15 @@ const сontrollerFactory = (db) => {
65
72
 
66
73
  if (savedInvite.invitedEmail) {
67
74
  const to = savedInvite.invitedEmail;
68
- const subject = 'Вас добавили в организацию';
69
- const text = `Вы были приглашены присоединиться к организации в osi.plus! Используйте эту ссылку для регистрации: https://osi.plus/#/invite?inviteCode=${newInvite.code}&type=email"`;
75
+ const subject = 'You have been added to the organization';
76
+ const text = `You have been invited to join an organization on ${process.env.APP_NAME}! Use this link to register: ${process.env.API_URL}/auth/invite?inviteCode=${newInvite.code}&type=email"`;
70
77
  await sendEmail(to, subject, text);
71
78
  }
72
79
 
73
80
  if (savedInvite.invitedPhone !== null) {
74
81
  const phone = savedInvite.invitedPhone;
75
- const message = `Вы были приглашены присоединиться к организации в osi.plus! Используйте эту ссылку для регистрации: https://osi.plus/#/invite?inviteCode=${newInvite.code}&type=phone`;
82
+ const message = `You have been invited to join an organization on ${process.env.APP_NAME}! Use this link to register: ${process.env.API_URL}/auth/invite?inviteCode=${newInvite.code}&type=phone`;
83
+
76
84
  await sendSms(phone, message);
77
85
  }
78
86
 
@@ -87,7 +95,8 @@ const сontrollerFactory = (db) => {
87
95
 
88
96
  const deleteInvite = async (req, res) => {
89
97
  try {
90
- const invite = await Invite.findOneAndRemove({ _id: req.params._id });
98
+ const invite = await Invite.findOneAndDelete({ _id: req.params._id });
99
+
91
100
  if (!invite) {
92
101
  return res.status(404).send({ message: "Invite not found" });
93
102
  }
@@ -86,8 +86,13 @@
86
86
  },
87
87
 
88
88
  async signup(user, type, invite) {
89
+
90
+
89
91
  const { password, passwordRepeat } = state.user;
90
92
 
93
+ console.log(password)
94
+ console.log(passwordRepeat)
95
+
91
96
  if (password !== passwordRepeat) {
92
97
  const error = {
93
98
  response: {
@@ -99,7 +104,7 @@
99
104
  }
100
105
 
101
106
  try {
102
- user.phone = user.phone.number
107
+ if (user.phone?.number) user.phone = user.phone.number
103
108
 
104
109
  const response = await $axios.post('/api/auth/signup', {
105
110
  ...user,
@@ -107,6 +112,8 @@
107
112
  inviteCode: invite
108
113
  });
109
114
 
115
+ console.log(response)
116
+
110
117
  if (response.data.accessToken) {
111
118
  setCookie('user', response.data);
112
119
  }
@@ -46,6 +46,7 @@ const actions = {
46
46
  });
47
47
  },
48
48
  async create(organizationId, invite) {
49
+ console.log(invite)
49
50
  await $axios
50
51
  .post(`/api/invites/${organizationId}/create`, invite)
51
52
  .then(() => {
@@ -128,7 +128,11 @@ i18n.global.mergeLocaleMessage('en', errorMessages.en);
128
128
 
129
129
  // Mutations
130
130
  function setError(error) {
131
- let errorData = error.response.data
131
+ let errorData
132
+
133
+ errorData = error
134
+
135
+ if (error?.response?.data) errorData = error.response.data
132
136
 
133
137
  if (error && errorData.errorCode) {
134
138
  state.error.message = i18n.global.t(`errors.${errorData.errorCode}`);
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <div :class="{'cols-2-2_1': map }" class="o-hidden radius-medium bg-white flex-nowrap flex">
3
+ <!-- Left col -->
4
+ <div class="pd-medium col">
5
+ <h3 class="mn-b-small">{{name}}</h3>
6
+ <a :href="link" v-if="link" target="_blank" class="t-semi mn-b-medium t-main">Open Google Maps</a>
7
+ <p>{{text}}</p>
8
+ </div>
9
+ <!-- Right col -->
10
+ <div v-if="map" class="google-map col">
11
+ <iframe id="gmap_canvas" :src="map"></iframe>
12
+ </div>
13
+ </div>
14
+ </template>
15
+
16
+
17
+ <script setup>
18
+ import { useRouter } from 'vue-router'
19
+
20
+ const router = useRouter()
21
+
22
+ const props = defineProps([
23
+ 'name',
24
+ 'adress',
25
+ 'url',
26
+ 'map',
27
+ 'link',
28
+ 'text'
29
+ ])
30
+
31
+
32
+ </script>
33
+
34
+ <style lang="scss">
35
+ </style>
36
+
37
+
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <div>404 Not Found</div>
3
+ </template>
@@ -0,0 +1,155 @@
1
+ <template>
2
+ <div class="pd-thin">
3
+ <SectionHeroToken class="mn-b-extra h-min-100"/>
4
+ <WhatIsWDRSection class="mn-b-thin"/>
5
+ <SectionFeatures
6
+ :textData="{
7
+ messages: {
8
+ en: {
9
+ title: 'How Its Works?',
10
+ subtitle: 'Earn Weeder Tokens while you get lit on our dank buds. Use them to buy more weed or cash out and spend it on snacks.',
11
+ features: [{
12
+ icon: '1',
13
+ title: 'Join Our Stoned Community',
14
+ description: 'Find the dankest strains on the market and start your journey to the clouds!',
15
+ },{
16
+ icon: '2',
17
+ title: 'Shop While You are High',
18
+ description: 'Order our premium bud and accessories with just a few clicks and get them delivered right to your door!',
19
+ },{
20
+ icon: '3',
21
+ title: 'Get Your Share',
22
+ description: 'As a loyal customer, you earn exclusive Weeder tokens as cashback. Get high and get paid!',
23
+ }]
24
+ },
25
+ ru: {
26
+ title: 'Как Это Работает?',
27
+ subtitle: 'Зарабатывайте токены Weeder, когда вы курите наши лучшие сорта травы. Используйте их, чтобы купить еще травы или выведите и купите себе вкусняшки.',
28
+ features: [{
29
+ icon: '1',
30
+ title: 'Присоединяйтесь к нашему сообществу',
31
+ description: 'Найдите лучшие сорта травы на рынке и начните свой путь к облакам!',
32
+ },{
33
+ icon: '2',
34
+ title: 'Закупатейсь с удобством',
35
+ description: 'Закажите нашу премиум-траву и аксессуары всего несколькими кликами и получите их доставку прямо к двери!',
36
+ },{
37
+ icon: '3',
38
+ title: 'Получите свою долю от прибыли',
39
+ description: 'Как лояльный клиент, вы зарабатываете эксклюзивные токены Weeder на свой кошелек в качестве кэшбэка. Курите и зарабатывайте!',
40
+ }]
41
+ }
42
+ }
43
+ }"
44
+ />
45
+ <SectionRoadmap
46
+ class="mn-b-thin"
47
+ />
48
+ <HowToBuyWDR
49
+ class="mn-b-thin"
50
+ />
51
+ <SectionGuide
52
+ :textData="{
53
+ messages: {
54
+ en: {
55
+ title: 'If you still wonder?',
56
+ FAQ: [{
57
+ title: 'How does Weeder Token support the Weeder ecosystem?',
58
+ description: 'Weeder Token (WDT) is a fundamental component of the Weeder ecosystem, ensuring its operation, integration, and development. WDT tokens are used to pay for goods and services, participate in platform governance, and attract investments.'
59
+ },{
60
+ title: ' What security measures are in place to protect WDT tokens?',
61
+ description: 'WDT tokens are protected by modern cryptographic algorithms and blockchain technologies (Polygon Network), ensuring transaction security and asset storage. Users should also use reliable wallets and follow security recommendations for maximum protection of their tokens.'
62
+ },{
63
+ title: 'Can I use WDT tokens to pay on other platforms?',
64
+ description: 'Currently, WDT tokens are primarily used within the Weeder ecosystem. However, their use may be expanded to third-party platforms and services that Weeder collaborates or plans to collaborate with in the future.'
65
+ },{
66
+ title: 'What is the role of WDT in governing the Weeder platform?',
67
+ description: 'Weeder Token allows token holders to actively participate in platform governance. With its help, users can vote on various proposals, initiatives, and developments, influencing the future development of the Weeder ecosystem.'
68
+ },{
69
+ title: 'What are the benefits of using WDT for platform users?',
70
+ description: 'Using Weeder Token provides users with a range of benefits, such as the ability to purchase goods and services on the platform, participate in platform governance, invest in the Weeder ecosystem, and earn income from staking.'
71
+ },{
72
+ title: 'What is the perspective for WDT growth and development in the future?',
73
+ description: 'The growth and development of Weeder Token in the future depend on the success and expansion of the Weeder ecosystem. An increase in user numbers, collaboration with partners, and the implementation of new features and services can significantly increase the value and utility of Weeder Token.'
74
+ }]
75
+ },
76
+ ru: {
77
+ title: 'У вас еще есть вопросы?',
78
+ FAQ: [{
79
+ title: 'Как Weeder Token поддерживает экосистему Weeder?',
80
+ description: 'Weeder Token (WDT) является основным компонентом экосистемы Weeder, обеспечивая ее функционирование, интеграцию и развитие. Токены WDT используются для оплаты товаров и услуг, участия в управлении платформы и привлечения инвестиций.'
81
+ },{
82
+ title: 'Какие меры безопасности применяются для защиты токенов WDT?',
83
+ description: 'Токены WDT защищены современными криптографическими алгоритмами и технологиями блокчейна, обеспечивающими безопасность транзакций и хранения средств. Пользователи также должны использовать надежные кошельки и следовать рекомендациям по безопасности для максимальной защиты своих токенов.'
84
+ },{
85
+ title: 'Могу ли я использовать токены WDT для оплаты на других платформах?',
86
+ description: 'В настоящее время токены WDT преимущественно используются в рамках экосистемы Weeder. Однако в будущем их использование может быть расширено на сторонние платформы и сервисы, с которыми Weeder сотрудничает или планирует сотрудничать.'
87
+ },{
88
+ title: 'Какова роль WDT в управлении платформой Weeder?',
89
+ description: 'Weeder Token позволяет держателям токенов активно участвовать в управлении платформой. С его помощью пользователи могут голосовать по различным предложениям, инициативам и разработкам, влияя на будущее развитие экосистемы Weeder.'
90
+ },{
91
+ title: 'В чем преимущества использования WDT для пользователей платформы?',
92
+ description: 'Использование Weeder Token предоставляет пользователям ряд преимуществ, таких как возможность покупать товары и услуги на платформе, участвовать в управлении платформой, инвестировать в экосистему Weeder и получать доход от стейкинга.'
93
+ },{
94
+ title: 'Какова перспектива развития и роста WDT в будущем?',
95
+ description: 'Рост и развитие Weeder Token в будущем зависят от успешности и расширения экосистемы Weeder. Увеличение количества пользователей, сотрудничество с партнерами и внедрение новых возможностей и услуг могут существенно повысить спрос к токенам.'
96
+ }]
97
+ }
98
+ }
99
+ }"
100
+ />
101
+ <!-- Partials (need to remove) -->
102
+ <Footer/>
103
+ </div>
104
+ </template>
105
+
106
+ <script setup>
107
+ import { computed } from 'vue'
108
+
109
+ import SectionHeroToken from '@pf/src/modules/landing/components/sections/SectionHeroToken.vue'
110
+ import SectionFeatures from '@pf/src/modules/landing/components/sections/SectionFeatures.vue'
111
+ import SectionGuide from '@pf/src/modules/landing/components/sections/SectionGuide.vue'
112
+ import SectionRoadmap from '@pf/src/modules/landing/components/sections/SectionRoadmap.vue'
113
+
114
+ import WhatIsWDRSection from '@pf/src/modules/landing/components/sections/WhatIsWDRSection.vue'
115
+ import HowToBuyWDR from '@pf/src/modules/landing/components/sections/HowToBuyWDR.vue'
116
+
117
+
118
+ import Footer from '@pf/src/components/Footer/Footer.vue'
119
+
120
+
121
+ import { useMeta } from 'vue-meta'
122
+ import { useI18n } from 'vue-i18n'
123
+
124
+ const description = {
125
+ messages: {
126
+ en: {
127
+ meta: {
128
+ title: "Governance – Fin.Kan House is Cannabis friendly hotel in Phuket",
129
+ description: "At Fingan House, we encourage the exploration of Phuket’s finest cannabis products and are proud to provide a fully stocked bar of our signature product offerings to those looking to enjoy their experience to the fullest.",
130
+
131
+ },
132
+ },
133
+ ru: {
134
+ meta: {
135
+ title: "Управление – Fin.Kan House это каннабис-френдли отель на Пхукете",
136
+ description: "Приходите полюбоваться удивительными закатами в 18:00 или увидеть ночные огни Пхукета во всей красе после захода солнца. Купите немного каннабиса и наслаждайтесь видами — это действительно так просто!",
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ const { t } = useI18n(description)
143
+
144
+
145
+ const computedMeta = computed(() => ({
146
+ title: t('meta.title'),
147
+ description: t('meta.description')
148
+ }))
149
+
150
+ const { meta, onRemoved } = useMeta(computedMeta)
151
+ </script>
152
+
153
+ <style lang="scss">
154
+
155
+ </style>
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <div>
3
+ <HeroRecommendation/>
4
+ <MenuSection/>
5
+ <PopularProducts/>
6
+ <HotPosts/>
7
+ <SectionsSection/>
8
+ <SectionEarn/>
9
+ <SectionFeatures/>
10
+ <MobileApp/>
11
+ <JoinUs/>
12
+ <SubscribeNewsletter/>
13
+ <div class="pd-thin">
14
+ <SectionGuide/>
15
+ </div>
16
+ <!-- <FeatureSection /> -->
17
+ <!-- <HowItWorksSection /> -->
18
+ <!-- <HeroSection /> -->
19
+ <Footer/>
20
+ </div>
21
+ </template>
22
+
23
+ <script setup="props">
24
+ // Need to refactor
25
+ import SectionsSection from '@pf/src/modules/landing/components/sections/SectionsSection.vue'
26
+ // Module landing
27
+ import SectionFeatures from '@pf/src/modules/landing/components/sections/SectionFeatures.vue'
28
+ import MobileApp from '@pf/src/modules/landing/components/sections/MobileApp.vue'
29
+ import SectionGuide from '@pf/src/modules/landing/components/sections/SectionGuide.vue'
30
+ import SectionEarn from '@pf/src/modules/landing/components/sections/SectionEarn.vue'
31
+ // Module community
32
+ import HotPosts from '@pf/src/modules/community/components/sections/HotPosts.vue'
33
+ // Module Products
34
+ import MenuSection from '@pf/src/modules/products/components/sections/MenuSection.vue'
35
+ import PopularProducts from '@pf/src/modules/products/components/sections/PopularProducts.vue'
36
+ import HeroRecommendation from '@pf/src/modules/products/components/sections/HeroRecommendation.vue'
37
+ // Not working
38
+ import JoinUs from '@pf/src/modules/community/components/sections/JoinUs.vue'
39
+ import SubscribeNewsletter from '@pf/src/modules/applications/components/sections/SubscribeNewsletter.vue'
40
+ import HeroSection from '@pf/src/modules/landing/components/sections/HeroSection.vue'
41
+ import AboutSection from '@pf/src/modules/landing/components/sections/AboutSection.vue'
42
+ import HowItWorksSection from '@pf/src/modules/landing/components/sections/HowItWorksSection.vue'
43
+ import MapSection from '@pf/src/modules/landing/components/sections/MapSection.vue'
44
+
45
+ import Footer from '@pf/src/components/Footer/Footer.vue'
46
+
47
+
48
+ </script>
49
+
50
+ <style lang="scss">
51
+
52
+ </style>