-
Notifications
You must be signed in to change notification settings - Fork 12
Comprehensive UI redesign to match OpenTofu.org aesthetic #338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Deploying registry-ui with
|
| Latest commit: |
9547e5a
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://c6b70b9b.registry-ui-dxi.pages.dev |
| Branch Preview URL: | https://cleanup-design.registry-ui-dxi.pages.dev |
I've implemented breadcrumbs in this space now, let me know if you think this is a good usage of this space. |
|
@Yantrio Oh, loved this idea! Looking way better :)
|
|
That's a good point @yottta ! I think it would be better to move the LICENSE to the top instead of moving the rest to the right sidebar. |
|
The issue with the license is that repos can be multi-licensed and so this list could be quite large. I couldn't come up with a nice way to move that up top yet but im open to some ideas. |
Some random ideas:
|
Major visual overhaul of the registry UI to create a cohesive brand experience: Design System Updates: - Add fixed gradient background pattern matching OpenTofu.org - Implement modern color scheme with improved dark mode support - Add custom scrollbar styling for consistency Navigation & Layout: - Redesign navbar with transparent background and absolute positioning - Modernize announcement bar with subtle transparent styling - Add IDE-style terminal title bar with integrated breadcrumbs - Update tree view navigation with cleaner indentation (no connecting lines) - Implement tab-style language picker with underline indicators Component Modernization: - Enhance provider header with GitHub org avatars and metadata (stars, forks, repository) - Consolidate version displays into single modern component - Redesign sidebar blocks with better typography and spacing - Update code blocks with distinct background colors for visibility - Modernize all hover states and transitions Information Architecture: - Move repository link from sidebar to header for prominence - Add clear "Latest" and "Older versions" sections in version sidebar - Improve metadata display with consistent styling - Better visual hierarchy throughout with refined spacing This brings the registry UI in line with the main OpenTofu.org site design, creating a more professional and cohesive user experience. Signed-off-by: James Humphries <[email protected]>
- Update module header with GitHub avatars and enriched metadata - Add stars, forks, and repository information to header - Modernize version info display with consistent styling - Remove repository from sidebar (moved to header) - Update sidebar menu with proper padding and modern styling - Enhance tab links with rounded corners and smooth transitions - Simplify "How to use" instructions with cleaner code styling - Add target system display in module header This brings the module pages in line with the provider design, creating a consistent experience across all registry pages. Signed-off-by: James Humphries <[email protected]>
- Created rehypeCodeListAnchors plugin to detect list items that start with inline code - Wraps code elements in clickable anchor tags linking to themselves - Adds IDs to list items for direct linking (e.g., #attr-stack_id) - Handles hash scrolling on page load for direct links to schema attributes - Useful for schema documentation where attributes are listed with code formatting Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
- Flash anchored elements with yellow background for 2.5 seconds - Helps users identify the target element after navigation - Smooth fade-in/fade-out animation for better UX Signed-off-by: James Humphries <[email protected]>
- Changed scroll behavior from 'start' to 'center' for better visibility - Anchored elements now appear in the middle of the screen - Improves user experience when navigating to specific schema items Signed-off-by: James Humphries <[email protected]>
- Add line-clamp-1 to CardItemTitle to prevent multi-line titles - Update CardItemTitle component to accept className prop - Filter out providers without versions before virtualization - Remove conditional rendering that caused gaps during fast scrolling - Add safe navigation for latestVersion properties Signed-off-by: James Humphries <[email protected]>
- Add GitHub avatars to module cards - Display metadata badges (stars, forks, target, version) - Implement search functionality with debouncing - Switch from Virtuoso to VirtuosoGrid for responsive grid layout - Ensure consistent card heights with min-height and fallback text - Add 'Forked' indicator for forked modules - Update card styling to be more compact and informative Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
e940333 to
67c8016
Compare
yottta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
I wonder if you consider the change suggested here.
And in the new version, for the modules/provider search, the switch from the centered search box to the detailed view for the searched modules/providers is kinda disruptive. Maybe it's only me, but I don't find it to be a good UX. 🤷 Maybe we could have the detailed view directly shown? 🤔
Would you be able to elaborate or sketch out what you had in mind? I'm not sure I understand |
IMO, when I start typing, I look at the field that I started typing into. Personally I find it quite disruptive when the field that I focus on moves in a glimpse. Now that you asked, I am thinking on either leave the field as it is and when clicked/focused, the second view is shown, before starting typing. Another approach would be to change the initial text field to a button and when pressed, show directly the second view with the top left text field focused. |
| aria-label="OpenTofu Registry" | ||
| className="flex items-center transition-colors text-gray-900 hover:text-brand-500 dark:text-gray-50 dark:hover:text-brand-500" | ||
| > | ||
| <HeaderLogo /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although the markup for the HeaderLogo component hasn't changed here (as far as I can tell?), it seems like the CSS has changed in a way that has upset the relative positioning of the "OpenTofu" logotype and the "Registry" text that appears after the logomark:
Even on the current site the baselines don't quite line up, at least on my system:
Since we have the whole thing wrapped in a link with aria-label="OpenTofu Registry" anyway, it might be better to incorporate the word "Registry" into the SVG image as path(s), just like we are already doing for the logotype, so that they'll always line up without relying on any CSS position trickery. 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it is way off for me
apparentlymart
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is kinda dense and so I ran out of time partway through reviewing it. I'm sharing what I have so far, but I've not read through everything yet.
Signed-off-by: James Humphries <[email protected]>
…rchbar Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
…r/module docs Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
Signed-off-by: James Humphries <[email protected]>
|
Thanks for the feedback @Gogotchuri and @apparentlymart , I've addressed those issues. I'll try and play with the licensing information moving to the header now to see if I can find a nice approach. |
Signed-off-by: James Humphries <[email protected]>
apparentlymart
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is quite dense and hard to review thoroughly but it seems broadly good and so I'd be in favor of merging it and then dealing with any remaining concerns as separate PRs.
In particular, since the misaligned text in the logo was already present before this change (albeit not quite as bad), and since fixing it likely means adding a bunch of extra paths to an SVG asset, I'd support dealing with that particular change as a separate PR after this is landed.
Gogotchuri
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @apparentlymart. Conducting a comprehensive review of this change line by line, with 4,000 lines of front-end code changes, is challenging. However, since most of the changes concern the UI, this version feels and looks better than the current one.
I am for merging this. Thanks for doing this work @Yantrio!
|
I know that @yottta expressed some concern over how jarring the new landing search experience is so if we are to merge this, I would like to do the following: Have a child PR from this branch, in which I work on the search experience. We can review that separately and then merge all the way down into main. (Sidenote: I just want to play with the mermaid gitgraph feature here to explain ) gitGraph
commit id: "initial"
branch cleanup-design
checkout cleanup-design
commit id: "design updates"
commit id: "more cleanup"
branch rework-search-landing
checkout rework-search-landing
commit id: "search experience improvements"
checkout cleanup-design
merge rework-search-landing
checkout main
merge cleanup-design
Does this approach sound okay @opentofu/maintainers ? |
Of course! All in for that |













Major visual overhaul of the registry UI to create a cohesive brand experience. Improving the layout to match what we did on opentofu.org.