Color theme switcher and automatic dark mode based on browser prefers-color-scheme #83
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch introduces a color mode switcher in CTFd.
By clicking a button located at the right of the navbar, users can easily switch between light and dark mode.
Also the default color mode is chosen using
prefers-color-scheme
. This means that CTFd will automatically switch to light or dark mode depending on system settings.This uses the Bootstrap 5.3 dark mode feature (https://getbootstrap.com/docs/5.3/customize/color-modes/#dark-mode). Most of the layout should already render correctly in dark mode, but I expect some sharp edges:
The new script is loaded without a defer to prevent blinking in dark mode (to prevent epileptic seizures).
Light mode:
Dark mode: