Mudanças entre as edições de "MediaWiki:Common.js"

De Micropedia
Ir para navegação Ir para pesquisar
(ajuste teste)
(retorno - versão antiga.)
Linha 1: Linha 1:
 
/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */
 
/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */
  
 
/* =====================================================1. BOTÃO "VOLTAR AO TOPO" ===================================================== */
 
 
$(function() {
 
$(function() {
 
     // Cria o botão scroll-to-top button
 
     // Cria o botão scroll-to-top button
Linha 36: Linha 34:
 
});
 
});
  
/* =========================================================2. ANTI-SPAM (CAPTCHA SIMPLES)========================================================= */
+
// Script teste - slideshow trocar de imagem
 +
mw.hook('wikipage.content').add(function () {
 +
 
 +
    document.querySelectorAll('.gallerycarousel').forEach(function (carousel) {
 +
 
 +
        if (carousel.dataset.autoplay) return;
 +
        carousel.dataset.autoplay = 'true';
  
mw.hook('wikipage.editform').add(function () {
+
        const nextBtn = carousel.querySelector('.oo-ui-icon-next');
  const form = document.getElementById('editform');
 
  
  if (!form) return;
+
        if (!nextBtn) return;
  
  const answer = prompt("Digite 7 + 3 para confirmar:");
+
        setInterval(function () {
 +
            // força foco no botão
 +
            nextBtn.closest('a')?.focus();
  
  if (answer !== "10") {
+
            // dispara clique REAL
    alert("Erro na verificação.");
+
            nextBtn.closest('a').dispatchEvent(
    form.addEventListener('submit', e => e.preventDefault());
+
                new MouseEvent('click', {
  }
+
                    bubbles: true,
 +
                    cancelable: true,
 +
                    view: window
 +
                })
 +
            );
 +
        }, 4000); // tempo entre slides
 +
    });
 
});
 
});
  
 +
$(function () {
  
/* =====================================================3. APLICAÇÕES VISUAIS (APENAS NA PÁGINA PRINCIPAL)===================================================== */
+
    // Só roda se estiver em página de edição
 +
    if (mw.config.get("wgAction") !== "edit") return;
  
jQuery(document).ready(function ($) {
+
    const form = document.getElementById('editform');
 +
    if (!form) return;
  
     /* Sai imediatamente se não for a Página principal */
+
     form.addEventListener('submit', function (e) {
    if (!$('body').hasClass('page-Página_principal')) return;
 
  
    /* ── 1. CARDS: aplica border-collapse separate via JS
+
        const answer = prompt("Digite 7 + 3 para confirmar:");
      (fallback para navegadores que ignoram em <table>) ── */
 
    $('table.mph-card').css({
 
        'border-radius':  '10px',
 
        'border-collapse': 'separate',
 
        'overflow':       'hidden'
 
    });
 
  
   
+
        if (answer !== "10") {
    /* ── 3. LINKS EXTERNOS nos cards: nova aba ── */
+
            alert("Erro na verificação.");
    $('.mph-card a[href^="http"]')
+
            e.preventDefault();
        .not('a[href*="micropedia.com.br"]')
+
         }
        .not('a[href*="' + window.location.hostname + '"]')
 
         .attr({ target: '_blank', rel: 'noopener noreferrer' });
 
  
    /* ── 4. HOVER suave nas imagens dos Acontecimentos Recentes ── */
 
    $('.mph-card li img').css({
 
        'vertical-align': 'middle',
 
        'transition':    'transform 0.15s ease'
 
    }).on('mouseenter', function () {
 
        $(this).css('transform', 'scale(1.06)');
 
    }).on('mouseleave', function () {
 
        $(this).css('transform', 'scale(1)');
 
 
     });
 
     });
 
    /* ── 5. OCULTAR o título "Página principal" (redundante com o logo) ── */
 
    $('#firstHeading').hide();
 
  
 
});
 
});

Edição das 01h14min de 14 de abril de 2026

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

$(function() {
    // Cria o botão scroll-to-top button
    var $botaoTopo = $('<div id="botaoTopo">⬆️ Topo</div>').css({
        display: "none",
        position: "fixed",
        bottom: "85px", // <-- distância do roda pé (~85px)
        right: "20px",
        padding: "10px 15px",
        background: "#9bbeab",
        color: "#000",
        "border-radius": "8px",
        cursor: "pointer",
        "box-shadow": "0 2px 6px rgba(0,0,0,0.3)",
        "font-weight": "bold",
        "z-index": "9999"
    }).appendTo("body");

    // Mostrar/esconder com base no scroll
    $(window).scroll(function() {
        if ($(this).scrollTop() > $(document).height() / 2) {
            $botaoTopo.fadeIn();
        } else {
            $botaoTopo.fadeOut();
        }
    });

    // Ação ao clicar
    $botaoTopo.click(function() {
        $("html, body").animate({scrollTop: 0}, 500);
        return false;
    });
});

// Script teste - slideshow trocar de imagem
mw.hook('wikipage.content').add(function () {

    document.querySelectorAll('.gallerycarousel').forEach(function (carousel) {

        if (carousel.dataset.autoplay) return;
        carousel.dataset.autoplay = 'true';

        const nextBtn = carousel.querySelector('.oo-ui-icon-next');

        if (!nextBtn) return;

        setInterval(function () {
            // força foco no botão
            nextBtn.closest('a')?.focus();

            // dispara clique REAL
            nextBtn.closest('a').dispatchEvent(
                new MouseEvent('click', {
                    bubbles: true,
                    cancelable: true,
                    view: window
                })
            );
        }, 4000); // tempo entre slides
    });
});

$(function () {

    // Só roda se estiver em página de edição
    if (mw.config.get("wgAction") !== "edit") return;

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

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

        const answer = prompt("Digite 7 + 3 para confirmar:");

        if (answer !== "10") {
            alert("Erro na verificação.");
            e.preventDefault();
        }

    });

});