Standardize five page layouts (layer-2, learn, reports)#18817
Standardize five page layouts (layer-2, learn, reports)#18817myelinated-wackerow wants to merge 2 commits into
Conversation
Converge /layer-2, /layer-2/learn, /layer-2/networks, /learn, and /reports on the current design-system page skeleton: hero outside the article, MainArticle.flow, Section chunks with stable ids, .flow rhythm, and the page/space spacing tokens. - Replace ad-hoc px-8/py-9 wrappers and md:w-[50%] column splits with flow + flex text/image rows; contained bands use semantic tokens (bg-background-highlight, bg-tint-primary, bg-tint-warning) instead of hardcoded hex. - Cards/callouts via Grid + ui/card/Callout; hub stats via BigNumber with the currency formatter (formatPriceUSD); fix duplicate section ids. - layer-2/networks: table gets an sr-only h2, *:[section]:not-first:px-page keeps it full-width, NetworkMaturity inlined (accordion dropped) with the intro as a single t.rich string, maturity hexes swapped to blue-* tokens, table variant=minimal for flush cells. - Drop I18nProvider where only common/server Translation is used; camelCase all raster image imports (SVGR icon components rendered via a capitalized binding). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Pull the in-progress design-system skill-doc updates from the parallel page-layouts effort (excluding the scratch tracker) and add learnings from this refactor. Synced: CardButtonFake as the CTA on href cards, EdgeScrollContainer --edge-spacing tracking px-page, the flow flex/grid-section offset gotcha, the glossary-link <Translation> needs-I18nProvider note, layouts rules for end-of-page actions and the PageJsonLD import alias, and an accurate PageHero (no header) vs HubHero (title=eyebrow, header=heading) hero-prop section. Added: exempting one full-bleed section under *:[section]:px-page via :not-first (and why a plain px-0 loses to the selector on specificity), and the SVG-as-component vs camelCase-image-import gotcha. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
🔎 First-pass review — ✅ Looks mergeableContinuation of the Verified the changes most likely to bite:
AnalysisLane: code (app-router pages + deleted Checked: unused vars/imports (build-fatal) — clean; locale-format wrappers; server/client + CI: still running at review time — not commenting on pending checks. Non-blocking:
Labels: removed stale
|

Summary
Standardizes five more app-router pages on the current design-system page skeleton, continuing the
ui-page-layoutseffort: /layer-2, /layer-2/learn, /layer-2/networks, /learn, and /reports.Each page now follows the same shape: hero outside the article,
MainArticlewith.flow,Sectionchunks with stable ids, spacing via thepage/spacetokens, cards/callouts composed fromGrid+ui/card/Callout, and semantic tokens in place of hardcoded hex.Changes
Pages
[Nlh]spacing.ContentLayout); fixed the localAdditionalDocReadinghelper (.flow+text-h5, nomt-24/inline flex).md:w-[50%]column splits → flex text/image rows;bg-body-light→bg-background-highlight,bg-orange-100 text-gray-900→bg-tint-warning; rollup cards gethoverLift; "Zero-knowledge" hyphenated.PageHerolifted out of the article; the data table gets ansr-only<h2>and stays full-width via*:[section]:not-first:px-page;NetworkMaturityinlined (accordion removed), its intro consolidated to a singlet.richstring, maturity hex cells →blue-*tokens,variant="minimal"for flush cells.HubHerolifted out; rawtext-5xlstats →BigNumber+formatPriceUSD;bg-[#B9B9F1]/20→bg-tint-primary; contained bands rounded; duplicate section id fixed; a repeated image de-duplicated (the band now usesmainnet.png).Cross-cutting: dropped
I18nProviderwhere onlycommon/server<Translation>is used; camelCased all raster image imports (SVGR icon components render via a capitalized binding); aliased JSON-LD imports toPageJsonLD.Design-system skill docs
Pulled the in-progress skill-reference updates from the parallel page-layouts effort (
CardButtonFakeonhrefcards,--edge-spacingtrackingpx-page, the flow flex/grid-section offset gotcha, the glossary-link<Translation>provider note, layout rules for end-of-page actions + thePageJsonLDalias, and an accuratePageHero/HubHerohero-prop section), and added two learnings surfaced here: exempting a full-bleed first section via:not-first:px-page(and why a plainpx-0can't override the selector), and the SVG-as-component vs camelCase-image-import gotcha.Test plan
/layer-2,/layer-2/learn,/layer-2/networks,/learn,/reportsrender correctly (layout, spacing, image sizing) in light + dark.t.richintro key (page-layer-2-network-maturity-intro) is English until the intl-pipeline propagates it.