docs(upgrades): emulate the chain.base.org upgrades page on the Upgrades landing page - #1886
Draft
youssefea wants to merge 2 commits into
Draft
docs(upgrades): emulate the chain.base.org upgrades page on the Upgrades landing page#1886youssefea wants to merge 2 commits into
youssefea wants to merge 2 commits into
Conversation
…ng page Ports the Upgrades page from chain.base.org (base/ui, app/upgrades) onto the Upgrades tab landing page: a Grid/Timeline toggle over the same four Base upgrades, with per-network activation dates, derived status, change counts, and the upgrade illustrations. Status is computed from each upgrade's per-network lifecycle at render time — a confirmed timestamp resolves to live or scheduled, a bare estimate reads as planning — so the page does not go stale the way the previous hand-maintained status table did. The upstream OP Stack hardfork table and the configuration changelog pointer are unchanged. Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Collaborator
🟡 Heimdall Review Status
|
…ase labels The outlined View features button read as empty at the bottom: it is bottom-aligned with the date text, so its own vertical padding showed up as slack beneath the label. chain.base.org uses a filled pill there, where the same padding reads as the button's field rather than as a gap. Also brings the footer in line with the source: sentence-case network labels instead of small uppercase, and the title-case "View Features" label. Date type is sized so all four cards keep the pill on the dates row (Cobalt, with "September 2026" twice, is the tightest at 16px of slack); if it ever does wrap, margin-left:auto keeps the pill right-aligned. Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
youssefea
marked this pull request as draft
August 31, 2026 18:26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed? Why?
Ports the Upgrades page on chain.base.org (source: base/ui,
app/upgrades) onto the Upgrades tab landing page (base-chain/specs/upgrades/overview).The landing page previously carried a hand-maintained "Base Upgrades" table with a static Status column that had to be edited every time an upgrade shipped. It now renders the same two views as chain.base.org:
Status is derived from each upgrade's per-network lifecycle at render time, matching the upstream data model: a confirmed timestamp resolves to Live or Scheduled, a bare estimate ("September 2026") reads as Planning. Nothing goes stale on an activation date.
The upstream OP Stack hardfork table and the configuration changelog pointer are unchanged. The page is
mode: "wide"so the two-up card grid gets the same proportions as the source (888px content column vs. the source'smax-w-5xl).New files:
docs/snippets/UpgradesOverview.jsx— the componentdocs/images/upgrades/{azul,beryl,cobalt,denim}-illo.svg— the upgrade illustrations, copied frombase/ui'spublic/Notes to reviewers
Two Mintlify constraints shaped the implementation and are documented in a header comment on the snippet:
undefinedat render. Data and helpers therefore live inside the component, and the Grid/Timeline toggle is the component's own state rather than two separate exports.mint-prefixed subset, and utilities outside that subset silently no-op —bg-emerald-50/text-emerald-700rendered as an unstyled pill with inherited link-blue text. Styling goes through the CSS-token +<style>pattern the other demo snippets indocs/snippets/already use, which also handles the three theme states (system, explicit light, explicit dark).docs/llms.txtanddocs/llms-full.txtwere regenerated withnode scripts/llms.jsbecause the page description changed. The regeneration also picked up ~10 lines of unrelated drift from descriptions that changed on master without a regeneration.How has it been tested?
Rendered against a local
mint devserver and driven with Playwright:scrollWidth === clientWidthon the component; document does not exceed the viewport)..linkunderline running the full width of each timeline row, and the timeline rail sitting 12px left of the node centers.node scripts/validate-docs-structure.js— passesnode scripts/lint-mdx.js docs/base-chain/specs/upgrades/overview.mdx— 0 errors, 0 warningsbash scripts/verify-doc-samples.sh— all verified samples pass