Skip to content

Commit 476f801

Browse files
authored
Merge branch 'dev' into fix/translations-pt-br
2 parents c8ea8e4 + 21fc02b commit 476f801

File tree

691 files changed

+24496
-5501
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

691 files changed

+24496
-5501
lines changed

.all-contributorsrc

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6239,10 +6239,10 @@
62396239
]
62406240
},
62416241
{
6242-
"login": "mradziwon",
6243-
"name": "mradziwon",
6242+
"login": "maciejrrr",
6243+
"name": "maciejrrr",
62446244
"avatar_url": "https://avatars.githubusercontent.com/u/6785984?v=4",
6245-
"profile": "http://www.linkedin.com/in/mradziwon",
6245+
"profile": "http://www.linkedin.com/in/maciejrrr",
62466246
"contributions": [
62476247
"code",
62486248
"bug"
@@ -12732,6 +12732,24 @@
1273212732
"profile": "https://github.com/hotequil",
1273312733
"contributions": ["code", "translation"]
1273412734
},
12735+
{
12736+
"login": "microHoffman",
12737+
"name": "microHoffman",
12738+
"avatar_url": "https://avatars.githubusercontent.com/u/61500778?v=4",
12739+
"profile": "http://pwn.xyz",
12740+
"contributions": [
12741+
"bug"
12742+
]
12743+
},
12744+
{
12745+
"login": "smithrashell",
12746+
"name": "Rashell Smith",
12747+
"avatar_url": "https://avatars.githubusercontent.com/u/36465023?v=4",
12748+
"profile": "https://github.com/smithrashell",
12749+
"contributions": [
12750+
"bug"
12751+
]
12752+
}
1273512753
],
1273612754
"contributorsPerLine": 7,
1273712755
"projectName": "ethereum-org-website",

.env.example

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
# be careful not to expose sensitive data (e.g. your Algolia admin key)
55

66
# Algolia environment (app ID, search key and base search index name required for search)
7+
# You can use the following test keys provided by DocSearch for local development/testing:
8+
# NEXT_PUBLIC_ALGOLIA_APP_ID=R2IYF7ETH7
9+
# NEXT_PUBLIC_ALGOLIA_SEARCH_KEY=599cec31baffa4868cae4e79f180729b
10+
# NEXT_PUBLIC_ALGOLIA_BASE_SEARCH_INDEX_NAME=docsearch
11+
# Replace insertValue with your actual keys for production builds.
712
# NEXT_PUBLIC_ALGOLIA_APP_ID=insertValue
813
# NEXT_PUBLIC_ALGOLIA_SEARCH_KEY=insertValue
914
# NEXT_PUBLIC_ALGOLIA_BASE_SEARCH_INDEX_NAME=insertValue

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,4 @@ src/data/crowdin/bucketsAwaitingReviewReport.csv
6060
# Storybook
6161
build-storybook.log
6262
storybook-static
63+

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ Learn more about how we review pull requests [here](docs/review-process.md).
155155

