MediaWiki:Common.js: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Conteúdo deletado Conteúdo adicionado
Sem resumo de edição Etiqueta: Revertido |
Sem resumo de edição Etiqueta: Revertido |
||
| Linha 1: | Linha 1: | ||
/* Ocultar links para páginas especiais de usuários não registrados */ |
/* Ocultar links para páginas especiais de usuários não registrados */ |
||
| ⚫ | |||
if ( mw.config.get( 'wgUserName' ) === null ) { |
|||
// Função para verificar e atualizar visibilidade |
|||
| ⚫ | |||
const updateVisibility = function() { |
|||
| ⚫ | |||
const |
const isLoggedIn = mw.config.get( 'wgUserName' ) !== null; |
||
// Esconder todas as variações possíveis de caixas de pesquisa |
|||
$('#p-search, #searchform, #searchInput, #simpleSearch, .mw-search').hide(); |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
// Para Vector 2022, também ocultar o container pai |
|||
$('.vector-header .vector-header-start, .vector-header .vector-header-end').each(function() { |
|||
$(this).find('*').filter(':contains("Search"), [id*="search"], [class*="search"]').parent().hide(); |
|||
| ⚫ | |||
| ⚫ | |||
if (!isLoggedIn) { |
|||
| ⚫ | |||
hideSearchElements(); |
|||
| ⚫ | |||
| ⚫ | |||
$(this).hide(); |
|||
$(this).css('visibility', 'hidden'); |
|||
| ⚫ | |||
| ⚫ | |||
// Observar mudanças no DOM continuamente |
|||
const observer = new MutationObserver(function(mutations) { |
|||
| ⚫ | |||
if (mutation.addedNodes.length > 0) { |
|||
hideSearchElements(); |
|||
| ⚫ | |||
}); |
}); |
||
| ⚫ | |||
// Adicionar classe para facilitar seleção CSS |
|||
$('body').addClass('user-not-logged-in'); |
|||
| ⚫ | |||
// Mostrar elementos se estiver logado |
|||
| ⚫ | |||
$('body').removeClass('user-not-logged-in'); |
|||
| ⚫ | |||
}; |
|||
// Executar inicialmente |
|||
updateVisibility(); |
|||
// Observar mudanças na configuração do MW (se houver) |
|||
if (mw.config.values) { |
|||
Object.defineProperty(mw.config.values, 'wgUserName', { |
|||
| ⚫ | |||
this._wgUserName = value; |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
return this._wgUserName; |
|||
| ⚫ | |||
}); |
}); |
||
} |
|||
observer.observe(document.body, { |
|||
// Executar periodicamente por segurança |
|||
childList: true, |
|||
setInterval(updateVisibility, 1000); |
|||
subtree: true |
|||
// Executar em eventos específicos |
|||
$(document).on('click', '#pt-login, #pt-logout', function() { |
|||
// Manter o observer ativo por mais tempo (30 segundos) |
|||
setTimeout( |
setTimeout(updateVisibility, 500); |
||
} |
}); |
||
} |
} ); |
||
Edição das 08h36min de 16 de janeiro de 2026
/* Ocultar links para páginas especiais de usuários não registrados */
$( function () {
// Função para verificar e atualizar visibilidade
const updateVisibility = function() {
const isLoggedIn = mw.config.get( 'wgUserName' ) !== null;
if (!isLoggedIn) {
// Esconder elementos de busca
$('.vector-search-box, #p-search, #searchform').each(function() {
$(this).hide();
$(this).css('visibility', 'hidden');
});
// Adicionar classe para facilitar seleção CSS
$('body').addClass('user-not-logged-in');
} else {
// Mostrar elementos se estiver logado
$('.vector-search-box, #p-search, #searchform').show();
$('body').removeClass('user-not-logged-in');
}
};
// Executar inicialmente
updateVisibility();
// Observar mudanças na configuração do MW (se houver)
if (mw.config.values) {
Object.defineProperty(mw.config.values, 'wgUserName', {
set: function(value) {
this._wgUserName = value;
setTimeout(updateVisibility, 50);
},
get: function() {
return this._wgUserName;
}
});
}
// Executar periodicamente por segurança
setInterval(updateVisibility, 1000);
// Executar em eventos específicos
$(document).on('click', '#pt-login, #pt-logout', function() {
setTimeout(updateVisibility, 500);
});
} );