MediaWiki

Gadget-helppage.js

From Dogcraft Wiki

m (Wrong href for wiki main page nav button)
No edit summary
Line 11: Line 11:
var dcNavSettingsFaUserCog = '<span style="position: relative;display: inline-block;margin: -4px 1px;width: 20px;height: 20px;font-size: 20px;"><i class="fa fa-user" style="position: absolute;left: 0;"></i><i class="fa fa-cog" style="position: absolute;font-size: 0.6em;top: 30%;right: 0;color: lightgray;z-index: 10;"></i></span>';
var dcNavSettingsFaUserCog = '<span style="position: relative;display: inline-block;margin: -4px 1px;width: 20px;height: 20px;font-size: 20px;"><i class="fa fa-user" style="position: absolute;left: 0;"></i><i class="fa fa-cog" style="position: absolute;font-size: 0.6em;top: 30%;right: 0;color: lightgray;z-index: 10;"></i></span>';
var dcNavPatreon  = '<a class="patreon dc_nav_icon dc_nav_imgicon" target="_blank" title="Patreon" href="https://patreon.com/rendog"><img class="dc_nav_left_icon" src="/wiki/images/e/eb/Digital-Patreon-Logo_FireyCoral.png"></a>',
var dcNavPatreon  = '<a class="patreon dc_nav_icon" target="_blank" title="Patreon" href="https://patreon.com/rendog"><i class="fa fa-patreon dc_nav_left_icon"></i></a>',
    dcNavDiscord  = '<a class="discord dc_nav_icon" target="_blank dc_nav_imgicon" title="Discord" href="https://discord.gg/rendog"><img class="dc_nav_left_icon" src="/wiki/images/2/2d/Discord-Logo-Color.png"></a>',
    dcNavDiscord  = '<a class="discord dc_nav_icon" target="_blank dc_nav_imgicon" title="Discord" href="https://discord.gg/rendog"><i class="fa fa-discord dc_nav_left_icon"></a>',
    dcNavYoutube  = '<a class="youtube dc_nav_icon" target="_blank" title="YouTube" href="https://youtube.com/user/rendog/"><i class="fa fa-youtube dc_nav_left_icon"></i></a>',
    dcNavYoutube  = '<a class="youtube dc_nav_icon" target="_blank" title="YouTube" href="https://youtube.com/user/rendog/"><i class="fa fa-youtube dc_nav_left_icon"></i></a>',
    dcNavTwitch    = '<a class="twitch dc_nav_icon" target="_blank" title="Twitch" href="https://twitch.tv/rendogtv"><i class="fa fa-twitch dc_nav_left_icon"></i></a>',
    dcNavTwitch    = '<a class="twitch dc_nav_icon" target="_blank" title="Twitch" href="https://twitch.tv/rendogtv"><i class="fa fa-twitch dc_nav_left_icon"></i></a>',
Line 19: Line 19:
    dcNavMap      = '<div id="navMapToggle" class="nav_map nav_loggedin dc_nav_icon" title="Server Maps"><i class="fa fa-map"></i><a class="navBeagle" href="/map/beagle" title="Beagle Map">Beagle</a><a class="navHusky" href="/map/husky" title="Husky Map">Husky</a></div>',
    dcNavMap      = '<div id="navMapToggle" class="nav_map nav_loggedin dc_nav_icon" title="Server Maps"><i class="fa fa-map"></i><a class="navBeagle" href="/map/beagle" title="Beagle Map">Beagle</a><a class="navHusky" href="/map/husky" title="Husky Map">Husky</a></div>',
    dcNavLb        = '<a id="dc_nav_lb" class="dc_nav_icon" href="/leaderboards" title="Leaderboards"><i class="fa fa-trophy"></i></a>',
    dcNavLb        = '<a id="dc_nav_lb" class="dc_nav_icon" href="/leaderboards" title="Leaderboards"><i class="fa fa-trophy"></i></a>',
    dcNavSettings  = '<a id="dc_nav_settings" class="dc_nav_icon" title="Account Settings" href="/u/settings">' + dcNavSettingsFaUserCog + '</a>',
    dcNavSettings  = '<a id="dc_nav_settings" class="dc_nav_icon" title="Account Settings" href="/u/settings"><i class="fa fa-user-cog"></a>',
    dcNavProfile  = '<a id="dc_nav_profile" class="dc_nav_icon" title="My Profile" href="/u/' + getUUID() + '"><img src="https://dogcraft.net/img/mc/avatars/' + getUUID() + '?size=50&amp;default=MHF_Steve&amp;overlay" onerror="this.src=\'/img/steve.png\'"></a>',
    dcNavProfile  = '<a id="dc_nav_profile" class="dc_nav_icon" title="My Profile" href="/u/' + getUUID() + '"><img src="https://dogcraft.net/img/mc/avatars/' + getUUID() + '?size=50&amp;default=MHF_Steve&amp;overlay" onerror="this.src=\'/img/steve.png\'"></a>',
    dcNavLogout    = '<a id="dc_nav_logout" class="dc_nav_icon" title="Logout" href="/u/logout"><i class="fa fa-sign-out"></i></a>',
    dcNavLogout    = '<a id="dc_nav_logout" class="dc_nav_icon" title="Logout" href="/u/logout"><i class="fa fa-sign-out"></i></a>',

