Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5.
console.log("✅ Common.js è attivo");
/* ======================= PULSANTE PURGE ======================= */
mw.loader.using('mediawiki.util').then(function () {
setTimeout(function () {
let menuAzioni = document.getElementById('p-cactions');
if (menuAzioni && !document.getElementById('ca-purge')) {
mw.util.addPortletLink(
'p-cactions',
mw.config.get('wgScript') + '?title=' + mw.config.get('wgPageName') + '&action=purge',
'🔄 Purga',
'ca-purge',
'Pulisci la cache della pagina'
);
console.log("✅ Pulsante 'Purge' aggiunto con successo!");
}
}, 2000);
});
/* ======================= PULSANTE SCROLL TO TOP (Sempre visibile) ======================= */
mw.loader.using('mediawiki.util').then(function () {
mw.hook('wikipage.content').add(function () {
if (!document.getElementById("go-to-top")) {
let goToTopBtn = document.createElement("button");
goToTopBtn.id = "go-to-top";
goToTopBtn.innerText = "⬆️ TOP";
goToTopBtn.style.position = "fixed";
goToTopBtn.style.bottom = "50px";
goToTopBtn.style.right = "20px";
goToTopBtn.style.background = "#3498db";
goToTopBtn.style.color = "#fff";
goToTopBtn.style.border = "none";
goToTopBtn.style.padding = "10px";
goToTopBtn.style.cursor = "pointer";
goToTopBtn.style.borderRadius = "5px";
goToTopBtn.style.zIndex = "1000";
goToTopBtn.style.display = "none";
document.body.appendChild(goToTopBtn);
window.addEventListener("scroll", function () {
goToTopBtn.style.display = window.scrollY > 200 ? "block" : "none";
});
goToTopBtn.addEventListener("click", function () {
window.scrollTo({ top: 0, behavior: "smooth" });
});
console.log("✅ Pulsante Scroll-to-Top aggiunto!");
}
});
});
/* ======================= AGGIUNGE I PULSANTI NEI TOOLS ======================= */
mw.loader.using('mediawiki.util').then(function () {
function aggiungiAiTools(id, label, action) {
let toolsMenu = document.getElementById("p-tb");
if (!toolsMenu) {
console.warn("⚠️ Menu 'Tools' non trovato!");
return;
}
// Rimuove il pulsante dalla pagina, se esiste già
let button = document.getElementById(id);
if (button) {
button.remove();
}
// Crea il link nei Tools
if (!document.getElementById(id + "-tools")) {
let newItem = document.createElement("li");
let link = document.createElement("a");
link.href = "#";
link.id = id + "-tools";
link.textContent = label;
link.addEventListener("click", function (e) {
e.preventDefault();
$.ajax({
url: action,
dataType: "script",
cache: false,
success: function () {
console.log(`✅ Script ${action} caricato ed eseguito.`);
// Avvia la funzione giusta in base al pulsante cliccato
if (id === "traduci-contenuto") {
if (typeof traduciTesto === "function") {
traduciTesto();
} else {
console.error("❌ Errore: traduciTesto non è definita.");
}
} else if (id === "translate-update") {
if (typeof traduciTestoUpdate === "function") {
traduciTestoUpdate();
} else {
console.error("❌ Errore: traduciTestoUpdate non è definita.");
}
} else if (id === "reload-js") {
location.reload(); // Ricarica la pagina
}
},
error: function () {
console.error(`❌ Errore nel caricamento di ${action}`);
}
});
});
newItem.appendChild(link);
toolsMenu.querySelector("ul").appendChild(newItem);
console.log(`✅ Pulsante "${label}" aggiunto nei Tools!`);
}
}
// ✅ Aggiunge i pulsanti SEMPRE nei Tools
setTimeout(function () {
aggiungiAiTools("traduci-contenuto", "🌍 Traduci contenuto", "/mediawiki/index.php?title=MediaWiki:CommonTranslate.js&action=raw&ctype=text/javascript");
aggiungiAiTools("translate-update", "🔄 Aggiorna Traduzione", "/mediawiki/index.php?title=MediaWiki:CommonTranslateUpdate.js&action=raw&ctype=text/javascript");
aggiungiAiTools("reload-js", "♻️ Ricarica JS", "/index.php?title=MediaWiki:Common.js&action=raw&ctype=text/javascript");
}, 2000);
});
/* ======================= NASCONDE I PULSANTI DALLA PAGINA ======================= */
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("#traduci-contenuto-button, #translate-update-button").forEach(btn => btn.style.display = "none");
});
/* ======================= IMPORTA CommonTranslate.js ======================= */
importScript('MediaWiki:CommonTranslateUpdate.js');
/* ======================= IMPORTA CommonDashboard.js ======================= */
if (mw.config.get('wgPageName') === 'Dashboard_Masticationpedia') {
importScript('MediaWiki:CommonDashboard.js');
}
// Carica Merriweather da Google Fonts
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://fonts.googleapis.com/css2?family=Merriweather&display=swap';
document.head.appendChild(link);
/* ======================= IMPORTA Gadget-CitationPopup.js======================= */
mw.loader.load('/index.php?title=MediaWiki:Gadget-CitationPopup.js&action=raw&ctype=text/javascript');