156156
> An Onchain Achievement Token (OAT) is a special badge on [Galxe](https://app.galxe.com/quest/ethereumorg). It's a proof of your contribution to the ecosystem. [More on OATs](https://medium.com/galxe-news/introducing-galaxy-oat-on-chain-achievement-token-7e89779242b4).
157157
158-
### ethereum.org 2024 Contributor OATs
158+
### ethereum.org 2025 Contributor OATs
159159

160-
- If you have committed any changes in 2024 so far that were merged into our repo or if you have translated a certain amount of words, you can claim your OATs!
160+
- If you have committed any changes in 2025 so far that were merged into our repo or if you have translated a certain amount of words, you can claim your OATs!
161161
- There are OATs for GitHub, content, design and translation contributions.
162162

163163
[![Discord](https://img.shields.io/discord/714888181740339261?color=1C1CE1&label=Claim%20Your%20POAP!%20%7C%20Discord%20%F0%9F%91%8B%20&style=flat)](https://discord.gg/ethereum-org)
@@ -1040,7 +1040,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
10401040
<td align="center" valign="top" width="14.28%"><a href="https://www.yashkarthik.xyz/"><img src="https://avatars.githubusercontent.com/u/52369876?v=4?s=100" width="100px;" alt="yash"/><br /><sub><b>yash</b></sub></a><br /><a href="#ideas-YashKarthik" title="Ideas, Planning, & Feedback">🤔</a></td>
10411041
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ibeale"><img src="https://avatars.githubusercontent.com/u/46497763?v=4?s=100" width="100px;" alt="Isaac Beale"/><br /><sub><b>Isaac Beale</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=ibeale" title="Documentation">📖</a> <a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Aibeale" title="Bug reports">🐛</a></td>
10421042
<td align="center" valign="top" width="14.28%"><a href="https://github.com/chrishna1"><img src="https://avatars.githubusercontent.com/u/26048398?v=4?s=100" width="100px;" alt="Bal Krishna Jha"/><br /><sub><b>Bal Krishna Jha</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=chrishna1" title="Documentation">📖</a></td>
1043-
<td align="center" valign="top" width="14.28%"><a href="http://www.linkedin.com/in/mradziwon"><img src="https://avatars.githubusercontent.com/u/6785984?v=4?s=100" width="100px;" alt="mradziwon"/><br /><sub><b>mradziwon</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=mradziwon" title="Code">💻</a> <a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Amradziwon" title="Bug reports">🐛</a></td>
1043+
<td align="center" valign="top" width="14.28%"><a href="http://www.linkedin.com/in/maciejrrr"><img src="https://avatars.githubusercontent.com/u/6785984?v=4?s=100" width="100px;" alt="maciejrrr"/><br /><sub><b>maciejrrr</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=maciejrrr" title="Code">💻</a> <a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Amaciejrrr" title="Bug reports">🐛</a></td>
10441044
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mmilenkovic"><img src="https://avatars.githubusercontent.com/u/2448210?v=4?s=100" width="100px;" alt="mmilenkovic"/><br /><sub><b>mmilenkovic</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=mmilenkovic" title="Documentation">📖</a> <a href="#ideas-mmilenkovic" title="Ideas, Planning, & Feedback">🤔</a></td>
10451045
<td align="center" valign="top" width="14.28%"><a href="https://github.com/guevaraf"><img src="https://avatars.githubusercontent.com/u/2633129?v=4?s=100" width="100px;" alt="Fernando Guevara"/><br /><sub><b>Fernando Guevara</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/commits?author=guevaraf" title="Documentation">📖</a></td>
10461046
<td align="center" valign="top" width="14.28%"><a href="https://github.com/garrivjo"><img src="https://avatars.githubusercontent.com/u/31991694?v=4?s=100" width="100px;" alt="Jose Manuel Garcia Rivas"/><br /><sub><b>Jose Manuel Garcia Rivas</b></sub></a><br /><a href="#ideas-garrivjo" title="Ideas, Planning, & Feedback">🤔</a></td>
@@ -1947,6 +1947,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
19471947
</tr>
19481948
<tr>
19491949
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JJOptimist"><img src="https://avatars.githubusercontent.com/u/86833563?v=4?s=100" width="100px;" alt="JJOptimist"/><br /><sub><b>JJOptimist</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3AJJOptimist" title="Bug reports">🐛</a></td>
1950+
<td align="center" valign="top" width="14.28%"><a href="http://pwn.xyz"><img src="https://avatars.githubusercontent.com/u/61500778?v=4?s=100" width="100px;" alt="microHoffman"/><br /><sub><b>microHoffman</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3AmicroHoffman" title="Bug reports">🐛</a></td>
1951+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/smithrashell"><img src="https://avatars.githubusercontent.com/u/36465023?v=4?s=100" width="100px;" alt="Rashell Smith"/><br /><sub><b>Rashell Smith</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Asmithrashell" title="Bug reports">🐛</a></td>
19501952
</tr>
19511953
</tbody>
19521954
</table>

app/[locale]/bug-bounty/_components/bug-bounty.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import { HTMLAttributes } from "react"
44

5-
import type { ChildOnlyProp } from "@/lib/types"
5+
import type { ChildOnlyProp, PageWithContributorsProps } from "@/lib/types"
66

77
/* Uncomment for Bug Bounty Banner: */
88
import BugBountyBanner from "@/components/Banners/BugBountyBanner"
@@ -13,6 +13,7 @@ import CardList from "@/components/CardList"
1313
import Emoji from "@/components/Emoji"
1414
import ExpandableCard from "@/components/ExpandableCard"
1515
import FeedbackCard from "@/components/FeedbackCard"
16+
import FileContributors from "@/components/FileContributors"
1617
import { Image, type ImageProps } from "@/components/Image"
1718
import Leaderboard from "@/components/Leaderboard"
1819
import MainArticle from "@/components/MainArticle"
@@ -224,7 +225,10 @@ const sortBountyHuntersFn = (a: BountyHuntersArg, b: BountyHuntersArg) => {
224225
return b.score - a.score
225226
}
226227

227-
const BugBountiesPage = () => {
228+
const BugBountiesPage = ({
229+
contributors,
230+
lastEditLocaleTimestamp,
231+
}: PageWithContributorsProps) => {
228232
const pathname = usePathname()
229233
const { t } = useTranslation("page-bug-bounty")
230234

@@ -768,6 +772,11 @@ const BugBountiesPage = () => {
768772
</ExpandableCard>
769773
</RightColumn>
770774
</Faq>
775+
<FileContributors
776+
className="my-10 border-t"
777+
contributors={contributors}
778+
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
779+
/>
771780
</Content>
772781
<Divider />
773782
<Contact>

app/[locale]/bug-bounty/page.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import {
55
setRequestLocale,
66
} from "next-intl/server"
77

8-
import { type Params } from "@/lib/types"
8+
import type { CommitHistory, Lang, Params } from "@/lib/types"
99

1010
import I18nProvider from "@/components/I18nProvider"
1111

12+
import { getAppPageContributorInfo } from "@/lib/utils/contributors"
1213
import { getMetadata } from "@/lib/utils/metadata"
1314
import { getRequiredNamespacesForPage } from "@/lib/utils/translations"
1415

@@ -24,9 +25,20 @@ export default async function Page({ params }: { params: Promise<Params> }) {
2425
const requiredNamespaces = getRequiredNamespacesForPage("/bug-bounty")
2526
const messages = pick(allMessages, requiredNamespaces)
2627

28+
const commitHistoryCache: CommitHistory = {}
29+
const { contributors, lastEditLocaleTimestamp } =
30+
await getAppPageContributorInfo(
31+
"bug-bounty",
32+
locale as Lang,
33+
commitHistoryCache
34+
)
35+
2736
return (
2837
<I18nProvider locale={locale} messages={messages}>
29-
<BugBountiesPage />
38+
<BugBountiesPage
39+
contributors={contributors}
40+
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
41+
/>
3042
</I18nProvider>
3143
)
3244
}

app/[locale]/dapps/_components/dapps.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import React, {
1111
import { useSearchParams } from "next/navigation"
1212
import { useLocale } from "next-intl"
1313

14-
import type { ChildOnlyProp } from "@/lib/types"
14+
import type { ChildOnlyProp, PageWithContributorsProps } from "@/lib/types"
1515

1616
import BoxGrid from "@/components/BoxGrid"
1717
import Callout from "@/components/Callout"
@@ -20,6 +20,7 @@ import Card from "@/components/Card"
2020
import DocLink from "@/components/DocLink"
2121
import Emoji from "@/components/Emoji"
2222
import FeedbackCard from "@/components/FeedbackCard"
23+
import FileContributors from "@/components/FileContributors"
2324
import GhostCard from "@/components/GhostCard"
2425
import { Image } from "@/components/Image"
2526
import InfoBanner from "@/components/InfoBanner"
@@ -270,7 +271,10 @@ interface Categories {
270271
[key: string]: Category
271272
}
272273

273-
const DappsPage = () => {
274+
const DappsPage = ({
275+
contributors,
276+
lastEditLocaleTimestamp,
277+
}: PageWithContributorsProps) => {
274278
const { t } = useTranslation(["page-dapps", "common"])
275279
const searchParams = useSearchParams()
276280
const locale = useLocale()
@@ -1530,6 +1534,11 @@ const DappsPage = () => {
15301534
</Row>
15311535
</Content>
15321536
<Content>
1537+
<FileContributors
1538+
className="my-10 border-t"
1539+
contributors={contributors}
1540+
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
1541+
/>
15331542
<FeedbackCard />
15341543
</Content>
15351544
</Page>

app/[locale]/dapps/page.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import {
55
setRequestLocale,
66
} from "next-intl/server"
77

8-
import { Params } from "@/lib/types"
8+
import type { CommitHistory, Lang, Params } from "@/lib/types"
99

1010
import I18nProvider from "@/components/I18nProvider"
1111

12+
import { getAppPageContributorInfo } from "@/lib/utils/contributors"
1213
import { getMetadata } from "@/lib/utils/metadata"
1314
import { getRequiredNamespacesForPage } from "@/lib/utils/translations"
1415

@@ -22,9 +23,16 @@ export default async function Page({ params }: { params: Promise<Params> }) {
2223
const requiredNamespaces = getRequiredNamespacesForPage("/dapps")
2324
const pickedMessages = pick(allMessages, requiredNamespaces)
2425

26+
const commitHistoryCache: CommitHistory = {}
27+
const { contributors, lastEditLocaleTimestamp } =
28+
await getAppPageContributorInfo("dapps", locale as Lang, commitHistoryCache)
29+
2530
return (
2631
<I18nProvider locale={locale} messages={pickedMessages}>
27-
<DappsPage />
32+
<DappsPage
33+
contributors={contributors}
34+
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
35+
/>
2836
</I18nProvider>
2937
)
3038
}

app/[locale]/developers/page.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,16 @@ export async function generateMetadata({
3838
}) {
3939
const { locale } = await params
4040

41-
const t = await getTranslations({ locale, namespace: "page-developers" })
41+
const t = await getTranslations({
42+
locale,
43+
namespace: "page-developers-index",
44+
})
4245

4346
return await getMetadata({
4447
locale,
4548
slug: ["developers"],
46-
title: t("page-developers-index:page-developer-meta-title"),
47-
description: t("page-developers-index:page-developers-meta-desc"),
49+
title: t("page-developer-meta-title"),
50+
description: t("page-developers-meta-desc"),
4851
})
4952
}
5053

app/[locale]/developers/tutorials/_components/tutorials.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ import {
3434

3535
import externalTutorials from "@/data/externalTutorials.json"
3636

37+
import { DEFAULT_LOCALE } from "@/lib/constants"
38+
3739
import { useBreakpointValue } from "@/hooks/useBreakpointValue"
3840

3941
type LinkFlexProps = FlexProps & {
@@ -93,14 +95,15 @@ const TutorialPage = ({
9395
contentNotTranslated,
9496
}: TutorialPageProps) => {
9597
const locale = useLocale()
98+
const effectiveLocale = internalTutorials.length > 0 ? locale : DEFAULT_LOCALE
9699
const filteredTutorialsByLang = useMemo(
97100
() =>
98101
filterTutorialsByLang(
99102
internalTutorials,
100103
externalTutorials,
101-
locale as Lang
104+
effectiveLocale as Lang
102105
),
103-
[internalTutorials, locale]
106+
[internalTutorials, effectiveLocale]
104107
)
105108

106109
const allTags = useMemo(

0 commit comments

Comments
 (0)