//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>`;