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
Etiquetas: Reversão manual Revertido
Sem resumo de edição
Etiqueta: Reversão manual
Linha 4: Linha 4:
if ( mw.config.get( 'wgUserName' ) === null ) {
if ( mw.config.get( 'wgUserName' ) === null ) {
$( function () {
$( function () {
// Exemplo: Oculta o link "Páginas especiais" na navegação lateral (Vector skin)
// ========== SEU CÓDIGO ORIGINAL ==========
// Oculta o link "Páginas especiais" na navegação lateral (Vector skin)
$( '#n-specialpages' ).hide();
$( '#n-specialpages' ).hide();


Linha 33: Linha 32:
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"
const loginObserver = new MutationObserver( function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.addedNodes.length > 0) {
hideLoginText();
}
});
});
loginObserver.observe(document.body, { childList: true, subtree: true });
setTimeout( () => loginObserver.disconnect(), 5000 );
} );
} );
}
}

Edição das 09h32min 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 () {
        // Exemplo: Oculta o link "Páginas especiais" na navegação lateral (Vector skin)
        $( '#n-specialpages' ).hide();

        // 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();

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

        // Fallback: se algum elemento for re-inserido dinamicamente, garante ocultação
        // (ex.: carregamentos tardios ou gadgets que recriam a busca)
        const hideSearch = function () {
            $( '#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 para pegar inserções tardias
        const observer = new MutationObserver( hideSearch );
        observer.observe( document.body, { childList: true, subtree: true } );
        setTimeout( () => observer.disconnect(), 5000 );
    } );
}