Dark theme fixes and dashboard cards UI improvements#1642
Dark theme fixes and dashboard cards UI improvements#1642karinakharchenko wants to merge 4 commits intorocket-admin:mainfrom
Conversation
…ixes - Group profile sidebar items by category (General, Customization, Security, Developer) with labels and dividers - Hide profile sidebar on mobile (≤600px) to match tables sidebar behavior - Fix branding dark theme preview color (#212121 → #191919) and overlay (rgba(25,25,25,0.64)) - Fix invite member dialog role description color in dark theme - Rename "Show demo admin panels" to "Show Demo panels for all members" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Initialize mermaid with dark theme when OS prefers dark mode - Add CSS fallback for chart text/labels visibility in dark theme - Change widget indicator dot to accent color in both themes - Make snackbar button use accent color in dark theme for contrast Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add #191919 background to dashboards list, dashboard view, panels list, panel edit - Add #191919 background to profile pages: account, company, branding, SSO, secrets, API keys, upgrade, zapier - Update dashboards sidebar to #212121 and hide on mobile (≤600px) - Set snackbar button to accent color in dark theme Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e styling Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
There was a problem hiding this comment.
Pull request overview
This PR focuses on dark theme consistency and readability fixes across the frontend, while also improving dashboard list card visuals (empty state + previews) and reorganizing the profile sidebar navigation.
Changes:
- Standardized dark theme page backgrounds (notably
#191919) and improved dark-mode contrast for several UI elements (snackbar action button, invite dialog role descriptions, AI/mermaid chart labels, etc.). - Reorganized the profile sidebar into labeled groups with dividers and updated mobile responsiveness behavior.
- Upgraded dashboards list cards with a richer empty state illustration and a mini chart preview when dashboards contain widgets.
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/custom-theme.scss | Adds a dark-mode snackbar action button color token override. |
| frontend/src/app/components/zapier/zapier.component.css | Sets dark-mode background for .profile-main. |
| frontend/src/app/components/user-settings/user-settings.component.css | Sets dark-mode background for .profile-main and forces SVG icon paths to render white in dark mode. |
| frontend/src/app/components/upgrade/upgrade.component.css | Sets dark-mode background for .profile-main. |
| frontend/src/app/components/sso/sso.component.css | Sets dark-mode background for .profile-main. |
| frontend/src/app/components/secrets/secrets.component.css | Sets dark-mode background for .profile-main. |
| frontend/src/app/components/profile/profile-sidebar/profile-sidebar.component.html | Adds group labels/dividers and moves API Keys into a “Developer” section. |
| frontend/src/app/components/profile/profile-sidebar/profile-sidebar.component.css | Updates dark sidebar background and adds styles for group labels/dividers; adjusts mobile breakpoint behavior. |
| frontend/src/app/components/dashboards/dashboards-sidebar/dashboards-sidebar.component.css | Updates dark sidebar background and changes mobile breakpoint behavior. |
| frontend/src/app/components/dashboards/dashboards-list/dashboards-list.component.ts | Imports ChartMiniPreviewComponent for dashboard preview thumbnails. |
| frontend/src/app/components/dashboards/dashboards-list/dashboards-list.component.html | Replaces empty state icon with inline SVG illustration; adds preview placeholder vs mini chart preview; renames “widgets” to “panels” in UI. |
| frontend/src/app/components/dashboards/dashboards-list/dashboards-list.component.css | Adds dark background for dashboards page, refines card styling, placeholder styling, and adds illustration theming. |
| frontend/src/app/components/dashboards/dashboard-view/dashboard-view.component.css | Sets dark-mode background for the dashboard view page. |
| frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css | Adjusts indicator dot styling to use the accent palette in dark mode. |
| frontend/src/app/components/dashboard/db-table-view/db-table-ai-panel/db-table-ai-panel.component.ts | Initializes Mermaid with a dark/light theme based on prefers-color-scheme and stores Mermaid API on window. |
| frontend/src/app/components/dashboard/db-table-view/db-table-ai-panel/db-table-ai-panel.component.css | Forces Mermaid/SVG text fills to be readable in dark mode. |
| frontend/src/app/components/company/invite-member-dialog/invite-member-dialog.component.css | Improves role description text contrast in dark mode. |
| frontend/src/app/components/company/company.component.html | Updates the copy for the “show test connections” toggle. |
| frontend/src/app/components/company/company.component.css | Sets dark-mode background for .profile-main. |
| frontend/src/app/components/charts/charts-list/charts-list.component.css | Sets dark-mode background for .charts-main. |
| frontend/src/app/components/charts/chart-edit/chart-edit.component.css | Sets dark-mode background for .chart-edit-main. |
| frontend/src/app/components/branding/branding.component.html | Updates branding preview SVG background fill to #191919. |
| frontend/src/app/components/branding/branding.component.css | Sets dark-mode background for .profile-main and adjusts overlay color for dark mode. |
| frontend/src/app/components/api-keys/api-keys.component.css | Sets dark-mode background for .profile-main. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| [(ngModel)]="company.show_test_connections" | ||
| (change)="changeShowTestConnections($event.checked)"> | ||
| Show demo admin panels | ||
| Show Demo panels for all members |
There was a problem hiding this comment.
UI copy uses title-case mid-sentence ("Show Demo..."). If the product copy standard is sentence case elsewhere, consider changing this to "Show demo panels for all members" for consistency/readability.
| Show Demo panels for all members | |
| Show demo panels for all members |
| @media (prefers-color-scheme: dark) { | ||
| .profile-sidebar { | ||
| background-color: var(--color-primaryPalette-900); | ||
| background-color: #212121; |
There was a problem hiding this comment.
PR description says dark theme background is unified to #191919 across all pages, but this sidebar dark background is set to #212121. If #212121 is intentional for sidebars, it may be worth updating the PR description; otherwise consider switching to #191919 for consistency.
| const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches; | ||
| mermaidAPI.initialize({ | ||
| startOnLoad: false, | ||
| theme: isDark ? 'dark' : 'default', | ||
| }); |
There was a problem hiding this comment.
window.matchMedia is called without an existence check. In some environments (unit tests / older browsers / non-window contexts) this can throw and prevent the AI panel from rendering. Align with other code in the repo (e.g. window.matchMedia?.(...)) and fall back to light/default when unavailable.
| @media (prefers-color-scheme: dark) { | ||
| .action_active::after { | ||
| background: var(--color-accentedPalette-500); | ||
| } | ||
| } | ||
|
|
There was a problem hiding this comment.
The @media (prefers-color-scheme: dark) override for .action_active::after sets the same background value as the base rule, making it redundant and harder to maintain. Consider removing the media block or changing the base/dark values so the override is meaningful.
| @media (prefers-color-scheme: dark) { | |
| .action_active::after { | |
| background: var(--color-accentedPalette-500); | |
| } | |
| } |
Summary
Test plan
🤖 Generated with Claude Code