Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
7765d8f
Implement contributors counter
JoeChenJ Feb 13, 2025
41d99a0
little tweaks
JoeChenJ Feb 13, 2025
c099d4e
made it visible on mobile
JoeChenJ Feb 14, 2025
a912086
Merge branch 'dev' into Use_new_design_for_FileContributors
JoeChenJ Feb 14, 2025
e39dfe8
little tweaks
JoeChenJ Feb 14, 2025
3448575
extend to markdown pages
JoeChenJ Feb 15, 2025
cdbcaf8
Merge branch 'Use_new_design_for_FileContributors' of https://github.…
JoeChenJ Feb 15, 2025
4ea279c
update story
JoeChenJ Feb 15, 2025
097f93a
update translator fetching logic
JoeChenJ Feb 15, 2025
fd3677f
some tweaks
JoeChenJ Feb 17, 2025
e72a3bc
Merge branch 'dev' into Use_new_design_for_FileContributors
JoeChenJ Feb 18, 2025
294f5e8
add it on what-is-ethereum page
JoeChenJ Feb 18, 2025
30a3259
Merge branch 'dev' into Use_new_design_for_FileContributors
JoeChenJ Feb 19, 2025
4d5f6bd
add call to action & change copy
JoeChenJ Feb 19, 2025
f700177
add it on learn page
JoeChenJ Feb 19, 2025
a55a64a
add it on run-a-node page
JoeChenJ Feb 19, 2025
d24cbbd
add it on eth page
JoeChenJ Feb 19, 2025
7967620
add it on dapps page
JoeChenJ Feb 19, 2025
5c39f98
add target _blank
JoeChenJ Feb 19, 2025
08a7b1d
Merge branch 'dev' into Use_new_design_for_FileContributors
JoeChenJ Feb 20, 2025
404c5c7
add it on get-eth page
JoeChenJ Feb 20, 2025
083cf2d
add it on gas page
JoeChenJ Feb 20, 2025
742c559
add it on bug-bounty page
JoeChenJ Feb 20, 2025
db90f9e
add it on wallets/index page
JoeChenJ Feb 20, 2025
8f1fef6
add it on staking/index page
JoeChenJ Feb 20, 2025
9791be1
add it on roadmap/vision page
JoeChenJ Feb 20, 2025
6a8b8ef
add it on layer-2/learn page
JoeChenJ Feb 20, 2025
0ea5700
Merge branch 'dev' into Use_new_design_for_FileContributors
JoeChenJ Feb 21, 2025
319de22
Merge branch 'dev' into Use_new_design_for_FileContributors
JoeChenJ Feb 27, 2025
a9152e4
update pages path
JoeChenJ Feb 27, 2025
0257a06
update contributors fetching logic
JoeChenJ Feb 28, 2025
da1f70f
Merge branch 'dev' into Use_new_design_for_FileContributors
JoeChenJ Mar 29, 2025
f17e33e
unify component position
JoeChenJ Mar 29, 2025
0319ac9
update types
JoeChenJ Mar 31, 2025
b6448d1
Merge branch 'dev' into pr/JoeChenJ/14898
wackerow May 15, 2025
2002005
fix: use all historical page paths for contributions
wackerow May 17, 2025
c622521
fix: getLastModifiedDate for non-markdown pages
wackerow May 17, 2025
8a6cc65
fix: separate logic for markdown vs app page
wackerow May 19, 2025
f24d9a3
fix: use github history for last app page edit
wackerow May 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions app/[locale]/bug-bounty/_components/bug-bounty.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { HTMLAttributes } from "react"

import type { ChildOnlyProp } from "@/lib/types"
import type { ChildOnlyProp, PageWithContributorsProps } from "@/lib/types"

/* Uncomment for Bug Bounty Banner: */
import BugBountyBanner from "@/components/Banners/BugBountyBanner"
Expand All @@ -13,6 +13,7 @@ import CardList from "@/components/CardList"
import Emoji from "@/components/Emoji"
import ExpandableCard from "@/components/ExpandableCard"
import FeedbackCard from "@/components/FeedbackCard"
import FileContributors from "@/components/FileContributors"
import { Image, type ImageProps } from "@/components/Image"
import Leaderboard from "@/components/Leaderboard"
import MainArticle from "@/components/MainArticle"
Expand Down Expand Up @@ -224,7 +225,10 @@ const sortBountyHuntersFn = (a: BountyHuntersArg, b: BountyHuntersArg) => {
return b.score - a.score
}

