User:Thisasia/CurrentStatus.js

//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=``; let offlineStatus2=``; let busyStatus3 =``;

$.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=` `;