superset icon indicating copy to clipboard operation
superset copied to clipboard

feat(theming): implement a ThemeController

Open msyavuz opened this issue 7 months ago • 6 comments

SUMMARY

Implement a ThemeController that handles theme injection and persistence that can be overriden for different methods of storage. This pr also includes a ThemeSelect component that loads prefers-dark-scheme by default and persists dark/light/system.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

After: image

TESTING INSTRUCTIONS

Select from Light/Dark/System and refresh the page. Theme mode should persist.

ADDITIONAL INFORMATION

  • [ ] Has associated issue:
  • [ ] Required feature flags:
  • [ ] Changes UI
  • [ ] Includes DB Migration (follow approval process in SIP-59)
    • [ ] Migration is atomic, supports rollback & is backwards-compatible
    • [ ] Confirm DB migration upgrade and downgrade tested
    • [ ] Runtime estimates and downtime expectations provided
  • [x] Introduces new feature or API
  • [ ] Removes existing feature or API

msyavuz avatar May 13 '25 10:05 msyavuz

@geido Processing your ephemeral environment request here. Action: up. More information on how to use or configure ephemeral environments

github-actions[bot] avatar Jun 03 '25 10:06 github-actions[bot]

@geido Ephemeral environment spinning up at http://44.247.55.168:8080. Credentials are 'admin'/'admin'. Please allow several minutes for bootstrapping and startup.

github-actions[bot] avatar Jun 03 '25 10:06 github-actions[bot]

@msyavuz Processing your ephemeral environment request here. Action: up. More information on how to use or configure ephemeral environments

github-actions[bot] avatar Jun 12 '25 20:06 github-actions[bot]

@msyavuz Ephemeral environment spinning up at http://35.86.77.167:8080. Credentials are 'admin'/'admin'. Please allow several minutes for bootstrapping and startup.

github-actions[bot] avatar Jun 12 '25 20:06 github-actions[bot]

@msyavuz Processing your ephemeral environment request here. Action: up. More information on how to use or configure ephemeral environments

github-actions[bot] avatar Jun 13 '25 17:06 github-actions[bot]

@msyavuz Ephemeral environment spinning up at http://34.210.70.21:8080. Credentials are 'admin'/'admin'. Please allow several minutes for bootstrapping and startup.

github-actions[bot] avatar Jun 13 '25 17:06 github-actions[bot]

@EnxDev Processing your ephemeral environment request here. Action: up. More information on how to use or configure ephemeral environments

github-actions[bot] avatar Jun 16 '25 12:06 github-actions[bot]

@EnxDev Ephemeral environment spinning up at http://35.161.4.156:8080. Credentials are 'admin'/'admin'. Please allow several minutes for bootstrapping and startup.

github-actions[bot] avatar Jun 16 '25 12:06 github-actions[bot]

@msyavuz I didn't see the icon to choose the mode

Screenshot 2025-06-16 143757

You need to have the feature flag for it to show up. Let me add it to testing instructions!

msyavuz avatar Jun 16 '25 12:06 msyavuz