MediaWiki:Common.js

De Micropedia
Revisão de 00h51min de 14 de abril de 2026 por Imperador Crow (discussão | contribs) (limpeza)
Ir para navegação Ir para pesquisar

Nota: Após salvar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
  • Opera: Vá para Menu → Configurações (Opera → Preferencias no Mac) e depois para Privacidade e Segurança → Limpar dados de navegação → Imagens e arquivos em cache.
/* =========================================================
   Micropédia — Common.js otimizado
   ========================================================= */

jQuery(document).ready(function ($) {

    /* =====================================================
       1. BOTÃO "VOLTAR AO TOPO" (único e otimizado)
       ===================================================== */
    let $topo = $('#botaoTopo');

    if ($topo.length === 0) {
        $topo = $('<div id="botaoTopo">⬆ Topo</div>').css({
            position: 'fixed',
            bottom: '20px',
            right: '20px',
            padding: '8px 14px',
            background: '#9bbeab',
            color: '#1a3a28',
            borderRadius: '8px',
            cursor: 'pointer',
            boxShadow: '0 2px 6px rgba(0,0,0,0.25)',
            fontWeight: 'bold',
            fontSize: '13px',
            zIndex: 9999,
            display: 'none'
        });
        $('body').append($topo);
    }

    $(window).on('scroll.mph', function () {
        $topo.toggle($(this).scrollTop() > 400);
    });

    $topo.on('click', function () {
        $('html, body').animate({ scrollTop: 0 }, 300);
    });


    /* =====================================================
       2. APLICAÇÕES VISUAIS (APENAS NA PÁGINA PRINCIPAL)
       ===================================================== */
    if (mw.config.get("wgPageName") !== "Página_principal") return;

    /* Cards com borda arredondada correta */
    $('table.mph-card').css({
        borderRadius: '10px',
        borderCollapse: 'separate',
        overflow: 'hidden'
    });

    /* Links externos abrem em nova aba */
    $('.mph-card a[href^="http"]')
        .not('a[href*="' + window.location.hostname + '"]')
        .attr({ target: '_blank', rel: 'noopener noreferrer' });

    /* Hover suave nas imagens */
    $('.mph-card li img').css({
        verticalAlign: 'middle',
        transition: 'transform 0.15s ease'
    }).on('mouseenter', function () {
        $(this).css('transform', 'scale(1.06)');
    }).on('mouseleave', function () {
        $(this).css('transform', 'scale(1)');
    });

    /* Oculta título redundante */
    $('#firstHeading').hide();

});


/* =========================================================
   3. ANTI-SPAM (CAPTCHA SIMPLES)
   ========================================================= */

mw.hook('wikipage.editform').add(function () {

    /* Não aplicar para administradores */
    if (mw.config.get("wgUserGroups").includes("sysop")) return;

    const form = document.getElementById('editform');
    if (!form) return;

    form.addEventListener('submit', function (e) {

        const answer = prompt("Verificação rápida: quanto é 7 + 3?");

        if (answer !== "10") {
            alert("Resposta incorreta. Tente novamente.");
            e.preventDefault();
        }

    });
});