Jump to content

MediaWiki:Common.js: Difference between revisions

From Electron: Chat App Wiki
Johnball589 (talk | contribs)
No edit summary
Tag: Reverted
Johnball589 (talk | contribs)
No edit summary
Tag: Reverted
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
$(function() {
$(function() {
     console.log("✅ April Fools script loaded");
     console.log("✅ April Fools script loaded");


     var today = new Date();
     var today = new Date();
     var month = today.getMonth() + 1; // JS months are 0-based, so add 1
     var month = today.getMonth() + 1;
     var day = today.getDate();
     var day = today.getDate();


     var prankMonth = 10; // testing month (October)
     var prankMonth = 10; // testing month
     var prankDay = 12;  // testing day
     var prankDay = 12;  // testing day


     // Check if user has disabled AF mode
     // Check localStorage at the very top
     var afDisabled = localStorage.getItem('noAF');
     var afDisabled = localStorage.getItem('noAF');
    if (afDisabled) return; // If disabled, stop script immediately


     // Only proceed if it's the prank day and AF is not disabled
    // Add "Turn off April Fools" to user dropdown early
     if (month === prankMonth && day === prankDay && !afDisabled) {
    if ($('#p-personal ul').length) {
        $('#p-personal ul').append('<li><a href="#" id="disable-af">Turn off April Fools</a></li>');
        $('#disable-af').on('click', function(e) {
            e.preventDefault();
            localStorage.setItem('noAF','1'); // disable AF mode
            location.reload();
        });
    }
 
     // Only redirect if it's the prank day
     if (month === prankMonth && day === prankDay) {
         var pageName = mw.config.get('wgPageName');
         var pageName = mw.config.get('wgPageName');


        // Redirect to AF page if it exists and we're not already on it
         if (!pageName.startsWith('AF:')) {
         if (!pageName.startsWith('AF:')) {
             var afPage = '/wiki/AF:' + pageName;
             var afPage = '/wiki/AF:' + pageName;
             $.get(afPage, function(data) {
             $.get(afPage, function(data) {
                 if (!data.includes('There is currently no text in this page')) {
                 if (!data.includes('There is currently no text in this page')) {
                    console.log("Redirecting to:", afPage);
                     window.location.href = afPage;
                     window.location.href = afPage;
                 }
                 }
Line 29: Line 36:
         }
         }


         // Add yellow "Back to regular page" bar if on an AF page
         // Add a "Back to regular page" bar for AF pages
         if (pageName.startsWith('AF:')) {
         if (pageName.startsWith('AF:')) {
             var regularPage = pageName.replace(/^AF:/, '');
             var regularPage = pageName.replace(/^AF:/, '');
             $('body').prepend('<div id="back-regular" style="background:yellow;padding:10px;text-align:center;cursor:pointer;font-weight:bold;">Click here to go back to regular page</div>');
             $('body').prepend('<div id="back-regular" style="background:yellow;padding:10px;text-align:center;cursor:pointer;font-weight:bold;">Click here to go back to regular page</div>');
             $('#back-regular').on('click', function() {
             $('#back-regular').on('click', function() {
                 localStorage.setItem('noAF','1'); // prevent further redirects
                 localStorage.setItem('noAF','1');
                 window.location.href = '/wiki/' + regularPage;
                 window.location.href = '/wiki/' + regularPage;
             });
             });
         }
         }


        // Add "Turn off April Fools" in the user dropdown menu
        if ($('#p-personal ul').length) {
            $('#p-personal ul').append('<li><a href="#" id="disable-af">Turn off April Fools</a></li>');
            $('#disable-af').on('click', function(e) {
                e.preventDefault();
                localStorage.setItem('noAF','1'); // marks AF as disabled
                location.reload();              // reload page to stop redirect
            });
        }
        // Optional: fun notification
         mw.notify("🤡 April Fools Mode Activated");
         mw.notify("🤡 April Fools Mode Activated");
     }
     }
});
});

Revision as of 17:15, 12 October 2025

$(function() {
    console.log("✅ April Fools script loaded");

    var today = new Date();
    var month = today.getMonth() + 1;
    var day = today.getDate();

    var prankMonth = 10; // testing month
    var prankDay = 12;   // testing day

    // Check localStorage at the very top
    var afDisabled = localStorage.getItem('noAF');
    if (afDisabled) return; // If disabled, stop script immediately

    // Add "Turn off April Fools" to user dropdown early
    if ($('#p-personal ul').length) {
        $('#p-personal ul').append('<li><a href="#" id="disable-af">Turn off April Fools</a></li>');
        $('#disable-af').on('click', function(e) {
            e.preventDefault();
            localStorage.setItem('noAF','1'); // disable AF mode
            location.reload();
        });
    }

    // Only redirect if it's the prank day
    if (month === prankMonth && day === prankDay) {
        var pageName = mw.config.get('wgPageName');

        if (!pageName.startsWith('AF:')) {
            var afPage = '/wiki/AF:' + pageName;
            $.get(afPage, function(data) {
                if (!data.includes('There is currently no text in this page')) {
                    window.location.href = afPage;
                }
            });
        }

        // Add a "Back to regular page" bar for AF pages
        if (pageName.startsWith('AF:')) {
            var regularPage = pageName.replace(/^AF:/, '');
            $('body').prepend('<div id="back-regular" style="background:yellow;padding:10px;text-align:center;cursor:pointer;font-weight:bold;">Click here to go back to regular page</div>');
            $('#back-regular').on('click', function() {
                localStorage.setItem('noAF','1');
                window.location.href = '/wiki/' + regularPage;
            });
        }

        mw.notify("🤡 April Fools Mode Activated");
    }
});
Cookies help us deliver our services. By using our services, you agree to our use of cookies.