/* * This is a fork of [[User:Enterprisey/user-tabs-on-contribs.js]], * as of https://www.search.com.vn/wiki/?oldid=916388347 */if( mw.config.get( "wgPageName" ).indexOf( "Special:Contributions/" ) === 0 ||mw.config.get( "wgPageName" ).indexOf( "Special:Contributions" ) === 0 && mw.util.getParamValue( "target" ) ) {/** Makes a tab linking to the given page name. redlink is a boolean indicating * whether the page exists or not. */function utocMakeTab( label, pageName, redlink, accesskey, id ) {setTimeout(() => {const previousVersion = document.querySelector(".emptyPortlet #" + id);if (previousVersion) {previousVersion.remove();}}, 0);var tab = $( "<li>" ).append( $( "<a>" ).text( label ).attr( "accesskey", accesskey ).attr( "title", pageName + " (access key " + accesskey + ")" ).attr( "href", mw.util.getUrl( pageName ) ) ).attr( "id", id );if( redlink ) tab.addClass( "new" );tab.addClass('vector-tab-noicon mw-list-item');return tab;}function getUserPageTabName() {const nsTabUser = mw.message('Nstab-user');if (!nsTabUser) {return "User page";}return nsTabUser.text();}function getUserTalkPageTabName() {const nsTabTalk = mw.message('Nstab-talk');if (!nsTabTalk || nsTabTalk.text().length === 0) {const talk = mw.message('Talk');if (!talk) {return "Talk";}return talk.text();}return nsTabTalk.text();}$.when(mw.loader.using( [ "mediawiki.api", "mediawiki.util" ] ),$.ready).then( function () {/* * Load localization messages: * [[MediaWiki:Nstab-user talk]], [[MediaWiki:Nstab-user]], [[MediaWiki:Talk]] */new mw.Api().loadMessagesIfMissing(['Nstab-user', 'Nstab-talk', 'Talk']).done(() => {var username = mw.config.get( "wgTitle" ).substring( 14 ) || mw.util.getParamValue( "target" );new mw.Api().get( {action: "query",titles: "User:" + username + "|User talk:" + username,formatversion: "2"} ).done( function ( data ) {if( data && data.query && data.query.pages ) {var userPageExists = true, userTalkPageExists = true;Object.values( data.query.pages ).forEach( function ( v ) {if( v.title.startsWith( "User:" ) ) userPageExists = v.hasOwnProperty( "missing" );else userTalkPageExists = v.hasOwnProperty( "missing" );} );$('#p-associated-pages').removeClass('emptyPortlet');const userPageTabName = getUserPageTabName();const userTalkPageTabName = getUserTalkPageTabName();$( "#left-navigation nav ul" ).append(utocMakeTab(userPageTabName, "User:" + username, userPageExists, "c", "ca-nstab-user")).append(utocMakeTab(userTalkPageTabName, "User talk:" + username, userTalkPageExists, "t", "ca-nstab-talk"));}} );});} );}