<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://eurovision.jobogamer.xyz/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-mobile-sidebar.js</id>
	<title>MediaWiki:Gadget-mobile-sidebar.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://eurovision.jobogamer.xyz/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-mobile-sidebar.js"/>
	<link rel="alternate" type="text/html" href="https://eurovision.jobogamer.xyz/index.php?title=MediaWiki:Gadget-mobile-sidebar.js&amp;action=history"/>
	<updated>2026-07-25T10:40:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.4</generator>
	<entry>
		<id>https://eurovision.jobogamer.xyz/index.php?title=MediaWiki:Gadget-mobile-sidebar.js&amp;diff=287&amp;oldid=prev</id>
		<title>Alfie: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://eurovision.jobogamer.xyz/index.php?title=MediaWiki:Gadget-mobile-sidebar.js&amp;diff=287&amp;oldid=prev"/>
		<updated>2026-03-19T09:58:34Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:58, 19 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Alfie</name></author>
	</entry>
	<entry>
		<id>https://eurovision.jobogamer.xyz/index.php?title=MediaWiki:Gadget-mobile-sidebar.js&amp;diff=286&amp;oldid=prev</id>
		<title>en&gt;Jon (WMF): Update to Codex markup</title>
		<link rel="alternate" type="text/html" href="https://eurovision.jobogamer.xyz/index.php?title=MediaWiki:Gadget-mobile-sidebar.js&amp;diff=286&amp;oldid=prev"/>
		<updated>2024-01-30T20:40:16Z</updated>

		<summary type="html">&lt;p&gt;Update to Codex markup&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*  _____________________________________________________________________________&lt;br /&gt;
 * |                                                                             |&lt;br /&gt;
 * |                    === WARNING: GLOBAL GADGET FILE ===                      |&lt;br /&gt;
 * |                  Changes to this page affect many users.                    |&lt;br /&gt;
 * | Please discuss changes on the talk page or on [[WT:Gadget]] before editing. |&lt;br /&gt;
 * |_____________________________________________________________________________|&lt;br /&gt;
 *&lt;br /&gt;
 * Copied from [[meta:User:Brion VIBBER/mobile-sidebar.js]] as of last update (2014-10-13, [[meta:Special:Permalink/10185490]])&lt;br /&gt;
 * See also https://github.com/brion/MediaWiki-MobileSidebar&lt;br /&gt;
 *&lt;br /&gt;
 * Mobile sidebar preview gadget&lt;br /&gt;
 *&lt;br /&gt;
 * Quick hack to show how pages look on mobile&lt;br /&gt;
 * while browsing the desktop site.&lt;br /&gt;
 *&lt;br /&gt;
 * Brion Vibber &amp;lt;bvibber@wikimedia.org&amp;gt;&lt;br /&gt;
 * 2014-10-10&lt;br /&gt;
 * Cleaned up and enhanced by prtksxna&lt;br /&gt;
 * Further cleaned up by Brion :D&lt;br /&gt;
 */&lt;br /&gt;
