MediaWiki:Common.js: Difference between revisions

From Citypedia Online
No edit summary
mNo edit summary
 
(2 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. */
/* Any JavaScript here will be loaded for all users on every page load. */
/* Top Bar for Citypedia Network */
/* Add a custom AI Stub Button to the toolbar */
$(function() {
mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) {
     var cityBar = '<div id="global-city-bar">' +
     $textarea.wikiEditor( 'addToToolbar', {
         '<div class="city-bar-content">' +
         section: 'main',
       
         group: 'insert',
        /* Home */
         tools: {
         '<a href="https://www.citypedia.online" class="city-link">' +
            "ai-stub": {
         '<img src="https://www.citypedia.online/images/e/ee/C.png" class="nav-icon">' +
                label: 'Generate AI Stub',
        '<span class="city-name">Home</span></a>' +
                type: 'button',
       
                icon: 'https://upload.wikimedia.org/wikipedia/commons/1/12/Magic_wand_icon.png',
        /* Mumbai */
                action: {
        '<a href="https://mumbai.citypedia.online" class="city-link">' +
                    type: 'callback',
        '<img src="https://www.citypedia.online/images/a/a3/M.png" class="nav-icon">' +
                    execute: function() {
        '<span class="city-name">Mumbai</span></a>' +
                        var topic = prompt("Enter the article topic:");
       
                        if (!topic) return;
        /* Pune */
                       
        '<a href="https://pune.citypedia.online" class="city-link">' +
                        // Show a loading message
        '<img src="https://www.citypedia.online/images/3/36/P.png" class="nav-icon">' +
                        $textarea.textSelection('encapsulateSelection', { pre: "Generating stub for: " + topic + "...\n" });
        '<span class="city-name">Pune</span></a>' +
       
        /* Thane */
        '<a href="https://thane.citypedia.online" class="city-link">' +
        '<img src="https://www.citypedia.online/images//0/02/T.png" class="nav-icon">' +
        '<span class="city-name">Thane</span></a>' +
       
        '</div>' +
        '</div>';


    $('body').prepend(cityBar);
                        // Call your AI backend/API here
                        // For a live site, you'd use a secure proxy.
                        // For testing, you can call OpenAI directly (NOT RECOMMENDED FOR PUBLIC WIKIS)
                    }
                }
            }
        }
    });
});
});

Latest revision as of 04:29, 28 January 2026

/* Any JavaScript here will be loaded for all users on every page load. */
/* Add a custom AI Stub Button to the toolbar */
mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) {
    $textarea.wikiEditor( 'addToToolbar', {
        section: 'main',
        group: 'insert',
        tools: {
            "ai-stub": {
                label: 'Generate AI Stub',
                type: 'button',
                icon: 'https://upload.wikimedia.org/wikipedia/commons/1/12/Magic_wand_icon.png',
                action: {
                    type: 'callback',
                    execute: function() {
                        var topic = prompt("Enter the article topic:");
                        if (!topic) return;
                        
                        // Show a loading message
                        $textarea.textSelection('encapsulateSelection', { pre: "Generating stub for: " + topic + "...\n" });

                        // Call your AI backend/API here
                        // For a live site, you'd use a secure proxy.
                        // For testing, you can call OpenAI directly (NOT RECOMMENDED FOR PUBLIC WIKIS)
                    }
                }
            }
        }
    });
});