MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
Line 1,014: Line 1,014:


     var userName = window.mw ? mw.config.get( 'wgUserName' ) : null;
     var userName = window.mw ? mw.config.get( 'wgUserName' ) : null;
     if ( !userName ) return; // anonymous — nothing to show
     var isAnon = !userName || ( window.mw && mw.config.get( 'wgUserId' ) === null );


     var container = document.querySelector( '.vector-user-links-main' )
     var container = document.querySelector( '.vector-user-links-main' )
                 || document.querySelector( '.vector-user-links' );
                 || document.querySelector( '.vector-user-links' );
     if ( !container ) return;
     if ( !container ) return;
    // Logged-out: show a single Login/Signup link, nothing else
    if ( isAnon ) {
        if ( document.getElementById( 'gr-login-link' ) ) return;
        var loginA = document.createElement( 'a' );
        loginA.id = 'gr-login-link';
        loginA.href = wikiHref( 'Special:UserLogin' );
        loginA.textContent = 'Login/Signup';
        loginA.style.cssText = 'color:#fff;font-size:0.9em;font-weight:500;' +
            'text-decoration:none;padding:6px 12px;border-radius:6px;' +
            'background:rgba(255,255,255,0.12);white-space:nowrap;';
        loginA.addEventListener( 'mouseover', function(){ this.style.background='rgba(255,255,255,0.2)'; } );
        loginA.addEventListener( 'mouseout',  function(){ this.style.background='rgba(255,255,255,0.12)'; } );
        container.appendChild( loginA );
        return;
    }


     // Logout token (csrf token works for logout in modern MW)
     // Logout token (csrf token works for logout in modern MW)