Skip to content

Apply the Stellar Design System to /launch/usdt0 - #2919

Closed
mmazco wants to merge 4 commits into
stellar:mainfrom
mmazco:usdt0-sds
Closed

mmazco wants to merge 4 commits into
stellar:mainfrom
mmazco:usdt0-sds

Conversation

@mmazco

@mmazco mmazco commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Applies the Stellar Design System to /launch/usdt0, and swaps the social card to match. No content changes — the page renders the same 263 lines of text as main, apart from one emoji the design system does not allow as an icon.

What changes

  • Consumes @stellar/design-system v4 instead of the page's own hand-picked palette. Every colour in the page CSS resolves to an --sds-* token: no hex, no rgb(), no colour keywords
  • Lilac becomes the interactive colour — links, hovers, focus rings, nav state. Gold is retired
  • Inter and Inconsolata, the two faces SDS specifies. Both self-hosted, so the page still makes no third-party font request. The IBM Plex Mono files are removed as they are now unused
  • The hand-built dark palette is gone; SDS owns both themes via .sds-theme-light / .sds-theme-dark, bridged to the page's existing toggle
  • usdt0-og.png replaced with a lilac card at the same filename and dimensions, so existing shares pick it up as caches expire

On the colour

--sds-clr-gold-09 is #fdda24 — the exact yellow this page already used, so the accent was always on-system. What changed is its role. The skill reserves gold as an accent, makes lilac primary interactive, and warns against carrying stellar.org's marketing style onto product surfaces. Beside the docs, the Lab and skills, lilac is what makes this page look like it belongs.

Two things to flag rather than have found

SDS components are not adopted. Step 1 of the skill asks for SDS components before custom ones. This is a token-level restyle: the page keeps its own components and only resolves their colours and fonts to SDS variables. There is no SDS Button, Card or Badge here. For a bespoke landing page that seems a reasonable exception, but it is a deviation and worth naming.

The structured data is still generated outside this repo, which is the same objection raised on #2856. Nothing here improves it — the page is produced by a script that does not live in this repository, so the FAQPage and TechArticle blocks remain a second copy with no in-repo generator. It stays the strongest argument for porting the page to src/pages/launch/usdt0/index.tsx, where SDS tokens would also be considerably easier to apply.

Worth knowing for other surfaces

The skill's dark-mode instruction is wrong for v4. It says to set data-theme="dark" on <html>; the shipped stylesheet uses .sds-theme-light / .sds-theme-dark classes and contains zero data-theme selectors. Following it gives a theme toggle that silently does nothing.

Checked

  • Zero colour values outside tokens
  • Inter + Inconsolata verified loading via document.fonts.check, not merely declared
  • Both themes readable; toggle verified switching
  • Contrast: 0 failures across 118 visible elements in both themes
  • One h1, no heading skips; addresses in monospace with copy affordances
  • No horizontal overflow at 375px

After merge

The card needs a re-scrape so existing shares refresh: X Card Validator and LinkedIn Post Inspector.

🤖 Generated with Claude Code

Consumes @stellar/design-system v4 rather than the page's own hand-picked
palette. Every colour in the page CSS now resolves to an --sds-* token:
no hex, no rgb(), no colour keywords.

Lilac becomes the interactive colour - links, hovers, focus rings, nav
state - and gold is retired from the page. The skill reserves gold as an
accent and makes lilac primary, and warns against carrying stellar.org's
marketing style onto product surfaces. On a page sitting beside the docs,
the Lab and skills, lilac is what makes it look like it belongs.

Typography moves to Inter and Inconsolata, the two faces SDS specifies.
Both are self-hosted, so the page still makes no third-party font request;
the IBM Plex Mono files are removed as they are now unused.

The hand-built dark palette is gone. SDS owns both themes through
.sds-theme-light and .sds-theme-dark, bridged to the page's existing
toggle. Note the skill's instruction to set data-theme is wrong for v4,
which ships theme classes and no data-theme selectors at all.

The social card is replaced with a lilac version at the same filename and
dimensions, so existing shares pick it up as caches expire.

No content changes: the page renders the same 263 lines of text as main,
apart from an emoji the design system does not allow as an icon.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the preview Preview builds for PRs by SDF employees. label Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

@stellar-triage-bot

Copy link
Copy Markdown
Contributor

🤖 Automated message from the Stellar Triage Bot.

Hi @mmazco, thanks for this PR. I saw it, but nobody asked me to review it, so I will not touch it.

How to reach me:

  • Anyone with write permission can call me in with a /triage comment or the bot:take label.
  • You, as the PR author, can send me away with /triage stop. People with write permission can also add the bot:hands-off label.
  • A review request to a maintainer does not call me in. It asks for their judgment.

@kaankacar

Copy link
Copy Markdown
Contributor

/triage

Two half-removed blocks left orphan closing braces, which made browsers drop the box-sizing reset and the .foot-icons rule. Restore the media query around the toggle icons so the moon is not hidden when the page follows a light OS. Read the toggle's own storage key in the first-paint script, and turn off the SDS list marker on the venue chips.
@stellar-triage-bot

