== Background
Due to complications arising from using two different storage mechanisms for some Vector 2022 features (user options for logged-in users and cookies via clientPreferences.js for anons) it was discovered that the night mode "exclude" feature does not work consistently for anonymous users. The "exclude" configuration, which should prevent some pages from appearing in dark mode, works for logged-in users, but not for anonymous user who have set a clientPreferences cookie via the Appearance menu.
Due to this bug, we identified the need for ClientPreferences.js to support the concept of "overrides".
== User story
- When switching between logged-in and logged-out, I expect the same pages to be excluded from night mode.
== Requirements
The ClientPreferences.js script must be made aware of classes with special suffixe- On pages that are excluded from night-mode via configuration (e.g. `$wgVectorNightModeOptions['exclude']['mainpage'] = true`) the night-mode settings in the Appearance menu should be greyed out for logged-in users, logged-out users, "override" or "exclude".and when a logged-out user changes the setting on a different page, Theses classes should not be modified by clientPreferences.js because they are meant to override the users preference via configurationthen goes back to the excluded page, they should still be greyed out.
=== BDD
- For QA engineer to fill out
=== Test Steps
- For QA engineer to fill out
== Design
- Add mockups and design requirements
== Acceptance criteria
[ ] If I am an anonymous user, and I have selected night mode from the appearance menu in Vector, then I go to a page that should have night mode disabled, e.g. https://en.wikipedia.beta.wmflabs.org/wiki/Banana the night mode options should be disable in the appearance menu.
== Communication criteria - does this need an announcement or discussion?
- N/A