MediaWiki:Common.js: Difference between revisions
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
| Line 48: | Line 48: | ||
function createToggleButton() { | function createToggleButton() { | ||
var currentTheme = getSavedTheme(); | |||
var li = document.createElement('li'); | |||
var button = document.createElement('a'); | |||
button.setAttribute('role', 'button'); | |||
button.setAttribute('href', '#'); | |||
button.id = 'ca-nightmode'; | |||
button.className = 'cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet'; | |||
button.style.cursor = 'pointer'; | |||
var icon = document.createElement('span'); | |||
icon.className = 'minerva-icon'; | |||
icon.style.cssText = 'display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:inherit;'; | |||
var label = document.createElement('span'); | |||
label.className = 'sr-only'; | |||
label.style.cssText = 'position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;'; | |||
label.textContent = currentTheme === 'night' ? 'Light mode' : 'Dark mode'; | |||
button.appendChild(icon); | |||
button.appendChild(label); | |||
li.appendChild(button); | |||
updateButtonState(button, currentTheme); | |||
button.addEventListener('click', function (e) { | |||
e.preventDefault(); | |||
var newTheme = getSavedTheme() === 'night' ? 'day' : 'night'; | |||
saveTheme(newTheme); | |||
applyTheme(newTheme); | |||
updateButtonState(button, newTheme); | |||
}); | |||
return li; | |||
} | |||
function insertButton() { | function insertButton() { | ||