feat(frontend): implement responsive layout improvements across dashboard#131
feat(frontend): implement responsive layout improvements across dashboard#131djdembeck wants to merge 4 commits intomcowger:mainfrom
Conversation
- Replace fixed width (200px) with responsive clamp(64px, 15vw, 200px) - Sidebar smoothly scales from 64px (mobile) to 200px (large desktop) - MainLayout margin-left updated to match responsive sidebar width - Maintains existing collapse/expand functionality - Text truncation works at intermediate widths
- Add w-full to Dashboard containers for full-width layout - Implement responsive card grid in LiveTab: 1→2→3→4 columns - Use gap-4 md:gap-6 for responsive spacing
Adjust grid breakpoints to account for sidebar width (up to 200px): - < 1024px: 1 column - 1024px+ (lg): 2 columns - 1280px+ (xl): 3 columns - 1536px+ (2xl): 4 columns Previous md:grid-cols-2 caused cramped widgets when sidebar was open.
|
Before you go too far down with this... My intent in the short term is to eliminate most of the dashboard graphs altogether, and simply expose the metrics from Plexus as a Prometheus endpoint. I dont think extensive analytics etc are the right place in this tool, and are better served by the dozens of other OTEL/Prometheus tools out there. But beyond those, I think this is a great path. |
Understood! A lot of the front end lacks proper responsive layouts from my brief exposure, which is across the entire front end. So my goal is mostly to get things formatted as they should, so I can have a good experience on any screen in my workflow! Won't take too much work, mostly simple breakpoint fixes. |
|
Sounds good - my abilities with frontend are really poor, so I'm grateful for the help |
Work in Progress
This PR is currently a work in progress and may undergo changes. Please do not merge until marked as ready for review.
Overview
This PR implements comprehensive responsive layout improvements across the frontend dashboard to ensure optimal display across different screen sizes, viewport widths, and sidebar states.
Goals
Changes
Dashboard Widget Grid Responsiveness
File:
packages/frontend/src/components/dashboard/tabs/LiveTab.tsxAdjusted grid breakpoints to account for sidebar width (up to 200px when open) and available content area:
Before:
md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4withmd:gap-6After:
lg:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4withlg:gap-5 xl:gap-6The previous
md:grid-cols-2breakpoint (768px+) caused cramped widgets when the sidebar was open, as the available content width was insufficient for 2 columns.Testing Checklist
Notes
This change improves the overall responsive behavior of the dashboard by using larger breakpoints (
lg,xl,2xl) instead ofmdto account for the reduced available width when the sidebar is expanded. The grid now dynamically adjusts column count based on actual available content width rather than just viewport width.