@ozdao/prometheus-framework 0.2.320 → 0.2.322

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. package/dist/main.css +1 -1
  2. package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue2.cjs +34 -5
  3. package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue2.cjs.map +1 -1
  4. package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue2.js +35 -6
  5. package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue2.js.map +1 -1
  6. package/dist/prometheus-framework/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +1 -1
  7. package/dist/prometheus-framework/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  8. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +56 -55
  9. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs.map +1 -1
  10. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +57 -56
  11. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js.map +1 -1
  12. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs +0 -1
  13. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs.map +1 -1
  14. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js +0 -1
  15. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js.map +1 -1
  16. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs +1 -1
  17. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockFilter.vue.js +1 -1
  18. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  19. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  20. package/dist/prometheus-framework/src/modules/icons/entities/IconEarn.vue.cjs +62 -0
  21. package/dist/prometheus-framework/src/modules/icons/entities/IconEarn.vue.cjs.map +1 -0
  22. package/dist/prometheus-framework/src/modules/icons/entities/IconEarn.vue.js +62 -0
  23. package/dist/prometheus-framework/src/modules/icons/entities/IconEarn.vue.js.map +1 -0
  24. package/dist/prometheus-framework/src/modules/icons/entities/IconInfo.vue.cjs +43 -0
  25. package/dist/prometheus-framework/src/modules/icons/entities/IconInfo.vue.cjs.map +1 -0
  26. package/dist/prometheus-framework/src/modules/icons/entities/IconInfo.vue.js +43 -0
  27. package/dist/prometheus-framework/src/modules/icons/entities/IconInfo.vue.js.map +1 -0
  28. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.cjs +132 -0
  29. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -0
  30. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.js +132 -0
  31. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -0
  32. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.cjs +1 -1
  33. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  34. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
  35. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  36. package/dist/prometheus-framework/src/modules/landing/landing.client.cjs +2 -0
  37. package/dist/prometheus-framework/src/modules/landing/landing.client.cjs.map +1 -1
  38. package/dist/prometheus-framework/src/modules/landing/landing.client.js +12 -10
  39. package/dist/prometheus-framework/src/modules/landing/landing.client.js.map +1 -1
  40. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
  41. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.js +1 -1
  42. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
  43. package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.js +1 -1
  44. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +492 -474
  45. package/dist/prometheus-framework/src/modules/pages/pages.client.js +492 -474
  46. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  47. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +1 -1
  48. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  49. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  50. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +1 -1
  51. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +1 -1
  52. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  53. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  54. package/dist/prometheus-framework/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
  55. package/dist/prometheus-framework/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
  56. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  57. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  58. package/dist/prometheus-framework/src/modules/spots/components/pages/Spot.vue.cjs +1 -1
  59. package/dist/prometheus-framework/src/modules/spots/components/pages/Spot.vue.js +1 -1
  60. package/dist/prometheus-framework/src/modules/wallet/views/components/elements/ConnectMetamask.vue.cjs +81 -35
  61. package/dist/prometheus-framework/src/modules/wallet/views/components/elements/ConnectMetamask.vue.cjs.map +1 -1
  62. package/dist/prometheus-framework/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +81 -35
  63. package/dist/prometheus-framework/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
  64. package/dist/prometheus-framework/src/modules/wallet/views/localization/wallet.json.cjs +0 -6
  65. package/dist/prometheus-framework/src/modules/wallet/views/localization/wallet.json.cjs.map +1 -1
  66. package/dist/prometheus-framework/src/modules/wallet/views/localization/wallet.json.js +0 -6
  67. package/dist/prometheus-framework/src/modules/wallet/views/localization/wallet.json.js.map +1 -1
  68. package/package.json +1 -1
  69. package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -7
  70. package/src/modules/community/components/sections/HotPosts.vue +68 -65
  71. package/src/modules/events/components/sections/List.vue +0 -18
  72. package/src/modules/globals/views/components/layouts/Client.vue +28 -1
  73. package/src/modules/icons/entities/IconInfo.vue +15 -0
  74. package/src/modules/landing/components/sections/SectionEarn.vue +56 -54
  75. package/src/modules/landing/components/sections/SectionGuide.vue +4 -3
  76. package/src/modules/landing/landing.client.js +2 -0
  77. package/src/modules/products/components/sections/HeroRecommendation.vue +1 -1
  78. package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +74 -44
  79. package/src/modules/wallet/views/localization/wallet.json +0 -6
  80. package/src/styles/base/all.scss +5 -4
  81. package/src/styles/typography.scss +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectMetamask.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/elements/ConnectMetamask.vue"],"sourcesContent":["<template>\n <div>\n <!-- Connect Metamask -->\n <button \n v-if=\"!isMetaMaskInstalled\"\n @click=\"connectMetaMask\" \n class=\"transition-ease-in-out cursor-pointer bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white\"\n >\n <img loading=\"lazy\" :src=\"'/icons/metamask.svg'\" class=\"mn-r-small i-big\" >\n <span class=\"h4 uppercase w-100\">{{ t('wallet.connectMetaMask') }}</span>\n <IconAdd class=\"t-transp\" fill=\"rgb(var(--white))\"/>\n </button>\n\n <template v-else>\n <!-- Switch to Polygon -->\n <button \n v-if=\"!isPolygon\"\n @click=\"switchToPolygon\" \n class=\"transition-ease-in-out cursor-pointer hover-bg-white hover-t-black bg-black t-white radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small \"\n >\n <img loading=\"lazy\" :src=\"'/icons/metamask.svg'\" class=\"mn-r-small i-big\" >\n <span class=\"h4 uppercase w-100\">{{ t('wallet.switchToPolygon') }}</span>\n <IconAdd class=\"t-transp\" fill=\"rgb(var(--white))\" />\n </button>\n <!-- Add WDT to metamask -->\n <button \n v-if=\"isPolygon\"\n @click=\"addWDT\" \n class=\"transition-ease-in-out cursor-pointer hover-bg-white hover-t-black bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white\"\n >\n <img loading=\"lazy\" :src=\"'/icons/metamask.svg'\" class=\"mn-r-small i-big\" >\n <span class=\"h4 uppercase w-100\">{{ t('wallet.addToken') }}</span>\n <IconAdd class=\"hover-fill-black fill-white t-transp\"/>\n </button>\n </template>\n\n <!-- <p class=\"mn-t-small\" v-if=\"error\">{{ error }}</p> -->\n\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nimport text from '@pf/src/modules/wallet/views/localization/wallet.json'\n\nimport IconAdd from '@pf/src/modules/icons/navigation/IconAdd.vue'\n\nconst isMetaMaskInstalled = ref(false);\nconst isPolygon = ref(false);\nconst loading = ref(false);\nconst error = ref(null);\nconst buttonStyle = ref({});\n\nconst tokenAddress = '0xE11702CF04621D395E75680C29d3dbF81484e875'; \nconst tokenSymbol = 'WDT';\nconst tokenDecimals = 8;\nconst tokenImage = 'https://weeder.delivery/logo-token.png';\n\nconst connectMetaMask = async () => {\n if (typeof window.ethereum !== 'undefined') {\n try {\n await window.ethereum.request({ method: 'eth_requestAccounts' });\n checkMetaMask();\n } catch (error) {\n console.error('Ошибка при подключении MetaMask:', error);\n }\n } else {\n window.open('https://metamask.io/', '_blank');\n }\n};\n\nconst checkMetaMask = async () => {\n if (typeof window.ethereum !== 'undefined') {\n isMetaMaskInstalled.value = true;\n const chainId = await window.ethereum.request({ method: 'eth_chainId' });\n isPolygon.value = chainId === '0x89' || chainId === '0x13881';\n } else {\n isMetaMaskInstalled.value = false;\n }\n};\n\nconst switchToPolygon = async () => {\n try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: '0x89' }],\n });\n checkMetaMask();\n } catch (error) {\n console.error('Ошибка при переключении на Polygon:', error);\n }\n};\n\nconst addWDT = async () => {\n buttonStyle.value['pointer-events'] = 'none';\n error.value = null;\n loading.value = true;\n\n try {\n await ethereum.request({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20',\n options: {\n address: tokenAddress,\n symbol: tokenSymbol,\n decimals: tokenDecimals,\n image: tokenImage,\n },\n },\n });\n\n buttonStyle.value['background-color'] = '#009911';\n loading.value = false;\n } catch (err) {\n error.value = err.toString();\n }\n};\n\nconst { t } = useI18n({\n useScope: 'global', \n ...text\n})\n\nonMounted(() => {\n checkMetaMask();\n});\n\n</script>"],"names":["error"],"mappings":";;;;;;;AAuDA,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,gBAAgB;AACtB,MAAM,aAAa;;;;AATnB,UAAM,sBAAsB,IAAI,KAAK;AACrC,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,cAAc,IAAI,CAAA,CAAE;AAO1B,UAAM,kBAAkB,YAAY;AAClC,UAAI,OAAO,OAAO,aAAa,aAAa;AAC1C,YAAI;AACF,gBAAM,OAAO,SAAS,QAAQ,EAAE,QAAQ,sBAAqB,CAAE;AAC/D;QACD,SAAQA,QAAO;AACd,kBAAQ,MAAM,oCAAoCA,MAAK;AAAA,QACxD;AAAA,MACL,OAAS;AACL,eAAO,KAAK,wBAAwB,QAAQ;AAAA,MAC7C;AAAA,IACH;AAEA,UAAM,gBAAgB,YAAY;AAChC,UAAI,OAAO,OAAO,aAAa,aAAa;AAC1C,4BAAoB,QAAQ;AAC5B,cAAM,UAAU,MAAM,OAAO,SAAS,QAAQ,EAAE,QAAQ,cAAa,CAAE;AACvE,kBAAU,QAAQ,YAAY,UAAU,YAAY;AAAA,MACxD,OAAS;AACL,4BAAoB,QAAQ;AAAA,MAC7B;AAAA,IACH;AAEA,UAAM,kBAAkB,YAAY;AAClC,UAAI;AACF,cAAM,OAAO,SAAS,QAAQ;AAAA,UAC5B,QAAQ;AAAA,UACR,QAAQ,CAAC,EAAE,SAAS,QAAQ;AAAA,QAClC,CAAK;AACD;MACD,SAAQA,QAAO;AACd,gBAAQ,MAAM,uCAAuCA,MAAK;AAAA,MAC3D;AAAA,IACH;AAEA,UAAM,SAAS,YAAY;AACzB,kBAAY,MAAM,gBAAgB,IAAI;AACtC,YAAM,QAAQ;AACd,cAAQ,QAAQ;AAEhB,UAAI;AACF,cAAM,SAAS,QAAQ;AAAA,UACrB,QAAQ;AAAA,UACR,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,cACP,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,UAAU;AAAA,cACV,OAAO;AAAA,YACR;AAAA,UACF;AAAA,QACP,CAAK;AAED,oBAAY,MAAM,kBAAkB,IAAI;AACxC,gBAAQ,QAAQ;AAAA,MACjB,SAAQ,KAAK;AACZ,cAAM,QAAQ,IAAI;MACnB;AAAA,IACH;AAEA,UAAM,EAAE,EAAG,IAAG,QAAQ;AAAA,MACpB,UAAU;AAAA,MACV,GAAG;AAAA,IACL,CAAC;AAED,cAAU,MAAM;AACd;IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ConnectMetamask.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/elements/ConnectMetamask.vue"],"sourcesContent":["<template>\n <div>\n <!-- Connect Metamask -->\n <button \n v-if=\"!isMetaMaskInstalled\"\n @click=\"connectMetaMask\" \n class=\"transition-ease-in-out cursor-pointer bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white\"\n >\n <img loading=\"lazy\" :src=\"metamaskIcon\" class=\"mn-r-small i-big\">\n <span class=\"h4 uppercase w-100\">{{ t('connectMetaMask') }}</span>\n <IconAdd class=\"t-transp\" fill=\"rgb(var(--white))\"/>\n </button>\n <template v-else>\n <!-- Switch to Polygon -->\n <button \n v-if=\"!isPolygon\"\n @click=\"switchToPolygon\" \n class=\"transition-ease-in-out cursor-pointer hover-bg-white hover-t-black bg-black t-white radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small\"\n >\n <img loading=\"lazy\" :src=\"metamaskIcon\" class=\"mn-r-small i-big\">\n <span class=\"h4 uppercase w-100\">{{ t('switchToPolygon') }}</span>\n <IconAdd class=\"t-transp\" fill=\"rgb(var(--white))\"/>\n </button>\n <!-- Add Token to metamask -->\n <button \n v-if=\"isPolygon\"\n @click=\"addToken\" \n class=\"transition-ease-in-out cursor-pointer hover-bg-white hover-t-black bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white\"\n >\n <img loading=\"lazy\" :src=\"metamaskIcon\" class=\"mn-r-small i-big\">\n <span class=\"h4 uppercase w-100\">{{ t('addToken') }}</span>\n <IconAdd class=\"hover-fill-black fill-white t-transp\"/>\n </button>\n </template>\n <p class=\"mn-t-small\" v-if=\"error\">{{ error }}</p>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nimport IconAdd from '@pf/src/modules/icons/navigation/IconAdd.vue';\n\nconst props = defineProps({\n // Token configuration\n tokenAddress: {\n type: String,\n required: true\n },\n tokenSymbol: {\n type: String,\n required: true\n },\n tokenImage: {\n type: String,\n required: true\n },\n tokenDecimals: {\n type: Number,\n default: 18\n },\n // Chain configuration\n targetChainId: {\n type: String,\n default: '0x89' // Polygon Mainnet by default\n },\n // UI configuration\n metamaskIcon: {\n type: String,\n default: '/icons/metamask.svg'\n },\n content: {\n type: Object,\n default: () => ({\n en: {\n \"connectMetaMask\": \"Connect MetaMask\",\n \"switchToPolygon\": \"Switch to Polygon\",\n \"addToken\": `Add token to MetaMask`,\n }\n })\n }\n});\n\nconst isMetaMaskInstalled = ref(false);\nconst isPolygon = ref(false);\nconst loading = ref(false);\nconst error = ref(null);\nconst buttonStyle = ref({});\n\nconst connectMetaMask = async () => {\n if (typeof window.ethereum !== 'undefined') {\n try {\n await window.ethereum.request({ method: 'eth_requestAccounts' });\n checkMetaMask();\n } catch (err) {\n error.value = err.message;\n console.error('Error connecting to MetaMask:', err);\n }\n } else {\n window.open('https://metamask.io/', '_blank');\n }\n};\n\nconst checkMetaMask = async () => {\n if (typeof window.ethereum !== 'undefined') {\n isMetaMaskInstalled.value = true;\n const chainId = await window.ethereum.request({ method: 'eth_chainId' });\n isPolygon.value = chainId === props.targetChainId;\n } else {\n isMetaMaskInstalled.value = false;\n }\n};\n\nconst switchToPolygon = async () => {\n try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: props.targetChainId }],\n });\n checkMetaMask();\n } catch (err) {\n error.value = err.message;\n console.error('Error switching to Polygon:', err);\n }\n};\n\nconst addToken = async () => {\n buttonStyle.value['pointer-events'] = 'none';\n error.value = null;\n loading.value = true;\n \n try {\n await ethereum.request({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20',\n options: {\n address: props.tokenAddress,\n symbol: props.tokenSymbol,\n decimals: props.tokenDecimals,\n image: props.tokenImage,\n },\n },\n });\n buttonStyle.value['background-color'] = '#009911';\n loading.value = false;\n } catch (err) {\n error.value = err.message;\n loading.value = false;\n }\n};\n\nconst { t } = useI18n({\n messages: props.content\n});\n\nonMounted(() => {\n checkMetaMask();\n});\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,UAAM,QAAQ;AAwCd,UAAM,sBAAsB,IAAI,KAAK;AACrC,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,cAAc,IAAI,CAAA,CAAE;AAE1B,UAAM,kBAAkB,YAAY;AAClC,UAAI,OAAO,OAAO,aAAa,aAAa;AAC1C,YAAI;AACF,gBAAM,OAAO,SAAS,QAAQ,EAAE,QAAQ,sBAAqB,CAAE;AAC/D;QACD,SAAQ,KAAK;AACZ,gBAAM,QAAQ,IAAI;AAClB,kBAAQ,MAAM,iCAAiC,GAAG;AAAA,QACnD;AAAA,MACL,OAAS;AACL,eAAO,KAAK,wBAAwB,QAAQ;AAAA,MAC7C;AAAA,IACH;AAEA,UAAM,gBAAgB,YAAY;AAChC,UAAI,OAAO,OAAO,aAAa,aAAa;AAC1C,4BAAoB,QAAQ;AAC5B,cAAM,UAAU,MAAM,OAAO,SAAS,QAAQ,EAAE,QAAQ,cAAa,CAAE;AACvE,kBAAU,QAAQ,YAAY,MAAM;AAAA,MACxC,OAAS;AACL,4BAAoB,QAAQ;AAAA,MAC7B;AAAA,IACH;AAEA,UAAM,kBAAkB,YAAY;AAClC,UAAI;AACF,cAAM,OAAO,SAAS,QAAQ;AAAA,UAC5B,QAAQ;AAAA,UACR,QAAQ,CAAC,EAAE,SAAS,MAAM,cAAa,CAAE;AAAA,QAC/C,CAAK;AACD;MACD,SAAQ,KAAK;AACZ,cAAM,QAAQ,IAAI;AAClB,gBAAQ,MAAM,+BAA+B,GAAG;AAAA,MACjD;AAAA,IACH;AAEA,UAAM,WAAW,YAAY;AAC3B,kBAAY,MAAM,gBAAgB,IAAI;AACtC,YAAM,QAAQ;AACd,cAAQ,QAAQ;AAEhB,UAAI;AACF,cAAM,SAAS,QAAQ;AAAA,UACrB,QAAQ;AAAA,UACR,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,cACP,SAAS,MAAM;AAAA,cACf,QAAQ,MAAM;AAAA,cACd,UAAU,MAAM;AAAA,cAChB,OAAO,MAAM;AAAA,YACd;AAAA,UACF;AAAA,QACP,CAAK;AACD,oBAAY,MAAM,kBAAkB,IAAI;AACxC,gBAAQ,QAAQ;AAAA,MACjB,SAAQ,KAAK;AACZ,cAAM,QAAQ,IAAI;AAClB,gBAAQ,QAAQ;AAAA,MACjB;AAAA,IACH;AAEA,UAAM,EAAE,EAAG,IAAG,QAAQ;AAAA,MACpB,UAAU,MAAM;AAAA,IAClB,CAAC;AAED,cAAU,MAAM;AACd;IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,9 +6,6 @@ const messages = {
6
6
  title: "Your Wallet",
7
7
  subtitle: "Earn WDT by purchasing our weed or contributing to the community.",
8
8
  token: "WDT",
9
- connectMetaMask: "Connect MetaMask",
10
- switchToPolygon: "Switch to Polygon",
11
- addToken: "Add WDT to MetaMask",
12
9
  pay: "pay",
13
10
  youReceived: "you received",
14
11
  enterAmount: "enter amount to top up",
@@ -22,9 +19,6 @@ const messages = {
22
19
  wallet: {
23
20
  title: "Ваш Кошелек",
24
21
  subtitle: "Зарабатывайте WDT, покупая товары или внося вклад в сообщество.",
25
- connectMetaMask: "Подключить MetaMask",
26
- switchToPolygon: "Переподключиться на Polygon",
27
- addToken: "Добавить WDT в Metamask",
28
22
  pay: "купить",
29
23
  youReceived: "вы пополнили на сумму",
30
24
  enterAmount: "введите сумму для пополнения",
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.json.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"wallet.json.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,9 +4,6 @@ const messages = {
4
4
  title: "Your Wallet",
5
5
  subtitle: "Earn WDT by purchasing our weed or contributing to the community.",
6
6
  token: "WDT",
7
- connectMetaMask: "Connect MetaMask",
8
- switchToPolygon: "Switch to Polygon",
9
- addToken: "Add WDT to MetaMask",
10
7
  pay: "pay",
11
8
  youReceived: "you received",
12
9
  enterAmount: "enter amount to top up",
@@ -20,9 +17,6 @@ const messages = {
20
17
  wallet: {
21
18
  title: "Ваш Кошелек",
22
19
  subtitle: "Зарабатывайте WDT, покупая товары или внося вклад в сообщество.",
23
- connectMetaMask: "Подключить MetaMask",
24
- switchToPolygon: "Переподключиться на Polygon",
25
- addToken: "Добавить WDT в Metamask",
26
20
  pay: "купить",
27
21
  youReceived: "вы пополнили на сумму",
28
22
  enterAmount: "введите сумму для пополнения",
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"wallet.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/prometheus-framework",
3
- "version": "0.2.320",
3
+ "version": "0.2.322",
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",
@@ -100,13 +100,7 @@ onMounted(async() => {
100
100
  </template>
101
101
 
102
102
  <style lang="scss">
103
- .fade-enter-active, .fade-leave-active {
104
- transition: opacity .5s;
105
- }
106
- .fade-enter, .fade-leave-to /* .fade-leave-active в версии 2.1.8+ */ {
107
- opacity: 0;
108
- }
109
- .carousel__track {
103
+ .carousel__track {
110
104
  height: 100%;
111
105
  }
112
106
  .carousel-controls {
@@ -1,73 +1,76 @@
1
1
  <template>
2
- <section class="pd-thin">
3
- <div class="bg-light radius-big pd-t-big pd-b-big">
4
-
5
- <h2 class="w-100 pd-b-small t-center flex-center flex">
6
- Discover Our
7
- <router-link
8
- :to="{ name:'Blog' }"
9
- class="transition-ease-in hover-bg-black hover-t-white transition-timing-1 hover-scale-0 bg-main cursor-pointer pd-thin pd-r-small pd-l-small mn-l-thin radius-extra flex flex-v-center"
10
- >
11
- <b>Community</b>
12
- </router-link>
13
- </h2>
14
-
15
- <Slider
16
- :store="{
17
- read: (options) => blog.read(options)
18
- }"
19
- :options="{
20
- skip: 0,
21
- limit: 8,
22
- user: auth.state.user._id,
23
- period: 'year',
24
- category: 'featured'
25
- }"
26
- :text="{
27
- messages: {
28
- en: {
29
- title: 'No Blogposts Found',
30
- description: 'Currently, there are no blogposts available.'
31
- }
32
- }
33
- }"
34
- v-slot="{
35
- item
36
- }"
37
- class="slider-hotpost"
38
- >
39
- <CardBlogpost
40
- :key="item._id"
41
- :blogpost="item"
42
- :user="auth.state.user._id"
43
- :hideDescription="true"
44
- class="bg-white flex flex-column h-35r"
45
- />
46
- </Slider>
47
- </div>
48
- </section>
2
+ <Slider
3
+ :store="{
4
+ read: (options) => blog.read({
5
+ skip,
6
+ limit,
7
+ user: userId,
8
+ period,
9
+ category
10
+ })
11
+ }"
12
+ :text="{
13
+ messages: {
14
+ en: {
15
+ title: 'No Blogposts Found',
16
+ description: 'Currently, there are no blogposts available.'
17
+ }
18
+ }
19
+ }"
20
+ v-slot="{
21
+ item
22
+ }"
23
+ class="slider-hotpost flex-child-default"
24
+ >
25
+ <CardBlogpost
26
+ :key="item._id"
27
+ :blogpost="item"
28
+ :user="auth.state.user._id"
29
+ :hideDescription="true"
30
+ class="bg-white flex flex-column h-35r"
31
+ />
32
+ </Slider>
49
33
  </template>
50
34
 
51
- <script setup="props">
52
- import { ref, onMounted } from 'vue'
35
+ <script setup>
36
+ import { ref, onMounted, defineProps } from 'vue'
37
+ import Feed from '@pf/src/components/Feed/Feed.vue'
38
+ import Slider from '@pf/src/components/Slider/Slider.vue'
39
+ import CardBlogpost from '@pf/src/modules/community/components/blocks/CardBlogpost.vue'
40
+ import * as blog from '@pf/src/modules/community/store/blogposts.js'
41
+ import * as auth from '@pf/src/modules/auth/views/store/auth'
53
42
 
54
- import Feed from '@pf/src/components/Feed/Feed.vue'
55
- import Slider from '@pf/src/components/Slider/Slider.vue'
56
-
57
- import CardBlogpost from '@pf/src/modules/community/components/blocks/CardBlogpost.vue';
58
- // Import state
59
- import * as blog from '@pf/src/modules/community/store/blogposts.js';
60
- import * as auth from '@pf/src/modules/auth/views/store/auth'
43
+ const props = defineProps({
44
+ skip: {
45
+ type: Number,
46
+ default: 0
47
+ },
48
+ limit: {
49
+ type: Number,
50
+ default: 8
51
+ },
52
+ userId: {
53
+ type: String,
54
+ default: () => auth.state.user._id
55
+ },
56
+ period: {
57
+ type: String,
58
+ default: 'year'
59
+ },
60
+ category: {
61
+ type: String,
62
+ default: 'featured'
63
+ }
64
+ })
61
65
  </script>
62
66
 
63
- <style lang="scss" >
67
+ <style lang="scss">
68
+ .slider-hotpost .embla__slide {
69
+ flex: 0 0 25%;
70
+ }
71
+ @media screen and (max-width: 1025px) {
64
72
  .slider-hotpost .embla__slide {
65
- flex: 0 0 25%;
66
- }
67
-
68
- @media screen and (max-width: 1025px) {
69
- .slider-hotpost .embla__slide {
70
- flex: 0 0 75%;
71
- }
72
- }
73
+ flex: 0 0 75%;
74
+ }
75
+ }
73
76
  </style>
@@ -115,22 +115,4 @@
115
115
  </script>
116
116
 
117
117
  <style lang="scss">
118
- .fade-move,
119
- .fade-enter-active,
120
- .fade-leave-active {
121
- transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1);
122
- }
123
-
124
- /* 2. declare enter from and leave to state */
125
- .fade-enter-from,
126
- .fade-leave-to {
127
- opacity: 0;
128
- transform: scaleY(0.01) translate(30px, 0);
129
- }
130
-
131
- /* 3. ensure leaving items are taken out of layout flow so that moving
132
- animations can be calculated correctly. */
133
- .fade-leave-active {
134
- position: absolute;
135
- }
136
118
  </style>
@@ -193,7 +193,34 @@
193
193
  });
194
194
  </script>
195
195
 
196
- <style lang="scss">;
196
+ <style lang="scss">
197
+ .fade-enter-active, .fade-leave-active {
198
+ transition: opacity .5s;
199
+ }
200
+ .fade-enter, .fade-leave-to /* .fade-leave-active в версии 2.1.8+ */ {
201
+ opacity: 0;
202
+ }
203
+
204
+
205
+ .fade-move,
206
+ .fade-enter-active,
207
+ .fade-leave-active {
208
+ transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1);
209
+ }
210
+
211
+ /* 2. declare enter from and leave to state */
212
+ .fade-enter-from,
213
+ .fade-leave-to {
214
+ opacity: 0;
215
+ transform: translate(30px, 0);
216
+ }
217
+
218
+ /* 3. ensure leaving items are taken out of layout flow so that moving
219
+ animations can be calculated correctly. */
220
+ .fade-leave-active {
221
+ position: absolute;
222
+ }
223
+
197
224
  .moveFromTop-enter-active,
198
225
  .moveFromTop-leave-active {
199
226
  transform: translateY(0);
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" class="mn-b-small i-extra" f width="64" height="64" viewBox="0 0 64 64" fill="none">
3
+ <circle cx="32" cy="32" r="22.875" :stroke="fill" stroke-width="2.25"/>
4
+ <path d="M34.207 22.4192L33.436 21.6L34.207 22.4192C34.8678 21.7973 35.173 20.9832 35.173 20.088C35.173 19.1688 34.8535 18.3301 34.1341 17.7234C33.4511 17.123 32.5912 16.875 31.672 16.875C30.7602 16.875 29.912 17.1319 29.2341 17.7338C28.5388 18.3482 28.243 19.1854 28.243 20.088C28.243 20.9931 28.5391 21.8248 29.209 22.4552L29.2337 22.4785L29.2598 22.5002C29.9451 23.0714 30.8001 23.301 31.708 23.301C32.6422 23.301 33.5294 23.057 34.207 22.4192ZM33.012 26.631H28.8847C27.8742 26.631 27.055 27.4502 27.055 28.4607C27.055 29.3486 27.6924 30.1083 28.5668 30.2626L29.503 30.4279V42.2561L28.2191 42.643C27.4211 42.8835 26.875 43.6184 26.875 44.4518C26.875 45.4952 27.7208 46.341 28.7642 46.341H35.7727C36.8134 46.341 37.657 45.4974 37.657 44.4567C37.657 43.6154 37.0993 42.8761 36.2904 42.6449L35.137 42.3154V28.756C35.137 27.5824 34.1856 26.631 33.012 26.631Z" :stroke="fill" stroke-width="2.25"/>
5
+ </svg>
6
+ </template>
7
+
8
+ <script setup>
9
+ const props = defineProps({
10
+ fill: {
11
+ type: String,
12
+ default: 'rgb(var(--black))'
13
+ }
14
+ })
15
+ </script>
@@ -1,27 +1,23 @@
1
1
  <template>
2
2
  <div class="pd-thin">
3
3
  <section class="cols-2 bg-black t-black radius-big pd-thin gap-thin">
4
- <div>
4
+ <div class="pos-relative flex flex-column flex-center h-100">
5
5
  <div class="mn-b-thin t-white pd-big radius-big">
6
- <img loading="lazy" class="mn-b-semi h-5r" src="/logo/wdt.svg">
6
+ <img v-if="te('logo')" loading="lazy" class="mn-b-semi h-5r" :src="t('logo')">
7
7
 
8
- <h2 class="mn-b-small" v-html="t('title')"/>
9
- <p class="mn-b-small p-big t-transp">{{ t('description') }}</p>
10
- <p class="mn-b-semi p-medium t-transp">{{ t('subdescription')}}</p>
8
+ <h2 v-if="te('title')" class="mn-b-small" v-html="t('title')"/>
9
+ <p v-if="te('description')" class="mn-b-small p-big t-transp">{{ t('description') }}</p>
10
+ <p v-if="te('subdescription')" class="mn-b-semi p-medium t-transp">{{ t('subdescription')}}</p>
11
11
 
12
12
  <div class="gap-thin cols-2">
13
- <router-link to="/governance" class="flex t-center bg-white flex-center flex-column t-black pd-big radius-big">
14
-
15
- <svg xmlns="http://www.w3.org/2000/svg" class="mn-b-small i-extra" f width="64" height="64" viewBox="0 0 64 64" fill="none">
16
- <circle cx="32" cy="32" r="22.875" stroke="black" stroke-width="2.25"/>
17
- <path d="M34.207 22.4192L33.436 21.6L34.207 22.4192C34.8678 21.7973 35.173 20.9832 35.173 20.088C35.173 19.1688 34.8535 18.3301 34.1341 17.7234C33.4511 17.123 32.5912 16.875 31.672 16.875C30.7602 16.875 29.912 17.1319 29.2341 17.7338C28.5388 18.3482 28.243 19.1854 28.243 20.088C28.243 20.9931 28.5391 21.8248 29.209 22.4552L29.2337 22.4785L29.2598 22.5002C29.9451 23.0714 30.8001 23.301 31.708 23.301C32.6422 23.301 33.5294 23.057 34.207 22.4192ZM33.012 26.631H28.8847C27.8742 26.631 27.055 27.4502 27.055 28.4607C27.055 29.3486 27.6924 30.1083 28.5668 30.2626L29.503 30.4279V42.2561L28.2191 42.643C27.4211 42.8835 26.875 43.6184 26.875 44.4518C26.875 45.4952 27.7208 46.341 28.7642 46.341H35.7727C36.8134 46.341 37.657 45.4974 37.657 44.4567C37.657 43.6154 37.0993 42.8761 36.2904 42.6449L35.137 42.3154V28.756C35.137 27.5824 34.1856 26.631 33.012 26.631Z" stroke="black" stroke-width="2.25"/>
18
- </svg>
19
- <h4 class="uppercase t-medium">{{t('action')}}</h4>
13
+ <router-link :to="t('action_link')" class="flex t-center bg-white flex-center flex-column t-black pd-big radius-big">
14
+ <IconInfo class="mn-b-small i-extra" fill="rgb(var(--black)"/>
15
+ <p class="uppercase t-semi">{{t('action')}}</p>
20
16
  </router-link>
21
17
 
22
- <router-link to="/governance#howtoget" class="flex t-center flex-center flex-column bg-main t-black pd-big radius-big">
18
+ <router-link :to="t('action_sublink') " class="flex t-center flex-center flex-column bg-main t-black pd-big radius-big">
23
19
  <IconEarn class="mn-b-small i-extra" fill="rgb(var(--black)"/>
24
- <h4 class="uppercase t-medium">{{t('subaction')}}</h4>
20
+ <p class="uppercase t-semi">{{t('subaction')}}</p>
25
21
  </router-link>
26
22
 
27
23
  </div>
@@ -30,12 +26,22 @@
30
26
  </div>
31
27
 
32
28
  <div class="pos-relative pd-medium flex-column flex-center flex h-100 bg-main radius-big o-hidden">
33
- <img loading="lazy" src="/landing/token_hands.png" class="mn-t-extra z-index-1 w-75 mn-b-auto" >
34
- <!-- <h3 class="mn-b-small z-index-1">How to Earn?</h3> -->
35
- <ConnectMetamask class="w-100 z-index-1" />
36
- <div style="background-image: url(/spiral.jpg)" class="mn-b-extra spiral"></div>
37
-
38
- <!-- <Shader class="pos-absolute z-index-0 w-100 h-100"/> -->
29
+ <img v-if="te('image')" loading="lazy" :src="t('image')" class="mn-t-extra z-index-1 w-75 mn-b-auto">
30
+ <ConnectMetamask
31
+ :tokenAddress="options.tokenAddress"
32
+ :tokenSymbol="options.tokenSymbol"
33
+ :tokenDecimals="options.tokenDecimals"
34
+ :tokenImage="options.tokenImage"
35
+ :targetChainId="options.targetChainId"
36
+ :metamaskIcon="options.metamaskIcon"
37
+ :content="{
38
+ en: {
39
+ 'connectMetaMask': t('connectMetaMask'),
40
+ 'switchToPolygon': t('switchToPolygon'),
41
+ 'addToken': t('addToken')
42
+ }
43
+ }"
44
+ />
39
45
  </div>