Revision as of 00:04, 29 May 2021

$(document).ready(function() {
	
	if (mw.config.get('wgPageName') === "Rules" || mw.config.get('wgPageName') === "Help_Resources")
	{
		
		var dogcraftNav = '<div id="dogcraftNav" class="dogcraft_nav"></div>'
		
		$("#navwrapper").prepend(dogcraftNav);
		
		//Update this one later: move css into helppage.css
		var dcNavSettingsFaUserCog = '<span style="position: relative;display: inline-block;margin: -4px 1px;width: 20px;height: 20px;font-size: 20px;"><i class="fa fa-user" style="position: absolute;left: 0;"></i><i class="fa fa-cog" style="position: absolute;font-size: 0.6em;top: 30%;right: 0;color: lightgray;z-index: 10;"></i></span>';
		
		var dcNavPatreon   = '<a class="patreon dc_nav_icon" target="_blank" title="Patreon" href="https://patreon.com/rendog"><i class="fa fa-patreon dc_nav_left_icon"></i></a>',
		    dcNavDiscord   = '<a class="discord dc_nav_icon" target="_blank dc_nav_imgicon" title="Discord" href="https://discord.gg/rendog"><i class="fa fa-discord dc_nav_left_icon"></a>',
		    dcNavYoutube   = '<a class="youtube dc_nav_icon" target="_blank" title="YouTube" href="https://youtube.com/user/rendog/"><i class="fa fa-youtube dc_nav_left_icon"></i></a>',
		    dcNavTwitch    = '<a class="twitch dc_nav_icon" target="_blank" title="Twitch" href="https://twitch.tv/rendogtv"><i class="fa fa-twitch dc_nav_left_icon"></i></a>',
		    dcNavTwitter   = '<a class="twitter dc_nav_icon" target="_blank" title="Twitter" href="https://twitter.com/dogcraftnet"><i class="fa fa-twitter dc_nav_left_icon"></i></a>',
		    dcNavWiki      = '<a class="wiki dc_nav_icon dc_nav_imgicon" title="You are here" href="https://dogcraft.net/wiki"><img class="dc_nav_left_icon" src="/img/wiki-red.png" alt="Wiki"></a>',
		    dcNavMap       = '<div id="navMapToggle" class="nav_map nav_loggedin dc_nav_icon" title="Server Maps"><i class="fa fa-map"></i><a class="navBeagle" href="/map/beagle" title="Beagle Map">Beagle</a><a class="navHusky" href="/map/husky" title="Husky Map">Husky</a></div>',
		    dcNavLb        = '<a id="dc_nav_lb" class="dc_nav_icon" href="/leaderboards" title="Leaderboards"><i class="fa fa-trophy"></i></a>',
		    dcNavSettings  = '<a id="dc_nav_settings" class="dc_nav_icon" title="Account Settings" href="/u/settings"><i class="fa fa-user-cog"></a>',
		    dcNavProfile   = '<a id="dc_nav_profile" class="dc_nav_icon" title="My Profile" href="/u/' + getUUID() + '"><img src="https://dogcraft.net/img/mc/avatars/' + getUUID() + '?size=50&amp;default=MHF_Steve&amp;overlay" onerror="this.src=\'/img/steve.png\'"></a>',
		    dcNavLogout    = '<a id="dc_nav_logout" class="dc_nav_icon" title="Logout" href="/u/logout"><i class="fa fa-sign-out"></i></a>',
		    dcNavLogin     = '<a id="dc_nav_login" class="dc_nav_icon" href="/u/login" title="Login">Login</a>',
		    dcNavRegister  = '<a id="dc_nav_register" class="dc_nav_icon" href="/u/register" title="Register">Register</a>',
		    dcNavLeft  = '<div id="dc-nav-left" class="dc_nav_left">' + dcNavPatreon + dcNavDiscord + dcNavYoutube + dcNavTwitch + dcNavTwitter + dcNavWiki + '</div>',
		    dcNavTitle = '<div id="dc-nav-title"><a href="/"><img src="/img/logo-white.svg" alt=""><span>DogCraft</span></a></div>',
		    dcNavRightLoggedIn = '<div id="dc-nav-right" class="dc_nav_right"><div class="dc_nav_btns">' + dcNavMap + dcNavLb + dcNavSettings + dcNavProfile + dcNavLogout + '</div></div>',
		    dcNavRightLoggedOut = '<div id="dc-nav-right" class="dc_nav_right"><div class="dc_nav_btns">' + dcNavLogin + dcNavRegister + dcNavMap + dcNavLb + '</div></div>',
		    dcNavHTML           = '';
		
		if (mw.config.get('wgUserName') !== null)
		{
			dcNavHTML  = dcNavLeft + dcNavTitle + dcNavRightLoggedIn + '<div class="dogcraft_statusBar"></div>';
		}
		else
		{
			dcNavHTML  = dcNavLeft + dcNavTitle + dcNavRightLoggedOut + '<div class="dogcraft_statusBar"></div>';
		}
		    
		$("#dogcraftNav").html(dcNavHTML);
		
		
		/* Partially sticky header */
		/* JS from https://www.w3schools.com/howto/howto_js_sticky_header.asp*/
		// When the user scrolls the page, execute myFunction
			window.onscroll = function() {myFunction()};
			
			// Get the header
			var topbar = document.querySelector(".top-bar");
			var header = document.getElementById("myHeader");
			
			// Get the offset position of the navbar
			var sticky = topbar.offsetTop;
			
			// Add the sticky class to the header when you reach its scroll position. Remove "sticky" when you leave the scroll position
			function myFunction() {
			  if (window.pageYOffset > sticky) 
			  {
			    topbar.classList.add("sticky1");
			  } 
			  else 
			  {
			    topbar.classList.remove("sticky1");
			  }
			}
			
		$("#navMapToggle").click(function(){
			$( "#navMapToggle" ).toggleClass( "expanded" );
		});
			
	}
	
	
	function getUUID(num) {
		
		if (mw.config.get('wgUserName') !== null)
		{
			if (mw.user.options.get( 'userjs-uuid' ) !== null )
			{
				return mw.user.options.get( 'userjs-uuid' ); //returns UUID of currently logged in user
			}
			else
			{
				/*
    				expand_templates.js

    				MediaWiki API Demos
    				Demo of `Expandtemplates` module: Expand the Project:Sandbox template.

    				MIT License
				*/
				var expandtemplatesparams = {
				    action: "expandtemplates",
				    text: "{{UUID| " + mw.config.get('wgUserName') + "}}",
				    prop: "wikitext",
				    format: "json"
					},
					api = new mw.Api();

				api.get( expandtemplatesparams ).done( function ( data ) {
					var uuid = data.expandtemplates.wikitext;
					/*
					change_user_options.js

					MediaWiki API Demos
					Demo of `Options` module: POST request to change three options
				    for current user
				
					MIT License
					*/
					var optionsparams = {
						action: 'options',
						change: 'userjs-uuid=' + uuid,
						format: 'json'
					};
					api.postWithToken( 'csrf', optionsparams ).done( function ( optionsdata ) {
						console.log( optionsparams );
					} );
				} );
			}
		}
		else
		{
			return; //return if user not logged in
		}
			
	}
	
});
This page was last modified on 29 May 2021, at 00:04. (2 years ago)
Background Takeshi by Edo