Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
//<nowiki>
$(function(){
	version = [0, 0, 1]; // to get version number, join numbers with periods. For example, "0, 0, 1" is version 0.0.1
	mw.loader.using(['mediawiki.util', "mediawiki.api"], function () {
		class textBlocks {
			constructor(){
				this.smile = `
<br>
==Foi-lhe dirigido um sorriso!==
{{subst:smile}} ~~~~
				`;
				this.agradeçer = `
<br>
==Por que você me agradeçeu!==
{{subst:Por que você me agradeçeu}} ~~~~
				`;
				this.warning1 = `[[File:Information.svg|25px|alt=Information icon]] %warning% ~~~~`;
				this.warning2 = `[[File:Information orange.svg|25px|alt=Information icon]] %warning% ~~~~`;
				this.warning3 = `[[File:Nuvola apps important.svg|25px|alt=Warning icon]] %warning% ~~~~`;
				this.warning4 = "[[[[File:Stop hand nuvola.svg|30px|alt=Stop icon]] %warning% ~~~~";
			}
		}
		
		class editSummaries {
			constructor(){
				this.smile = "Enviando um sorriso para este(a) usuário(a) [[Usuário:Vitorperrut555/tut|Ferramenta de usuário de Vitorperrut555]]";
				this.archive = "Arquivando esta página usando  [[Usuário:Vitorperrut555/tut|Ferramenta de usuário de Vitorperrut555]]";
				this.custom = "Usando um aviso personalizado usando [[Usuário:Vitorperrut555/tut|Ferramenta de usuário de Vitorperrut555]]";
				this.agradeçer = "Enviando um agradecimento para este(a) usuário(a) [[Usuário:Vitorperrut555/tut|Ferramenta de usuário de Vitorperrut555]]";
			}
		}
		
		blocks = new textBlocks();
		
		es = new editSummaries();
		
		function wait(secs) {
			let msecs = secs * 1000;
			setTimeout(function () {
        		location.reload();
    		}, msecs);
		}
		
		function replacePage( info ) {
			var api = new mw.Api();
			api.postWithToken("csrf", {
				action: 'edit',
				title: info.title,
				text: info.text, // Vai recoloar o conteúdo interio da página
				summary: info.summary
			} ).done(function( data ) {
				alert("Feito! Esta página carregarar em alguns segundos.");
			} ).fail( function(code, data) {
				alert(api.getErrorMessage(data).text());
			} );
		}
		
		function appendToPage( info ) {
			var api = new mw.Api();
			api.postWithToken("csrf", {
				action: 'edit',
				title: info.title,
				appendtext: info.text, // Isto não vai recoloar o conteúdo interio da página
				summary: info.summary
			} ).done(function( data ) {
				alert("Feito! Esta página carregarar em alguns segundos.");
			} ).fail( function(code, data) {
				alert(api.getErrorMessage(data).text());
			} );
		}
		
		function smileAtUser(){
			if ( mw.config.get( 'wgCanonicalNamespace' ) === 'User_talk') {
				appendToPage({
					title: mw.config.get('wgPageName'),
					text: blocks.smile,
					summary: es.smile
				});
				wait(3);
				
			}
			
			else {
				alert("TUT: Esta opção apenas pode ser usado na página de discusão do(a) usuário(a).");
			}
		}
		
		function inviteToagradeçer(){
			if ( mw.config.get( 'wgCanonicalNamespace' ) === 'User_talk') {
				appendToPage({
					title: mw.config.get('wgPageName'),
					text: blocks.agradeçer,
					summary: es.agradeçer
				});
				wait(3);
			}
			
			else {
				alert("TUT: Esta opção apenas pode ser usado na página de discusão do(a) usuário(a).");
			}
		}
		
		mw.util.addPortlet('p-ttut', 'TUT', '#p-cactions');
		smile_button = mw.util.addPortletLink(portletId='p-ttut', href='#', text='Smile', tooltip="Send this user a smile");
		$(smile_button).on("click", function(e) {
			if (confirm("Gostaria de enviar um sorriso para este(a) usuário(a)?")) {
				smileAtUser();
			}
			e.preventDefault();
		});
		agradeçer = mw.util.addPortletLink(portletId='p-ttut', href='#', text='Agradecer', tooltip="Enviar agradecimento ao usuário(a)");
		$(agradeçer).on("click", function(e) {
			if (confirm("Gostaria de agradeçer ao usuário(a)?")) {
				inviteToagradeçer();
			}
			e.preventDefault();
		});
	});
});
//</nowiki>