Skip to content

Bump smoot-design for the outlined chip fix, keeping the homepage trending chips unchanged - #4136

Merged
ChristopherChudzicki merged 2 commits into
mainfrom
cc/pin-trending-chip-hover-text
Oct 23, 2026
Merged

ChristopherChudzicki merged 2 commits into
mainfrom
cc/pin-trending-chip-hover-text

Conversation

@ChristopherChudzicki

@ChristopherChudzicki ChristopherChudzicki commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

What are the relevant tickets?

Note

Update smoot-design to a semantic release before merging

Description (What does it do?)

Bumps smoot-design to 6.39.1, which carries mitodl/smoot-design#279 and moves outlined chips to the design's Dark Gray 2 text, and keeps the homepage's trending chips exactly as they are.

  • The topics page's sub-topic chips and the program page's label chip get darker text, as the design has it.
  • The homepage's trending chips are a separate design (Figma's TrendingPill). On their own, the smoot change would darken their hover text; this pins it to the Dark Gray 1 they render today.
Implementation details
  • smoot's .MuiChip-clickable:hover rule (specificity 0,3,0) outranks TrendingChip's &:hover (0,2,0), the same reason its background and border overrides already carry !important. So the Dark Gray 2 that TrendingChip declared for outlinedWhite hover never applied, and Explore All (outlined) declared none.
  • color: darkGray1 !important on both variants' hover. On smoot 6.38.0 this changes nothing; on 6.39.1 it keeps today's colour.
  • ol-components declares smoot as an exact-version peer, so it's bumped alongside main.

Screenshots (if appropriate):

Before: main with smoot 6.38.0. After: this branch with 0.0.0-8f8796b, the prerelease of #279; 6.39.1's theme is identical to it.

Homepage trending chips — (UNCHANGED)

Homepage trending chips at rest, before and after
Homepage trending chips with Recently Added hovered, before and after
Homepage trending chips with Explore All hovered, before and after

Topics page sub-topic chips — darker text

Topics page sub-topic chips at desktop width, before and after
Topics page sub-topic chips with the first chip hovered, before and after
Topics page sub-topic chips at mobile width, before and after

Program page label — darker text

Program page MicroMasters label chip, before and after

Contract admin status badges — unchanged

Contract admin page status badges, before and after

How can this be tested?

  1. On the homepage, hover each trending chip (Recently Added through Explore All): the text darkens to the same grey as on main, not to near-black.
  2. /topics/: the sub-topic chips' text is darker than on main, at rest and on hover, at desktop and mobile widths.
  3. A program page, e.g. /programs/program-v1:MITxT+SCM: the label above the title is darker.