40
46
  </section>
41
47
  </div>
@@ -45,55 +51,51 @@
45
51
  import { computed,ref,onMounted, reactive } from 'vue'
46
52
  import { useI18n } from 'vue-i18n';
47
53
 
48
- import Shader from '@pf/src/components/Shader/Shader.vue'
49
-
54
+ import IconInfo from '@pf/src/modules/icons/entities/IconInfo.vue'
50
55
  import IconEarn from '@pf/src/modules/icons/entities/IconEarn.vue'
51
- import IconInfo from '@pf/src/modules/icons/navigation/IconInfo.vue'
52
56
 
53
57
  import ConnectMetamask from '@pf/src/modules/wallet/views/components/elements/ConnectMetamask.vue'
54
58
 
55
59
  const props = defineProps({
56
- mockupImage: {
57
- type: String,
58
- default: "/landing/mockup.png"
59
- },
60
- mockupMobile: {
61
- type: String,
62
- default: "/landing/mockup-mobile.png"
63
- },
64
- bgImage: {
65
- type: String,
66
- default: "" // Введите ваше стандартное значение здесь, если необходимо
60
+ content: {
61
+ type: Object,
62
+ required: true
67
63
  },
68
- textData: {
64
+ options: {
69
65
  type: Object,
70
66
  default: () => ({
71
- messages: {
72
- en: {
73
- title: 'Smoke Weed and<br><b>Get Slice of The Pie</b>',
74
- description: 'Earn Weeder Digital Tokens to get a share of Weeder profits. The more tokens you have, the bigger your cut of the profits will be.',
75
- subdescription: 'Weeder innovative approach to the cannabis industry is reflected in its dual-token ecosystem. We have developed two types of tokens - WDT (Released) and HIGH (Soon) - each with distinct functions, benefits, and structures. These tokens enable users to participate in the Weeder platform, incentivize community engagement, and encourage growth and expansion.',
76
- action: 'Learn More',
77
- subaction: 'How to Get',
78
- },
79
- }
67
+ tokenAddress: '0x64b4b0ade1f015d6a0c536e8cf041e181d872220',
68
+ tokenSymbol: 'OZDT',
69
+ tokenDecimals: '8',
70
+ tokenImage: 'https://ozdao.dev/logo-token.png',
71
+ targetChainId: '0x89',
72
+ metamaskIcon: "/icons/metamask.svg"
80
73
  })
81
74
  }
82
75
  })
83
- const { t } = useI18n(props.textData)
76
+ const { t, te } = useI18n({
77
+ messages: props.content
78
+ })
84
79
  </script>
85
80
 
86
81
  <style lang="scss" scoped>
87
- @keyframes rotate {
88
- from {
89
- transform: rotate(0deg);
82
+ .spiral {
83
+ background-size: cover;
84
+ width: 100rem;
85
+ height: 100rem;
86
+ position: absolute;
87
+ opacity: 0.066;
88
+ transform: translate(-50%, -50%) rotate(0deg);
89
+ transform-origin: center center;
90
+ animation: spin 5s linear infinite;
91
+ }
92
+
93
+ @keyframes spin {
94
+ 0% {
95
+ transform: translate(-50%, -50%) rotate(0deg);
90
96
  }
91
- to {
92
- transform: rotate(360deg);
97
+ 100% {
98
+ transform: translate(-50%, -50%) rotate(360deg);
93
99
  }
94
100
  }
95
- .rotating {
96
- animation: rotate 16s linear infinite;
97
- }
98
-
99
101
  </style>
@@ -37,9 +37,10 @@
37
37
  required: true
38
38
  }
39
39
  })
40
- const { t, tm } = useI18n({
41
- messages: props.content
42
- })
40
+
41
+ const { t, tm } = useI18n({
42
+ messages: props.content
43
+ })
43
44
  </script>
44
45
 
45
46
  <style lang="scss">
@@ -1,6 +1,7 @@
1
1
  // Importing Vue components
2
2
  import MobileApp from './components/sections/MobileApp.vue';
3
3
  import SubscribeNewsletter from './components/sections/SubscribeNewsletter.vue';
4
+ import SectionEarn from './components/sections/SectionEarn.vue';
4
5
  import SectionFeatures from './components/sections/SectionFeatures.vue';
5
6
  import SectionGuide from './components/sections/SectionGuide.vue';
6
7
  import SectionOverview from './components/sections/SectionOverview.vue';
@@ -9,6 +10,7 @@ import FloatingImages from './components/elements/FloatingImages.vue';
9
10
  import AnimatedGrid from './components/elements/AnimatedGrid.vue';
10
11
 
11
12
  export {
13
+ SectionEarn,
12
14
  MobileApp,
13
15
  SectionGuide,
14
16
  SectionOverview,
@@ -148,7 +148,7 @@
148
148
  </div>
149
149
  </template>
150
150
 
151
- <style>
151
+ <style style="scoped">
152
152
  .spiral {
153
153
 
154
154
  background-size: cover;