refactor(dashboard): UI redesign, persistent left sidebar, and light mode compatibility fixes - #344
Conversation
…style Left Sidebar
…gation with persistent state
|
Warning Review limit reached
Next review available in: 43 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
📝 WalkthroughWalkthroughReplaces the hover-based mini sidebar with a class-driven collapsible sidebar persisted in ChangesLayout Refactor: Collapsible Sidebar, Global Search, Theme Token Cleanup
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai full review |
✅ Action performedFull review finished. |
|
@coderabbitai |
|
✅ Action performedReview finished.
|
This PR focuses on a comprehensive UI/UX overhaul of the
web-dashboardclient app. It introduces a modern, cohesive Vercel/Supabase-like design language, integrates a persistent responsive Left Sidebar, improves page layouts for various viewport sizes, and resolves multiple critical light mode accessibility issues (such as invisible white-on-white text fields and hardcoded opacity backgrounds).Key Changes & Upgrades
1. Global Navigation & Page Layouts
Sidebar.jsx,MainLayout.jsx): Removed the horizontal project navigation tabs. Upgraded the sidebar to dynamically show project-specific context (Overview, Database, Auth, Settings, etc.) when inside a project. Added collapsible icons-only state with a chevron toggle and persistent local storage synchronization (urbackend-sidebar-collapsed).Header.jsx): Integrated a persistent central search input, accessible globally with a keyboard shortcut (Ctrl+Kor⌘+K), which redirects queries directly to the main dashboard search parameters..glass-cardstyling in favor of flat1px solid var(--color-border)outlines to ensure absolute consistency across theme variations.2. Database Explorer Polish (
Database.jsx,DatabaseSidebar.jsx,DatabaseHeader.jsx)var(--color-bg-sidebar)(matching the navigation sidebar) and added a clean border-right for a cohesive panel layout.var(--color-surface-hover-strong)pill.DatabaseHeader) withflexWrap: 'wrap'and dynamic heights, preventing critical controls (RLS, filter, export, add record) from being cut off on narrow viewports.loadingProjectinitial spinner condition so the dashboard doesn't briefly flash the empty "No collections found" state while API requests are pending.PUBLIC_API_URLto replace the hardcodedhttps://api.urbackend.comdomain inside the cURL setup instructions snippet.3. Creation & Schema Builders (
CreateProject.jsx,CreateCollection.jsx)color: '#fff'. This was making typed text completely invisible on a light background. It now correctly inheritsvar(--color-text-main).rgba(0, 0, 0, 0.15), etc.) to theme variables (var(--color-bg-input)) so that fields, array item pickers, and reference dropdowns display correctly in light mode.Files Modified
MainLayout.jsx,Sidebar.jsx,Header.jsx,index.cssProjectDetails.jsx,AnalyticsChart.jsxDatabase.jsx,DatabaseSidebar.jsx,DatabaseHeader.jsxCreateCollection.jsxCreateProject.jsxVerification & Testing
npm run lint --workspace=apps/web-dashboard(0 errors, clean code status).npm run build --workspace=apps/web-dashboardsuccessfully; Vite built all assets and static bundles without compilation errors.Summary by CodeRabbit
New Features
Bug Fixes
Style