Agent-Run Checks

  • Computed styles and pixels, local dev, main + 6.38.0 vs this branch + 0.0.0-8f8796b (the prerelease of Distinguish deps vs devDeps + make each package.json specify own dependencies #279; src/components/ThemeProvider/ is unchanged between it and 6.39.1):
    • Homepage trending chips (6), at rest and with Recently Added and Explore All hovered: 0 changes.
    • Topics page sub-topic chips (8, desktop and mobile, at rest and hovered) and the program label: text rgb(64, 70, 76) → rgb(33, 35, 38); borders, fills and sizes unchanged.
    • Contract admin status badges: 0 changes.
  • The pin alone on 6.38.0: 0 changes on every surface above. smoot's chip change without the pin: the hover text and icon of all 6 homepage chips change to rgb(33, 35, 38).
  • prek hooks pass.

Additional Context

🤖 Co-authored with Claude Code

@agent-optibot agent-optibot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

Trending search chips now retain readable dark text across hover states, while the frontend adopts an updated Smoot design-system prerelease.

Key Changes

  • Updates Smoot design-system dependencies to prerelease 0.0.0-8f8796b.
  • Applies dark hover text to filled trending chips.
  • Applies dark hover text to outlined trending chips.
All Relevant File Changes (click to expand)
  • frontends/main/package.json: Updates the application’s Smoot design-system dependency.
  • frontends/main/src/page-components/HeroSearch/HeroSearch.tsx: Adjusts hover text colors for trending chip variants.
  • frontends/ol-components/package.json: Updates the shared components’ Smoot design-system peer dependency.
  • yarn.lock: Resolves the new Smoot design-system version and updated dependency checksums.

💬 Feedback & Commands

Share feedback on my comments with 👍 👎 — I'll stop raising issues you push back on. Think I missed something? Adjust my sensitivity →

5 things I can do →
  • #optibot review — I'll re-review your latest changes (incremental)
  • #optibot full review — I'll re-review the entire PR from scratch
  • #optibot fix — I'll apply my suggested fixes to your code
  • #optibot compliance — I'll run a compliance check on your changes
  • #optibot release notes — I'll write up release notes for your production release

💡 Tip: I can audit every dependency change before it reaches main — one compromised package can take down your entire system. Try Supply Chain Agent.

  • 🔄 re-review this PR

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

OpenAPI Changes

No changes detected

View full changelog

Unexpected changes? Ensure your branch is up-to-date with main (consider rebasing).

@agent-optibot agent-optibot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

The frontend now uses a newer Smoot Design prerelease, bringing updated design-system behavior. Trending search chips also retain the intended dark text color across hover states.

Key Changes

  • Upgrades Smoot Design dependencies to prerelease build 0.0.0-8f8796b
  • Ensures filled and outlined trending chips use consistent hover text colors
All Relevant File Changes (click to expand)
  • frontends/main/package.json: Updates the Smoot Design dependency to a prerelease build
  • frontends/main/src/page-components/HeroSearch/HeroSearch.tsx: Sets dark hover text for trending chips
  • frontends/ol-components/package.json: Updates the Smoot Design peer dependency
  • yarn.lock: Resolves the new Smoot Design package and updated dependency checksums

💬 Feedback & Commands

Share feedback on my comments with 👍 👎 — I'll stop raising issues you push back on. Think I missed something? Adjust my sensitivity →

5 things I can do →
  • #optibot review — I'll re-review your latest changes (incremental)
  • #optibot full review — I'll re-review the entire PR from scratch
  • #optibot fix — I'll apply my suggested fixes to your code
  • #optibot compliance — I'll run a compliance check on your changes
  • #optibot release notes — I'll write up release notes for your production release

💡 Tip: I can audit every dependency change before it reaches main — one compromised package can take down your entire system. Try Supply Chain Agent.

@agent-optibot agent-optibot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Status: Code Looks Good 👍

No blocking issues found.

📌 Reviewed up to the latest commit · ⏱️ Review completed in 1 minute

  • 🔄 re-review this PR

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Final approval should wait until the prerelease is replaced with the required published semantic release and that version is validated.

No open issues 🎉

What changed in this PR

Updates smoot-design to a prerelease that darkens outlined chip text on topic and program pages while preserving the homepage trending chips’ existing appearance.

Changes:

  • Aligns the application dependency, shared-component peer dependency, and lockfile on 0.0.0-8f8796b.
  • Explicitly preserves Dark Gray 1 hover text for both homepage trending chip variants.
File Description
yarn.lock Locks the prerelease package and matching workspace references.
frontends/​ol-components/​package.json Aligns the exact smoot-design peer dependency.
frontends/​main/​src/​page-components/​HeroSearch/​HeroSearch.tsx Pins trending chip hover text to its existing color.
frontends/​main/​package.json Updates the application’s smoot-design dependency.

Review effort: Balanced

@@ -188,6 +188,7 @@ const TrendingChip = styled(ChipLink)(({ theme, variant }) => [
"&:hover": {
backgroundColor: `${theme.custom.colors.lightGray2} !important`,
borderColor: theme.custom.colors.silverGray,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking nit: this borderColor never takes effect. smoot's &.MuiChip-clickable:hover rule (0,3,0) beats this &:hover (0,2,0) and sets silverGrayDark, so the actual hover border is silverGrayDark, not silverGray. You mention this in the description; it's the same kind of silently overridden declaration this PR just fixed for color on line 181.

Agree with not changing the homepage's look here. Could we make the code match what renders, so nobody later assumes this line works? Either:

Suggested change
borderColor: theme.custom.colors.silverGray,
borderColor: `${theme.custom.colors.silverGrayDark} !important`,

(no visual change, since it's what renders today), or delete the line, or add a short comment noting smoot overrides it.

@ahtesham-quraish ahtesham-quraish left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@ChristopherChudzicki
ChristopherChudzicki force-pushed the cc/pin-trending-chip-hover-text branch from 8f8107f to 85e9aa9 Compare October 23, 2026 13:31
ChristopherChudzicki and others added 2 commits October 23, 2026 09:32
On smoot 6.38.0 the hover text on the homepage's trending chips is smoot's
outlined/outlinedWhite hover colour, Dark Gray 1: smoot's
`.MuiChip-clickable:hover` rule (specificity 0,3,0) outranks TrendingChip's
`&:hover` (0,2,0), which is also why its background and border overrides
need `!important`. The Dark Gray 2 that TrendingChip declared for
outlinedWhite never applied, and Explore All (outlined) declared none.

smoot's chips are moving to Dark Gray 2 to match the design system's Chips
component, but the homepage's trending pills are a separate design. Setting
Dark Gray 1 here with `!important` keeps them as they are on either smoot.

Measured on local dev against both smoot 6.38.0 and a build with the chip
change: every computed colour, border, background, padding and font on all
six chips, at rest and on hover, is identical to today.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6.39.1 is 6.39.0 plus mitodl/smoot-design#279 and nothing else: outlined and
outlinedWhite chips draw Dark Gray 2 text, and the close icon sits 4px from
the label.

ol-components declares smoot as an exact-version peer, so it moves with main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ChristopherChudzicki
ChristopherChudzicki force-pushed the cc/pin-trending-chip-hover-text branch from 85e9aa9 to 3c3744c Compare October 23, 2026 13:32
@ChristopherChudzicki
ChristopherChudzicki merged commit 0ce264e into main Oct 23, 2026
14 checks passed
@ChristopherChudzicki
ChristopherChudzicki deleted the cc/pin-trending-chip-hover-text branch October 23, 2026 13:47
This was referenced Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants