MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
mw.hook('wikipage.content').add(function () {
mw.hook('wikipage.content').add(function () {
   console.log("[Language Menu] Script started");
   console.log("[Language Menu] Script started");
Line 23: Line 22:
   if (!currentLang) currentLang = 'en';
   if (!currentLang) currentLang = 'en';


  // 🔧 Força mapeamento da página principal para "Main_Page"
   // Labels e links
  if (base === 'Main_Page' || base === 'Página_principal') {
    base = 'Main_Page';
  }
 
   // Labels
   var labels = {
   var labels = {
     'pt': 'Português',
     'pt': 'Português',
Line 35: Line 29:
   };
   };


   // Links finais
   var links = {};
   var links = {
  if (base === 'Main_Page' || base === 'Página_principal') {
    'pt': base + '/pt',
    links = {
    'en': base,
      'pt': 'Página_principal/pt',
    'es': base + '/es'
      'en': 'Main_Page',    // inglês é base
   };
      'es': 'Main_Page/es'
    };
   } else {
    links = {
      'pt': base + '/pt',
      'en': base,           // inglês é sem sufixo
      'es': base + '/es'
    };
   }


   // Monta menu de idiomas
   // Monta menu de idiomas
Line 50: Line 52:
       el.textContent = labels[lang];
       el.textContent = labels[lang];
     } else {
     } else {
       el.innerHTML = '<a class="lang-menu-link" href="' +
       el.innerHTML = '<a class="lang-menu-link" href="' + mw.util.getUrl(links[lang]) + '">' + labels[lang] + '</a>';
        mw.util.getUrl(links[lang]) + '">' + labels[lang] + '</a>';
     }
     }
   }
   }
Line 62: Line 63:
   console.log("[Language Menu] Rewriting content links for:", currentLang);
   console.log("[Language Menu] Rewriting content links for:", currentLang);


   document.querySelectorAll('#mw-content-text a[href^="/"]').forEach(function (link) {
   //document.querySelectorAll('#mw-content-text a[href^="/"]').forEach(function (link) {
  document.querySelectorAll('a[href^="/doc/"]').forEach(function (link) {
     if (link.classList.contains('lang-menu-link')) return; // ignora menu de idiomas
     if (link.classList.contains('lang-menu-link')) return; // ignora menu de idiomas