-
Notifications
You must be signed in to change notification settings - Fork 15.7k
fix(loading): improve loading screen theming for dark mode support #35129
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: master
Are you sure you want to change the base?
Conversation
…filter sorting, and fix modal theming - Remove top padding from horizontal filter bar to eliminate visual gap - Set themed background color on loading screen to respect dark mode - Remove fallback "Loading..." text to prevent Times New Roman display - Use colorBgBase theme token for proper light/dark mode support - Fix filter value sorting to preserve backend metric-based order when sortMetric is specified - Make Modal.confirm theme-aware to respect current light/dark mode 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Add App wrapper to SupersetThemeProvider to enable theme inheritance for imperative modals - Modal.confirm dialogs now properly inherit dark/light theme from ConfigProvider - Simplifies theming approach by leveraging antd's built-in App context 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Use render_app_template() in EmbeddedView to provide proper template context - Move tokens variable definition before its usage in spa.html template - Fixes 'tokens is undefined' error in embedded dashboard views 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Fixes white flash in dark mode and removes fallback "Loading..." text that was displaying in Times New Roman font. Changes: - Set themed background color on body using colorBgBase token - Supports both light (#ffffff) and dark mode backgrounds - Remove "Loading..." alt text from branded spinner image - Remove fallback "Loading..." text div entirely - Let React app handle loading state instead of HTML fallback This eliminates the white background flash when loading in dark mode and removes the unstyled "Loading..." text that appeared briefly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
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.
🎪 Showtime deployed environment on GHA for 6f6d925 • Environment: http://44.251.170.59:8080 (admin/admin) |
Added dark mode styling and improved loading indicators.
Removed fallback loading message from spa.html.
…#35130) Co-authored-by: Claude <[email protected]>
🎪 Showtime deployed environment on GHA for 7e44735 • Environment: http://35.87.124.232:8080 (admin/admin) |
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 think there is some cleanup needed
error: AntdModal.error, | ||
warning: AntdModal.warning, |
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.
Should these two use the themed version as well?
<GlobalStyles /> | ||
<ConfigProvider theme={themeState.antdConfig}> | ||
{children} | ||
<App>{children}</App> |
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 provides some reset styles that could mess up other parts of the ui.
// When sortMetric is specified, the backend already sorted the data correctly | ||
// Don't override the backend's metric-based sorting with frontend alphabetical sorting | ||
if (formData.sortMetric) { | ||
return 0; // Preserve the original order from the backend | ||
} | ||
|
||
// Only apply alphabetical sorting when no sortMetric is specified | ||
const labelComparator = propertyComparator('label'); | ||
if (formData.sortAscending) { | ||
return labelComparator(a, b); | ||
} | ||
return labelComparator(b, a); | ||
}, | ||
[formData.sortAscending], | ||
[formData.sortAscending, formData.sortMetric], |
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 looks like leftover code from another pr
bootstrap_data=json.dumps( | ||
bootstrap_data, default=json.pessimistic_json_iso_dttm_ser | ||
), |
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.
Getting rid of this will make it so there will be errors when the serialization fails
I think Claude did a bad rebase.. will clean up. |
Add aria-label to loading spinner image for screen reader accessibility while keeping empty alt text to prevent fallback display if image fails to load. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1a22cf8
to
3732966
Compare
SUMMARY
This PR improves the loading screen experience for users with dark mode preferences and enhances accessibility.
Changes:
@media (prefers-color-scheme: dark)
)aria-label="Loading"
instead ofalt
text for spinner imagesThe changes provide a better initial loading experience that respects user's system theme preferences before the main application loads and eliminates jarring white flashes in dark mode.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Screen.Recording.2025-09-15.at.1.43.15.PM.mov
TESTING INSTRUCTIONS
ADDITIONAL INFORMATION
🤖 Generated with Claude Code