GitHub user dosubot[bot] added a comment to the discussion: How to switch theme 
in SDK like Light Mode & Dark Mode

<!-- Answer -->
You can switch between light and dark mode in both the Superset app and the 
JavaScript SDK:

**In the Superset app:**  
Click the theme icon in the top right of the UI and select either light, dark, 
or system mode. The app will immediately switch themes and remember your choice 
for future visits. Theme switching is managed by a ThemeController, which also 
supports following your system preference if you pick "system" mode. You can 
also configure default and dark themes in `superset_config.py` using 
`THEME_DEFAULT` and `THEME_DARK` settings.  
[See example and details](https://github.com/apache/superset/pull/35663)

**In the JavaScript SDK (for embedded dashboards):**  
The SDK exposes a `setThemeMode(mode)` method on the embedded dashboard object. 
You can call this method with `'default'` (light), `'dark'`, or `'system'` to 
switch the theme dynamically at runtime. For example:
```js
dashboard.setThemeMode('dark'); // Switches to dark mode
dashboard.setThemeMode('default'); // Switches to light mode
dashboard.setThemeMode('system'); // Follows OS preference
```
You can also use `setThemeConfig(themeConfig)` to apply custom theme settings 
if needed.  
[See SDK API details](https://github.com/apache/superset/pull/36125)

These features are available in recent versions of Superset (mid-2025 and 
later). For more on theming and configuration, check the [theming 
documentation](https://github.com/apache/superset/blob/master/docs/docs/configuration/theming.mdx).


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/2540c838-81dc-450a-a137-f1292aeb9b18?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/2540c838-81dc-450a-a137-f1292aeb9b18?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/2540c838-81dc-450a-a137-f1292aeb9b18?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/2540c838-81dc-450a-a137-f1292aeb9b18?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/2540c838-81dc-450a-a137-f1292aeb9b18?feedback_type=hallucination)
 | [Report 
🐛](https://app.dosu.dev/response-feedback/2540c838-81dc-450a-a137-f1292aeb9b18?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/2540c838-81dc-450a-a137-f1292aeb9b18?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/36207)

GitHub link: 
https://github.com/apache/superset/discussions/36207#discussioncomment-15026205

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to