Skip to content

Deploy v10.6.1 #15660

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 228 commits into from
Jun 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
0b1171e
feat(BannerGrid): add bannergrid story
Baystef Aug 2, 2024
ab4b02e
Merge remote-tracking branch 'upstream/dev' into feat/bannergridcompo…
Baystef Aug 2, 2024
9407766
chore(update): run yarn install
Baystef Aug 2, 2024
c35d3c4
feat(bannergridcell): add story for bannergrid cell component [closes…
Baystef Aug 3, 2024
6864cc7
chore(banner image): add banner image to banner grid substory
Baystef Aug 5, 2024
6dd70d4
Merge remote-tracking branch 'upstream/dev' into feat/bannergridcompo…
Baystef Aug 5, 2024
e4d942e
Merge branch 'dev' into pr/Baystef/13567
corwintines Aug 28, 2024
5a6e82b
Merge remote-tracking branch 'upstream/dev' into feat/bannergridcompo…
Baystef Aug 29, 2024
85bd9c2
fix(tooltip): wrap parent story with tooltipprovider
Baystef Aug 29, 2024
06b59f3
Merge branch 'feat/bannergridcomponents-story' of https://github.com/…
Baystef Aug 29, 2024
8610e4e
refactor(tooltip provider): move tooltip provider to the preview file…
Baystef Sep 4, 2024
1fbaaf0
Merge remote-tracking branch 'upstream/dev' into feat/bannergridcompo…
Baystef Sep 4, 2024
b44eeb2
Merge branch 'dev' into pr/Baystef/13567
corwintines Sep 17, 2024
811a79a
Merge remote-tracking branch 'upstream/dev' into feat/bannergridcompo…
Baystef Oct 10, 2024
91c209d
Merge branch 'feat/bannergridcomponents-story' of https://github.com/…
Baystef Oct 10, 2024
6d1be2f
New article: ETh Supply[Issue #13644]
Hedwika Nov 27, 2024
4a69854
remove .yarn folder and add to .gitignore
corwintines Dec 17, 2024
000c957
revert yarn.lock
corwintines Dec 17, 2024
c431230
chore: import/update stablecoin assets
wackerow May 25, 2025
1731253
chore: import dapp asset
wackerow May 25, 2025
ebc8687
chore: import ethereum-ecosystem token list
wackerow May 25, 2025
e7f01d1
chore: update stablecoin assets
wackerow May 27, 2025
29c52e4
feat: update stablecoin fetches
wackerow May 27, 2025
08e8bc0
feat: update stablecoins list
wackerow May 27, 2025
04f08d3
feat: update /stablecoins page
wackerow May 27, 2025
5b4228a
feat: refactor StablecoinBoxGrid as Tabs
wackerow May 27, 2025
390b376
feat: fix spacing, add link, refactor to ui/alert
wackerow May 27, 2025
60ca690
fix: coin type; arrow styling
wackerow May 27, 2025
c44808c
refactor: ethereum token data
wackerow May 27, 2025
4caa01f
feat: sort by mktcap, filter mktcap > half million
wackerow May 27, 2025
f8a694e
chore: rm gitcoin bounties
wackerow May 27, 2025
c52446c
feat: migrate stablecoins to ssr
wackerow May 27, 2025
5da9936
refactor: mv StablecoinType to lib
wackerow May 27, 2025
9c1158d
revert: TranslationSSR, use Translation
wackerow May 27, 2025
73e0e22
fix: hydration mismatch
wackerow May 27, 2025
d7f78f4
fix: stablecoin data
wackerow May 27, 2025
8529b1a
Update data.ts
wackerow May 28, 2025
efea5ec
revert: algorithmic warning
wackerow May 28, 2025
91a9f12
feat: add reset button
wackerow May 28, 2025
13108b4
update: example links
wackerow May 28, 2025
f79cb8b
refactor: hasUpcomingRelease using .some
wackerow May 29, 2025
e92a25d
Update Crowdin translation progress
actions-user May 30, 2025
c170c40
refactor: homepage to SSR
wackerow May 31, 2025
aac0728
fix: use cases tag
wackerow May 31, 2025
cb16cff
fix typo
lechpzn May 31, 2025
b75dfd2
refactor: CardImage
wackerow May 31, 2025
5b3ce3e
chore: bump swiper version
wackerow May 31, 2025
7eccbe9
fix: swiper component for ssr
wackerow May 31, 2025
ec3a13c
feat: update ui/skeleton and spinner components
wackerow May 31, 2025
25c8cba
fix: adds fallback component for client components
wackerow May 31, 2025
dd9be5f
refactor: ActivityStats and getActivity to SSR
wackerow Jun 1, 2025
7d1036b
feat: add loading skeleton
wackerow Jun 1, 2025
a22660d
refactor: remove unnecessary Suspense boundaries
wackerow Jun 1, 2025
fb9ae92
revert: unneeded ui/swiper alterations
wackerow Jun 1, 2025
e52c78d
patch: displayName
wackerow Jun 1, 2025
79520d5
chore: import translations for ca
actions-user Jun 1, 2025
86b4ade
chore: import translations for de
actions-user Jun 1, 2025
8976331
chore: import translations for el
actions-user Jun 1, 2025
f626396
chore: import translations for fa
actions-user Jun 1, 2025
196143f
chore: import translations for fr
actions-user Jun 1, 2025
dfe480b
chore: import translations for ga
actions-user Jun 1, 2025
c87a926
chore: import translations for hu
actions-user Jun 1, 2025
bd78d97
chore: import translations for id
actions-user Jun 1, 2025
c78bf56
chore: import translations for it
actions-user Jun 1, 2025
43009de
chore: import translations for ja
actions-user Jun 1, 2025
3aa7d09
chore: import translations for kn
actions-user Jun 1, 2025
fc222e5
chore: import translations for ms
actions-user Jun 1, 2025
2afaf71
chore: import translations for pl
actions-user Jun 1, 2025
4989e04
chore: import translations for pt-br
actions-user Jun 1, 2025
4a63a0b
chore: import translations for pt
actions-user Jun 1, 2025
2c25b5a
chore: import translations for ro
actions-user Jun 1, 2025
79fd4b6
chore: import translations for ru
actions-user Jun 1, 2025
1a23bf1
chore: import translations for sl
actions-user Jun 1, 2025
d33b722
chore: import translations for sn
actions-user Jun 1, 2025
e60a844
chore: import translations for sw
actions-user Jun 1, 2025
e3bd12c
chore: import translations for te
actions-user Jun 1, 2025
d85788e
chore: import translations for tr
actions-user Jun 1, 2025
004242d
chore: import translations for uk
actions-user Jun 1, 2025
150fe3f
chore: import translations for zh-tw
actions-user Jun 1, 2025
9717d3f
chore: import translations for zh
actions-user Jun 1, 2025
4c8e450
feat: update and add refresh button to error page
wackerow Jun 1, 2025
3a75b3f
refactor: utils and types
wackerow Jun 1, 2025
92aeb6b
update: refresh label and string order
wackerow Jun 1, 2025
bb385b3
fix: 404 for not-found, not 500
wackerow Jun 1, 2025
bd1420d
fix: use client for NotFoundPage to correct locale
wackerow Jun 1, 2025
b57b4fe
fix: use LocaleLayout template for root not-found
wackerow Jun 1, 2025
5a21a49
chore: removed passed events
wackerow Jun 1, 2025
84adf45
fix: community-events links, descriptions, imgSrcs
wackerow Jun 1, 2025
34a1540
Merge branch 'dev' into homepage-ssr
wackerow Jun 2, 2025
c8e8d08
Revert "refactor: utils and types"
wackerow Jun 2, 2025
3ecc123
refactor: types
wackerow Jun 2, 2025
2e1ab49
Merge branch 'dev' into 500-404-patches
wackerow Jun 2, 2025
fcb18b1
refactor: Morpher as reusable component
wackerow Jun 2, 2025
d99a989
refactor: rm I18nProvider for homepage
wackerow Jun 2, 2025
d7e8e44
Merge branch 'dev' into homepage-ssr
wackerow Jun 3, 2025
beef6d0
Merge branch '10y-patch' into morpher-refactor
wackerow Jun 4, 2025
e4d45e8
config: bump LTS node version, enable nvm
wackerow Jun 4, 2025
b98abd0
build: migrate to eslint ^8.57.1
wackerow Jun 4, 2025
d270af2
Merge branch 'dev' into morpher-refactor
wackerow Jun 4, 2025
fd123c3
Merge branch 'dev' into homepage-ssr
wackerow Jun 4, 2025
a16ca15
Merge branch 'dev' into node-22
wackerow Jun 4, 2025
db6c8ed
refactor: simplify props to just word list
wackerow Jun 4, 2025
e846b65
Merge branch 'dev' into 500-404-patches
wackerow Jun 4, 2025
245589b
refactor: error handling within generateMetadata
wackerow Jun 4, 2025
883f2e1
fix: skip attestant feed fetch
wackerow Jun 4, 2025
6f1f644
fix: catch Netlify env generateStaticParams errors
wackerow Jun 4, 2025
f9262dc
feat: try/catch metadata generation
wackerow Jun 4, 2025
9a1b9e0
translate 10 year page
corwintines Jun 5, 2025
3ce4a7c
Innovation translation
corwintines Jun 5, 2025
6f90875
fix: constant name
wackerow Jun 5, 2025
91ea4ae
fix: react-hooks/exhaustive-deps
wackerow Jun 5, 2025
08d8314
adoption translated
corwintines Jun 5, 2025
f55dab4
revert: node to v20
wackerow Jun 5, 2025
8db2b07
config: bump corepack pnpm
wackerow Jun 5, 2025
976bebc
chore: update unused-imports/no-unused-imports flag
wackerow Jun 5, 2025
37741e9
fix types
corwintines Jun 5, 2025
ec46cc5
fix: noreferrer for all links; block cookies
wackerow Jun 5, 2025
deb5e69
Merge pull request #15545 from ethereum/carousel-patch
pettinarip Jun 6, 2025
94d2aaa
Merge pull request #15584 from ethereum/500-404-patches
pettinarip Jun 6, 2025
d89a219
Merge pull request #15593 from ethereum/morpher-refactor
pettinarip Jun 6, 2025
6d4e258
Merge pull request #15618 from ethereum/warning-patch
pettinarip Jun 6, 2025
bdefda4
Merge pull request #15614 from ethereum/patch-attestant
pettinarip Jun 6, 2025
c1ab8c1
Merge pull request #15620 from ethereum/referrer-links
pettinarip Jun 6, 2025
242f68e
refactor: separate CalloutSSR from Callout
wackerow Jun 6, 2025
3c618cf
refactor: developers page to SSR; rm I18nProvider
wackerow Jun 6, 2025
c8a9896
feat: add simple CopyButton
wackerow Jun 6, 2025
a348424
feat: speedrun to top, add quickstarts
wackerow Jun 6, 2025
78e2ff0
intl: extract strings
wackerow Jun 6, 2025
b8f1fde
refactor: single-use component usage
wackerow Jun 7, 2025
dd73ab9
Merge branch 'ssr-developers-page' into speed-run
wackerow Jun 7, 2025
65ef3a2
patch: mobile spacing
wackerow Jun 7, 2025
37e8561
intl: fix two strings
wackerow Jun 7, 2025
9cbbaa9
patch: update label, make unique
wackerow Jun 7, 2025
988d3d7
fix: string key
wackerow Jun 7, 2025
2a02c5b
Merge pull request #15633 from ethereum/master
corwintines Jun 7, 2025
c3fecd2
Merge pull request #15634 from ethereum/staging
corwintines Jun 7, 2025
a45d5fc
Merge pull request #15585 from ethereum/events-cleanup
corwintines Jun 7, 2025
ecd321a
Merge branch 'dev' into stablecoins
corwintines Jun 7, 2025
2d47f7d
Merge branch 'dev' into homepage-ssr
wackerow Jun 7, 2025
f3aee10
refactor: use screens.md over hardcoded breakpoint
wackerow Jun 7, 2025
bb01422
Merge branch 'dev' into 10yearintl
wackerow Jun 7, 2025
fbf266c
intl: update strings
wackerow Jun 7, 2025
11a399a
refactor: TenYearHero to server component
wackerow Jun 7, 2025
23ec4dc
refactor: to server page component
wackerow Jun 8, 2025
82bf611
Update execution-bounty-hunters.json
fredrik0x Jun 8, 2025
9c68c7f
Merge pull request #15637 from ethereum:fredriksvantes-patch-2
wackerow Jun 8, 2025
c2a8744
refactor: use default constant
wackerow Jun 9, 2025
9e42bd8
Merge pull request #15629 from ethereum/ssr-developers-page
pettinarip Jun 9, 2025
df1c4e0
Update page-developers-index.json
konopkja Jun 10, 2025
a89beb9
Update page-developers-index.json
konopkja Jun 10, 2025
a09afa7
Merge pull request #15580 from ethereum/crowdin-june-tr-2025060104492…
minimalsm Jun 10, 2025
21a1964
Add new menu string translations
lukassim Jun 10, 2025
44a4842
Merge pull request #15648 from ethereum/master
wackerow Jun 10, 2025
3096e16
Merge pull request #15649 from ethereum/staging
wackerow Jun 10, 2025
2a4f751
Merge pull request #15646 from ethereum/new-menu-translations
wackerow Jun 10, 2025
e517919
docs: update README.md [skip ci]
allcontributors[bot] Jun 10, 2025
90d7f8d
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Jun 10, 2025
6353675
Merge pull request #15650 from ethereum/all-contributors/add-lukassim
wackerow Jun 10, 2025
800b898
feat: add top_boxes custom events
wackerow Jun 10, 2025
237b997
Merge pull request #15515 from ethereum/stablecoins
corwintines Jun 10, 2025
65469ee
Merge branch 'dev' into homepage-ssr
wackerow Jun 10, 2025
e54da7a
Merge pull request #15619 from ethereum/10yearintl
wackerow Jun 10, 2025
f4b41b1
chore: update copy
wackerow Jun 10, 2025
06dc866
Merge pull request #15609 from ethereum/node-22
corwintines Jun 10, 2025
0868763
Merge pull request #15640 from ethereum/fix-start-ssr
corwintines Jun 10, 2025
8db5636
Merge pull request #13567 from Baystef/feat/bannergridcomponents-story
corwintines Jun 10, 2025
7fda7cd
refactor: loading state using next/dynamic ssr false
wackerow Jun 10, 2025
c282e39
fix: bg-colors; match component
wackerow Jun 10, 2025
42d6db0
cleanup
corwintines Jun 10, 2025
ee19296
Merge branch 'dev' into eth-supply-new-article
corwintines Jun 10, 2025
5e1fb70
Merge pull request #14409 from Hedwika/eth-supply-new-article
corwintines Jun 10, 2025
60a96b8
fix: update imports and i18n setup
pettinarip Jun 11, 2025
e9897a6
Merge pull request #15652 from ethereum/fix-story
pettinarip Jun 11, 2025
4aaa5b6
Merge branch 'dev' into homepage-ssr
pettinarip Jun 11, 2025
9963b4a
fix: i18n support for the 10-year anniversary client banner
pettinarip Jun 11, 2025
03180a1
Merge pull request #15630 from ethereum/speed-run
pettinarip Jun 11, 2025
f1045d9
feat: add getTimeUnitTranslations helper
wackerow Jun 11, 2025
f2672ac
refactor: pass server intl strings, rm I18nProvider
wackerow Jun 11, 2025
744ba26
Merge pull request #15653 from ethereum/fix-10year-i18n
wackerow Jun 11, 2025
96486a2
fix: type import
wackerow Jun 11, 2025
1a54803
Merge pull request #15553 from ethereum/homepage-ssr
corwintines Jun 11, 2025
cd0111d
chore(deps): bump brace-expansion from 1.1.11 to 1.1.12
dependabot[bot] Jun 11, 2025
521ce75
Merge pull request #15552 from ethereum/automated-update-20250530162946
corwintines Jun 11, 2025
81db748
Merge pull request #15555 from lechpzn/dev
corwintines Jun 11, 2025
cb2afc0
Merge pull request #15583 from ethereum/crowdin-june-zh-2025060104494…
corwintines Jun 12, 2025
de91a98
Merge pull request #15582 from ethereum/crowdin-june-zh-tw-2025060104…
corwintines Jun 12, 2025
bb03665
Merge pull request #15581 from ethereum/crowdin-june-uk-2025060104493…
corwintines Jun 12, 2025
2b1567d
Merge pull request #15579 from ethereum/crowdin-june-te-2025060104492…
corwintines Jun 12, 2025
117bef1
Merge pull request #15578 from ethereum/crowdin-june-sw-2025060104492…
corwintines Jun 12, 2025
344bfda
Merge pull request #15577 from ethereum/crowdin-june-sn-2025060104491…
corwintines Jun 12, 2025
49529ba
Merge pull request #15576 from ethereum/crowdin-june-sl-2025060104491…
corwintines Jun 12, 2025
89e2aa3
Merge pull request #15575 from ethereum/crowdin-june-ru-2025060104490…
corwintines Jun 12, 2025
5643d86
Merge pull request #15574 from ethereum/crowdin-june-ro-2025060104490…
corwintines Jun 12, 2025
4fb3532
Merge pull request #15573 from ethereum/crowdin-june-pt-2025060104485…
corwintines Jun 12, 2025
efaed13
fix regressions
corwintines Jun 12, 2025
a1cc2e9
Merge branch 'dev' into crowdin-june-pl-20250601044850660
corwintines Jun 12, 2025
25ad77f
Merge pull request #15571 from ethereum/crowdin-june-pl-2025060104485…
corwintines Jun 12, 2025
e06accd
Merge pull request #15570 from ethereum/crowdin-june-ms-2025060104484…
corwintines Jun 12, 2025
28b2104
Merge pull request #15569 from ethereum/crowdin-june-kn-2025060104484…
corwintines Jun 12, 2025
a55c221
Merge pull request #15568 from ethereum/crowdin-june-ja-2025060104483…
corwintines Jun 12, 2025
46be97b
fix regression
corwintines Jun 12, 2025
f88ec57
Merge pull request #15567 from ethereum/crowdin-june-it-2025060104483…
corwintines Jun 12, 2025
91beffb
Merge pull request #15566 from ethereum/crowdin-june-id-2025060104482…
corwintines Jun 12, 2025
34da7a4
Merge pull request #15565 from ethereum/crowdin-june-hu-2025060104482…
corwintines Jun 12, 2025
a3304f6
Merge branch 'dev' into crowdin-june-ga-20250601044819169
corwintines Jun 12, 2025
6402c96
fix broken translations
corwintines Jun 12, 2025
0091a11
Merge branch 'dev' into crowdin-june-pt-br-20250601044854810
corwintines Jun 12, 2025
d80fe97
Merge pull request #15562 from ethereum/crowdin-june-fa-2025060104481…
corwintines Jun 12, 2025
7ea57a5
Merge branch 'dev' into crowdin-june-fr-20250601044814910
corwintines Jun 12, 2025
d3778b4
Merge pull request #15559 from ethereum/crowdin-june-de-2025060104475…
corwintines Jun 12, 2025
0f41686
Merge pull request #15557 from ethereum/crowdin-june-ca-2025060104474…
corwintines Jun 12, 2025
0ab0b78
fix regressions
corwintines Jun 12, 2025
8464fac
Merge branch 'dev' into crowdin-june-el-20250601044801583
corwintines Jun 12, 2025
143035f
fix regressions
corwintines Jun 12, 2025
99bce21
Merge pull request #15656 from ethereum/dependabot/npm_and_yarn/brace…
corwintines Jun 12, 2025
9fb4f1b
Merge pull request #15564 from ethereum/crowdin-june-ga-2025060104481…
corwintines Jun 12, 2025
c147e67
Merge pull request #15572 from ethereum/crowdin-june-pt-br-2025060104…
corwintines Jun 12, 2025
fc0b7ea
Merge pull request #15563 from ethereum/crowdin-june-fr-2025060104481…
corwintines Jun 12, 2025
ddf22ca
Merge pull request #15560 from ethereum/crowdin-june-el-2025060104480…
corwintines Jun 12, 2025
b41cfd4
v10.6.0
corwintines Jun 12, 2025
ce953be
v10.6.1
corwintines Jun 12, 2025
a1ff872
Merge pull request #15657 from ethereum/v10-6-1
corwintines Jun 12, 2025
9a2bce5
Merge pull request #15658 from ethereum/dev
corwintines Jun 12, 2025
01c65a4
fix: string formatting
wackerow Jun 12, 2025
5af5ed0
fix italy's
corwintines Jun 12, 2025
7a516b3
Merge pull request #15661 from ethereum/patch-data-string
corwintines Jun 12, 2025
3f8a166
fix: use next/image
wackerow Jun 13, 2025
2ac5f68
Merge pull request #15665 from ethereum/10y-image
corwintines Jun 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -4039,7 +4039,9 @@
"profile": "https://github.com/lukassim",
"contributions": [
"content",
"ideas"
"ideas",
"translation",
"bug"
]
},
{
Expand Down
63 changes: 45 additions & 18 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
{
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"next/core-web-vitals",
"prettier",
"plugin:storybook/recommended"
],
"extends": ["eslint:recommended", "next/core-web-vitals", "prettier"],
"env": {
"es6": true
"es6": true,
"node": true,
"browser": true
},
"plugins": ["simple-import-sort", "@typescript-eslint", "unused-imports"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"rules": {
"simple-import-sort/imports": [
"error",
Expand All @@ -34,7 +37,7 @@
// From the `constants` directory.
["^@/lib/constants"],
// `.storybook` directory and utils files`
["^@/storybook","^@/storybook-utils"],
["^@/storybook", "^@/storybook-utils"],
// Parent imports. Put `..` last.
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
// Other relative imports. Put same-folder imports and `.` last.
Expand All @@ -48,13 +51,6 @@
],
"simple-import-sort/exports": "error",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-explicit-any": [
"error",
{
"fixToUnknown": true
}
],
"unused-imports/no-unused-vars": [
"error",
{
Expand All @@ -63,6 +59,37 @@
"varsIgnorePattern": "^_$"
}
],
"unused-imports/no-unused-imports-ts": "warn"
}
"unused-imports/no-unused-imports": "warn"
},
"overrides": [
{
"files": ["**/*.{ts,tsx}"],
"extends": ["plugin:@typescript-eslint/recommended"],
"rules": {
"@typescript-eslint/no-explicit-any": [
"error",
{
"fixToUnknown": true
}
]
}
},
{
"files": ["**/*.stories.@(js|jsx|ts|tsx|mdx)"],
"extends": ["plugin:storybook/recommended"]
}
],
"ignorePatterns": [
"node_modules/",
".next/",
"out/",
"dist/",
"build/",
".vercel/",
".netlify/",
"coverage/",
"storybook-static/",
"**/*.d.ts",
"src/intl/"
]
}
4 changes: 4 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[settings]
# tools can read the versions files used by other version managers
# for example, .nvmrc in the case of node's nvm
idiomatic_version_file_enable_tools = ['node']
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20
20.19.2
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -774,7 +774,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="http://linkedin.com/in/kamilzarzycki/"><img src="https://avatars.githubusercontent.com/u/26347436?v=4?s=100" width="100px;" alt="Kamil Zarzycki"/><br /><sub><b>Kamil Zarzycki</b></sub></a><br /><a href="#translation-Ryeore" title="Translation">🌍</a> <a href="#content-Ryeore" title="Content">🖋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.stockholmblockchain.com"><img src="https://avatars.githubusercontent.com/u/10158281?v=4?s=100" width="100px;" alt="Filip Martinsson"/><br /><sub><b>Filip Martinsson</b></sub></a><br /><a href="#content-filipmartinsson" title="Content">🖋</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.zeroservices.eu"><img src="https://avatars.githubusercontent.com/u/78486441?v=4?s=100" width="100px;" alt="zeroservices"/><br /><sub><b>zeroservices</b></sub></a><br /><a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Azeroservices" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lukassim"><img src="https://avatars.githubusercontent.com/u/37338979?v=4?s=100" width="100px;" alt="LukaK"/><br /><sub><b>LukaK</b></sub></a><br /><a href="#content-lukassim" title="Content">🖋</a> <a href="#ideas-lukassim" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lukassim"><img src="https://avatars.githubusercontent.com/u/37338979?v=4?s=100" width="100px;" alt="LukaK"/><br /><sub><b>LukaK</b></sub></a><br /><a href="#content-lukassim" title="Content">🖋</a> <a href="#ideas-lukassim" title="Ideas, Planning, & Feedback">🤔</a> <a href="#translation-lukassim" title="Translation">🌍</a> <a href="https://github.com/ethereum/ethereum-org-website/issues?q=author%3Alukassim" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://lukeingalls.com"><img src="https://avatars.githubusercontent.com/u/45518011?v=4?s=100" width="100px;" alt="Luke Ingalls"/><br /><sub><b>Luke Ingalls</b></sub></a><br /><a href="#content-lukeingalls" title="Content">🖋</a></td>
</tr>
<tr>
Expand Down
58 changes: 37 additions & 21 deletions app/[locale]/10years/_components/AdoptionSwiper.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
"use client"

