//copy and paste this code on your common.js
/*❗👇Do not remove this function
call changeMyStatus()
Unless you want to disable the gadget
On your user dashboard, but if you do
You can still write it back whenever you
Wish👇:
*/
changeMyStatus();
function changeMyStatus(){
let editSummary='This was an automated Status-Changer edit done using '+' '+'[[User:';
let onlineStatus1=`<!--🟢0nline Status-->{{CurrentStatus/online}}`;
let offlineStatus2=`<!--🔴0fline Status-->{{CurrentStatus/offline}}`;
let busyStatus3 =`<!--🔴Busy Status-->{{CurrentStatus/busy}}`;
$.when(
$.ready,
mw.loader.using( [ "mediawiki.api" ] )
).then( function () {
if (typeof(statusChangerConfig) == 'undefined') {
statusChangerConfig = {};
}
if (typeof(statusChangerConfig.statusList) == 'undefined') {
statusChangerConfig.statusList = [`${onlineStatus1}`, `${offlineStatus2}`, `${busyStatus3}`];
}
if (typeof(statusChangerConfig.statusPage) == 'undefined') {
statusChangerConfig.statusPage = 'User:' + mw.config.get('wgUserName') + '/Status';
}
function makeListener(newStatus) {
return function ( evt ) {
evt.preventDefault();
var api = new mw.Api({
ajax: { headers: { 'Api-User-Agent': '[[w:User:Thisasia/CurrentStatus.js]]' } }
});
api.postWithEditToken({
action: 'edit',
title: statusChangerConfig.statusPage,
text: newStatus,
summary: editSummary +mw.config.get('wgUserName') + '/common.js]]'+'。',
}).then(function(){
api.post( { action: "purge", titles: 'User:' + mw.config.get('wgUserName') } );
mw.notify('Done setting status!');
});
return false;
};
}
for (var i=0; i<statusChangerConfig.statusList.length; i++) {
var stat = statusChangerConfig.statusList[i];
var message = (stat === "sleeping") ? link = "asleep" : link = stat;
mw.util.addPortletLink(
"p-personal",
"#",
stat,
"pt-status-" + stat,
"I'm " + message + "!",
"",
document.getElementById("pt-logout"))
.addEventListener('click',makeListener(stat));
}
});
}
//End❗
/*👇 this is not included this is
for DISPLAYTITLE decoration
You may remove or leave it if you like
or dislike the DISPLAYTITLE design */
var displayTittle=`<div style='display:none'>
{{User:Thisasia/Status2|2=''}}</div>`;