fix: content tokenomic section

main
dothuong 1 year ago
parent c71217dd45
commit bdbb716e6a
  1. 37
      src/i18n/en/home/tokenomicsSection.json
  2. 4
      src/i18n/i18n.ts
  3. 37
      src/i18n/vi/home/tokenomicsSection.json
  4. 143
      src/shared/components/home/TokenomicsSection.tsx

@ -0,0 +1,37 @@
{
"heading": "The SGPT token unlocking schedule will take in 5 years, specifically as follows:",
"array": [
{
"title": "Ecosystem Growth",
"description": "5 years vesting, 30% at TGE (Token Generation Event), then locked for 1 year and unlocked every block from year 2."
},
{
"title": "Community Development",
"description": "5 years vesting, 30% at TGE (Token Generation Event), then locked for 1 year and unlocked every block from the 2nd year."
},
{
"title": "Team",
"description": "5 years vesting, 1 year course, and lock pattern are in each block from the 2nd year."
},
{
"title": "Strategic Sale",
"description": "2 years vesting, 1 year course, and lock pattern are all block by block from 2nd year."
},
{
"title": "Treasury",
"description": "5 years vesting, 10% at TGE (Token Generation Event), then locked for 1 year and unlocked every block from year 2."
},
{
"title": "Seed Sale",
"description": "3 years vesting, 1 year lock and unlock in each block from the 2nd year."
},
{
"title": "Binance Launchpad Sale",
"description": "100% key at TGE."
},
{
"title": "Advisors",
"description": "3 years vesting, 1-year lock, and lock pattern are all block by block from 2nd year."
}
]
}