Copy link
Copy Markdown
Contributor

🤖 Automated message from the Stellar Triage Bot.

Reviewing because @kaankacar asked with /triage.

I pushed 27e9117 with mechanical fixes:

  • Two stray } from half-removed blocks. They dropped *{box-sizing:border-box} and .foot-icons.
  • The toggle's moon icon was hidden on a light OS. I restored the @media wrapper.
  • The first-paint script now reads the toggle's own key, usdt0-atlas-theme.
  • SDS added a "-" marker to each venue chip. I turned it off.

@mmazco one question: SDS's .sds-theme-light p rule outranks the page's paragraph classes. So .ncopy, .fcopy, .id-note and others now render at 16px/28px, not 13-15.5px. Is that intended? If not, wrap the inlined SDS in @layer sds { ... } to keep the page's sizes.

@stellar-triage-bot stellar-triage-bot Bot added the bot:needs-author Bot asked the author for a change or clarification label Oct 17, 2026
@github-actions github-actions Bot removed the preview Preview builds for PRs by SDF employees. label Oct 17, 2026
The inlined SDS was overriding the page's own typography: .sds-theme-light p
is (0,1,1) and beat .ncopy at (0,1,0), so four of the five body-copy classes
rendered at 16px/28px instead of 13-15.5px.

@layer sds settles the specificity contest, since unlayered rules win over
layered ones however specific. That alone was not enough for three
paragraph classes: they inherit their line-height, and an inherited value
loses to any rule targeting the element directly, layered or not. Bare
p/ul/ol rules outside the layer restore it, with specificity low enough
that the page's own classes still win.

Verified against the live page: all eleven typography measurements match.

Keeps the fixes from 27e9117 and moves them into the source the page is
generated from, so the next build does not undo them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mmazco

mmazco commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Automated message from the Stellar Triage Bot.

Reviewing because @kaankacar asked with /triage.

I pushed 27e9117 with mechanical fixes:

  • Two stray } from half-removed blocks. They dropped *{box-sizing:border-box} and .foot-icons.
  • The toggle's moon icon was hidden on a light OS. I restored the @media wrapper.
  • The first-paint script now reads the toggle's own key, usdt0-atlas-theme.
  • SDS added a "-" marker to each venue chip. I turned it off.

@mmazco one question: SDS's .sds-theme-light p rule outranks the page's paragraph classes. So .ncopy, .fcopy, .id-note and others now render at 16px/28px, not 13-15.5px. Is that intended? If not, wrap the inlined SDS in @layer sds { ... } to keep the page's sizes.

Not intended — good catch. .sds-theme-light p was outranking .ncopy and friends, so four of the five body-copy classes had moved to 16px/28px. Wrapped the inlined SDS in @layer sds as you suggested.

One wrinkle: the layer alone didn’t finish it. .deck, .id-note and .dep-lead inherit their line-height, and an inherited value loses to any rule targeting the element directly — layered or not — so they stayed at 28px. Added bare p,ul,ol{line-height:inherit;margin:revert} outside the layer, specific enough to beat SDS and not the page’s classes.

Also moved your four fixes into the source the page is generated from, so the next build doesn’t undo them. All eleven typography measurements now match the live page.

@github-actions github-actions Bot added the preview Preview builds for PRs by SDF employees. label Oct 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The page now self-hosts Inconsolata, which is under the SIL OFL 1.1, and the OFL asks that each copy carry the notice and licence. Add it from google/fonts and drop the IBM Plex licence, since the IBM Plex files it covered are gone.
@github-actions github-actions Bot removed the preview Preview builds for PRs by SDF employees. label Oct 22, 2026
@stellar-triage-bot stellar-triage-bot Bot added bot:ready-to-merge Bot verified and approved; waiting for a maintainer to merge and removed bot:needs-author Bot asked the author for a change or clarification labels Oct 22, 2026
@stellar-triage-bot

Copy link
Copy Markdown
Contributor

🤖 Automated message from the Stellar Triage Bot.

Back on this because @mmazco replied.

Thanks @mmazco. I checked the @layer sds fix and the bare p,ul,ol rule. Every paragraph class sets its own size, and no earlier page rule targets bare p, ul or ol. My four fixes are still in place, and the CSS braces balance.

I pushed 8be0858: it adds the Inconsolata OFL licence and drops the unused IBM Plex licence.

Verified, and build and mdx-format are green at 5bb7563. No live preview was available for this review. Ready to merge.
External-origin change, so a maintainer merges this.

@mmazco

mmazco commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

Closing: this changed static/launch/usdt0.html, which #2941 removed when it moved the site to Mintlify. /launch/usdt0 is now launch/usdt0.mdx rendering snippets/usdt0-launch.jsx, and the Mintlify theme already uses lilac (#6E56CF) and Inter. Any remaining SDS alignment for the USDT0 page will go into that snippet after cutover.

@mmazco mmazco closed this Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:ready-to-merge Bot verified and approved; waiting for a maintainer to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants