Prevent flashbang on loading darkmode
This commit is contained in:
@@ -87,6 +87,27 @@ class NextBestNetworkHooks {
|
|||||||
*/
|
*/
|
||||||
public static function onBeforePageDisplay( OutputPage $out, Skin $skin ) {
|
public static function onBeforePageDisplay( OutputPage $out, Skin $skin ) {
|
||||||
if( $skin->getSkinName() == 'nextbestnetwork' ) {
|
if( $skin->getSkinName() == 'nextbestnetwork' ) {
|
||||||
|
$out->addHeadItem( 'nextbestnetwork-darkmode-init', '
|
||||||
|
<script>
|
||||||
|
(function() {
|
||||||
|
const getStoredTheme = () => localStorage.getItem("theme");
|
||||||
|
const getPreferredTheme = () => {
|
||||||
|
const storedTheme = getStoredTheme();
|
||||||
|
if (storedTheme) return storedTheme;
|
||||||
|
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
||||||
|
};
|
||||||
|
const setTheme = theme => {
|
||||||
|
if (theme === "auto") {
|
||||||
|
document.documentElement.setAttribute("data-bs-theme", window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
|
||||||
|
} else {
|
||||||
|
document.documentElement.setAttribute("data-bs-theme", theme);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
setTheme(getPreferredTheme());
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
' );
|
||||||
|
|
||||||
$config = \MediaWiki\MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 'nextbestnetwork' );
|
$config = \MediaWiki\MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 'nextbestnetwork' );
|
||||||
|
|
||||||
$styles = [];
|
$styles = [];
|
||||||
|
|||||||
Reference in New Issue
Block a user