MediaWiki:Common.js: differenze tra le versioni

Da Wikiliscio.
Nessun oggetto della modifica
Nessun oggetto della modifica
 
Riga 50: Riga 50:
     const translateButtonIntervalId = setInterval(addTranslateButton, 500);
     const translateButtonIntervalId = setInterval(addTranslateButton, 500);


     // CODICE PER IL BOTTONE FACEBOOK
     // DISABLED
    /* // CODICE PER IL BOTTONE FACEBOOK
     function addFacebookButton() {
     function addFacebookButton() {
         // Trova l'ul con id 'footer-icons' e l'elemento 'footer-poweredbyico'
         // Trova l'ul con id 'footer-icons' e l'elemento 'footer-poweredbyico'
Riga 128: Riga 129:


     // Controlla ogni 500ms fino a quando l'elemento non viene trovato
     // Controlla ogni 500ms fino a quando l'elemento non viene trovato
     const instagramButtonIntervalId = setInterval(addInstagramButton, 500);
     const instagramButtonIntervalId = setInterval(addInstagramButton, 500); */
});
});

Versione attuale delle 10:37, 17 ott 2024

/* Any JavaScript here will be loaded for all users on every page load. */

console.log('Common.js')

mw.loader.using('mediawiki.util', function() {
    console.log("Common.js loading custom functions");

    // CODICE PER IL TRANSLATE BUTTON
    function addTranslateButton() {
        // Trova l'ul con la classe 'vector-menu-content-list' figlio di 'p-views'
        const pTb = $('#p-tb .vector-menu-content-list');
        if (pTb.length) {
            console.log("p-views list found");

            // Ottieni la lingua del browser
            const userLang = navigator.language || navigator.userLanguage;
            const targetLanguage = userLang.split('-')[0]; // Prendi solo la parte principale della lingua (es. "it" da "it-IT")

            // Crea il collegamento per la traduzione
            const translateLink = $('<a>', {
                href: '#',
                text: 'Traduci Pagina',
                id: 'translate-page-link',
                click: function(event) {
                    event.preventDefault();
                    const currentUrl = window.location.href;
                    const translateUrl = "https://translate.google.com/translate?hl=&sl=auto&tl=" + targetLanguage + "&u=" + encodeURIComponent(currentUrl);
                    window.open(translateUrl, '_blank');
                    console.log("Link clicked, translating to: " + targetLanguage);
                }
            });

            // Crea l'elemento <li> con le classi specificate
            const translateListItem = $('<li>', {
                class: 'vector-tab-noicon mw-list-item'
            }).append(translateLink);

            // Aggiungi il nuovo <li> alla lista
            translateListItem.prependTo(pTb);
            console.log("Translate link added to p-views list");

            // Pulisce l'intervallo una volta che il bottone è stato aggiunto
            clearInterval(translateButtonIntervalId);
        } else {
            console.log("p-views list not found, retrying...");
        }
    }

    // Controlla ogni 500ms fino a quando l'elemento non viene trovato
    const translateButtonIntervalId = setInterval(addTranslateButton, 500);

    // DISABLED
    /* // CODICE PER IL BOTTONE FACEBOOK
    function addFacebookButton() {
        // Trova l'ul con id 'footer-icons' e l'elemento 'footer-poweredbyico'
        const footerIconsList = $('#footer-icons');
        const poweredByItem = $('#footer-poweredbyico');

        if (footerIconsList.length && poweredByItem.length) {
            console.log("footer-icons list and poweredby item found");

            // Crea il collegamento per Facebook con l'icona
            const facebookLink = $('<a>', {
                href: 'https://www.facebook.com/visage.music1/',
                target: '_blank', // Apri il link in una nuova scheda
                title: 'Seguici su Facebook'
            }).append($('<img>', {
                src: 'https://upload.wikimedia.org/wikipedia/commons/b/b9/2023_Facebook_icon.svg', // URL dell'icona di Facebook
                alt: 'Facebook',
                style: 'width: 24px; height: 24px;' // Stili per dimensionare l'icona
            }));

            // Crea l'elemento <li> per l'icona di Facebook
            const instagramListItem = $('<li>', {
                class: 'footer-icon-item',
                style: 'margin-right: 5px;'
            }).append(facebookLink);

            // Inserisci l'elemento <li> di Facebook prima dell'elemento 'footer-poweredbyico'
            instagramListItem.insertBefore(poweredByItem);
            console.log("Facebook link added to footer-icons list");

            // Pulisce l'intervallo una volta che il bottone è stato aggiunto
            clearInterval(facebookButtonIntervalId);
        } else {
            console.log("footer-icons list or poweredby item not found, retrying...");
        }
    }

    // Controlla ogni 500ms fino a quando l'elemento non viene trovato
    const facebookButtonIntervalId = setInterval(addFacebookButton, 500);

    // CODICE PER IL BOTTONE INSTAGRAM
    function addInstagramButton() {
        // Trova l'ul con id 'footer-icons' e l'elemento 'footer-poweredbyico'
        const footerIconsList = $('#footer-icons');
        const poweredByItem = $('#footer-poweredbyico');

        if (footerIconsList.length && poweredByItem.length) {
            console.log("footer-icons list and poweredby item found");

            // Crea il collegamento per Instagram con l'icona
            const instagramLink = $('<a>', {
                href: 'https://www.instagram.com/visage_music/',
                target: '_blank', // Apri il link in una nuova scheda
                title: 'Seguici su Instagram'
            }).append($('<img>', {
                src: 'https://upload.wikimedia.org/wikipedia/commons/9/95/Instagram_logo_2022.svg', // URL dell'icona di Instagram
                alt: 'Instagram',
                style: 'width: 24px; height: 24px;' // Stili per dimensionare l'icona
            }));

            // Crea l'elemento <li> per l'icona di Instagram
            const instagramListItem = $('<li>', {
                class: 'footer-icon-item',
                style: 'margin-right: 5px;'
            }).append(instagramLink);

            // Inserisci l'elemento <li> di Instagram prima dell'elemento 'footer-poweredbyico'
            instagramListItem.insertBefore(poweredByItem);
            console.log("Instagram link added to footer-icons list");

            // Pulisce l'intervallo una volta che il bottone è stato aggiunto
            clearInterval(instagramButtonIntervalId);
        } else {
            console.log("footer-icons list or poweredby item not found, retrying...");
        }
    }

    // Controlla ogni 500ms fino a quando l'elemento non viene trovato
    const instagramButtonIntervalId = setInterval(addInstagramButton, 500); */
});