diff --git a/package-lock.json b/package-lock.json index d6c11ad..2fac88d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,9 +21,11 @@ "react-chartjs-2": "^4.3.1", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^18.2.0", + "react-google-charts": "^4.0.0", "react-i18next": "^12.2.0", "react-icons": "^4.7.1", "react-router-dom": "^6.8.2", + "react-router-hash-link": "^2.4.3", "recharts": "^2.5.0", "sort-by": "^0.0.2" }, @@ -32,6 +34,7 @@ "@types/react-copy-to-clipboard": "^5.0.4", "@types/react-dom": "^18.0.10", "@types/react-router-dom": "^5.3.3", + "@types/react-router-hash-link": "^2.4.6", "autoprefixer": "^10.4.13", "postcss": "^8.4.21", "postcss-import": "^15.1.0", @@ -720,6 +723,17 @@ "@types/react-router": "*" } }, + "node_modules/@types/react-router-hash-link": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@types/react-router-hash-link/-/react-router-hash-link-2.4.6.tgz", + "integrity": "sha512-JOV4Q1N60tJJUPisS/u1jiXn8c4jX7ThQf8XavzZYIWOIv0RP17nbyI9YgEZh1r3APXpP9ZkU1ytrlv+1+8jcw==", + "dev": true, + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-dom": "^5.3.0" + } + }, "node_modules/@types/scheduler": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", @@ -1815,6 +1829,15 @@ "react": "^18.2.0" } }, + "node_modules/react-google-charts": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-google-charts/-/react-google-charts-4.0.0.tgz", + "integrity": "sha512-9OG0EkBb9JerKEPQYdhmAXnhGLzOdOHOPS9j7l+P1a3z1kcmq9mGDa7PUoX/VQUY4IjZl2/81nsO4o+1cuYsuw==", + "peerDependencies": { + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, "node_modules/react-i18next": { "version": "12.2.0", "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.2.0.tgz", @@ -1896,6 +1919,18 @@ "react-dom": ">=16.8" } }, + "node_modules/react-router-hash-link": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/react-router-hash-link/-/react-router-hash-link-2.4.3.tgz", + "integrity": "sha512-NU7GWc265m92xh/aYD79Vr1W+zAIXDWp3L2YZOYP4rCqPnJ6LI6vh3+rKgkidtYijozHclaEQTAHaAaMWPVI4A==", + "dependencies": { + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router-dom": ">=4" + } + }, "node_modules/react-smooth": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-2.0.2.tgz", diff --git a/package.json b/package.json index 1801de1..ea60d08 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,11 @@ "react-chartjs-2": "^4.3.1", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^18.2.0", + "react-google-charts": "^4.0.0", "react-i18next": "^12.2.0", "react-icons": "^4.7.1", "react-router-dom": "^6.8.2", + "react-router-hash-link": "^2.4.3", "recharts": "^2.5.0", "sort-by": "^0.0.2" }, @@ -33,6 +35,7 @@ "@types/react-copy-to-clipboard": "^5.0.4", "@types/react-dom": "^18.0.10", "@types/react-router-dom": "^5.3.3", + "@types/react-router-hash-link": "^2.4.6", "autoprefixer": "^10.4.13", "postcss": "^8.4.21", "postcss-import": "^15.1.0", diff --git a/public/images/image19.png b/public/images/image19.png new file mode 100644 index 0000000..c9a9a58 Binary files /dev/null and b/public/images/image19.png differ diff --git a/public/images/image20.png b/public/images/image20.png new file mode 100644 index 0000000..79e6aa0 Binary files /dev/null and b/public/images/image20.png differ diff --git a/public/images/image21.png b/public/images/image21.png new file mode 100644 index 0000000..4c17501 Binary files /dev/null and b/public/images/image21.png differ diff --git a/public/images/image22.png b/public/images/image22.png new file mode 100644 index 0000000..c63ff90 Binary files /dev/null and b/public/images/image22.png differ diff --git a/src/assets/images/image19.png b/src/assets/images/image19.png new file mode 100644 index 0000000..c9a9a58 Binary files /dev/null and b/src/assets/images/image19.png differ diff --git a/src/assets/images/image20.png b/src/assets/images/image20.png new file mode 100644 index 0000000..79e6aa0 Binary files /dev/null and b/src/assets/images/image20.png differ diff --git a/src/assets/images/image21.png b/src/assets/images/image21.png new file mode 100644 index 0000000..4c17501 Binary files /dev/null and b/src/assets/images/image21.png differ diff --git a/src/assets/images/image22.png b/src/assets/images/image22.png new file mode 100644 index 0000000..c63ff90 Binary files /dev/null and b/src/assets/images/image22.png differ diff --git a/src/i18n/en/healthCare/approachSection.json b/src/i18n/en/healthCare/approachSection.json new file mode 100644 index 0000000..f8c459c --- /dev/null +++ b/src/i18n/en/healthCare/approachSection.json @@ -0,0 +1,50 @@ +{ + "data": [ + { + "id": 1, + "title": "Step 1​", + "contents": [ + { + "content": "Build MVP version of product that provides a free chatbot service on diseases for users." + }, + { + "content": "Attract a large number of users to experience the best features of the product.​" + }, + { + "content": "Become an application that users use before they use Google.​" + } + ] + }, + { + "id": 2, + "title": "Step 2​", + "contents": [ + { + "content": "Add more accurate and reliable data sources​." + }, + { + "content": "For each answer, additional questions will be asked to encourage users to provide more information​.​" + }, + { + "content": "Enhance the ability to synthesize disease information from conversation history with users​.​" + } + ] + }, + { + "id": 3, + "title": "Step 3​", + "contents": [ + { + "content": "Refine the product based on user feedback​." + }, + { + "content": "Provide additional valuable services such as:​", + "navcontent": [ + "Suggesting reputable clinics to users.", + "Booking medical appointments." + ] + } + ] + } + ] +} diff --git a/src/i18n/en/healthCare/customerInsight.json b/src/i18n/en/healthCare/customerInsight.json new file mode 100644 index 0000000..9422188 --- /dev/null +++ b/src/i18n/en/healthCare/customerInsight.json @@ -0,0 +1,7 @@ +{ + "title": "Customer Insight​", + "content1": "Users need a reliable and easy-to-understand source of information.​", + "content2": "Users dislike having to synthesize complex information after conducting searches.​​​", + "content3": "Users prefer to search for information about illnesses as a reference before seeing a doctor.​", + "content4": "People with mental health issues tend to prefer texting about their problems​.​" +} diff --git a/src/i18n/en/healthCare/firstSection.json b/src/i18n/en/healthCare/firstSection.json new file mode 100644 index 0000000..4562dc5 --- /dev/null +++ b/src/i18n/en/healthCare/firstSection.json @@ -0,0 +1,3 @@ +{ + "title": "SGPT for Healthcare" +} diff --git a/src/i18n/en/healthCare/problemsSection.json b/src/i18n/en/healthCare/problemsSection.json new file mode 100644 index 0000000..c3ae122 --- /dev/null +++ b/src/i18n/en/healthCare/problemsSection.json @@ -0,0 +1,23 @@ +{ + "title": "The Problems​", + "data": [ + { + "id": 1, + "src": "../../../../public/images/image19.png", + "title": "User behavior", + "content": "Satisfying the habit of searching for any unusual signs related to the user's health" + }, + { + "id": 2, + "src": "../../../../public/images/image20.png", + "title": "User Information​", + "content": "Providing accurate and easy-to-understand information for users​" + }, + { + "id": 3, + "src": "../../../../public/images/image21.png", + "title": "Interaction", + "content": "Providing a good user experience with high interactivity, encourage users to provide more valuable information about their illness​" + } + ] +} diff --git a/src/i18n/en/healthCare/solutionsOfProduct​.json b/src/i18n/en/healthCare/solutionsOfProduct​.json new file mode 100644 index 0000000..470d35f --- /dev/null +++ b/src/i18n/en/healthCare/solutionsOfProduct​.json @@ -0,0 +1,22 @@ +{ + "data1": { + "title": "DATA", + "contents": { + "content1": "Reliable and authoritative data sources.", + "content2": "The data is certified by hospitals and specialist doctors." + } + }, + "data2": { + "title": "TECHNOLOGY", + "contents": { + "content1": "The development and research team has extensive experience in developing products in the healthcare industry." + } + }, + "data3": { + "title": "CUSTOMIZATION", + "contents": { + "content1": "The server is designed to handle large amounts of data and has high scalabilit.", + "content2": "The system is highly customizable and adaptable to each business and hospital." + } + } +} diff --git a/src/i18n/en/aboutSection.json b/src/i18n/en/home/aboutSection.json similarity index 100% rename from src/i18n/en/aboutSection.json rename to src/i18n/en/home/aboutSection.json diff --git a/src/i18n/en/firstSection.json b/src/i18n/en/home/firstSection.json similarity index 100% rename from src/i18n/en/firstSection.json rename to src/i18n/en/home/firstSection.json diff --git a/src/i18n/en/home/qna.json b/src/i18n/en/home/qna.json new file mode 100644 index 0000000..f1511ec --- /dev/null +++ b/src/i18n/en/home/qna.json @@ -0,0 +1,116 @@ +{ + "navtitle": "See some of the most frequently asked questions about Fight", + "data": [ + { + "id": 1, + "title": "What is Fight Out?", + "bgcolor": "bg-[#CC99FF]", + "contents": [ + { + "id": 1, + "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", + "bgcolor": "bg-[#9999FF]" + }, + { + "id": 2, + "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", + "bgcolor": "bg-[#6699FF]" + }, + { + "id": 3, + "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", + "bgcolor": "bg-[#3399FF]" + }, + { + "id": 4, + "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", + "bgcolor": "bg-[#0099FF]" + } + ] + }, + { + "id": 2, + "title": "Why Include Train-and-Earn?", + "bgcolor": "bg-[#CC66FF]", + + "contents": [ + { + "id": 1, + "bgcolor": "bg-[#9966FF]", + "content": "Play-to-Earn Web3 projects typically lack mainstream adoption due to requiring large upfront financial investments and Web3 knowledge. As Fight Out’s innovative Train-and-Earn mechanism has been specifically designed to avoid these pitfalls, it will allow Fight Out to differentiate itself in the market and be a powerful user acquisition strategy contributing to the success of the project and upward pressure on the value of $FGHT." + }, + { + "id": 2, + "bgcolor": "bg-[#6666FF]", + "content": "Play-to-Earn Web3 projects typically lack mainstream adoption due to requiring large upfront financial investments and Web3 knowledge. As Fight Out’s innovative Train-and-Earn mechanism has been specifically designed to avoid these pitfalls, it will allow Fight Out to differentiate itself in the market and be a powerful user acquisition strategy contributing to the success of the project and upward pressure on the value of $FGHT." + }, + { + "id": 3, + "bgcolor": "bg-[#3366FF]", + "content": "Play-to-Earn Web3 projects typically lack mainstream adoption due to requiring large upfront financial investments and Web3 knowledge. As Fight Out’s innovative Train-and-Earn mechanism has been specifically designed to avoid these pitfalls, it will allow Fight Out to differentiate itself in the market and be a powerful user acquisition strategy contributing to the success of the project and upward pressure on the value of $FGHT." + }, + { + "id": 4, + "bgcolor": "bg-[#0066FF]", + "content": "Play-to-Earn Web3 projects typically lack mainstream adoption due to requiring large upfront financial investments and Web3 knowledge. As Fight Out’s innovative Train-and-Earn mechanism has been specifically designed to avoid these pitfalls, it will allow Fight Out to differentiate itself in the market and be a powerful user acquisition strategy contributing to the success of the project and upward pressure on the value of $FGHT." + } + ] + }, + { + "id": 3, + "title": "What is the Fight Out avatar?", + "bgcolor": "bg-[#CC66FF]", + + "contents": [ + { + "id": 1, + "bgcolor": "bg-[#9966FF]", + "content": "Người dùng Fight Out sẽ có thể đúc hình đại diện NFT của riêng họ khi tạo tài khoản Fight Out. Hình đại diện này là linh hồn, có nghĩa là nó không thể được bán hoặc chuyển nhượng. Dữ liệu được thu thập từ đào tạo IRL và thành tích được chuyển đổi trực tiếp thành điểm chỉ số cho hình đại diện của họ. Hình đại diện của người dùng sẽ là hình ảnh kỹ thuật số của họ trong siêu vũ trụ Fight Out, nơi họ có thể giao lưu với các thành viên khác trong cộng đồng Fight Out và cạnh tranh với những người khác để giành giải thưởng." + }, + { + "id": 2, + "bgcolor": "bg-[#6666FF]", + "content": "Người dùng Fight Out sẽ có thể đúc hình đại diện NFT của riêng họ khi tạo tài khoản Fight Out. Hình đại diện này là linh hồn, có nghĩa là nó không thể được bán hoặc chuyển nhượng. Dữ liệu được thu thập từ đào tạo IRL và thành tích được chuyển đổi trực tiếp thành điểm chỉ số cho hình đại diện của họ. Hình đại diện của người dùng sẽ là hình ảnh kỹ thuật số của họ trong siêu vũ trụ Fight Out, nơi họ có thể giao lưu với các thành viên khác trong cộng đồng Fight Out và cạnh tranh với những người khác để giành giải thưởng." + }, + { + "id": 3, + "bgcolor": "bg-[#3366FF]", + "content": "Người dùng Fight Out sẽ có thể đúc hình đại diện NFT của riêng họ khi tạo tài khoản Fight Out. Hình đại diện này là linh hồn, có nghĩa là nó không thể được bán hoặc chuyển nhượng. Dữ liệu được thu thập từ đào tạo IRL và thành tích được chuyển đổi trực tiếp thành điểm chỉ số cho hình đại diện của họ. Hình đại diện của người dùng sẽ là hình ảnh kỹ thuật số của họ trong siêu vũ trụ Fight Out, nơi họ có thể giao lưu với các thành viên khác trong cộng đồng Fight Out và cạnh tranh với những người khác để giành giải thưởng." + }, + { + "id": 4, + "bgcolor": "bg-[#0066FF]", + "content": "Người dùng Fight Out sẽ có thể đúc hình đại diện NFT của riêng họ khi tạo tài khoản Fight Out. Hình đại diện này là linh hồn, có nghĩa là nó không thể được bán hoặc chuyển nhượng. Dữ liệu được thu thập từ đào tạo IRL và thành tích được chuyển đổi trực tiếp thành điểm chỉ số cho hình đại diện của họ. Hình đại diện của người dùng sẽ là hình ảnh kỹ thuật số của họ trong siêu vũ trụ Fight Out, nơi họ có thể giao lưu với các thành viên khác trong cộng đồng Fight Out và cạnh tranh với những người khác để giành giải thưởng." + } + ] + }, + { + "id": 4, + "title": "What’s next for Fight Out?", + "bgcolor": "bg-[#CC66FF]", + + "contents": [ + { + "id": 1, + "bgcolor": "bg-[#9966FF]", + "content": "We have big plans for Fight Out following our presale! Developing the Fight Out platform and metaverse, and continued onboarding of Fight Out ambassadors for bespoke training programs are all outlined in our whitepaper." + }, + { + "id": 2, + "bgcolor": "bg-[#6666FF]", + "content": "We have big plans for Fight Out following our presale! Developing the Fight Out platform and metaverse, and continued onboarding of Fight Out ambassadors for bespoke training programs are all outlined in our whitepaper." + }, + { + "id": 3, + "bgcolor": "bg-[#3366FF]", + "content": "We have big plans for Fight Out following our presale! Developing the Fight Out platform and metaverse, and continued onboarding of Fight Out ambassadors for bespoke training programs are all outlined in our whitepaper." + }, + { + "id": 4, + "bgcolor": "bg-[#0066FF]", + "content": "We have big plans for Fight Out following our presale! Developing the Fight Out platform and metaverse, and continued onboarding of Fight Out ambassadors for bespoke training programs are all outlined in our whitepaper." + } + ] + } + ] +} diff --git a/src/i18n/en/roadmap.json b/src/i18n/en/home/roadmap.json similarity index 100% rename from src/i18n/en/roadmap.json rename to src/i18n/en/home/roadmap.json diff --git a/src/i18n/en/qna.json b/src/i18n/en/qna.json deleted file mode 100644 index d86defb..0000000 --- a/src/i18n/en/qna.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "data": [ - { - "id": 1, - "title": "What is Fight Out?", - "bgcolor": "bg-[#CC99FF]", - "contents": [ - { - "id": 1, - "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", - "bgcolor": "bg-[#9999FF]" - }, - { - "id": 2, - "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", - "bgcolor": "bg-[#6699FF]" - }, - { - "id": 3, - "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", - "bgcolor": "bg-[#3399FF]" - }, - { - "id": 4, - "content": "Fight Out is changing the blueprint for metaverses. At its heart, Fight Out is a gaming platform that rewards users for competing and winning in a variety of contest modes. A player's ability to compete and how much they are rewarded is determined in part by their avatar’s attributes. Stats are increased through the Fight Out app by training in real -life.", - "bgcolor": "bg-[#0099FF]" - } - ] - }, - { - "id": 2, - "title": "Abcd", - "bgcolor": "bg-[#CC66FF]", - - "contents": [ - { - "id": 1, - "bgcolor": "bg-[#9966FF]", - "content": "ádasffjk12" - }, - { - "id": 2, - "bgcolor": "bg-[#6666FF]", - "content": "ádasffj1k" - }, - { - "id": 3, - "bgcolor": "bg-[#3366FF]", - "content": "ádasffj12k" - }, - { - "id": 4, - "bgcolor": "bg-[#0066FF]", - "content": "ádasffj123k" - } - ] - }, - { - "id": 3, - "title": "Abcd", - "bgcolor": "bg-[#CC66FF]", - - "contents": [ - { - "id": 1, - "bgcolor": "bg-[#9966FF]", - "content": "ádasffjk12" - }, - { - "id": 2, - "bgcolor": "bg-[#6666FF]", - "content": "ádasffj1k" - }, - { - "id": 3, - "bgcolor": "bg-[#3366FF]", - "content": "ádasffj12k" - }, - { - "id": 4, - "bgcolor": "bg-[#0066FF]", - "content": "ádasffj123k" - } - ] - }, - { - "id": 4, - "title": "Abcd", - "bgcolor": "bg-[#CC66FF]", - - "contents": [ - { - "id": 1, - "bgcolor": "bg-[#9966FF]", - "content": "ádasffjk12" - }, - { - "id": 2, - "bgcolor": "bg-[#6666FF]", - "content": "ádasffj1k" - }, - { - "id": 3, - "bgcolor": "bg-[#3366FF]", - "content": "ádasffj12k" - }, - { - "id": 4, - "bgcolor": "bg-[#0066FF]", - "content": "ádasffj123k" - } - ] - } - ] -} diff --git a/src/i18n/i18n.ts b/src/i18n/i18n.ts index 3cb22b8..d50ac12 100644 --- a/src/i18n/i18n.ts +++ b/src/i18n/i18n.ts @@ -1,13 +1,23 @@ import i18n from "i18next"; import { useTranslation, initReactI18next } from "react-i18next"; -import FirstSection_EN from "./en/firstSection.json"; -import FirstSection_VI from "./vi/firstSection.json"; -import AboutSection_EN from "./en/aboutSection.json"; -import AboutSection_VI from "./vi/aboutSection.json"; -import RoadMap_EN from "./en/roadmap.json"; -import RoadMap_VI from "./vi/roadmap.json"; -import QnA_EN from "./en/qna.json"; -import QnA_VI from "./vi/qna.json"; +import FirstSection_home_EN from "./en/home/firstSection.json"; +import FirstSection_home_VI from "./vi/home/firstSection.json"; +import AboutSection_home_EN from "./en/home/aboutSection.json"; +import AboutSection_home_VI from "./vi/home/aboutSection.json"; +import RoadMap_home_EN from "./en/home/roadmap.json"; +import RoadMap_home_VI from "./vi/home/roadmap.json"; +import QnA_home_EN from "./en/home/qna.json"; +import QnA_home_VI from "./vi/home/qna.json"; +import FirstSection_healthCare_EN from "./en/healthCare/firstSection.json"; +import ProblemsSection_healthCare_EN from "./en/healthCare/problemsSection.json"; +import FirstSection_healthCare_VI from "./vi/healthCare/firstSection.json"; +import ProblemsSection_healthCare_VI from "./vi/healthCare/problemsSection.json"; +import CustomerInsight_healthCare_EN from "./en/healthCare/customerInsight.json"; +import CustomerInsight_healthCare_VI from "./vi/healthCare/customerInsight.json"; +import ApproachSection_healthCare_EN from "./en/healthCare/approachSection.json"; +import ApproachSection_healthCare_VI from "./vi/healthCare/approachSection.json"; +import SolutionsOfProduct_healthCare_EN from "./en/healthCare/solutionsOfProduct​.json"; +import SolutionsOfProduct_healthCare_VI from "./vi/healthCare/solutionsOfProduct​.json"; export const locales = { en: "English", @@ -15,16 +25,26 @@ export const locales = { }; export const resources = { en: { - firstSection: FirstSection_EN, - aboutSection: AboutSection_EN, - roadmap: RoadMap_EN, - qna: QnA_EN, + firstSectionHome: FirstSection_home_EN, + aboutSectionHome: AboutSection_home_EN, + roadmapHome: RoadMap_home_EN, + qnaHome: QnA_home_EN, + firstSectionHealthCare: FirstSection_healthCare_EN, + problemsSectionHealthCare: ProblemsSection_healthCare_EN, + customerInsightHealthCare: CustomerInsight_healthCare_EN, + approachSectionHealthCare: ApproachSection_healthCare_EN, + solutionsOfProductHealthCare: SolutionsOfProduct_healthCare_EN, }, vi: { - firstSection: FirstSection_VI, - aboutSection: AboutSection_VI, - roadmap: RoadMap_VI, - qna: QnA_VI, + firstSectionHome: FirstSection_home_VI, + aboutSectionHome: AboutSection_home_VI, + roadmapHome: RoadMap_home_VI, + qnaHome: QnA_home_VI, + firstSectionHealthCare: FirstSection_healthCare_VI, + problemsSectionHealthCare: ProblemsSection_healthCare_VI, + customerInsightHealthCare: CustomerInsight_healthCare_VI, + approachSectionHealthCare: ApproachSection_healthCare_VI, + solutionsOfProductHealthCare: SolutionsOfProduct_healthCare_VI, }, }; i18n.use(initReactI18next).init({ diff --git a/src/i18n/vi/healthCare/approachSection.json b/src/i18n/vi/healthCare/approachSection.json new file mode 100644 index 0000000..6266fe7 --- /dev/null +++ b/src/i18n/vi/healthCare/approachSection.json @@ -0,0 +1,50 @@ +{ + "data": [ + { + "id": 1, + "title": "Giai đoạn 1​", + "contents": [ + { + "content": "Xây dựng phiên bản sản phẩm MVP cung cấp dịch vụ chatbot miễn phí về bệnh tật cho người dùng." + }, + { + "content": "Thu hút một lượng lớn người dùng để trải nghiệm những tính năng tốt nhất của sản phẩm.​​" + }, + { + "content": "Trở thành một ứng dụng mà người dùng sử dụng trước khi họ sử dụng Google.​" + } + ] + }, + { + "id": 2, + "title": "Giai đoạn 2​", + "contents": [ + { + "content": "Bổ sung thêm nguồn dữ liệu chính xác và đáng tin cậy." + }, + { + "content": "Đối với mỗi câu trả lời, các câu hỏi bổ sung sẽ được đặt ra để khuyến khích người dùng cung cấp thêm thông tin.​​" + }, + { + "content": "Nâng cao khả năng tổng hợp thông tin bệnh từ lịch sử hội thoại với người dùng.​​" + } + ] + }, + { + "id": 3, + "title": "Giai đoạn 3​", + "contents": [ + { + "content": "Tinh chỉnh sản phẩm dựa trên phản hồi của người dùng​." + }, + { + "content": "Cung cấp các dịch vụ có giá trị bổ sung như:​​", + "navcontent": [ + "Gợi ý phòng khám uy tín cho người dùng.", + "Đặt lịch hẹn y tế." + ] + } + ] + } + ] +} diff --git a/src/i18n/vi/healthCare/customerInsight.json b/src/i18n/vi/healthCare/customerInsight.json new file mode 100644 index 0000000..14419d4 --- /dev/null +++ b/src/i18n/vi/healthCare/customerInsight.json @@ -0,0 +1,7 @@ +{ + "title": "Thông tin chi tiết về khách hàng", + "content1": "Người dùng cần một nguồn thông tin đáng tin cậy và dễ hiểu.​", + "content2": "Người dùng không thích phải tổng hợp thông tin phức tạp sau khi tiến hành tìm kiếm.​​​", + "content3": "Người dùng thích tìm kiếm thông tin về bệnh tật để tham khảo trước khi gặp bác sĩ.​", + "content4": "Những người có vấn đề về sức khỏe tâm thần có xu hướng thích nhắn tin về các vấn đề của họ hơn.​" +} diff --git a/src/i18n/vi/healthCare/firstSection.json b/src/i18n/vi/healthCare/firstSection.json new file mode 100644 index 0000000..4562dc5 --- /dev/null +++ b/src/i18n/vi/healthCare/firstSection.json @@ -0,0 +1,3 @@ +{ + "title": "SGPT for Healthcare" +} diff --git a/src/i18n/vi/healthCare/problemsSection.json b/src/i18n/vi/healthCare/problemsSection.json new file mode 100644 index 0000000..e322cb2 --- /dev/null +++ b/src/i18n/vi/healthCare/problemsSection.json @@ -0,0 +1,23 @@ +{ + "title": "Các vấn đề​", + "data": [ + { + "id": 1, + "src": "../../../../public/images/image19.png", + "title": "Hành vi người dùng", + "content": "Thỏa mãn thói quen tìm kiếm mọi dấu hiệu bất thường liên quan đến sức khỏe của người dùng" + }, + { + "id": 2, + "src": "../../../../public/images/image20.png", + "title": "Thông tin người dùng​", + "content": "Cung cấp thông tin chính xác, dễ hiểu cho người dùng​" + }, + { + "id": 3, + "src": "../../../../public/images/image21.png", + "title": "Sự tương tác", + "content": "Mang lại trải nghiệm tốt cho người dùng với tính tương tác cao, khuyến khích người dùng cung cấp thêm thông tin giá trị về bệnh tật của họ​" + } + ] +} diff --git a/src/i18n/vi/healthCare/solutionsOfProduct​.json b/src/i18n/vi/healthCare/solutionsOfProduct​.json new file mode 100644 index 0000000..1eaf860 --- /dev/null +++ b/src/i18n/vi/healthCare/solutionsOfProduct​.json @@ -0,0 +1,22 @@ +{ + "data1": { + "title": "Dữ liệu", + "contents": { + "content1": "Nguồn dữ liệu đáng tin cậy và có thẩm quyền..", + "content2": "Số liệu được xác nhận bởi các bệnh viện và bác sĩ chuyên khoa." + } + }, + "data2": { + "title": "CÔNG NGHỆ", + "contents": { + "content1": "Nhóm nghiên cứu và phát triển có nhiều kinh nghiệm trong việc phát triển các sản phẩm trong ngành chăm sóc sức khỏe." + } + }, + "data3": { + "title": "TÙY CHỈNH", + "contents": { + "content1": "Máy chủ được thiết kế để xử lý lượng dữ liệu lớn và có khả năng mở rộng cao.", + "content2": "Hệ thống có khả năng tùy biến cao và thích ứng với từng doanh nghiệp, bệnh viện." + } + } +} diff --git a/src/i18n/vi/aboutSection.json b/src/i18n/vi/home/aboutSection.json similarity index 100% rename from src/i18n/vi/aboutSection.json rename to src/i18n/vi/home/aboutSection.json diff --git a/src/i18n/vi/firstSection.json b/src/i18n/vi/home/firstSection.json similarity index 100% rename from src/i18n/vi/firstSection.json rename to src/i18n/vi/home/firstSection.json diff --git a/src/i18n/vi/qna.json b/src/i18n/vi/home/qna.json similarity index 50% rename from src/i18n/vi/qna.json rename to src/i18n/vi/home/qna.json index 13672dc..73d062f 100644 --- a/src/i18n/vi/qna.json +++ b/src/i18n/vi/home/qna.json @@ -1,4 +1,5 @@ { + "navtitle": "Xem một số câu hỏi thường gặp nhất về Fight", "data": [ { "id": 1, @@ -29,35 +30,35 @@ }, { "id": 2, - "title": "Abcd", + "title": "Tại sao lại bao gồm Đào tạo và Kiếm tiền?", "bgcolor": "bg-[#CC66FF]", "contents": [ { "id": 1, "bgcolor": "bg-[#9966FF]", - "content": "ádasffjk12" + "content": "Các dự án Web3 chơi để kiếm tiền thường thiếu sự áp dụng chính thống do yêu cầu đầu tư tài chính trả trước lớn và kiến thức về Web3. Vì cơ chế Đào tạo và Kiếm tiền sáng tạo của Fight Out đã được thiết kế đặc biệt để tránh những cạm bẫy này, nó sẽ cho phép Fight Out tạo sự khác biệt trên thị trường và trở thành một chiến lược thu hút người dùng hiệu quả, góp phần vào sự thành công của dự án và tăng áp lực lên giá trị của $FGHT." }, { "id": 2, "bgcolor": "bg-[#6666FF]", - "content": "ádasffj1k" + "content": "Các dự án Web3 chơi để kiếm tiền thường thiếu sự áp dụng chính thống do yêu cầu đầu tư tài chính trả trước lớn và kiến thức về Web3. Vì cơ chế Đào tạo và Kiếm tiền sáng tạo của Fight Out đã được thiết kế đặc biệt để tránh những cạm bẫy này, nó sẽ cho phép Fight Out tạo sự khác biệt trên thị trường và trở thành một chiến lược thu hút người dùng hiệu quả, góp phần vào sự thành công của dự án và tăng áp lực lên giá trị của $FGHT." }, { "id": 3, "bgcolor": "bg-[#3366FF]", - "content": "ádasffj12k" + "content": "Các dự án Web3 chơi để kiếm tiền thường thiếu sự áp dụng chính thống do yêu cầu đầu tư tài chính trả trước lớn và kiến thức về Web3. Vì cơ chế Đào tạo và Kiếm tiền sáng tạo của Fight Out đã được thiết kế đặc biệt để tránh những cạm bẫy này, nó sẽ cho phép Fight Out tạo sự khác biệt trên thị trường và trở thành một chiến lược thu hút người dùng hiệu quả, góp phần vào sự thành công của dự án và tăng áp lực lên giá trị của $FGHT." }, { "id": 4, "bgcolor": "bg-[#0066FF]", - "content": "ádasffj123k" + "content": "Các dự án Web3 chơi để kiếm tiền thường thiếu sự áp dụng chính thống do yêu cầu đầu tư tài chính trả trước lớn và kiến thức về Web3. Vì cơ chế Đào tạo và Kiếm tiền sáng tạo của Fight Out đã được thiết kế đặc biệt để tránh những cạm bẫy này, nó sẽ cho phép Fight Out tạo sự khác biệt trên thị trường và trở thành một chiến lược thu hút người dùng hiệu quả, góp phần vào sự thành công của dự án và tăng áp lực lên giá trị của $FGHT." } ] }, { "id": 3, - "title": "Abcd", + "title": "Hình đại diện Fight Out là gì?", "bgcolor": "bg-[#CC66FF]", "contents": [ @@ -85,29 +86,29 @@ }, { "id": 4, - "title": "Abcd", + "title": "Điều gì tiếp theo cho Fight Out?", "bgcolor": "bg-[#CC66FF]", "contents": [ { "id": 1, "bgcolor": "bg-[#9966FF]", - "content": "ádasffjk12" + "content": "Chúng tôi có kế hoạch lớn cho Fight Out sau khi bán trước! Phát triển nền tảng Fight Out và metaverse, đồng thời tiếp tục giới thiệu các đại sứ Fight Out cho các chương trình đào tạo riêng đều được nêu trong báo cáo chính thức của chúng tôi." }, { "id": 2, "bgcolor": "bg-[#6666FF]", - "content": "ádasffj1k" + "content": "Chúng tôi có kế hoạch lớn cho Fight Out sau khi bán trước! Phát triển nền tảng Fight Out và metaverse, đồng thời tiếp tục giới thiệu các đại sứ Fight Out cho các chương trình đào tạo riêng đều được nêu trong báo cáo chính thức của chúng tôi." }, { "id": 3, "bgcolor": "bg-[#3366FF]", - "content": "ádasffj12k" + "content": "Chúng tôi có kế hoạch lớn cho Fight Out sau khi bán trước! Phát triển nền tảng Fight Out và metaverse, đồng thời tiếp tục giới thiệu các đại sứ Fight Out cho các chương trình đào tạo riêng đều được nêu trong báo cáo chính thức của chúng tôi." }, { "id": 4, "bgcolor": "bg-[#0066FF]", - "content": "ádasffj123k" + "content": "Chúng tôi có kế hoạch lớn cho Fight Out sau khi bán trước! Phát triển nền tảng Fight Out và metaverse, đồng thời tiếp tục giới thiệu các đại sứ Fight Out cho các chương trình đào tạo riêng đều được nêu trong báo cáo chính thức của chúng tôi." } ] } diff --git a/src/i18n/vi/roadmap.json b/src/i18n/vi/home/roadmap.json similarity index 100% rename from src/i18n/vi/roadmap.json rename to src/i18n/vi/home/roadmap.json diff --git a/src/index.css b/src/index.css index 311ef38..420f091 100644 --- a/src/index.css +++ b/src/index.css @@ -1,7 +1,9 @@ @tailwind base; @tailwind components; @tailwind utilities; - +html { + scroll-behavior: smooth; +} @keyframes slide-loop { 0% { transform: translateX(0); @@ -22,10 +24,8 @@ opacity: 1; transform: translateY(0%); } - } - @keyframes show-list-line { 0% { opacity: 0; @@ -35,17 +35,16 @@ opacity: 1; width: 100%; } - } -.animate-show{ - transition: all 0.3s ease ; +.animate-show { + transition: all 0.3s ease; } -.animate-show-list-language{ - transition: animation 0.5s ease; +.animate-show-list-language { + transition: animation 0.5s ease; animation: show-list-language 0.3s ease; } -.animate-show-line{ +.animate-show-line { animation: show-list-line 0.3s ease; } .animate-slide-loop { @@ -55,6 +54,11 @@ animation-iteration-count: infinite; animation-direction: alternate; } +@layer utilities { + .rotateY { + transform: rotateY(180deg); + } +} /* .text-container { white-space: nowrap; diff --git a/src/pages/SGPTProducts/Healthcare.tsx b/src/pages/SGPTProducts/Healthcare.tsx new file mode 100644 index 0000000..38a06fe --- /dev/null +++ b/src/pages/SGPTProducts/Healthcare.tsx @@ -0,0 +1,25 @@ +import BackToTopButton from "../../shared/components/backtotop"; +import Approach from "../../shared/components/healthcare/ApproachSection"; +import Competitions from "../../shared/components/healthcare/Competitions"; +import CustomerInsight from "../../shared/components/healthcare/CustomerInsight"; +import FirstSection from "../../shared/components/healthcare/FirstSection"; +import ProblemsSection from "../../shared/components/healthcare/ProblemsSection"; +import SolutionsOfProduct from "../../shared/components/healthcare/SolutionsOfProduct​"; + +type Props = {}; + +const Healthcare = (props: Props) => { + return ( +
+ + + + + + + +
+ ); +}; + +export default Healthcare; diff --git a/src/shared/components/Header.tsx b/src/shared/components/Header.tsx index 8e96940..0d9d01e 100644 --- a/src/shared/components/Header.tsx +++ b/src/shared/components/Header.tsx @@ -6,6 +6,7 @@ import { BsNewspaper, BsGithub } from "react-icons/bs"; import Whitepaper from "../../assets/Whitepaper.pdf"; import { MdLanguage } from "react-icons/md"; import { locales, resources } from "../../i18n/i18n"; +import { HashLink as Link } from "react-router-hash-link"; type Props = {}; @@ -17,20 +18,26 @@ const menuItems = [ }, { name: "About", - path: "", + path: "/", id: "about", }, { name: "Roadmap", - path: "", + path: "/", id: "roadmap", }, { name: "Tokenomics", - path: "", + path: "/", id: "tokenomics", }, ]; +const menuSGPTProducts = [ + { + name: "SGPT for Healthcare", + path: "healthcare", + }, +]; const Header = (props: Props) => { const [isScrolled, setIsScrolled] = React.useState(false); @@ -41,7 +48,7 @@ const Header = (props: Props) => { const languages = Object.keys(resources); React.useEffect(() => { // check is mobile - if (window.innerWidth <= 768) { + if (window.innerWidth <= 1024) { setIsMobile(true); } else { setIsMobile(false); @@ -62,7 +69,6 @@ const Header = (props: Props) => { }, [window.innerWidth]); const jumpToSection = (section: string) => { - console.log("section", section); const element = document.getElementById(section); if (element) { element.scrollIntoView({ behavior: "smooth" }); @@ -117,42 +123,66 @@ const Header = (props: Props) => { ) : ( <> -
- - - {currentLanguage} - -
-