As we move forward with DarkMode, we're creating an extension. The skeleton (CI rules + base files + linting) should have happened on T221877: Create skeleton for Dark Mode extension
This ticket defines the base behavior of the extension itself, to enable the switching for users:
- Create a beta preference that will be used to judge whether a user enabled DarkMode or not
(As we are testing this) Add a cookie check for logged out users[looks like we are probably not doing this, right @Mooeypoo ]
- PHP: In the page rendering hook a condition whereby if the preference (or cookie) are true, the html class is added to <body> and the CSS style modules are attached
- PHP: Allow for a temporary override of the cookie/preference state through the URL parameter ?usedarkmode=1. This should temporarily override (not actively change the value) of the cookie or preference for the immediate page load.
JS: Add basic toggle while we wait for the official design. NOTE: The toggle should lazy-load any necessary JS modules.[@Mooeypoo there was some discussion about whether this is the right way to go. Care to comment?]