MediaWiki:Common.js
Ir para navegação
Ir para pesquisar
Nota: Após publicar, 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/Edge: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
- Opera: Pressione Ctrl-F5.
/* CDB2026 AUTO BEGIN */ (function () { 'use strict'; function boot(context) { (context || document).querySelectorAll('.br2026-auto[data-competition="CDB2026"]').forEach(function (root) { if (root.dataset.ready) return; var panels=Array.from(root.querySelectorAll('[data-cdb-phase]')); if(panels.length!==9) return; var controls=document.createElement('nav');controls.className='br2026-controls';controls.setAttribute('aria-label','Navegação entre fases da Copa do Brasil'); var prev=document.createElement('button'),next=document.createElement('button'),select=document.createElement('select'); prev.type=next.type='button';prev.textContent='‹';next.textContent='›';prev.setAttribute('aria-label','Fase anterior');next.setAttribute('aria-label','Próxima fase');select.setAttribute('aria-label','Selecionar fase'); panels.forEach(function(p){var o=document.createElement('option');o.value=p.dataset.cdbPhase;o.textContent=p.dataset.phaseLabel;select.appendChild(o);});controls.append(prev,select,next);root.querySelector('.br2026-rounds').prepend(controls); var current=Math.min(9,Math.max(1,Number(root.dataset.defaultPhase)||1)); function show(n){current=n;panels.forEach(function(p){var visible=Number(p.dataset.cdbPhase)===n;p.hidden=!visible;p.style.display=visible?'':'none';});select.value=String(n);prev.disabled=n===1;next.disabled=n===9;} prev.addEventListener('click',function(){show(Math.max(1,current-1));});next.addEventListener('click',function(){show(Math.min(9,current+1));});select.addEventListener('change',function(){show(Number(select.value));});root.dataset.ready='1';show(current); }); } if(typeof mw!=='undefined'&&mw.hook)mw.hook('wikipage.content').add(function(c){boot(c[0]||c);}); if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){boot(document);});else boot(document); })(); /* CDB2026 AUTO END */ /* BR2026 AUTO BEGIN */ /* Scoped enhancement for Predefinição:BR2026-01_automatico; append, do not replace Common.js. */ (function () { 'use strict'; function boot(context) { (context || document).querySelectorAll('.br2026-auto').forEach(function (root) { if (root.dataset.ready) return; var panels = Array.from(root.querySelectorAll('[data-br-round]')); if ([38,46].indexOf(panels.length) === -1 && !((root.dataset.season === '2002' && panels.length === 35) || (root.dataset.season === '2001' && panels.length === 31) || (root.dataset.season === '2000' && panels.length === 73) || (root.dataset.season === '1999' && panels.length === 63) || (root.dataset.season === '1998' && panels.length === 59) || (root.dataset.season === '1997' && panels.length === 34) || (root.dataset.season === '1996' && panels.length === 29) || (root.dataset.season === '1995' && panels.length === 71) || (root.dataset.season === '1994' && panels.length === 92) || (root.dataset.season === '1993' && panels.length === 24) || (root.dataset.season === '1988' && panels.length === 29) || (root.dataset.season === "1970" && panels.length === 45) || (root.dataset.season === "1969" && panels.length === 41) || (root.dataset.season === "1968" && panels.length === 49) || (root.dataset.season === "1968_tbr" && panels.length === 54) || (root.dataset.season === "1967" && panels.length === 41) || (root.dataset.season === "1967_tbr" && panels.length === 46) || (root.dataset.season === "1966" && panels.length === 45) || (root.dataset.season === "1965" && panels.length === 40) || (root.dataset.season === "1964" && panels.length === 42) || (root.dataset.season === "1963" && panels.length === 42) || (root.dataset.season === "1961" && panels.length === 35) || (root.dataset.season === "1960" && panels.length === 35) || (root.dataset.season === "1959" && panels.length === 32) || (root.dataset.season === "1986" && panels.length === 29) || (root.dataset.season === "1985" && panels.length === 31) || (root.dataset.season === "1984" && panels.length === 29) || (root.dataset.season === "1983" && panels.length === 29) || (root.dataset.season === "1982" && panels.length === 24) || (root.dataset.season === "1981" && panels.length === 23) || (root.dataset.season === "1980" && panels.length === 23) || (root.dataset.season === "1979" && panels.length === 56) || (root.dataset.season === "1978" && panels.length === 90) || (root.dataset.season === "1977" && panels.length === 52) || (root.dataset.season === "1976" && panels.length === 43) || (root.dataset.season === "1975" && panels.length === 48) || (root.dataset.season === "1974" && panels.length === 27) || (root.dataset.season === "1973" && panels.length === 75) || (root.dataset.season === "1972" && panels.length === 30) || (root.dataset.season === "1971" && panels.length === 53) || (root.dataset.season === "1987" && panels.length === 83) || (root.dataset.season === '1991' && panels.length === 62) || (root.dataset.season === '1990' && panels.length === 52) || (root.dataset.season === '1989' && panels.length === 51))) return; root.dataset.ready = '1'; var controls = document.createElement('nav'); controls.className = 'br2026-controls'; controls.setAttribute('aria-label','Navegação entre rodadas'); var prev = document.createElement('button'), next = document.createElement('button'), select = document.createElement('select'); prev.type = next.type = 'button'; prev.textContent = '‹'; next.textContent = '›'; prev.setAttribute('aria-label','Rodada anterior'); next.setAttribute('aria-label','Próxima rodada'); select.setAttribute('aria-label','Selecionar rodada'); panels.forEach(function (panel, i) { var option = document.createElement('option'); option.value = i + 1; option.textContent = panel.getAttribute('data-round-label') || (i + 1) + 'ª rodada'; select.appendChild(option); }); var label = document.createElement('span'); label.className = 'br2026-selected'; label.setAttribute('aria-live','polite'); controls.append(prev, select, next, label); root.querySelector('.br2026-rounds').prepend(controls); var host = root.closest('.rodada-viewer') || root; var current = Math.min(panels.length, Math.max(1, Number(host.dataset.br2026Selection || root.dataset.defaultRound) || 1)); function show(n) { current = n; host.dataset.br2026Selection = String(n); panels.forEach(function (p) { p.hidden = Number(p.dataset.brRound) !== n; p.style.display = p.hidden ? 'none' : ''; }); select.value = String(n); prev.disabled = n === 1; next.disabled = n === panels.length; label.textContent = panels[n - 1].getAttribute('data-round-label') || n + 'ª rodada'; } prev.addEventListener('click',function () { show(Math.max(1,current-1)); }); next.addEventListener('click',function () { show(Math.min(panels.length,current+1)); }); select.addEventListener('change',function () { show(Number(select.value)); }); show(current); }); } if (typeof mw !== 'undefined' && mw.hook) mw.hook('wikipage.content').add(function (content) { boot(content[0] || content); }); function start() { boot(document); document.querySelectorAll('.rodada-viewer[data-giro="BR2026-01_automatico"],.rodada-viewer[data-rodada="BR2026-01_automatico"],.rodada-viewer[data-giro="BR2026_automatico"],.rodada-viewer[data-rodada="BR2026_automatico"],.rodada-viewer[data-giro="BR2025-01_automatico"],.rodada-viewer[data-rodada="BR2025-01_automatico"],.rodada-viewer[data-giro="BR2025_automatico"],.rodada-viewer[data-rodada="BR2025_automatico"],.rodada-viewer[data-giro="BR2023_automatico"],.rodada-viewer[data-rodada="BR2023_automatico"],.rodada-viewer[data-giro="BR2021_automatico"],.rodada-viewer[data-rodada="BR2021_automatico"],.rodada-viewer[data-giro="BR2003_automatico"],.rodada-viewer[data-rodada="BR2003_automatico"],.rodada-viewer[data-giro="BR2004_automatico"],.rodada-viewer[data-rodada="BR2004_automatico"],.rodada-viewer[data-giro="BR2006_automatico"],.rodada-viewer[data-rodada="BR2006_automatico"],.rodada-viewer[data-giro="BR2007_automatico"],.rodada-viewer[data-rodada="BR2007_automatico"],.rodada-viewer[data-giro="BR2008_automatico"],.rodada-viewer[data-rodada="BR2008_automatico"],.rodada-viewer[data-giro="BR2009_automatico"],.rodada-viewer[data-rodada="BR2009_automatico"],.rodada-viewer[data-giro="BR2010_automatico"],.rodada-viewer[data-rodada="BR2010_automatico"],.rodada-viewer[data-giro="BR2011_automatico"],.rodada-viewer[data-rodada="BR2011_automatico"],.rodada-viewer[data-giro="BR2012_automatico"],.rodada-viewer[data-rodada="BR2012_automatico"],.rodada-viewer[data-giro="BR2013_automatico"],.rodada-viewer[data-rodada="BR2013_automatico"],.rodada-viewer[data-giro="BR2014_automatico"],.rodada-viewer[data-rodada="BR2014_automatico"],.rodada-viewer[data-giro="BR2015_automatico"],.rodada-viewer[data-rodada="BR2015_automatico"],.rodada-viewer[data-giro="BR2016_automatico"],.rodada-viewer[data-rodada="BR2016_automatico"],.rodada-viewer[data-giro="BR2017_automatico"],.rodada-viewer[data-rodada="BR2017_automatico"],.rodada-viewer[data-giro="BR2018_automatico"],.rodada-viewer[data-rodada="BR2018_automatico"],.rodada-viewer[data-giro="BR2019_automatico"],.rodada-viewer[data-rodada="BR2019_automatico"],.rodada-viewer[data-giro="BR2020_automatico"],.rodada-viewer[data-rodada="BR2020_automatico"],.rodada-viewer[data-giro="BR2022_automatico"],.rodada-viewer[data-rodada="BR2022_automatico"],.rodada-viewer[data-giro="BR2024_automatico"],.rodada-viewer[data-rodada="BR2024_automatico"]').forEach(function (viewer) { var observer = new MutationObserver(function () { boot(viewer); }); observer.observe(viewer, {childList:true}); }); } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded',start); else start(); })(); /* BR2026 AUTO END */ /* Qualquer código JavaScript presente aqui será carregado por todos os usuários em cada página carregada. */ /*jshint camelcase: true, curly: true, eqeqeq: true, immed: true, latedef: true, newcap: true, noarg: true, noempty: true, nonew: true, quotmark: single, trailing: true, undef: true, unused: true, bitwise: true, forin: true, regexp: true, strict: true, onevar: true, laxbreak: true */ /*global mediaWiki, jQuery */ // Esconde botões "Ver código-fonte" e "Ver histórico" para usuários anônimos mw.loader.using(['mediawiki.user', 'mediawiki.util'], function () { $(document).ready(function () { if (!mw.user.isLoggedIn()) { // Remove botões visíveis diretamente (skins antigas ou personalizadas) $('#ca-viewsource, #ca-history').remove(); // Observa mudanças no DOM para pegar botões que aparecem depois const observer = new MutationObserver(function () { // Remove itens do menu suspenso $('a[href*="action=history"], a[href*="action=edit"], a[href*="action=submit"]').each(function () { const texto = $(this).text().toLowerCase(); if (texto.includes('histórico') || texto.includes('ver código-fonte')) { $(this).closest('li').remove(); } }); }); observer.observe(document.body, { childList: true, subtree: true }); } }); }); //carrocel de imagens de 3 segundos mw.loader.using('jquery', function() { $(document).ready(function() { setInterval(function() { var slides = $("#slideshow .slide"); slides.each(function(i) { if ($(this).css("display") === "block") { $(this).css("display", "none"); var next = (i + 1) % slides.length; slides.eq(next).css("display", "block"); return false; } }); }, 3000); // Troca a cada 3 segundos }); }); ( function ( mw, $ ) { 'use strict'; /** * Oculta botão editar da [[Wikipédia:Esplanada/propostas]] e da [[Wikipédia:Esplanada/geral]] * * @author: Helder (https://github.com/he7d3r) * @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/> */ function hideEditButton() { var temp = 'Template:Esplanada2/Preload'; if ( mw.config.get( 'wgUserLanguage' ) !== 'pt' ) { temp += '/en'; } $( '#ca-addsection' ).find( 'a' ).attr( 'href', mw.util.getUrl( mw.config.get( 'wgPageName' ), { action: 'edit', section: 'new', preload: temp } ) ); if ( mw.config.get( 'skin' ) === 'vector' ) { // Move o botão "editar" para o menu de ações $( '#p-cactions' ).removeClass( 'emptyPortlet' ).find( 'ul' ).append( $( '#ca-edit' ) ); } } /** * Parâmetros &withCSS= e &withJS= para a URL * * Permite que sejam testados scripts e folhas de estilos do domínio MediaWiki * sem precisar editar páginas ".css" ou ".js" pessoais * @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL * @revision 2016-03-26 */ mw.loader.using( ['mediawiki.util', 'mediawiki.notify'], function () { var extraCSS = mw.util.getParamValue( 'withCSS' ), extraJS = mw.util.getParamValue( 'withJS' ); if ( extraCSS ) { if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) { mw.loader.load( '/w/index.php?title=' + extraCSS + '&action=raw&ctype=text/css', 'text/css' ); } else { mw.notify( 'Só são permitidas páginas do domínio MediaWiki.', { title: 'Valor withCSS inválido' } ); } } if ( extraJS ) { if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) { mw.loader.load( '/w/index.php?title=' + extraJS + '&action=raw&ctype=text/javascript' ); } else { mw.notify( 'Só são permitidas páginas do domínio MediaWiki.', { title: 'Valor withJS inválido' } ); } } } ); // Ocultar a barra de sumário das páginas de pedidos mw.loader.using( 'mediawiki.util', function () { if ( /Wikipédia:Pedidos\/(?!Outros|Revisão_de_ações_administrativas$)/.test( mw.config.get( 'wgPageName' ) ) && mw.util.getParamValue( 'section' ) === 'new' ) { $( '.mw-summary' ).hide(); } } ); // Scripts para páginas específicas if ( $.inArray( mw.config.get( 'wgPageName' ), [ 'Wikipédia:Esplanada/propostas', 'Wikipédia:Esplanada/geral' ] ) !== -1 ) { $( hideEditButton ); } }( mediaWiki, jQuery ) ); if (mw.config.get('wgPagename') === 'Usuário:Maicon_Silva/sandbox') { window.location.replace(mw.util.getUrl('Usuário:Maicon Silva/Testes')); } //testes lazy document.addEventListener("DOMContentLoaded", function () { // Seleciona todas as imagens const images = document.querySelectorAll('img'); images.forEach(function (img) { // Verifica se a imagem está dentro de um NavFrame if (img.closest('.NavFrame')) { // Remove o atributo 'loading="lazy"' das imagens dentro de NavFrame img.removeAttribute('loading'); } else { // Garante que as imagens fora de NavFrame tenham lazy loading if (!img.hasAttribute('loading')) { img.setAttribute('loading', 'lazy'); } } }); }); // proteger o código fonte $(document).ready(function () { var viewSourceTab = $('#ca-viewsource'); if (viewSourceTab.length) { var link = viewSourceTab.find('a'); var label = link.text(); var href = link.attr('href'); // Cria novo item no menu lateral var newItem = $('<li><a href="' + href + '">' + label + '</a></li>'); // Adiciona no menu lateral, em uma seção customizada var toolbox = $('#p-tb ul'); if (!toolbox.length) { // Se não existir a toolbox, cria $('#mw-panel').append( '<div class="portal" role="navigation" id="p-custom" aria-labelledby="p-custom-label">' + '<h3 id="p-custom-label">Ações</h3>' + '<div class="body"><ul></ul></div></div>' ); toolbox = $('#p-custom ul'); } toolbox.append(newItem); // Remove a aba do topo viewSourceTab.remove(); } }); // Começa código Giro (function (mw, $) { 'use strict'; function normalizeKey(key) { return String(key).replace(/[^a-z0-9]/gi, '_'); } function getRodadaFromHash(key) { var h = window.location.hash || ''; var re = new RegExp('(?:^|[&#])rodada_' + key + '=([^&]+)', 'i'); var m = h.match(re); return m ? decodeURIComponent(m[1]) : null; } function setRodadaInHash(key, value) { var hash = (window.location.hash || '').replace(/^#/, ''); var parts = hash ? hash.split('&') : []; var found = false; parts = parts.map(function (p) { if (p.toLowerCase().indexOf(('rodada_' + key + '=').toLowerCase()) === 0) { found = true; return 'rodada_' + key + '=' + encodeURIComponent(value); } return p; }); if (!found) { parts.push('rodada_' + key + '=' + encodeURIComponent(value)); } window.location.hash = parts.filter(Boolean).join('&'); } function renderRodada($box, rodada) { if (!rodada) return; // Initial HTML is server-rendered for the reviewed heavy championship modules. if ($box.attr('data-initial-rendered') === '1' && String(rodada) === String($box.attr('data-rodada'))) return; $box.addClass('is-loading'); new mw.Api().post({ action: 'parse', format: 'json', contentmodel: 'wikitext', prop: 'text', disableeditsection: 1, disablelimitreport: 1, title: mw.config.get('wgPageName'), text: '{{' + rodada + '}}' }).then(function (data) { var html = data && data.parse && data.parse.text && data.parse.text['*']; $box.html(html || '<div>Falha ao renderizar</div>'); }).catch(function (e) { $box.html('<div>Erro ao carregar rodada</div>'); if (window.console) console.error(e); }).always(function () { $box.removeClass('is-loading'); }); } function boot() { var $boxes = $('.rodada-viewer'); if (!$boxes.length) return; function loadOne($box) { var rawKey = $box.data('giro'); var key = normalizeKey(rawKey); var rodada = getRodadaFromHash(key) || $box.data('rodada'); renderRodada($box, rodada); } function loadAll() { $boxes.each(function () { loadOne($(this)); }); } loadAll(); $(window).on('hashchange', loadAll); $boxes.on('click', 'a', function (e) { var href = this.getAttribute('href') || ''; if (href.indexOf('#rodada=') === 0) { e.preventDefault(); var $box = $(this).closest('.rodada-viewer'); var rawKey = $box.data('giro'); var key = normalizeKey(rawKey); var rodadaNova = href.substring('#rodada='.length); setRodadaInHash(key, rodadaNova); } }); } mw.loader.using(['mediawiki.api', 'jquery']).then(boot); })(mediaWiki, jQuery); /* SULA UNIFIED NAVIGATION BEGIN */ (function () { 'use strict'; function boot(context) { (context || document).querySelectorAll('.br2026-auto[data-competition="SULA2021"],.br2026-auto[data-competition="SULA2025"],.br2026-auto[data-competition="SULA2026"]').forEach(function(root) { if(root.dataset.sulaUnified) return; var panels=Array.from(root.querySelectorAll('[data-cdb-phase]')); var groupPanel=root.querySelector('[data-cdb-phase="2"]'); var rounds=groupPanel?Array.from(groupPanel.querySelectorAll('[data-sula-round]')):[]; var expected=root.dataset.competition==='SULA2021'?6:7; if(panels.length!==expected||rounds.length!==6||panels.some(function(p,i){return Number(p.dataset.cdbPhase)!==i+1;})||rounds.some(function(p,i){return Number(p.dataset.sulaRound)!==i+1;}))return; if(!document.getElementById('sula2026-responsive-style')){ var style=document.createElement('style');style.id='sula2026-responsive-style';style.textContent='.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-team{flex-direction:column;align-items:center;gap:3px;text-align:center}.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-clubname{max-width:none;overflow-wrap:normal;word-break:normal;text-align:center}.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-home .br2026-clubname{order:2}.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-home .br2026-crest{order:1}';document.head.appendChild(style); } function fit(){root.classList.toggle('cdb2026-narrow',root.getBoundingClientRect().width<420);}fit(); if(typeof ResizeObserver!=='undefined'&&!root.dataset.cdbResponsive){new ResizeObserver(fit).observe(root);root.dataset.cdbResponsive='1';} var steps=[]; panels.forEach(function(p){ if(p===groupPanel){rounds.forEach(function(r){steps.push({phase:p,round:r,label:'Grupos — '+r.dataset.sulaRound+'ª rodada'});});} else steps.push({phase:p,round:null,label:p.dataset.phaseLabel}); }); root.querySelectorAll('nav.br2026-controls').forEach(function(n){n.remove();}); var nav=document.createElement('nav');nav.className='br2026-controls';nav.setAttribute('aria-label','Navegação da Copa Sul-Americana'); var prev=document.createElement('button'),next=document.createElement('button'),select=document.createElement('select'); prev.type=next.type='button';prev.textContent='‹';next.textContent='›';prev.setAttribute('aria-label','Etapa anterior');next.setAttribute('aria-label','Próxima etapa');select.setAttribute('aria-label','Selecionar etapa da competição'); steps.forEach(function(s,i){var o=document.createElement('option');o.value=String(i);o.textContent=s.label;select.appendChild(o);});nav.append(prev,select,next);root.querySelector('.br2026-rounds').prepend(nav); var current=steps.findIndex(function(s){return Number(s.phase.dataset.cdbPhase)===(Number(root.dataset.defaultPhase)||1);});if(current<0)current=0; function show(n){ current=n;var selected=steps[n]; panels.forEach(function(p){var visible=p===selected.phase;p.hidden=!visible;p.style.display=visible?'':'none';}); rounds.forEach(function(r){var visible=r===selected.round;r.hidden=!visible;r.style.display=visible?'':'none';}); select.value=String(n);prev.disabled=n===0;next.disabled=n===steps.length-1; } prev.addEventListener('click',function(){show(Math.max(0,current-1));});next.addEventListener('click',function(){show(Math.min(steps.length-1,current+1));});select.addEventListener('change',function(){show(Number(select.value));}); root.dataset.ready='1';groupPanel.dataset.roundsReady='1';root.dataset.sulaUnified='1';show(current); }); } if(typeof mw!=='undefined'&&mw.hook)mw.hook('wikipage.content').add(function(c){boot(c[0]||c);}); if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){boot(document);});else boot(document); })(); /* SULA UNIFIED NAVIGATION END */ /* SULA HISTORICAL NAVIGATION BEGIN */ (function(){'use strict';function boot(context){(context||document).querySelectorAll('.br2026-auto[data-sula-historical="1"]').forEach(function(root){ if(root.dataset.sulaHistoricalReady)return;var panels=Array.from(root.querySelectorAll('[data-cdb-phase]'));if(panels.length!==Number(root.dataset.sulaPhaseCount)||panels.some(function(p,i){return Number(p.dataset.cdbPhase)!==i+1;}))return; if(!document.getElementById('sula2026-responsive-style')){ var style=document.createElement('style');style.id='sula2026-responsive-style';style.textContent='.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-team{flex-direction:column;align-items:center;gap:3px;text-align:center}.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-clubname{max-width:none;overflow-wrap:normal;word-break:normal;text-align:center}.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-home .br2026-clubname{order:2}.br2026-auto[data-competition^="SULA"].cdb2026-narrow .br2026-home .br2026-crest{order:1}';document.head.appendChild(style); } function fit(){root.classList.toggle('cdb2026-narrow',root.getBoundingClientRect().width<420);}fit(); if(typeof ResizeObserver!=='undefined'&&!root.dataset.cdbResponsive){new ResizeObserver(fit).observe(root);root.dataset.cdbResponsive='1';} var nav=document.createElement('nav');nav.className='br2026-controls';nav.setAttribute('aria-label','Navegação da Copa Sul-Americana');var prev=document.createElement('button'),next=document.createElement('button'),select=document.createElement('select');prev.type=next.type='button';prev.textContent='‹';next.textContent='›';prev.setAttribute('aria-label','Etapa anterior');next.setAttribute('aria-label','Próxima etapa');select.setAttribute('aria-label','Selecionar etapa da competição');panels.forEach(function(p,i){var o=document.createElement('option');o.value=String(i);o.textContent=p.dataset.phaseLabel;select.appendChild(o);});nav.append(prev,select,next);root.querySelector('.br2026-rounds').prepend(nav);var current=0;function show(n){current=n;panels.forEach(function(p,i){var v=i===n;p.hidden=!v;p.style.display=v?'':'none';});select.value=String(n);prev.disabled=n===0;next.disabled=n===panels.length-1;}prev.addEventListener('click',function(){show(Math.max(0,current-1));});next.addEventListener('click',function(){show(Math.min(panels.length-1,current+1));});select.addEventListener('change',function(){show(Number(select.value));});root.dataset.ready='1';root.dataset.sulaHistoricalReady='1';show(0); });}if(typeof mw!=='undefined'&&mw.hook)mw.hook('wikipage.content').add(function(c){boot(c[0]||c);});if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){boot(document);});else boot(document);})(); /* SULA HISTORICAL NAVIGATION END */