@ -8,6 +8,8 @@ import RoadMap_home_EN from "./en/home/roadmap.json";
import RoadMap_home_VI from "./vi/home/roadmap.json"; import RoadMap_home_VI from "./vi/home/roadmap.json";
import QnA_home_EN from "./en/home/qna.json"; import QnA_home_EN from "./en/home/qna.json";
import QnA_home_VI from "./vi/home/qna.json"; import QnA_home_VI from "./vi/home/qna.json";
import TokenomicsSection_home_EN from "./en/home/tokenomicsSection.json";
import TokenomicsSection_home_VI from "./vi/home/tokenomicsSection.json";
import FirstSection_healthCare_EN from "./en/healthCare/firstSection.json"; import FirstSection_healthCare_EN from "./en/healthCare/firstSection.json";
import ProblemsSection_healthCare_EN from "./en/healthCare/problemsSection.json"; import ProblemsSection_healthCare_EN from "./en/healthCare/problemsSection.json";
import FirstSection_healthCare_VI from "./vi/healthCare/firstSection.json"; import FirstSection_healthCare_VI from "./vi/healthCare/firstSection.json";
@ -29,6 +31,7 @@ export const resources = {
aboutSectionHome: AboutSection_home_EN, aboutSectionHome: AboutSection_home_EN,
roadmapHome: RoadMap_home_EN, roadmapHome: RoadMap_home_EN,
qnaHome: QnA_home_EN, qnaHome: QnA_home_EN,
tokenomicHome: TokenomicsSection_home_EN,
firstSectionHealthCare: FirstSection_healthCare_EN, firstSectionHealthCare: FirstSection_healthCare_EN,
problemsSectionHealthCare: ProblemsSection_healthCare_EN, problemsSectionHealthCare: ProblemsSection_healthCare_EN,
customerInsightHealthCare: CustomerInsight_healthCare_EN, customerInsightHealthCare: CustomerInsight_healthCare_EN,
@ -40,6 +43,7 @@ export const resources = {
aboutSectionHome: AboutSection_home_VI, aboutSectionHome: AboutSection_home_VI,
roadmapHome: RoadMap_home_VI, roadmapHome: RoadMap_home_VI,
qnaHome: QnA_home_VI, qnaHome: QnA_home_VI,
tokenomicHome: TokenomicsSection_home_VI,
firstSectionHealthCare: FirstSection_healthCare_VI, firstSectionHealthCare: FirstSection_healthCare_VI,
problemsSectionHealthCare: ProblemsSection_healthCare_VI, problemsSectionHealthCare: ProblemsSection_healthCare_VI,
customerInsightHealthCare: CustomerInsight_healthCare_VI, customerInsightHealthCare: CustomerInsight_healthCare_VI,

@ -0,0 +1,37 @@
{
"heading": "Lịch mở khóa token SGPT sẽ diễn ra trong vòng 5 năm, cụ thể như sau:",
"array": [
{
"title": "Sự Phát Triển Hệ Sinh Thái",
"description": "5 năm với 30% được phát hành tại Sự Kiện Tạo Ra Token (TGE), sau đó bị khóa trong 1 năm và mở khóa mỗi khối từ năm thứ 2."
},
{
"title": "Phát Triển Cộng Đồng",
"description": "5 năm với 30% được phát hành tại Sự Kiện Tạo Ra Token (TGE), sau đó bị khóa trong 1 năm và mở khóa mỗi khối từ năm thứ 2."
},
{
"title": "Nhóm",
"description": "5 năm với mô hình khóa học 1 năm, và mô hình khóa học được áp dụng từ năm thứ 2."
},
{
"title": "Bán Chiến Lược",
"description": "2 năm với mô hình khóa học 1 năm, và mô hình khóa học được áp dụng từ năm thứ 2."
},
{
"title": "Kho Tài Chính",
"description": "5 năm với 10% được phát hành tại Sự Kiện Tạo Ra Token (TGE), sau đó bị khóa trong 1 năm và mở khóa mỗi khối từ năm thứ 2."
},
{
"title": "Bán Giống",
"description": "3 năm với mô hình khóa học 1 năm, và mở khóa và khóa từng khối từ năm thứ 2."
},
{
"title": "Sự Kiện Ra Mắt Binance Launchpad",
"description": "100% được phát hành tại TGE."
},
{
"title": "Cố Vấn",
"description": "3 năm với mô hình khóa học 1 năm, và mô hình khóa học và khóa được áp dụng từ năm thứ 2."
}
]
}

@ -14,84 +14,136 @@ import { Context } from "chartjs-plugin-datalabels";
import tokenomicChart from "../../../assets/images/tokenomic-chart.png"; import tokenomicChart from "../../../assets/images/tokenomic-chart.png";
import "animate.css"; import "animate.css";
import { useTranslation } from "react-i18next";
type Props = {}; type Props = {};
ChartJS.register(ArcElement, Tooltip, Legend); ChartJS.register(ArcElement, Tooltip, Legend);
const tokenomics = [ const tokenomics = [
{ {
name: "Liquidity", name: "Treasury",
title: "Liquidity - 5% 1,000,000 SGPT", title: "Treasury - 14%",
precent: "5", precent: "14",
description: " ", description: " ",
color: "#86eae9", color: "#86eae9",
bgcolor: "bg-[#86eae9]", bgcolor: "bg-[#86eae9]",
}, },
{ {
name: "Private Sale", name: "Liquidity",
title: "Private Sale - 17% 3,400,000 SGPT", title: "Liquidity - 5%",
precent: "17", precent: "5",
description: " ", description: " ",
color: "#5dbdd3", color: "#5dbdd3",
bgcolor: "bg-[#5dbdd3]", bgcolor: "bg-[#5dbdd3]",
}, },
{ {
name: "Stacking & Farming", name: "Private sale",
title: "Stacking & Farming - 15% 3,000,000 SGPT", title: "Private sale - 15%",
precent: "15", precent: "15",
description: " ", description: " ",
color: "#4591b8", color: "#4591b8",
bgcolor: "bg-[#4591b8]", bgcolor: "bg-[#4591b8]",
}, },
{ {
name: "Marketing & Promotion", name: "Seed sale",
title: "Marketing & Promotion - 15% 3,000,000 SGPT", title: "Seed sale - 19%",
precent: "15", precent: "19",
description: " ", description: " ",
color: "#3b6696", color: "#3b6696",
bgcolor: "bg-[#3b6696]", bgcolor: "bg-[#3b6696]",
}, },
{ {
name: "Public Sale", name: "Public sale",
title: "Public Sale - 14% 2,800,000 SGPT", title: "Public sale - 5%",
precent: "14", precent: "5",
description: " ", description: " ",
color: "#353c6e", color: "#353c6e",
bgcolor: "bg-[#353c6e]", bgcolor: "bg-[#353c6e]",
}, },
{ {
name: "Reward & Q&A", name: "Staking & Farming",
title: "Reward & Q&A - 10% 2,000,000 SGPT", title: "Staking & Farming - 15%",
precent: "10", precent: "15",
description: " ", description: " ",
color: "#705788", color: "#705788",
bgcolor: "bg-[#705788]", bgcolor: "bg-[#705788]",
}, },
{ {
name: "Advisor", name: "Team",
title: "Advisor - 10% 2,000,000 SGPT", title: "Team - 10%",
precent: "10", precent: "10",
description: " ", description: " ",
color: "#a5769e", color: "#a5769e",
bgcolor: "bg-[#a5769e]", bgcolor: "bg-[#a5769e]",
}, },
{ {
name: "Treasury", name: "Marketing",
title: "Treasury - 14% 2,800,000 SGPT", title: "Marketing - 15%",
precent: "14", precent: "15",
description: " ", description: " ",
color: "#d59ab3", color: "#d59ab3",
bgcolor: "bg-[#d59ab3]", bgcolor: "bg-[#d59ab3]",
}, },
{
name: "Advisor",
title: "Advisor - 2%",
precent: "2",
description: " ",
color: "#705788",
bgcolor: "bg-[#705788]",
},
]; ];
// const dataSchedule = [
// {
// title: "Ecosystem Growth",
// description:
// "5 years vesting, 30% at TGE (Token Generation Event), then locked for 1 year and unlocked every block from year 2.",
// },
// {
// title: "Community Development",
// description:
// "5 years vesting, 30% at TGE (Token Generation Event), then locked for 1 year and unlocked every block from the 2nd year.",
// },
// {
// title: "Team",
// description:
// "5 years vesting, 1 year course, and lock pattern are in each block from the 2nd year.",
// },
// {
// title: "Strategic Sale",
// description:
// "2 years vesting, 1 year course, and lock pattern are all block by block from 2nd year.",
// },
// {
// title: "Treasury",
// description:
// "5 years vesting, 10% at TGE (Token Generation Event), then locked for 1 year and unlocked every block from year 2.",
// },
// {
// title: "Seed Sale",
// description:
// "3 years vesting, 1 year lock and unlock in each block from the 2nd year.",
// },
// {
// title: "Binance Launchpad Sale",
// description: "100% key at TGE.",
// },
// {
// title: "Advisors",
// description:
// "3 years vesting, 1-year lock, and lock pattern are all block by block from 2nd year.",
// },
// ];
const TokenomicsSection = (props: Props) => { const TokenomicsSection = (props: Props) => {
const { t } = useTranslation("tokenomicHome");
const [isVisible, setIsVisible] = useState(false); const [isVisible, setIsVisible] = useState(false);
const [tokenomicData, setTokenomicData] = useState([]);
useEffect(() => { useEffect(() => {
setTokenomicData(t("array", { returnObjects: true }));
const section = document.getElementById("tokenomics"); const section = document.getElementById("tokenomics");
const observer = new IntersectionObserver( const observer = new IntersectionObserver(
([entry]) => { ([entry]) => {
setIsVisible(entry.isIntersecting); setIsVisible(entry.isIntersecting);
}, },
{ threshold: 0.4 } { threshold: 0.2 }
); );
if (!section) { if (!section) {
@ -102,7 +154,7 @@ const TokenomicsSection = (props: Props) => {
return () => { return () => {
observer.unobserve(section); observer.unobserve(section);
}; };
}, []); }, [t]);
useEffect(() => { useEffect(() => {
console.log("isVisible", isVisible); console.log("isVisible", isVisible);
@ -186,11 +238,11 @@ const TokenomicsSection = (props: Props) => {
return ( return (
<div className="w-full pb-24 scroll-mt-16" id="tokenomics"> <div className="w-full pb-24 scroll-mt-16" id="tokenomics">
<div className="container w-[94%] mx-auto"> <div className="container w-[94%] mx-auto">
<h1 className="text-4xl text-white font-bold text-center mb-16 hover:text-orange-400"> <h1 className="text-4xl text-white font-bold text-center mb-12 hover:text-orange-400">
Tokenomics Tokenomics
</h1> </h1>
<div className="w-full flex justify-center items-center lg:justify-between lg:flex-row"> <div className="w-full flex justify-center items-center lg:justify-between lg:flex-row flex-wrap gap-10">
<div className="w-full flex justify-center"> <div className="w-full lg:w-[45%] flex justify-center">
<animated.div <animated.div
style={{ ...styles }} style={{ ...styles }}
className="w-[300px] sm:w-[350px] md:w-[500px] lg:w-[550px]" className="w-[300px] sm:w-[350px] md:w-[500px] lg:w-[550px]"
@ -202,28 +254,29 @@ const TokenomicsSection = (props: Props) => {
/> />
</animated.div> </animated.div>
</div> </div>
<div className="w-full lg:w-[45%] justify-center">
{/* <div className="w-full justify-center"> <animated.li style={{ ...styles }} className={``}>
<ul className="flex flex-col items-end justify-center h-full gap-3 px-3 max-sm:pt-10 cursor-pointer"> <h2 className="text-white text-center font-bold text-xl pb-4 md:pb-6 lg:pb-8">
{tokenomics.map((item, index) => { {t("heading")}
</h2>
<ul className="flex flex-col items-end justify-center w-3/4 md:w-full h-full gap-8 px-3 mx-auto">
{tokenomicData.map((item: any, index) => {
return ( return (
<animated.li
key={index}
className={`text-center w-full lg:w-3/4 bg-slate-200 py-3 relative animate__backInDown`}
style={{ ...styles1 }}
>
<div <div
className={`absolute h-full top-0 w-2 ${item.bgcolor}`} key={index + 1}
></div> className="w-full relative text-center border-2 border-[#06B6D4] text-white py-3 animate__backInDown rounded-lg px-4"
<h4 className="text-xl font-bold text-gray-700"> >
{item.title} <h4 className="text-xl font-bold">{item?.title}</h4>
</h4> <p>{item?.description}</p>
<p className="text-gray-500">{item.description}</p> {index < tokenomicData.length - 1 && (
</animated.li> <div className="absolute bottom-[-24px] left-1/2 translate-x-[-50%] h-3 w-3 bg-[#06B6D4] border-2 border-white rounded-[50%]"></div>
)}
</div>
); );
})} })}
</ul> </ul>
</div> */} </animated.li>
</div>
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save