$(function () {&lt;br /&gt;
&lt;br /&gt;
	// Old iPhone size, the minimum we usually see&lt;br /&gt;
	var width = 320, height = 480;&lt;br /&gt;
&lt;br /&gt;
	// @todo possibly make size selectable from some options...&lt;br /&gt;
	// Note that pixel sizes are deceiving on mobile, as there&amp;#039;s often a&lt;br /&gt;
	// density factor. For instance 480x800 screens at 1.5x would cover&lt;br /&gt;
	// only 320x533 or so. And let&amp;#039;s not even get into the iPhone 6 Plus!&lt;br /&gt;
&lt;br /&gt;
	function showSidebar() {&lt;br /&gt;
		localStorage[&amp;#039;mw-mobile-sidebar-state&amp;#039;] = &amp;#039;show&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
		var $content = $(&amp;#039;#content&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
		var top = $content.position().top,&lt;br /&gt;
			page = mw.config.get(&amp;#039;wgPageName&amp;#039;),&lt;br /&gt;
			src = &amp;#039;/wiki/&amp;#039; + encodeURIComponent(page) + &amp;#039;?useformat=mobile&amp;#039;,&lt;br /&gt;
			lang = mw.config.get(&amp;#039;wgContentLanguage&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
		var $container = $(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;).attr(&amp;#039;id&amp;#039;, &amp;#039;mobile-sidebar&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
		var $mobileLink = $(&amp;#039;&amp;lt;a&amp;gt;&amp;#039;)&lt;br /&gt;
			.text( &amp;#039;Mobile&amp;#039; )&lt;br /&gt;
			.addClass ( &amp;#039;mobile_link&amp;#039; )&lt;br /&gt;
			.attr( &amp;#039;href&amp;#039;, src )&lt;br /&gt;
			.attr( &amp;#039;target&amp;#039;, &amp;#039;_blank&amp;#039;)&lt;br /&gt;
			.appendTo( $container );&lt;br /&gt;
&lt;br /&gt;
		var $egg = $( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; )&lt;br /&gt;
			.addClass( &amp;#039;egg&amp;#039; )&lt;br /&gt;
			.append(&lt;br /&gt;
				$( &amp;#039;&amp;lt;img&amp;gt;&amp;#039; ).attr( &amp;#039;src&amp;#039;, &amp;#039;https://upload.wikimedia.org/wikipedia/commons/thumb/8/81/Wikimedia-logo.svg/240px-Wikimedia-logo.svg.png&amp;#039; ),&lt;br /&gt;
				$( &amp;#039;&amp;lt;p&amp;gt;&amp;#039; ).html( &amp;#039;If lost please return to &amp;lt;a href=&amp;quot;https://meta.wikimedia.org/wiki/User:Brion_VIBBER&amp;quot;&amp;gt;Brion Vibber&amp;lt;/a&amp;gt;&amp;#039; )&lt;br /&gt;
			)&lt;br /&gt;
			.appendTo( $container )&lt;br /&gt;
			.hide();&lt;br /&gt;
&lt;br /&gt;
		// @todo detect scrollbars and compensate width&lt;br /&gt;
		var $frame = $(&amp;#039;&amp;lt;iframe&amp;gt;&amp;#039;)&lt;br /&gt;
			.attr(&amp;#039;src&amp;#039;, src)&lt;br /&gt;
			.css(&amp;#039;width&amp;#039;, width + &amp;#039;px&amp;#039;)&lt;br /&gt;
			.css(&amp;#039;height&amp;#039;, height + &amp;#039;px&amp;#039;)&lt;br /&gt;
			.appendTo($container);&lt;br /&gt;
&lt;br /&gt;
		var $close = $(&amp;#039;&amp;lt;a&amp;gt;&amp;#039;)&lt;br /&gt;
			.html(&amp;#039; &amp;amp;times;&amp;#039;)&lt;br /&gt;
			.addClass(&amp;#039;close&amp;#039;)&lt;br /&gt;
			.click( hideSidebar )&lt;br /&gt;
			.appendTo( $container );&lt;br /&gt;
&lt;br /&gt;
		$container.on( &amp;#039;dblclick&amp;#039;, function () {&lt;br /&gt;
			$egg.toggle();&lt;br /&gt;
			$mobileLink.toggle();&lt;br /&gt;
			$close.toggle();&lt;br /&gt;
			$frame.toggle();&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
		var frame = $frame[0];&lt;br /&gt;
		$frame.on(&amp;#039;load&amp;#039;,function () {&lt;br /&gt;
			// avoid TypeError: null is not an object (evaluating &amp;#039;frame.contentDocument.querySelector&amp;#039;)&lt;br /&gt;
			if(!frame.contentDocument) return;&lt;br /&gt;
			// Compensate for scrollbars on browsers that add them&lt;br /&gt;
			var scrollBarWidth = width - frame.contentDocument.querySelector(&amp;#039;body&amp;#039;).clientWidth;&lt;br /&gt;
			if ( scrollBarWidth &amp;gt; 0 ) {&lt;br /&gt;
				$frame.css( &amp;#039;width&amp;#039;, ( width + scrollBarWidth ) + &amp;#039;px&amp;#039; );&lt;br /&gt;
			}&lt;br /&gt;
			// Handle link navigation within the mobile preview doc&lt;br /&gt;
			$(frame.contentDocument).on(&amp;#039;click&amp;#039;, &amp;#039;a&amp;#039;, function (e) {&lt;br /&gt;
				e.preventDefault();&lt;br /&gt;
				if ($(this).attr(&amp;#039;href&amp;#039;) &amp;amp;&amp;amp; $(this).attr(&amp;#039;href&amp;#039;).indexOf(&amp;#039;#&amp;#039;) !== 0) {&lt;br /&gt;
					window.location = this.href;&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
        if ( mw.config.get( &amp;#039;skin&amp;#039; ) === &amp;#039;vector-2022&amp;#039; &amp;amp;&amp;amp; window.innerWidth &amp;gt;= 1800 &amp;amp;&amp;amp; document.body.classList.contains( &amp;#039;vector-feature-limited-width-enabled&amp;#039; ) ) {&lt;br /&gt;
           // no need to shift content as Vector 2022 limited content width is enabled and active&lt;br /&gt;
        } else {&lt;br /&gt;
		    $(&amp;#039;#content&amp;#039;).css(&amp;#039;margin-right&amp;#039;, &amp;#039;360px&amp;#039;);&lt;br /&gt;
        }&lt;br /&gt;
		$(&amp;#039;#content&amp;#039;).after($container);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function hideSidebar() {&lt;br /&gt;
		localStorage[&amp;#039;mw-mobile-sidebar-state&amp;#039;] = &amp;#039;hidden&amp;#039;;&lt;br /&gt;
		$(&amp;#039;#mobile-sidebar&amp;#039;).remove();&lt;br /&gt;
		$(&amp;#039;#content&amp;#039;).css(&amp;#039;margin-right&amp;#039;, &amp;#039;0&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function toggleState() {&lt;br /&gt;
		if (localStorage[&amp;#039;mw-mobile-sidebar-state&amp;#039;] !== &amp;#039;hidden&amp;#039;) {&lt;br /&gt;
			hideSidebar();&lt;br /&gt;
		} else {&lt;br /&gt;
			showSidebar();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (mw.config.get(&amp;#039;wgAction&amp;#039;) == &amp;#039;view&amp;#039;) {&lt;br /&gt;
&lt;br /&gt;
		var item = mw.util.addPortletLink( &amp;#039;p-views&amp;#039;, &amp;#039;#&amp;#039;, &amp;#039;Mobile&amp;#039;, &amp;#039;ca-mobile&amp;#039;, &amp;#039;Toggle mobile view sidebar&amp;#039; );&lt;br /&gt;
		if ( item ) {&lt;br /&gt;
          item.classList.remove( &amp;#039;vector-tab-noicon&amp;#039; );&lt;br /&gt;
          if ( mw.config.get( &amp;#039;skin&amp;#039; ) === &amp;#039;vector-2022&amp;#039; ) {&lt;br /&gt;
             item.querySelector(&amp;#039;a&amp;#039;).classList.add( &amp;#039;cdx-button&amp;#039;,&lt;br /&gt;
               &amp;#039;cdx-button--fake-button&amp;#039;,&lt;br /&gt;
               &amp;#039;cdx-button--fake-button--enabled&amp;#039;,&lt;br /&gt;
               &amp;#039;cdx-button--weight-quiet&amp;#039;,&lt;br /&gt;
               &amp;#039;cdx-button--icon-only&amp;#039; );&lt;br /&gt;
          } else {&lt;br /&gt;
            item.classList.add( &amp;#039;icon&amp;#039; );&lt;br /&gt;
          }&lt;br /&gt;
          $(item).click( toggleState );&lt;br /&gt;
        }&lt;br /&gt;
		if (localStorage[&amp;#039;mw-mobile-sidebar-state&amp;#039;] == &amp;#039;hidden&amp;#039;) {&lt;br /&gt;
			hideSidebar();&lt;br /&gt;
		} else {&lt;br /&gt;
			showSidebar();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>en&gt;Jon (WMF)</name></author>
	</entry>
</feed>