MediaWiki:Mobile.js

From Ekatra Wiki
Revision as of 21:31, 26 August 2025 by Jayprakash12345 (talk | contribs)
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* All JavaScript here will be loaded for users of the mobile site */


// Main initialization function
$( function(){
    
    // Mobile/Desktop view switching logic
    if (window.matchMedia("(max-width: 768px)").matches) {
        if( mw.config.get("skin") !== "minerva" ){
            const currWikiUrl = new URL(window.location.href);
            currWikiUrl.searchParams.set('mobileaction', 'toggle_view_mobile');
            
            window.location.replace(currWikiUrl);
        }
        $("#footer-places-desktop-toggle").remove();
    } else {
        if(  mw.config.get("skin") !== "vector" ){
            const currWikiUrl = new URL(window.location.href);
            currWikiUrl.searchParams.set('mobileaction', 'toggle_view_desktop');
            window.location.replace(currWikiUrl);
        }
    }
    
    // Poem formatting code
    var countPoem2 = $(".Poem2-Ekatra");
    
    if( countPoem2.length > 0 ){
        var Poem2lenghtArray = [];
        for (var k = 0; k <= countPoem2.length; k++) {
           Poem2lenghtArray.push(k);
        }
        
        Poem2lenghtArray.forEach(function(j) {
            var poemElement = $(".Poem2-Ekatra").eq(j);
                        
            if( poemElement.length ){
                var poemText = poemElement.html();
                var poemArray = poemText.split("\n");
                
                poemElement.text("");
            
                // First measure
                poemArray.forEach( function(i) {
                    poemElement.append( '<p style="text-indent: 2em;">' + i + '</p>' );
                });
                
                // Second measure
                poemElement.children('p').each(function () {
                    $(this).css('text-indent', '2em');
                });
            }
        });
    }
    
    // Initialize table sorting
    initMobileSorting();
    
    // Also reinitialize when new content loads (like after editing)
    mw.hook('wikipage.content').add(function() {
        initMobileSorting();
    });
    
});