Skip to content

Commit

Permalink
Adding variable to prevent double importation of the script
Browse files Browse the repository at this point in the history
  • Loading branch information
nacaru-w committed Dec 29, 2023
1 parent a2a9925 commit df6ebd4
Showing 1 changed file with 56 additions and 48 deletions.
104 changes: 56 additions & 48 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,60 +6,68 @@ import * as Tags from "./modules/tags";
import * as Warns from "./modules/warnings"
import { currentNamespace } from "./modules/utils";

const loadDependencies = (callback) => {
mw.loader.using(['mediawiki.user', 'mediawiki.util', 'mediawiki.Title', 'jquery.ui', 'mediawiki.api', 'mediawiki.ForeignApi']);
callback();
}
if (!window.TwinkleLite) {

const loadMorebits = (callback) => {
mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-morebits.js&action=raw&ctype=text/javascript', 'text/javascript');
mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-morebits.css&action=raw&ctype=text/css', 'text/css');
callback();
};
window.TwinkleLite = true;

const initializeTwinkleLite = () => {
console.log("Loading Twinkle Lite...");
const loadDependencies = (callback) => {
mw.loader.using(['mediawiki.user', 'mediawiki.util', 'mediawiki.Title', 'jquery.ui', 'mediawiki.api', 'mediawiki.ForeignApi']);
callback();
}

if (currentNamespace < 0 || !mw.config.get('wgArticleId')) {
console.log("Special or non-existent page: PP will therefore not be loaded.");
console.log("Special or non-existent page: DRM will therefore not be loaded.");
console.log("Special or non-existent page: Speedy deletion will therefore not be loaded.");
} else {
const DRMportletLink = mw.util.addPortletLink('p-cactions', '#', 'Abrir CDB', 'TL-button', 'Abre una consulta de borrado para esta página');
if (DRMportletLink) {
DRMportletLink.onclick = DeletionRequestMaker.createFormWindow;
}
const PPportletLink = mw.util.addPortletLink('p-cactions', '#', 'Pedir protección', 'TL-button', 'Solicita que esta página sea protegida');
if (PPportletLink) {
PPportletLink.onclick = PageProtection.createFormWindow;
const loadMorebits = (callback) => {
mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-morebits.js&action=raw&ctype=text/javascript', 'text/javascript');
mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-morebits.css&action=raw&ctype=text/css', 'text/css');
callback();
};

const initializeTwinkleLite = () => {
console.log("Loading Twinkle Lite...");

if (currentNamespace < 0 || !mw.config.get('wgArticleId')) {
console.log("Special or non-existent page: PP will therefore not be loaded.");
console.log("Special or non-existent page: DRM will therefore not be loaded.");
console.log("Special or non-existent page: Speedy deletion will therefore not be loaded.");
} else {
const DRMportletLink = mw.util.addPortletLink('p-cactions', '#', 'Abrir CDB', 'TL-button', 'Abre una consulta de borrado para esta página');
if (DRMportletLink) {
DRMportletLink.onclick = DeletionRequestMaker.createFormWindow;
}
const PPportletLink = mw.util.addPortletLink('p-cactions', '#', 'Pedir protección', 'TL-button', 'Solicita que esta página sea protegida');
if (PPportletLink) {
PPportletLink.onclick = PageProtection.createFormWindow;
}
const SDportletLink = mw.util.addPortletLink('p-cactions', '#', 'Borrado rápido', 'TL-button', 'Solicita el borrado rápido de la página');
if (SDportletLink) {
SDportletLink.onclick = SpeedyDeletion.createFormWindow;
}
}
const SDportletLink = mw.util.addPortletLink('p-cactions', '#', 'Borrado rápido', 'TL-button', 'Solicita el borrado rápido de la página');
if (SDportletLink) {
SDportletLink.onclick = SpeedyDeletion.createFormWindow;

if (currentNamespace === 0 || currentNamespace === 104) {
const TportleltLink = mw.util.addPortletLink('p-cactions', '#', 'Añadir plantilla', 'TL-button', 'Añade una plantilla a la página');
TportleltLink.onclick = Tags.createFormWindow;
}
}

if (currentNamespace === 0 || currentNamespace === 104) {
const TportleltLink = mw.util.addPortletLink('p-cactions', '#', 'Añadir plantilla', 'TL-button', 'Añade una plantilla a la página');
TportleltLink.onclick = Tags.createFormWindow;
}
if (currentNamespace === 2 || currentNamespace === 3 || (mw.config.get('wgPageName').indexOf("Especial:Contribuciones") > -1)) {
const RportletLink = mw.util.addPortletLink('p-cactions', '#', 'Denunciar usuario', 'TL-button', 'Informa de un problema en relación con el usuario');
RportletLink.onclick = Reports.createFormWindow;
const WportletLink = mw.util.addPortletLink('p-cactions', '#', 'Avisar al usuario', 'TL-button', 'Deja una plantilla de aviso al usuario en su página de discusión');
WportletLink.onclick = Warns.createFormWindow;
} else {
console.log("Non-user page: Reports will therefore not be loaded.");
}
};

if (currentNamespace === 2 || currentNamespace === 3 || (mw.config.get('wgPageName').indexOf("Especial:Contribuciones") > -1)) {
const RportletLink = mw.util.addPortletLink('p-cactions', '#', 'Denunciar usuario', 'TL-button', 'Informa de un problema en relación con el usuario');
RportletLink.onclick = Reports.createFormWindow;
const WportletLink = mw.util.addPortletLink('p-cactions', '#', 'Avisar al usuario', 'TL-button', 'Deja una plantilla de aviso al usuario en su página de discusión');
WportletLink.onclick = Warns.createFormWindow;
} else {
console.log("Non-user page: Reports will therefore not be loaded.");
}
};
const loadTwinkleLite = () => {
loadDependencies(() => {
loadMorebits(() => {
initializeTwinkleLite();
});
})
};

const loadTwinkleLite = () => {
loadDependencies(() => {
loadMorebits(() => {
initializeTwinkleLite();
});
})
};
loadTwinkleLite();
} else {
console.log('Parece que Twinkle Lite se ha intentado cargar dos veces. Comprueba la configuración para evitar la doble importación del script.');
}

loadTwinkleLite();

0 comments on commit df6ebd4

Please sign in to comment.