Skip to content

Commit a353df1

Browse files
authored
Merge pull request #177 from ethereum/vision-page
Add vision page, update associated components
2 parents a7b456b + 1b23f8f commit a353df1

File tree

6 files changed

+326
-29
lines changed

6 files changed

+326
-29
lines changed

src/components/PageHero.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type ButtonType = Omit<ButtonProps, "content"> & {
2222
matomo: MatomoEventOptions
2323
}
2424

25-
type ContentType = {
25+
export type ContentType = {
2626
buttons?: (ButtonLinkType | ButtonType)[]
2727
title: ReactNode
2828
header: ReactNode

src/components/Trilemma/index.tsx

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from "react"
1+
import { useTranslation } from "next-i18next"
22
import {
33
Drawer,
44
DrawerCloseButton,
@@ -9,17 +9,16 @@ import {
99
useToken,
1010
} from "@chakra-ui/react"
1111

12-
import Card from "../Card"
13-
import OldHeading from "../OldHeading"
14-
import Text from "../OldText"
15-
import Translation from "../Translation"
12+
import Card from "@/components/Card"
13+
import OldHeading from "@/components/OldHeading"
14+
import Text from "@/components/OldText"
1615

17-
import { IProps as TriangleSVGProps,TriangleSVG } from "./Triangle"
16+
import { IProps as TriangleSVGProps, TriangleSVG } from "./Triangle"
1817
import { useTrilemma } from "./useTrilemma"
1918

20-
export interface IProps {}
19+
const Trilemma = () => {
20+
const { t } = useTranslation("page-roadmap-vision")
2121

22-
const Trilemma: React.FC<IProps> = () => {
2322
const {
2423
trilemmaChecks,
2524
mobileModalOpen,
@@ -53,19 +52,19 @@ const Trilemma: React.FC<IProps> = () => {
5352
}}
5453
>
5554
<OldHeading fontSize="2rem" mt={0}>
56-
<Translation id="page-roadmap-vision-trilemma-h2" />
55+
{t("page-roadmap-vision-trilemma-h2")}
5756
</OldHeading>
5857
<Text>
59-
<Translation id="page-roadmap-vision-trilemma-p" />
58+
{t("page-roadmap-vision-trilemma-p")}
6059
</Text>
6160
<Text>
62-
<Translation id="page-roadmap-vision-trilemma-p-1" />
61+
{t("page-roadmap-vision-trilemma-p-1")}
6362
</Text>
6463
<Text>
65-
<Translation id="page-roadmap-vision-trilemma-p-2" />
64+
{t("page-roadmap-vision-trilemma-p-2")}
6665
</Text>
6766
<Text fontWeight={600} hideFrom={lgBp}>
68-
<Translation id="page-roadmap-vision-trilemma-modal-tip" />:
67+
{t("page-roadmap-vision-trilemma-modal-tip")}:
6968
</Text>
7069
<Card {...cardDetail} mt={8} minH="300px" hideBelow={lgBp} />
7170
</Flex>

src/components/Trilemma/useTrilemma.tsx

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import React, { useState } from "react"
1+
import { useState } from "react"
2+
import { useTranslation } from "next-i18next"
23

34
import { IProps as CardProps } from "../Card"
4-
import Translation from "../Translation"
55

66
/**
77
* The `selection` param accepted values for the click handler
@@ -13,6 +13,8 @@ export type HandleClickParam =
1313
| "isScalableAndSecure"
1414

1515
export const useTrilemma = () => {
16+
const { t } = useTranslation("page-roadmap-vision")
17+
1618
const [state, setState] = useState({
1719
isDecentralizedAndSecure: false,
1820
isDecentralizedAndScalable: false,
@@ -73,20 +75,20 @@ export const useTrilemma = () => {
7375
})
7476
}
7577

76-
let cardTitle = <Translation id="page-roadmap-vision-trilemma-title-1" />
77-
let cardText = <Translation id="page-roadmap-vision-trilemma-press-button" />
78+
let cardTitle = t("page-roadmap-vision-trilemma-title-1")
79+
let cardText = t("page-roadmap-vision-trilemma-press-button")
7880
if (isEthereum) {
79-
cardTitle = <Translation id="page-roadmap-vision-trilemma-title-2" />
80-
cardText = <Translation id="page-roadmap-vision-trilemma-cardtext-1" />
81+
cardTitle = t("page-roadmap-vision-trilemma-title-2")
82+
cardText = t("page-roadmap-vision-trilemma-cardtext-1")
8183
} else if (state.isDecentralizedAndSecure) {
82-
cardTitle = <Translation id="page-roadmap-vision-trilemma-title-3" />
83-
cardText = <Translation id="page-roadmap-vision-trilemma-cardtext-2" />
84+
cardTitle = t("page-roadmap-vision-trilemma-title-3")
85+
cardText = t("page-roadmap-vision-trilemma-cardtext-2")
8486
} else if (state.isDecentralizedAndScalable) {
85-
cardTitle = <Translation id="page-roadmap-vision-trilemma-title-4" />
86-
cardText = <Translation id="page-roadmap-vision-trilemma-cardtext-3" />
87+
cardTitle = t("page-roadmap-vision-trilemma-title-4")
88+
cardText = t("page-roadmap-vision-trilemma-cardtext-3")
8789
} else if (state.isScalableAndSecure) {
88-
cardTitle = <Translation id="page-roadmap-vision-trilemma-title-5" />
89-
cardText = <Translation id="page-roadmap-vision-trilemma-cardtext-4" />
90+
cardTitle = t("page-roadmap-vision-trilemma-title-5")
91+
cardText = t("page-roadmap-vision-trilemma-cardtext-4")
9092
}
9193

9294
return {

src/lib/utils/translations.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,14 @@ const getRequiredNamespacesForPath = (path: string) => {
113113
requiredNamespaces = [...requiredNamespaces, "page-languages"]
114114
}
115115

116+
if (path.startsWith("/roadmap/vision")) {
117+
requiredNamespaces = [
118+
...requiredNamespaces,
119+
"page-roadmap-vision",
120+
"page-upgrades-index",
121+
]
122+
}
123+
116124
if (path.startsWith("/gas")) {
117125
requiredNamespaces = [...requiredNamespaces, "page-gas", "page-community"]
118126
}

0 commit comments

Comments
 (0)