translations UI design revisions#3314
Conversation
OpenAPI ChangesNo changes detected Unexpected changes? Ensure your branch is up-to-date with |
There was a problem hiding this comment.
Pull request overview
This PR updates the B2B contract dashboard header styling (desktop + mobile) and revises the visual design of the “Learning Language” dropdown to match updated translation UI designs.
Changes:
- Added responsive styling to the contract header layout, logo container, and header/subheader typography.
- Adjusted program header mobile styling (padding/background/border) and updated the language select field layout/styling.
- Updated the language select’s
renderValueto render the selected language label with subtitle typography.
| const ProgramHeaderText = styled.div(({ theme }) => ({ | ||
| flexDirection: "column", | ||
| gap: "8px", | ||
| }) | ||
| [theme.breakpoints.down("sm")]: { | ||
| gap: "0", | ||
| }, | ||
| })) |
|
@mbilalmughal I saw your suggestion to use a modal to select dropdown elements on mobile instead of the usual dropdown:
My question is that this looks like a one-off wireframe and not an actual finalized component. Do we want to do this for dropdowns across the site? Should we make it an official part of our implementation of |
|
@gumaerc @mbilalmughal Here is my two cents since Carey suggested I weigh in. On mobile, a modal is almost always better than a dropdown for language selection. Dropdowns get cramped fast, and language lists are usually long. One thing I would like to call out on the current mockup is could we sort the list alphabetically by how each language spells its own name, not by the English version. Right now it goes English, Spanish, French… but a Spanish speaker is scanning for "Español," not "Spanish." I know it offers both currently, so if you disagree I'm not married to this suggestion. Also if over time we end up having more than 12 languages (this may already be the case) I think adding a search box at the top would be a valuable UX add. |
On principle, I generally agree that UX should be applied globally. As you can see in the end of user story, I initially proposed a larger dropdown menu for easier selection, but later the UX team decided it would be better to use a modal, as there is a chance users might accidentally click the cards behind it. That being said, I’m not in favor of making that change right now. I would like to review all scenarios where the dropdown is used (e.g., search pages, sorting dropdowns, etc.). After that, I’ll be in a better position to suggest whether this change can be applied globally and whether it would improve the mobile UX with confidence. cc: @steven-hatch For now, the modal should only be applied to language selection. That would be a better and safer approach. Also, I noticed a couple of small UI spacing issues that I would like you to take a look at.
|
|
@mbilalmughal re: the grey background on the "Learning Language" section and the mobile program section headers: you used colors that are not in the theme. The Learning Language section background is defined as "Light Gray 0" in Figma, which is not part of Smoot Design yet. I could add that, but ideally that work has been done before an issue like this is passed on for implementation. The program header is a separate issue, as the background color is defined as |
|
@gumaerc Yes, I agree this is a new color. We introduced it while creating the Podcast and Video Collection page, and I thought it could be reused here. The reason was that the lightest grey color is already used in the background above, and it feels like it’s blending in rather than giving a distinct separation. I’m fine either way, if we can’t add this for now, that’s totally fine. The color you used works well for now. I think your color with the correct shadow will work just as well, so please ignore that change.Thanks. |
|
@mbilalmughal Also, in regards to the font sizes, I am specifying the font sizes specified in Figma for mobile here: In the design, we have heading 5 for the title and subtitle 2 for the subtitle. I'll do some further verification to make absolutely certain the styles are applying correctly, but I think they are so we might want to check if we have made some design changes in Figma that have not been applied to theme. |
There are places throughout Learn where we see stuff like |
The font feels too big and out of proportion in that card header. I don’t think it will look good even if it follows the rule. I’m not against the rule, but sometimes certain font sizes work better on desktop, while on mobile smaller font sizes can also work well. |
I’m really sorry to see that. I’m totally against using fixed color values instead of color variables. |
@mbilalmughal I'm not arguing that the font size looks more correct as implemented. What I'm saying is that I have set the font size to what is specified in Figma, so if it looks incorrect then likely the theme is incorrect. |
|
@gumaerc Am saying in my attach image above that
|
4bf772c to
f1ffb79
Compare
Yep, and what I'm saying is that on mobile, the header is set to |
|
@mbilalmughal Also be advised that the color values I'm seeing (and have seen thus far) for box shadows has been using these |
So, you are saying the H5 on the theme is not 18px Bold? |
It is, and that is what you're seeing in the screenshot, so maybe it's a visual misinterpretation? It's 1.125rem, which at a 16px base font would translate to 18px. |
Yes, Its the chatbubble shadow variation For the shadow, can we make an exception? Shadows usually use extremely low color values that aren’t used anywhere else. For example, shadows typically require a slight grey or other subtle color variation. It would be difficult to add all those color values just for shadows, and I think it might be overkill. However, I’m open to whatever you suggest. In that case, we may need to add a few very light colors so we can properly update the shadows.
|
|
@mbilalmughal I pushed some commits and updated the style as best I could given your feedback and the current limitations surrounding what is actually implemented in the theme:
|
|
@gumaerc Update looks amazing now, Thanks ALOT ❤️ And I won’t promise for next week, but within a couple of weeks I will address all the concerns you mentioned and fix the design system inconsistencies for sure. I will ask our product team to give me some time to resolve these issues properly. And if some new elements are introduced, which I’m sure there will be, since our Podcast and Video Playlist pages are slightly different from what we currently have, what I will do is create a change set document. I will also introduce a practice of creating a handoff document every time a new task goes into development, not for small changes, of course. Thanks again, Carey, much appreciated. |
|
NOTE: As discussed outside of Github, this PR will not introduce any kind of modal / dialog or native select functionality for the language selection. It would be hacky to do so only for the language picker and we need to have a larger discussion outside the context of this PR about potentially using NativeSelect only on mobile for our |
|
@mbilalmughal That sounds good. I will start with putting up a PR in |
That would be great. For now, I’m only using that color here. Previously, it was introduced in the podcast and video playlist UI, so I don’t think it will affect MIT Learn as such. |
@mbilalmughal For what it's worth, I searched the entire repo for |
|
@gumaerc Yes, good catch. When I started building the new podcast page, I introduced this in a couple of places, but those pages were never approved or moved to development. Although, I think it’s a good gray shade for lighter background use. The one we currently have, which is the lightest gray shade, is kind of dark and doesn’t actually give a true gray feel; rather, it has some blue in it. That’s when I thought I should add a color that can also work well with all the gray shades we already have in the system. F7F7F7 was working well on white, as well as above our lightest gray shade. I would recommend adding that gray shade. As I said, I will work on all the change sets we’ve made, and then we can discuss which changes we should push to the smoot design 👍
|














What are the relevant tickets?
Closes https://github.com/mitodl/hq/issues/11196
Description (What does it do?)
This PR implements some style changes to both mobile and desktop on the B2B contract page, focusing mostly on the header and the new translation language selection dropdown.
Screenshots (if appropriate):
How can this be tested?