MediaWiki:Common.js: Difference between revisions

From IxWiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
Line 1: Line 1:
(function() {
    function detectSkinAndUpdateContent() {
        const pageName = mw.config.get('wgPageName');
        const isMainPage = mw.config.get('wgIsMainPage');
       
        console.log('Script running on page:', pageName);
        console.log('Is main page:', isMainPage);
        // Check if the current page is the main page
        if (!isMainPage) {
            console.log('Not on the main page, exiting script');
            return;
        }
        const isCitizen = document.body.classList.contains('skin-citizen-auto') ||
                          document.body.classList.contains('skin-citizen') ||
                          document.querySelector('.SkinCitizen') !== null;
       
        const skinName = isCitizen ? 'citizen' : 'vector';
        console.log('Detected skin:', skinName);
        // Update main content
        const mainContent = document.querySelector('.mw-parser-output');
        if (mainContent) {
            console.log('Updating main content');
            new mw.Api().parse('{{#invoke:MainPageSkinSwitch|getMainPageContent|' + skinName + '}}')
                .done(function(html) {
                    console.log('Content received, updating');
                    mainContent.innerHTML = html;
                    mw.hook('wikipage.content').fire(mainContent);
                })
                .fail(function(error) {
                    console.error('Failed to update content:', error);
                });
        } else {
            console.log('Main content element not found');
        }
       
        // Update debug info
        const debugInfo = document.querySelector('#skin-debug-info');
        if (debugInfo) {
            console.log('Updating debug info');
            new mw.Api().parse('{{#invoke:MainPageSkinSwitch|debugInfo|' + skinName + '}}')
                .done(function(html) {
                    debugInfo.innerHTML = html;
                })
                .fail(function(error) {
                    console.error('Failed to update debug info:', error);
                });
        } else {
            console.log('Debug info element not found');
        }
    }
    mw.hook('wikipage.content').add(detectSkinAndUpdateContent);
})();
mw.hook('wikipage.content').add(function ($content) {
mw.hook('wikipage.content').add(function ($content) {
   // Check if the ix-time-display element exists
   // Check if the ix-time-display element exists

Latest revision as of 14:26, 2 January 2025

mw.hook('wikipage.content').add(function ($content) {
  // Check if the ix-time-display element exists
  if (document.getElementById('ix-time-display')) {
    // If it exists, manually trigger the script
    var script = document.createElement('script');
    script.textContent = document.querySelector('#ix-time-display + script').textContent;
    document.body.appendChild(script);
  }
});


mw.hook('wikipage.content').add(function ($content) {
  $content.find('script').each(function() {
    if (this.textContent.includes('convertToIxTime')) {
      eval(this.textContent);
    }
  });
});