-
Notifications
You must be signed in to change notification settings - Fork 2.6k
UI/UX - Home bento grid dashboard; continuation of adaptivity #2970
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
Conversation
…-patterns and prevent memory leak
|
This pull request includes a variety of changes across different components and functionalities, such as UI updates, styling changes, and test improvements. To improve reviewability and focus, consider splitting the pull request into smaller ones. For example, you could separate the styling updates from the functional changes, or group changes by component (e.g., settings view, welcome view, chat view). This will help reviewers focus on specific aspects of the changes and ensure a more thorough review process. |
| } | ||
|
|
||
| interface BentoGridProps { | ||
| tasks: any[] |
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.
Task prop is typed as any[]. Consider defining a specific type for tasks for better type safety.
| tasks: any[] | |
| tasks: TaskItem[] |
This comment was generated because it violated a code review rule: mrule_QkEwsCio7v34DaCF.
|
This looks great, honestly. I think we can polish it up together but it's a very good direction and one I'm happy to support/champion. I was even thinking of things like stats appearing as elements on that main page. You've said this is just a first iteration to explore the idea — what are your thoughts so far as you've been exploring it? |
Thanks for the feedback. For design hesitation, for me it's really about a content-first approach. For example new user onboarding may have more dynamic card with a built-in checklist or even a video. Whereas adaptive power users probably hate anything that slows down instant extension loading. So we ought to really understand our users and then figure out the content. I would like to codify some user-centric rules perhaps to guide the content development. But once we have the content the cards, layout will flow together well with bento grid in my opinion. |
|
Fully agree. Here's my suggestion: We build out some of that content first, we'll put it below the fold, and then as things get hectic, we start talking about breaking out bento boxes? My first inclination would be a tokens / loc stat counter. Just a fun little box for users to see how much they've been using Roo. Any other ideas? |
|
Hey @dlab-anton, |
Enhance Home Page Adaptability with Bento Grid Layout
This PR explores using a bento grid structure. While the current approach works well on narrow screens, I noticed some inconsistencies (mixed widths, layout shifts) on desktops, which are our primary users. Also going forward it is easier to show/hide elements with a standard grid.
Why
Creates a highly extensible and adaptable "dashboard-like" foundation. Its modular nature means new content cards (tips, walkthroughs, links) can be added with minimal layout effort, while also simplifying the future implementation of dynamic layouts, conditional content (based on user activity, preferences, etc.), and potential user customization. Also helps marketing take quick action e.g. "we need to drive traffic to producthunt for the next 48 hours" -> "Please help us card". Certain cards can improve retention and give higher quality of life like last 7 days usage stats.
A bento grid helps us:
Concept / Feedback
This is first iteration and just to display the core function of a bento grid / so please don't mind the details. This is just to explore the idea and get feedback.
The current home screen w/o bento on my desktop
Bento grid
Important
Enhances UI/UX with a bento grid layout for the home page, tabbed settings view, and improved webview visibility handling.
BentoGridcomponent inBentoGrid.tsxfor a modular, adaptive home page layout.ChatView.tsxto integrateBentoGridfor displaying tasks and features.RooHerocomponent inRooHero.tsxfor consistent branding.SettingsView.tsxwithTab,TabList, andTabTriggercomponents.registerCommands.tsandopenClineInNewTabto notify webviews when they become visible.SettingsView.test.tsxto test new tabbed navigation and unsaved changes dialog.This description was created by
for b3c9717. You can customize this summary. It will automatically update as commits are pushed.