Skip to content

Commit 8d0f9bd

Browse files
committed
Merge branch 'dev' into placeholder-images
2 parents 77385cd + 42927ce commit 8d0f9bd

40 files changed

+635
-161
lines changed

.all-contributorsrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10956,6 +10956,15 @@
1095610956
"contributions": [
1095710957
"content"
1095810958
]
10959+
},
10960+
{
10961+
"login": "duckdegen",
10962+
"name": "duckdegen",
10963+
"avatar_url": "https://avatars.githubusercontent.com/u/98649644?v=4",
10964+
"profile": "https://github.com/duckdegen",
10965+
"contributions": [
10966+
"content"
10967+
]
1095910968
}
1096010969
],
1096110970
"contributorsPerLine": 7,

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1710,6 +1710,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
17101710
<td align="center" valign="top" width="14.28%"><a href="http://benedikt-wagner.dev"><img src="https://avatars.githubusercontent.com/u/113296072?v=4?s=100" width="100px;" alt="Benedikt Wagner"/><br /><sub><b>Benedikt Wagner</b></sub></a><br /><a href="#content-b-wagn" title="Content">🖋</a></td>
17111711
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tdahar"><img src="https://avatars.githubusercontent.com/u/18716811?v=4?s=100" width="100px;" alt="Tarun Mohandas Daryanani"/><br /><sub><b>Tarun Mohandas Daryanani</b></sub></a><br /><a href="#content-tdahar" title="Content">🖋</a></td>
17121712
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Crosstons"><img src="https://avatars.githubusercontent.com/u/110349596?v=4?s=100" width="100px;" alt="Shubh"/><br /><sub><b>Shubh</b></sub></a><br /><a href="#content-Crosstons" title="Content">🖋</a></td>
1713+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/duckdegen"><img src="https://avatars.githubusercontent.com/u/98649644?v=4?s=100" width="100px;" alt="duckdegen"/><br /><sub><b>duckdegen</b></sub></a><br /><a href="#content-duckdegen" title="Content">🖋</a></td>
17131714
</tr>
17141715
</tbody>
17151716
</table>

public/content/community/get-involved/index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Start by reading about the ethereum.org mission and values in our [code of condu
1919
- Watch or participate in the [Core Dev calls](https://www.youtube.com/playlist?list=PLaM7G4Llrb7zfMXCZVEXEABT8OSnd4-7w)
2020
- [Ecosystem Support Program's wishlist](https://esp.ethereum.foundation/wishlist/) - tooling, documentation, and infrastructure areas where the Ethereum Ecosystem Support Program is actively seeking grant applications
2121
- [Web3Bridge](https://www.web3bridge.com/) - join the aspiring web3 community in their initiative to identify, train, and support hundreds of developers and community members throughout Africa
22-
- Join the [Ethereum Cat Herders Discord](https://discord.io/EthCatHerders)
22+
- Join the [Ethereum Cat Herders Discord](https://discord.com/invite/Nz6rtfJ8Cu)
2323

2424
## Researchers & Academics <Emoji text=":mag:" size={1} />‍ {#researchers-and-academics}
2525

@@ -33,7 +33,7 @@ Do you have a background in mathematics, cryptography, or economics? You might b
3333
- Learn how to become an [EIP Editor](https://eips.ethereum.org/EIPS/eip-5069)
3434
- You can peer-review EIPs right now! See [open PRs with the `e-review` tag](https://github.com/ethereum/EIPs/pulls?q=is%3Apr+is%3Aopen+label%3Ae-review). Provide technical feedback on the `discussion-to` link.
3535
- Participate in [EIP Governance](https://github.com/ethereum-cat-herders/EIPIP)
36-
- Join the [Ethereum Cat Herders Discord](https://discord.io/EthCatHerders)
36+
- Join the [Ethereum Cat Herders Discord](https://discord.com/invite/Nz6rtfJ8Cu)
3737
- [More on EIPs](/eips/)
3838
- [Challenges.ethereum.org](https://challenges.ethereum.org/) - a series of high-value research bounties, where you can earn >$100,000 USD
3939
- [Ethresear.ch](https://ethresear.ch) - Ethereum’s primary forum for research, and the world’s most influential forum for cryptoeconomics
@@ -103,6 +103,7 @@ The Ethereum ecosystem is on a mission to fund public goods and impactful projec
103103
- [ethereum.org jobs](/about/#open-jobs)
104104
- [Ethereum Foundation job board (Lever)](https://jobs.lever.co/ethereumfoundation)
105105
- [Ethereum Foundation job board (BambooHR)](https://ethereum.bamboohr.com/jobs/)
106+
- [JobStash](https://jobstash.xyz)
106107
- [Cryptocurrency Jobs](https://cryptocurrencyjobs.co/ethereum/)
107108
- [Crypto.jobs](https://crypto.jobs/)
108109
- [Careers at ConsenSys](https://consensys.net/careers/)

public/content/glossary/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ lang: en
226226

227227
<GlossaryDefinition term="immutable-deployed-code-problem" />
228228

229-
<GlossaryDefinition term="internal-transactions" />
229+
<GlossaryDefinition term="internal-transaction" />
230230

231231
<GlossaryDefinition term="issuance" />
232232

public/content/translations/de/roadmap/beacon-chain/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ lang: de
55
template: upgrade
66
image: /upgrades/core.png
77
alt:
8-
summaryPoint1: Mit der Bacon Chain wurde Proof-of-Stake in das Ethereum Ökosystem eingeführt.
8+
summaryPoint1: Mit der Beacon Chain wurde Proof-of-Stake in das Ethereum Ökosystem eingeführt.
99
summaryPoint2: Sie wurde 2022 mit der ursprünglichen Ethereum Proof-of-Work Blockchain vereinigt.
1010
summaryPoint3: Die Beacon Chain führte die Konsenslogik und das Block-Gossip-Protokoll ein, das nun Ethereum sichert.
1111
---

public/content/translations/ja/developers/docs/mev/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ lang: ja
3232

3333
一部のサーチャーは、利益を伴う MEV 機会を検出するために複雑なアルゴリズムを開発する代わりに、汎用的なフロントランナーを実行します。 汎用フロントランナーとは、利益を伴うトランザクションを検出するためにメモリプールを監視するボットです。 汎用フロントランナーは、潜在的に利益を伴うトランザクションのコードをコピーし、フロントランナーのアドレスで置き換えた上でトランザクションをローカルで実行することで、修正後のトランザクションがフロントランナーのアドレスに収益をもたらすことをダブルチェックします。 このトランザクションが実際に利益をもたらすことが確認できれば、フロントランナーはアドレスを置き換えた修正後のトランザクションをより高いガス代と共に送信し、本来のトランザクションよりも「優位に立つ」ことで、本来のサーチャーが得ようとした MEV を獲得することができるのです。
3434

35-
### ブラッシュボット {#mev-extraction-flashbots}
35+
### フラッシュボット {#mev-extraction-flashbots}
3636

3737
フラッシュボットは、実行クライアントを拡張する独立したプロジェクトであり、サーチャーに対して、パブリックのメモリプールに公開することなく、MEV トランザクションをバリデータに送信できるサービスを提供します。 このサービスを使用すれば、汎用フロントランナーを用いたトランザクションに実行を先回りされることを防ぐことができます。
3838

src/components/Breadcrumbs/index.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ import {
77
type BreadcrumbProps as ChakraBreadcrumbProps,
88
} from "@chakra-ui/react"
99

10+
import type { Lang } from "@/lib/types"
11+
1012
import { BaseLink } from "@/components/Link"
1113

14+
import { isLangRightToLeft } from "@/lib/utils/translations"
15+
1216
export type BreadcrumbsProps = ChakraBreadcrumbProps & {
1317
slug: string
1418
startDepth?: number
@@ -39,6 +43,7 @@ const Breadcrumbs = ({
3943
}: BreadcrumbsProps) => {
4044
const { t } = useTranslation("common")
4145
const { locale, asPath } = useRouter()
46+
const dir = isLangRightToLeft(locale! as Lang) ? "rtl" : "ltr"
4247

4348
const hasHome = asPath !== "/"
4449
const slug = originalSlug.replace(`/${locale}/`, "/")
@@ -65,7 +70,7 @@ const Breadcrumbs = ({
6570
.slice(startDepth)
6671

6772
return (
68-
<Breadcrumb {...props}>
73+
<Breadcrumb {...props} dir={dir}>
6974
{crumbs.map(({ fullPath, text }) => {
7075
const isCurrentPage = slug === fullPath
7176
return (

src/components/CalloutBanner.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export type CalloutBannerProps = FlexProps & {
1111
children?: React.ReactNode
1212
image: ImageProps["src"]
1313
imageWidth?: number
14-
maxImageWidth?: ImageProps["width"]
1514
titleKey: TranslationKey
1615
descriptionKey: TranslationKey
1716
alt: string
@@ -20,7 +19,6 @@ export type CalloutBannerProps = FlexProps & {
2019
const CalloutBanner = ({
2120
image,
2221
imageWidth,
23-
maxImageWidth,
2422
titleKey,
2523
descriptionKey,
2624
alt,
@@ -44,11 +42,10 @@ const CalloutBanner = ({
4442
src={image}
4543
alt={alt}
4644
width={imageWidth}
47-
maxW={{ base: "auto", md: maxImageWidth }}
4845
style={{
4946
objectFit: "contain",
5047
}}
51-
alignSelf="center"
48+
mx="auto"
5249
mt={-24}
5350
mb={{ base: 0, lg: -24 }}
5451
/>

src/components/CodeModal.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,7 @@ const CodeModal = ({ children, isOpen, setIsOpen, title }: CodeModalProps) => (
2525
<ModalOverlay />
2626
<ModalContent>
2727
<ModalHeader>{title}</ModalHeader>
28-
<ModalCloseButton
29-
style={{
30-
right: "unset",
31-
insetInlineEnd: "var(--eth-sizes-4)",
32-
}}
33-
/>
28+
<ModalCloseButton />
3429
<ModalBody>{children}</ModalBody>
3530
</ModalContent>
3631
</Modal>

src/components/DocsNav.tsx

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
// TODO: Implement with RTL locale responsiveness
2-
import React from "react"
1+
import { useRouter } from "next/router"
2+
import { useTranslation } from "next-i18next"
33
import {
44
Box,
55
Flex,
@@ -15,12 +15,13 @@ import type { DeveloperDocsLink } from "@/lib/interfaces"
1515
import Emoji from "@/components/Emoji"
1616
import { BaseLink } from "@/components/Link"
1717
import Text from "@/components/OldText"
18-
import Translation from "@/components/Translation"
1918

2019
import { trackCustomEvent } from "@/lib/utils/matomo"
2120

2221
import docLinks from "@/data/developer-docs-links.yaml"
2322

23+
import { useRtlFlip } from "@/hooks/useRtlFlip"
24+
2425
const TextDiv: React.FC<FlexProps> = ({ children, ...props }) => (
2526
<Flex
2627
direction="column"
@@ -36,22 +37,23 @@ const TextDiv: React.FC<FlexProps> = ({ children, ...props }) => (
3637
</Flex>
3738
)
3839

39-
export interface DocsArrayProps {
40+
type DocsArrayProps = {
4041
to: string
4142
id: TranslationKey
4243
}
4344

44-
const CardLink = (props: {
45+
type CardLinkProps = {
4546
docData: DocsArrayProps
47+
contentNotTranslated: boolean
4648
isPrev?: boolean
47-
isNext?: boolean
48-
}) => {
49-
const { docData, isPrev, isNext } = props
49+
}
50+
51+
const CardLink = ({ docData, isPrev, contentNotTranslated }: CardLinkProps) => {
52+
const { t } = useTranslation("page-developers-docs")
53+
const { flipForRtl } = useRtlFlip()
54+
55+
const xPadding = isPrev ? { ps: "0" } : { pe: 0 }
5056

51-
const xPadding = {
52-
...(isPrev && { ps: "0" }),
53-
...(isNext && { pe: "0" }),
54-
}
5557
return (
5658
<LinkBox
5759
as={Flex}
@@ -69,11 +71,12 @@ const CardLink = (props: {
6971
<Emoji
7072
text={isPrev ? ":point_left:" : ":point_right:"}
7173
fontSize="5xl"
74+
transform={contentNotTranslated ? undefined : flipForRtl}
7275
/>
7376
</Box>
74-
<TextDiv {...xPadding} {...(isNext && { textAlign: "end" })}>
77+
<TextDiv {...xPadding} {...(!isPrev && { textAlign: "end" })}>
7578
<Text textTransform="uppercase" m="0">
76-
<Translation id={isPrev ? "previous" : "next"} />
79+
{t(isPrev ? "previous" : "next")}
7780
</Text>
7881
<LinkOverlay
7982
as={BaseLink}
@@ -88,18 +91,19 @@ const CardLink = (props: {
8891
})
8992
}}
9093
>
91-
<Translation id={`page-developers-docs:${docData.id}`} />
94+
{t(docData.id)}
9295
</LinkOverlay>
9396
</TextDiv>
9497
</LinkBox>
9598
)
9699
}
97100

98-
export interface IProps {
99-
relativePath: string
101+
type DocsNavProps = {
102+
contentNotTranslated: boolean
100103
}
101104

102-
const DocsNav: React.FC<IProps> = ({ relativePath }) => {
105+
const DocsNav = ({ contentNotTranslated }: DocsNavProps) => {
106+
const { asPath } = useRouter()
103107
// Construct array of all linkable documents in order recursively
104108
const docsArray: DocsArrayProps[] = []
105109
const getDocs = (links: Array<DeveloperDocsLink>): void => {
@@ -124,7 +128,7 @@ const DocsNav: React.FC<IProps> = ({ relativePath }) => {
124128
// Find index that matches current page
125129
let currentIndex = 0
126130
for (let i = 0; i < docsArray.length; i++) {
127-
if (relativePath.indexOf(docsArray[i].to) > -1) {
131+
if (asPath.indexOf(docsArray[i].to) > -1) {
128132
currentIndex = i
129133
}
130134
}
@@ -142,8 +146,23 @@ const DocsNav: React.FC<IProps> = ({ relativePath }) => {
142146
justify="space-between"
143147
alignItems={{ base: "center", md: "flex-start" }}
144148
>
145-
{previousDoc ? <CardLink docData={previousDoc} isPrev /> : <Spacer />}
146-
{nextDoc ? <CardLink docData={nextDoc} isNext /> : <Spacer />}
149+
{previousDoc ? (
150+
<CardLink
151+
docData={previousDoc}
152+
contentNotTranslated={contentNotTranslated}
153+
isPrev
154+
/>
155+
) : (
156+
<Spacer />
157+
)}
158+
{nextDoc ? (
159+
<CardLink
160+
docData={nextDoc}
161+
contentNotTranslated={contentNotTranslated}
162+
/>
163+
) : (
164+
<Spacer />
165+
)}
147166
</Flex>
148167
)
149168
}

0 commit comments

Comments
 (0)