User:Fumple/common.js

From Inkipedia, the Splatoon wiki
Revision as of 19:29, 29 August 2019 by Fumple (talk | contribs) (Removed debug)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/*<nowiki>*/
//Check notices
var user = mw.config.get("wgUserName");
if (user != null) {
    new mw.Api().get({
        "action": "parse",
        "format": "json",
        "page": "User:"+user+"/Notice",
        "prop": "text|wikitext"
    }).done(function(data){
        if(data.parse.wikitext["*"] == ""){
            showNotice();
        }
        else{
            console.log("Not showing notice. Seen")
        }
    }).fail(function(data){
        showNotice();
    })
}

function showNotice(){
    console.log("Ready to show")
    new mw.Api().get({
        "action": "parse",
        "format": "json",
        "page": "MediaWiki:Notice/"+user,
        "prop": "text"
    }).done(function (data) {
        console.log("Got notice")
        //Create
        var el = document.createElement("div");
        var el2 = document.createElement("div");
        var el2center = document.createElement("div");
        var el2button = document.createElement("div");
        //el
        el.style.position = "absolute";
        el.style.top = "0";
        el.style.left = "0";
        el.style.height = "100%";
        el.style.width = "100%";
        el.style.background = "#000";
        el.style.opacity = "0.5";
        //el2
        el2.style.position = "absolute";
        el2.style.top = "0";
        el2.style.left = "0";
        el2.style.height = "100%";
        el2.style.width = "100%";
        el2.style.display = "flex";
        el2.style.alignItems = "center";
        el2.style.justifyContent = "center";
        //el2center
        el2center.style.width = "40%";
        el2center.style.fontFamily = '"Lucida Sans Unicode", "Lucida Grande", sans-serif';
        el2center.style.padding = "20px";
        el2center.style.background = "#DDDDDD";
        //el2button
        el2button.style.padding = "10px";
        el2button.style.background = "#0000FF";
        el2button.style.cursor = "pointer";
        el2button.style.color = "#DDDDDD";
        el2button.style.width = "min-content";
        el2button.style.border = "2px solid #DDDDDD";
        el2button.style.marginLeft = "auto";
        el2button.innerText = "Dismiss";
        el2button.onclick = function(e){
            e.target.innerText = "Please wait";
            new mw.Api().get({
                "action": "query",
                "format": "json",
                "meta": "tokens"
            }).done(function(data){
                var token = data.query.tokens.csrftoken;
                new mw.Api().post({
                    "action": "edit",
                    "format": "json",
                    "title": "User:FunPL/Notice",
                    "text": "Notice seen. (AUTO EDIT) ~~~~",
                    "summary": "Notice seen. Auto edit.",
                    "minor": 1,
                    "watchlist": "unwatch",
                    "token": token
                }).done(function(data){
                    el.remove();
                    el2.remove();
                }).fail(function(data){
                    e.target.innerText = "Error!";
                    setTimeout(function(){
                        el.remove();
                        el2.remove();
                    }, 2000)
                })
            }).fail(function(data){
                e.target.innerText = "Error!";
                setTimeout(function(){
                    el.remove();
                    el2.remove();
                }, 2000)
            })
        }

        el2center.innerHTML = "<h1>Notice</h1>";
        el2center.innerHTML += data.parse.text["*"];
        el2center.innerHTML += "<br>";
        el2.appendChild(el2center);
        el2center.appendChild(el2button);
        document.body.appendChild(el);
        document.body.appendChild(el2);
        window.scrollTo(0, 0);
        document.body.style.overflowY = "hidden"
    })
}
/*</nowiki>*/