Following up the discussion here:
Some users have been asking about automatic switching between a light and a dark theme. Could this be accomplished with a plugin?
I assume this would need two parts:
a Discourse plugin adding options to the user preferences page:
turn night mode switching on/off, choose nighttime theme, set time nighttime time period
How difficult would it be to code? As in, how much would it cost?
I made a theme component that will automatically switch to night theme based on user preferences. It’s currently work on a per-browser basis.
Add this component to each theme installed.
I’ve received a report of the component making all navigation cause full reloads. Upon navigating between different pages every click caused a full refresh instead of an in-app navigation. I have not been able to reproduce this, so please post reproduction steps if you run into this.
Feedback is welcome and thanks to Discourse team for sponsoring this work
Nice theme component. But I can’t choose a time range for activation. It seems the field is for US time zones only?
Is it possible to add macOS Light/Dark mode detection?
I’m sure it’s local (device) time.
There is another theme for that:
I can’t enter my local time manually. Nothing happens.
Thanks for this hint! I’ve had this in my bookmarks before
Unfortunately, it doesn’t work right now. I need to some troubleshooting first…
Can this theme component be combined with this one?
Any thoughts about making the bottom smaller? When using additional component, it takes a lot of space in the header. For example I like the dark mode button in this ghost theme at top right:
That way users could override the automatic dark mode, when desired
Yes, you can but it might lead to unexpected behavior.
It seems, this component is broken. Whenever I enable it in my profile settings and reload the page, the checkmark in the box disappears and it’s disabled
@pmusaraj is working on something even more automatic than this.
Core has a similar feature now based on the device’s dark mode UI, please see
Automatic Dark Mode color scheme switching.