Jump to content

MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 2: Line 2:




/* Forçar links de "Buy Now" a abrir em novo separador */
$(document).ready(function() {
    $('.button-buy-now a').attr('target', '_blank').attr('rel', 'noopener');
});




$(document).ready(function() {
    var footerLinks = document.getElementById('footer-places');
    if (footerLinks && !document.getElementById('footer-custom-buttons-container')) {
        var container = document.createElement('li');
        container.id = 'footer-custom-buttons-container';
        container.style.display = 'flex';
        container.style.gap = '10px';
        container.style.alignItems = 'center';


/* Força a exibição do header fixo para todos os utilizadores */
        // Botão de Topo (Seta)
.vector-sticky-header {
        var topBtn = '<a href="#" class="footer-top-button" title="Voltar ao topo">' +
    display: flex !important;
            '<span class="material-symbols-outlined">arrow_upward</span></a>';
    visibility: visible !important;
       
}
        // Teu botão atual da Atronia
 
        var siteBtn = '<a href="https://atronia.eu" class="footer-button-atronia-real" target="_blank" rel="noopener">atronia.eu</a>';
/* Garante que o container do header não seja escondido por classes de estado */
       
.vector-sticky-header-container {
        container.innerHTML = topBtn + siteBtn;
    display: block !important;
        footerLinks.appendChild(container);
    position: sticky !important;
       
    top: 0;
        // Função para scroll suave ao clicar na seta
    z-index: 100;
        $('.footer-top-button').click(function(e) {
}
            e.preventDefault();
 
            $('html, body').animate({scrollTop: 0}, 'slow');
/* Ajuste para o corpo da página não ficar por baixo do header fixo ao fazer scroll */
        });
body.vector-sticky-header-enabled .mw-page-container {
    }
    padding-top: 0 !important;
});
}




Line 28: Line 39:




/*** GOOGLE ANALYTICS Injeção correta de script externo para evitar o erro de "Parse error" ***/


/**
* GOOGLE ANALYTICS
* Injeção correta de script externo para evitar o erro de "Parse error"
*/
var gaScript = document.createElement('script');
var gaScript = document.createElement('script');
gaScript.src = "https://www.googletagmanager.com/gtag/js?id=G-MX174P23PW";
gaScript.src = "https://www.googletagmanager.com/gtag/js?id=G-MX174P23PW";
Line 103: Line 109:


         $block.css('position', 'relative').prepend($button);
         $block.css('position', 'relative').prepend($button);
    });
});
/* Variations toggle arrow rotation */
$(function () {
    $('.variations-toggle').on('click', function () {
        var $arrow = $(this).find('.arrow-icon');
        // small delay to let MediaWiki toggle first
        setTimeout(() => {
            var targetId = this.className.match(/mw-customtoggle-(\d+)/);
            if (!targetId) return;
            var collapsibleId = '#mw-customcollapsible-' + targetId[1];
            var $collapsible = $(collapsibleId);
            if ($collapsible.hasClass('mw-collapsed')) {
                $arrow.removeClass('rotated');
            } else {
                $arrow.addClass('rotated');
            }
        }, 50);
     });
     });
});
});