MediaWiki:Common.js: mudanças entre as edições

De Projeto ESG da DPS TECH SA
Ir para navegação Ir para pesquisar
Conteúdo deletado Conteúdo adicionado
Sem resumo de edição
Etiqueta: Revertido
Sem resumo de edição
Etiqueta: Revertido
Linha 4: Linha 4:
if ( mw.config.get( 'wgUserName' ) === null ) {
if ( mw.config.get( 'wgUserName' ) === null ) {
$( function () {
$( function () {
// ========== SEU CÓDIGO ORIGINAL ==========
// ========== SEU CÓDIGO ORIGINAL (FUNCIONAL) ==========
// Oculta o link "Páginas especiais" na navegação lateral (Vector skin)
// Oculta o link "Páginas especiais" na navegação lateral
$( '#n-specialpages' ).hide();
$( '#n-specialpages' ).hide();


// Esconder a busca apenas para anônimos
// Se você quiser ocultar um link específico, como "Mudanças recentes" (RecentChanges)
// $( '#n-recentchanges' ).hide();

// Oculte itens adicionais do menu "Ferramentas" (toolbox) conforme necessário
// $( '#t-whatlinkshere' ).hide(); // Oculta "Páginas afluentes"

/* --- NOVO: esconder a busca apenas para anônimos --- */

// Skins clássicas (Vector legado, MonoBook)
$( '#p-search, #searchform, #searchInput' ).hide();
$( '#p-search, #searchform, #searchInput' ).hide();

// Vector 2022 (barra de busca no topo)
$( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();
$( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();


// Fallback: se algum elemento for re-inserido dinamicamente, garante ocultação
// Fallback: se algum elemento for re-inserido dinamicamente
// (ex.: carregamentos tardios ou gadgets que recriam a busca)
const hideSearch = function () {
const hideSearch = function () {
$( '#n-specialpages' ).hide();
$( '#p-search, #searchform, #searchInput' ).hide();
$( '#p-search, #searchform, #searchInput' ).hide();
$( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();
$( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();
};
};


// Observa mudanças no DOM por alguns segundos para pegar inserções tardias
// Observa mudanças no DOM por alguns segundos
const observer = new MutationObserver( hideSearch );
const observer = new MutationObserver( hideSearch );
observer.observe( document.body, { childList: true, subtree: true } );
observer.observe( document.body, { childList: true, subtree: true } );
setTimeout( () => observer.disconnect(), 5000 );
setTimeout( () => observer.disconnect(), 5000 );

// ========== ADIÇÃO: ESCONDER TEXTO "ENTRAR" ==========
// Função para esconder o texto "ENTRAR" mas manter o link funcional
const hideLoginText = function() {
// Para Vector Legado - encontrar o link de login
$('#pt-login a').each(function() {
const $link = $(this);
const originalText = $link.text();
// Se contém "ENTRAR" ou variações
if (originalText.match(/entrar|login|sign in/i)) {
// Esconde o texto mas mantém o link
$link.css({
'font-size': '0',
'color': 'transparent',
'text-indent': '-9999px'
});
// Adiciona um placeholder invisível
$link.attr('data-original-text', originalText);
// Mantém acessibilidade
$link.attr('title', 'Fazer login');
$link.attr('aria-label', 'Fazer login');
// Adiciona um ícone ou marcador invisível
$link.html('<span style="display:none;">Login</span>');
}
});
// Alternativa: esconder apenas o span/texto dentro do link
$('#pt-login span, #pt-login .mw-list-item, #pt-login .mw-userlink').each(function() {
$(this).css({
'font-size': '0',
'color': 'transparent',
'visibility': 'hidden'
});
});
};
// Executar imediatamente
hideLoginText();
// Executar após carga completa
$(window).on('load', hideLoginText);
// Executar periodicamente para garantir
setInterval(hideLoginText, 1000);
// Observador de mutação também para o texto "ENTRAR"
// ========== REMOVI A PARTE QUE ESCONDE O "ENTRAR" ==========
// Isso estava impedindo o acesso ao login
const loginObserver = new MutationObserver( function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.addedNodes.length > 0) {
hideLoginText();
}
});
});
// Em vez disso, vamos apenas marcar visualmente que é anônimo
loginObserver.observe(document.body, { childList: true, subtree: true });
$('#pt-login').addClass('user-anonymous');
setTimeout( () => loginObserver.disconnect(), 5000 );
} );
} );
}
}

Edição das 09h23min de 16 de janeiro de 2026

/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */

/* Ocultar links para páginas especiais de usuários não registrados */
if ( mw.config.get( 'wgUserName' ) === null ) {
    $( function () {
        // ========== SEU CÓDIGO ORIGINAL (FUNCIONAL) ==========
        // Oculta o link "Páginas especiais" na navegação lateral
        $( '#n-specialpages' ).hide();

        // Esconder a busca apenas para anônimos
        $( '#p-search, #searchform, #searchInput' ).hide();
        $( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();

        // Fallback: se algum elemento for re-inserido dinamicamente
        const hideSearch = function () {
            $( '#n-specialpages' ).hide();
            $( '#p-search, #searchform, #searchInput' ).hide();
            $( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();
        };

        // Observa mudanças no DOM por alguns segundos
        const observer = new MutationObserver( hideSearch );
        observer.observe( document.body, { childList: true, subtree: true } );
        setTimeout( () => observer.disconnect(), 5000 );
        
        // ========== REMOVI A PARTE QUE ESCONDE O "ENTRAR" ==========
        // Isso estava impedindo o acesso ao login
        
        // Em vez disso, vamos apenas marcar visualmente que é anônimo
        $('#pt-login').addClass('user-anonymous');
    } );
}