import type { StaticImageData } from "next/image"
import { useTranslations } from "next-intl"

import { Image } from "@/components/Image"
import Translation from "@/components/Translation"
import { ButtonLink } from "@/components/ui/buttons/Button"
import {
Swiper,
Expand All @@ -11,38 +15,50 @@ import {

import { cn } from "@/lib/utils/cn"

import { AdoptionCard } from "./types"

type AdoptionCardProps = {
adoptionCards: AdoptionCard[]
adoptionCards: { image: StaticImageData; href: string }[]
adoptionStyles: string[]
}

const AdoptionSwiper = ({
adoptionCards,
adoptionStyles,
}: AdoptionCardProps) => {
const t = useTranslations("page-10-year-anniversary")

return (
<div className="flex flex-1 flex-col gap-6 md:hidden">
<SwiperContainer className="mx-auto w-full max-w-[550px]">
<Swiper spaceBetween={32}>
{adoptionCards.map((card, index) => (
<SwiperSlide key={card.title}>
<div
className={cn("h-full rounded-2xl p-8", adoptionStyles[index])}
>
<Image
src={card.image}
alt={card.title}
className="mx-auto mb-4 h-36 object-contain"
/>
<h3 className="mb-4 text-2xl font-bold">{card.title}</h3>
{card.description}
<ButtonLink href={card.href} hideArrow variant="outline">
{card.linkText}
</ButtonLink>
</div>
</SwiperSlide>
))}
{adoptionCards.map((card, index) => {
const title = t(`page-10-year-adoption-card-${index + 1}-title`)
return (
<SwiperSlide key={title}>
<div
className={cn(
"h-full rounded-2xl p-8",
adoptionStyles[index]
)}
>
<Image
src={card.image}
alt={title}
className="mx-auto mb-4 h-36 object-contain"
/>
<h3 className="mb-4 text-2xl font-bold">{title}</h3>
<p className="mb-8">
<Translation
id={`page-10-year-adoption-card-${index + 1}-description`}
ns="page-10-year-anniversary"
/>
</p>
<ButtonLink href={card.href} hideArrow variant="outline">
{t(`page-10-year-adoption-card-${index + 1}-link-text`)}
</ButtonLink>
</div>
</SwiperSlide>
)
})}
<SwiperNavigation />
</Swiper>
</SwiperContainer>
Expand Down
40 changes: 30 additions & 10 deletions app/[locale]/10years/_components/CountDown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,21 @@

import { useEffect, useState } from "react"

import type { TimeLeftLabels } from "@/lib/types"

import { cn } from "@/lib/utils/cn"

interface CountDownProps {
className?: string
timeLeftLabels: TimeLeftLabels
expiredLabel: string
}

const CountDown = ({ className }: CountDownProps) => {
const CountDown = ({
className,
timeLeftLabels,
expiredLabel,
}: CountDownProps) => {
const [timeLeft, setTimeLeft] = useState({
days: 0,
hours: 0,
Expand Down Expand Up @@ -46,11 +54,7 @@ const CountDown = ({ className }: CountDownProps) => {
}, [])

if (isExpired) {
return (
<div className="text-center text-2xl font-bold">
Ethereum is 10 years old! 🚀
</div>
)
return <div className="text-center text-2xl font-bold">{expiredLabel}</div>
}

return (
Expand All @@ -64,7 +68,11 @@ const CountDown = ({ className }: CountDownProps) => {
<div className="font-mono text-4xl font-bold text-accent-a">
{timeLeft.days}
</div>
<div className="font-mono text-xs text-accent-a">days</div>
<div className="font-mono text-xs text-accent-a">
{timeLeft.days === 1
? timeLeftLabels.days.singular
: timeLeftLabels.days.plural}
</div>
</div>
<div
className={cn(
Expand All @@ -75,7 +83,11 @@ const CountDown = ({ className }: CountDownProps) => {
<div className="font-mono text-4xl font-bold text-accent-a">
{timeLeft.hours}
</div>
<div className="font-mono text-xs text-accent-a">hours</div>
<div className="font-mono text-xs text-accent-a">
{timeLeft.hours === 1
? timeLeftLabels.hours.singular
: timeLeftLabels.hours.plural}
</div>
</div>
<div
className={cn(
Expand All @@ -86,7 +98,11 @@ const CountDown = ({ className }: CountDownProps) => {
<div className="font-mono text-4xl font-bold text-accent-a">
{timeLeft.minutes}
</div>
<div className="font-mono text-xs text-accent-a">minutes</div>
<div className="font-mono text-xs text-accent-a">
{timeLeft.minutes === 1
? timeLeftLabels.minutes.singular
: timeLeftLabels.minutes.plural}
</div>
</div>
<div
className={cn(
Expand All @@ -97,7 +113,11 @@ const CountDown = ({ className }: CountDownProps) => {
<div className="font-mono text-4xl font-bold text-accent-a">
{timeLeft.seconds}
</div>
<div className="font-mono text-xs text-accent-a">seconds</div>
<div className="font-mono text-xs text-accent-a">
{timeLeft.seconds === 1
? timeLeftLabels.seconds.singular
: timeLeftLabels.seconds.plural}
</div>
</div>
</div>
)
Expand Down
25 changes: 17 additions & 8 deletions app/[locale]/10years/_components/InnovationSwiper.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ import {

import { innovationCards } from "./data"

import { useTranslation } from "@/hooks/useTranslation"

export default function InnovationSwiper() {
const { t } = useTranslation("page-10-year-anniversary")

return (
<div className="w-[100%]">
<SwiperContainer className="mx-auto w-full max-w-[550px] xl:max-w-[700px]">
Expand All @@ -25,18 +29,23 @@ export default function InnovationSwiper() {
>
<Image
src={card.image}
alt={card.title}
alt={t(`page-10-year-innovation-card-${index + 1}-title`)}
className="mx-auto my-4 h-auto max-h-48 object-contain"
/>
<div>
<h3 className="mb-4">{card.title}</h3>
<p className="text-body-secondary mb-4">{card.date}</p>
</div>
{card.description.map((description, index) => (
<p key={index} className="mb-4">
{description}
<h3 className="mb-4">
{t(`page-10-year-innovation-card-${index + 1}-title`)}
</h3>
<p className="text-body-secondary mb-4">
{t(`page-10-year-innovation-card-${index + 1}-date`)}
</p>
))}
</div>
<p className="mb-4">
{t(`page-10-year-innovation-card-${index + 1}-description-1`)}
</p>
<p className="mb-4">
{t(`page-10-year-innovation-card-${index + 1}-description-2`)}
</p>
</SwiperSlide>
))}
<SwiperNavigation />
Expand Down
Loading
Loading