Skip to content

Bug - Dark mode does not respect system settings and defaults to light mode on every page load #3867

@garrett

Description

@garrett

Describe the problem

All pages for PatternFly.org are in light mode by default, regardless of system settings. Manually switching to dark mode does not work, except while on that page.

Expected behavior

PatternFly.org should default to the system color scheme. There can be a preference to override the theme (especially to preview widgets in light/dark modes for reference while developing), but it should be the system mode by default and there should be a way to get back to system default too.

Any other information?

Sadly, I often have vision issues where I need dark mode, either due to migraine or allergy problems. I have to set my system and apps to dark mode.

When it's not too bad, I still try to work, but blasting bright light in my face is physically painful and will make my headache and/or eye pain worse (depending on the cause). Too much brightness, and I can't even work.

(I also have astigmatism, which means I need light mode too, when I'm able to tolerate it. But when I need it, using dark mode overrides that for me.)

This was why I build dark mode in Cockpit and pushed for it in PatternFly. 😉 We should also have it for the website, especially since PatternFly has the ability to do so.

There should be a trinary setting, with auto, light, and dark. In Cockpit we have a switcher with text in the menu, like this:

screenshot of Cockpit's light/dark mode switcher

GNOME has an icon with text, which has light and dark. It's a toggle, as it is the system so it sets the system color scheme:

image

Discord has a trinary state, of light, dark, and system:

image

Since PatternFly is a reference site and people may need to see light and dark modes for widgets in cases where they do not want to change their system settings, I think it needs 3 manual states. As it uses a sun and moon icon currently, I'd suggest something like what GNOME uses for an icon, the half filled circle: ◐

This means, it could be accessible by default with the system setting and then someone could override it for reference (when they need reference dark/light widgets).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions