MediaWiki:Gadget-blockNotificationButton.js/core.js

Fonte: Wikinotícias

Nota: Depois de publicar, deve limpar o cachê do seu navegador para ver as alterações.

  • Firefox e 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)
  • Internet Explorer e Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/**
 * author User:!Silent
 * @source https://github.com/Nevallem/mw-gadget-blockNotificationButton
 */

!function(){"use strict";function e(){return mw.message.apply(void 0,arguments).plain()}function t(e){let t;return-1!==(e=e.split(" "))[0].search(/in(?:de)?finit[ey]/)?"tempo indeterminado":(t={second:"segundo",minute:"minuto",hour:"hora",day:"dia",week:"semana",month:"mês",year:"ano"},"1"!==e[0]&&(t.month="meses"),e[0]+" "+t[e[1].replace(/s$/,"")]+("meses"===t.month&&-1===e[1].indexOf("month")?"s":""))}mw.messages.set({"bnb-buttonText":"Enviar uma notificação de bloqueio","bnb-checkingBlockRegister":"Consultando os registros de bloqueio do usuário...","bnb-editUserDiscussion":"Editando a página de discussão do usuário...","bnb-sectionTitle":"Notificação de bloqueio","bnb-success":'Mensagem de bloqueio enviada com sucesso (<a href="$1#Notifica.C3.A7.C3.A3o_de_bloqueio">Abrir</a>).',"bnb-successBlock":"Bloqueio bem sucedido","bnb-apiError":'Erro: a API retornou o código de erro "$1": $2',"bnb-unknownError":"Erro: resultado desconhecido da API.","bnb-requestFail":"Erro: a requisão falhou."}),$(function(){$(".mw-htmlform-submit").length||$("#mw-content-text").append($(`<input type="button" class="mw-ui-button mw-ui-progressive" id="bnb-sendMsg" value="${e("bnb-buttonText")}" />`).on("click",function(){!async function(){let n,i,o,s=$("#mw-content-text").find("a").html();mw.notify(e("bnb-checkingBlockRegister")),i=await fetch(mw.util.wikiScript("api")+"?"+new URLSearchParams({action:"query",list:"logevents",format:"json",leprop:"title|user|timestamp|details|comment",lelimit:"1",leuser:mw.config.get("wgUserName"),letitle:`User:${s}`})),n=(o=await i.json()).query.logevents[0],mw.notify(e("bnb-editUserDiscussion")),(new mw.Api).editPage({title:`User talk:${s}`,section:"new",watchlist:"preferences",sectiontitle:e("bnb-sectionTitle"),tags:"blockNotificationButton",text:`\{\{subst:Bloqueado${n.params.restrictions?" parcial":-1===n.params.flags.indexOf("nousertalk")?"-disc":""}|1=${t(n.params.duration)}|2=${n.comment}.}} \~\~\~\~`,summary:e("bnb-sectionTitle"),done:{success:()=>{mw.notify($.parseHTML(e("bnb-success",mw.util.getUrl("User talk:"+s))))},apiError:t=>{mw.notify(e("bnb-apiError",t.code,t.info)),$("#bnb-sendMsg").attr("disabled","false")},unknownError:()=>{mw.notify(e("bnb-unknownError")),$("#bnb-sendMsg").attr("disabled","false")}}}).fail(()=>{mw.notify(e("bnb-requestFail")),$("#bnb-sendMsg").attr("disabled","false")})}(),$(this).attr("disabled","true")}))})}();