const BugBountiesPage = () => {
const BugBountiesPage = ({
contributors,
lastEditLocaleTimestamp,
}: PageWithContributorsProps) => {
const pathname = usePathname()
const { t } = useTranslation("page-bug-bounty")

Expand Down Expand Up @@ -768,6 +772,11 @@ const BugBountiesPage = () => {
</ExpandableCard>
</RightColumn>
</Faq>
<FileContributors
className="my-10 border-t"
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
</Content>
<Divider />
<Contact>
Expand Down
16 changes: 14 additions & 2 deletions app/[locale]/bug-bounty/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import {
setRequestLocale,
} from "next-intl/server"

import { type Params } from "@/lib/types"
import type { CommitHistory, Lang, Params } from "@/lib/types"

import I18nProvider from "@/components/I18nProvider"

import { getAppPageContributorInfo } from "@/lib/utils/contributors"
import { getMetadata } from "@/lib/utils/metadata"
import { getRequiredNamespacesForPage } from "@/lib/utils/translations"

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

const commitHistoryCache: CommitHistory = {}
const { contributors, lastEditLocaleTimestamp } =
await getAppPageContributorInfo(
"bug-bounty",
locale as Lang,
commitHistoryCache
)

return (
<I18nProvider locale={locale} messages={messages}>
<BugBountiesPage />
<BugBountiesPage
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
</I18nProvider>
)
}
Expand Down
13 changes: 11 additions & 2 deletions app/[locale]/dapps/_components/dapps.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import React, {
import { useSearchParams } from "next/navigation"
import { useLocale } from "next-intl"

import type { ChildOnlyProp } from "@/lib/types"
import type { ChildOnlyProp, PageWithContributorsProps } from "@/lib/types"

import BoxGrid from "@/components/BoxGrid"
import Callout from "@/components/Callout"
Expand All @@ -20,6 +20,7 @@ import Card from "@/components/Card"
import DocLink from "@/components/DocLink"
import Emoji from "@/components/Emoji"
import FeedbackCard from "@/components/FeedbackCard"
import FileContributors from "@/components/FileContributors"
import GhostCard from "@/components/GhostCard"
import { Image } from "@/components/Image"
import InfoBanner from "@/components/InfoBanner"
Expand Down Expand Up @@ -270,7 +271,10 @@ interface Categories {
[key: string]: Category
}

const DappsPage = () => {
const DappsPage = ({
contributors,
lastEditLocaleTimestamp,
}: PageWithContributorsProps) => {
const { t } = useTranslation(["page-dapps", "common"])
const searchParams = useSearchParams()
const locale = useLocale()
Expand Down Expand Up @@ -1530,6 +1534,11 @@ const DappsPage = () => {
</Row>
</Content>
<Content>
<FileContributors
className="my-10 border-t"
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
<FeedbackCard />
</Content>
</Page>
Expand Down
12 changes: 10 additions & 2 deletions app/[locale]/dapps/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import {
setRequestLocale,
} from "next-intl/server"

import { Params } from "@/lib/types"
import type { CommitHistory, Lang, Params } from "@/lib/types"

import I18nProvider from "@/components/I18nProvider"

import { getAppPageContributorInfo } from "@/lib/utils/contributors"
import { getMetadata } from "@/lib/utils/metadata"
import { getRequiredNamespacesForPage } from "@/lib/utils/translations"

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

const commitHistoryCache: CommitHistory = {}
const { contributors, lastEditLocaleTimestamp } =
await getAppPageContributorInfo("dapps", locale as Lang, commitHistoryCache)

return (
<I18nProvider locale={locale} messages={pickedMessages}>
<DappsPage />
<DappsPage
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
</I18nProvider>
)
}
Expand Down
13 changes: 11 additions & 2 deletions app/[locale]/eth/_components/eth.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import type { ComponentProps, HTMLAttributes } from "react"

import type { ChildOnlyProp } from "@/lib/types"
import type { ChildOnlyProp, PageWithContributorsProps } from "@/lib/types"

import ActionCard from "@/components/ActionCard"
import CalloutBanner from "@/components/CalloutBanner"
Expand All @@ -11,6 +11,7 @@ import CardList from "@/components/CardList"
import EthPriceCard from "@/components/EthPriceCard"
import EthVideo from "@/components/EthVideo"
import FeedbackCard from "@/components/FeedbackCard"
import FileContributors from "@/components/FileContributors"
import HorizontalCard from "@/components/HorizontalCard"
import { Image } from "@/components/Image"
import InfoBanner from "@/components/InfoBanner"
Expand Down Expand Up @@ -168,7 +169,10 @@ const CentralActionCard = (props: ComponentProps<typeof ActionCard>) => (
<ActionCard className="my-8" imageWidth={260} {...props} />
)

const EthPage = () => {
const EthPage = ({
contributors,
lastEditLocaleTimestamp,
}: PageWithContributorsProps) => {
const { t } = useTranslation("page-eth")
const pathname = usePathname()

Expand Down Expand Up @@ -448,6 +452,11 @@ const EthPage = () => {
<StandaloneQuizWidget quizKey="what-is-ether" />
</Content>
<Content>
<FileContributors
className="my-10 border-t"
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
<FeedbackCard />
</Content>
</Page>
Expand Down
12 changes: 10 additions & 2 deletions app/[locale]/eth/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import {
setRequestLocale,
} from "next-intl/server"

import { Lang } from "@/lib/types"
import type { CommitHistory, Lang } from "@/lib/types"

import I18nProvider from "@/components/I18nProvider"

import { getAppPageContributorInfo } from "@/lib/utils/contributors"
import { getMetadata } from "@/lib/utils/metadata"
import { getRequiredNamespacesForPage } from "@/lib/utils/translations"

Expand All @@ -28,9 +29,16 @@ export default async function Page({
const requiredNamespaces = getRequiredNamespacesForPage("/eth")
const pickedMessages = pick(allMessages, requiredNamespaces)

const commitHistoryCache: CommitHistory = {}
const { contributors, lastEditLocaleTimestamp } =
await getAppPageContributorInfo("eth", locale as Lang, commitHistoryCache)

return (
<I18nProvider locale={locale} messages={pickedMessages}>
<EthPage />
<EthPage
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
</I18nProvider>
)
}
Expand Down
13 changes: 12 additions & 1 deletion app/[locale]/gas/_components/gas.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@

import { BaseHTMLAttributes, ComponentPropsWithRef } from "react"

import { PageWithContributorsProps } from "@/lib/types"

import Callout from "@/components/Callout"
import Card from "@/components/Card"
import Emoji from "@/components/Emoji"
import ExpandableCard from "@/components/ExpandableCard"
import FeedbackCard from "@/components/FeedbackCard"
import FileContributors from "@/components/FileContributors"
import GhostCard from "@/components/GhostCard"
import HorizontalCard from "@/components/HorizontalCard"
import { Image } from "@/components/Image"
Expand Down Expand Up @@ -78,7 +81,10 @@ const H3 = ({
<h3 className={cn("mb-8 mt-10 text-xl md:text-2xl", className)} {...props} />
)

const GasPage = () => {
const GasPage = ({
contributors,
lastEditLocaleTimestamp,
}: PageWithContributorsProps) => {
const { t } = useTranslation("page-gas")

const benefits = [
Expand Down Expand Up @@ -389,6 +395,11 @@ const GasPage = () => {
<StandaloneQuizWidget quizKey="gas" />
</Content>
<Content>
<FileContributors
className="my-10 border-t"
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
<FeedbackCard />
</Content>
</Page>
Expand Down
12 changes: 10 additions & 2 deletions app/[locale]/gas/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import {
setRequestLocale,
} from "next-intl/server"

import { Lang } from "@/lib/types"
import type { CommitHistory, Lang } from "@/lib/types"

import I18nProvider from "@/components/I18nProvider"

import { getAppPageContributorInfo } from "@/lib/utils/contributors"
import { getMetadata } from "@/lib/utils/metadata"
import { getRequiredNamespacesForPage } from "@/lib/utils/translations"

Expand All @@ -24,9 +25,16 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => {
const requiredNamespaces = getRequiredNamespacesForPage("/gas")
const messages = pick(allMessages, requiredNamespaces)

const commitHistoryCache: CommitHistory = {}
const { contributors, lastEditLocaleTimestamp } =
await getAppPageContributorInfo("gas", locale as Lang, commitHistoryCache)

return (
<I18nProvider locale={locale} messages={messages}>
<GasPage />
<GasPage
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
</I18nProvider>
)
}
Expand Down
17 changes: 14 additions & 3 deletions app/[locale]/get-eth/_components/get-eth.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import type { ReactNode } from "react"

import type { ChildOnlyProp } from "@/lib/types"
import type { ChildOnlyProp, PageWithContributorsProps } from "@/lib/types"

import CalloutBanner from "@/components/CalloutBanner"
import CardList, {
Expand All @@ -12,6 +12,7 @@ import CentralizedExchanges from "@/components/CentralizedExchanges"
import Emoji from "@/components/Emoji"
import EthPriceCard from "@/components/EthPriceCard"
import FeedbackCard from "@/components/FeedbackCard"
import FileContributors from "@/components/FileContributors"
import { Image } from "@/components/Image"
import MainArticle from "@/components/MainArticle"
import Translation from "@/components/Translation"
Expand Down Expand Up @@ -63,11 +64,15 @@ const TwoColumnContent = (props: ChildOnlyProp) => (
<div className="grid grid-cols-1 gap-16 lg:grid-cols-2" {...props} />
)

type Props = {
type Props = PageWithContributorsProps & {
lastDataUpdateDate: string
}

const GetEthPage = ({ lastDataUpdateDate }: Props) => {
const GetEthPage = ({
lastDataUpdateDate,
contributors,
lastEditLocaleTimestamp,
}: Props) => {
const { t } = useTranslation("page-get-eth")

const walletImageWidth = useBreakpointValue({
Expand Down Expand Up @@ -352,6 +357,12 @@ const GetEthPage = ({ lastDataUpdateDate }: Props) => {
</div>
</CalloutBanner>

<FileContributors
className="border-t"
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>

<FeedbackCard />
</Stack>
</MainArticle>
Expand Down
21 changes: 17 additions & 4 deletions app/[locale]/get-eth/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ import {
setRequestLocale,
} from "next-intl/server"

import { Lang } from "@/lib/types"
import type { CommitHistory, Lang } from "@/lib/types"

import I18nProvider from "@/components/I18nProvider"

import { getLastModifiedDateByPath } from "@/lib/utils/gh"
import { getAppPageContributorInfo } from "@/lib/utils/contributors"
import { getLastGitCommitDateByPath } from "@/lib/utils/gh"
import { getMetadata } from "@/lib/utils/metadata"
import { getRequiredNamespacesForPage } from "@/lib/utils/translations"

Expand All @@ -26,7 +27,7 @@ export default async function Page({

setRequestLocale(locale)

const lastDataUpdateDate = getLastModifiedDateByPath(
const lastDataUpdateDate = getLastGitCommitDateByPath(
"src/data/exchangesByCountry.ts"
)

Expand All @@ -35,9 +36,21 @@ export default async function Page({
const requiredNamespaces = getRequiredNamespacesForPage("/get-eth")
const pickedMessages = pick(allMessages, requiredNamespaces)

const commitHistoryCache: CommitHistory = {}
const { contributors, lastEditLocaleTimestamp } =
await getAppPageContributorInfo(
"get-eth",
locale as Lang,
commitHistoryCache
)

return (
<I18nProvider locale={locale} messages={pickedMessages}>
<GetEthPage lastDataUpdateDate={lastDataUpdateDate} />
<GetEthPage
lastDataUpdateDate={lastDataUpdateDate}
contributors={contributors}
lastEditLocaleTimestamp={lastEditLocaleTimestamp}
/>
</I18nProvider>
)
}
Expand Down
Loading