User:Equazcion/BetterTwinklePrefs.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// Check if Twinkle gadget is enabled, otherwise do nothing (unfortunately won't detect manual installs)
if (mw.user.options.get('gadget-Twinkle') == 1){
	
	// Replace spaces in username with underscores for comparison to page title
	var fixedUn = mw.config.get('wgUserName').replace(/ /g,'_');
	
	// Check if we're on an owned JS or CSS page. 
	if ( (mw.config.get('wgPageName').lastIndexOf('.js') == mw.config.get('wgPageName').length - 3) && (mw.config.get('wgPageName').substring(0, fixedUn.length + 5) == "User:" + fixedUn) ){
		
		// Suppress the Twinkle preference notification box, which normally shows up on any owned JS or CSS page. 
		// (Hiding it via JS doesn't always work, especially while editing a JS or CSS page, so we need to import some CSS to do it)
		importStylesheet('User:Equazcion/HideTwinklePrefs.css');
	}

	// Add the Twinkle prefs link in the user links line at page tops, next to the usual Preferences link
	$('li#pt-preferences').after('<li id="pt-twinklePrefs" style="margin-left:.2em" title="Your Twinkle preferences">' + 
		'<a href="' + mw.util.getUrl('Wikipedia:Twinkle/Preferences') + '">[TW]</a></li>');

}