<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://theportalwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACitizen.js</id>
	<title>MediaWiki:Citizen.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://theportalwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACitizen.js"/>
	<link rel="alternate" type="text/html" href="https://theportalwiki.com/w/index.php?title=MediaWiki:Citizen.js&amp;action=history"/>
	<updated>2026-08-18T21:37:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://theportalwiki.com/w/index.php?title=MediaWiki:Citizen.js&amp;diff=192569&amp;oldid=prev</id>
		<title>Tark: Moving back</title>
		<link rel="alternate" type="text/html" href="https://theportalwiki.com/w/index.php?title=MediaWiki:Citizen.js&amp;diff=192569&amp;oldid=prev"/>
		<updated>2026-08-18T13:13:59Z</updated>

		<summary type="html">&lt;p&gt;Moving back&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* All JavaScript here will be loaded for users of the Citizen skin */&lt;br /&gt;
&lt;br /&gt;
/* TODO: If we ever upgrade Citizen, we can do this via their fancy&lt;br /&gt;
/ preferences menu, which is better because it won&amp;#039;t result in&lt;br /&gt;
/ wheatley suddenly appearing on the client. */&lt;br /&gt;
var SpoilerToggle = {&lt;br /&gt;
    init: function () {&lt;br /&gt;
        if (mw.config.get(&amp;#039;skin&amp;#039;) === &amp;#039;citizen&amp;#039;) {&lt;br /&gt;
            var sidebar = document.querySelector(&amp;#039;.citizen-header__start&amp;#039;);&lt;br /&gt;
            var container = SpoilerToggle.createSpoilerContainer(&amp;#039;wheatley_spoils_you&amp;#039;, [&amp;#039;citizen-pref&amp;#039;, &amp;#039;citizen-header__item&amp;#039;]);&lt;br /&gt;
            var button = SpoilerToggle.createSpoilerButton(&amp;#039;wheatley_toggle&amp;#039;, &amp;#039;Toggle spoilers&amp;#039;, SpoilerToggle.getWheatley());&lt;br /&gt;
&lt;br /&gt;
            button.addEventListener(&amp;#039;click&amp;#039;, function () {&lt;br /&gt;
                SpoilerToggle.toggleSpoilers(button);&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            container.prepend(button);&lt;br /&gt;
            sidebar.prepend(container);&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    createSpoilerContainer: function (id, classList) {&lt;br /&gt;
        var container = document.createElement(&amp;#039;div&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
        container.id = id;&lt;br /&gt;
        for (var i = 0; i &amp;lt; classList.length; i++) {&lt;br /&gt;
            container.classList.add(classList[i]);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return container;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    createSpoilerButton: function (id, title, backgroundImageUrl) {&lt;br /&gt;
        var button = document.createElement(&amp;#039;button&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
        button.id = id;&lt;br /&gt;
        button.classList.add(&amp;#039;citizen-pref__button&amp;#039;, &amp;#039;citizen-header__button&amp;#039;, &amp;#039;citizen-button&amp;#039;);&lt;br /&gt;
        button.setAttribute(&amp;#039;title&amp;#039;, title);&lt;br /&gt;
        button.style.backgroundImage = &amp;#039;url(&amp;#039; + backgroundImageUrl + &amp;#039;)&amp;#039;;&lt;br /&gt;
        button.style.backgroundSize = &amp;#039;20px&amp;#039;;&lt;br /&gt;
        button.style.backgroundRepeat = &amp;#039;no-repeat&amp;#039;;&lt;br /&gt;
        button.style.backgroundPosition = &amp;#039;center&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        return button;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    getWheatley: function () {&lt;br /&gt;
        var spoilersEnabled = mw.storage.get(&amp;#039;pwiki-spoilers&amp;#039;) === &amp;#039;1&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        SpoilerToggle.toggleText(spoilersEnabled);&lt;br /&gt;
&lt;br /&gt;
        return spoilersEnabled ? &amp;#039;https://i2.theportalwiki.net/img/2/2b/Wheatley_spoils_you.png&amp;#039; : &amp;#039;https://i2.theportalwiki.net/img/e/ef/Wheatley_spoils_nothing.png&amp;#039;;&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    toggleSpoilers: function (button) {&lt;br /&gt;
        var cur = mw.storage.get(&amp;#039;pwiki-spoilers&amp;#039;);&lt;br /&gt;
        var spoilersEnabled = cur === &amp;#039;1&amp;#039;;&lt;br /&gt;
        var neww = spoilersEnabled ? &amp;#039;0&amp;#039; : &amp;#039;1&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        mw.storage.set(&amp;#039;pwiki-spoilers&amp;#039;, neww);&lt;br /&gt;
        button.style.backgroundImage = &amp;#039;url(&amp;#039; + SpoilerToggle.getWheatley() + &amp;#039;)&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        SpoilerToggle.toggleText(!spoilersEnabled);&lt;br /&gt;
    },&lt;br /&gt;
&lt;br /&gt;
    toggleText: function (showSpoilers) {&lt;br /&gt;
        var spoilers = document.querySelectorAll(&amp;#039;.spoiler-text&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
        Array.prototype.forEach.call(spoilers, function (spoiler) {&lt;br /&gt;
            if (showSpoilers) {&lt;br /&gt;
                spoiler.classList.remove(&amp;#039;spoiler-inline&amp;#039;);&lt;br /&gt;
            } else {&lt;br /&gt;
                spoiler.classList.add(&amp;#039;spoiler-inline&amp;#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
$(SpoilerToggle.init);&lt;/div&gt;</summary>
		<author><name>Tark</name></author>
	</entry>
</feed>