WordCoundExpander

Replace difficulty by actual numbers on floflo

As of 03.09.2018. See ბოლო ვერსია.

// ==UserScript==
// @name         WordCoundExpander
// @namespace    https://greasyfork.org/
// @version      2.1.1
// @description  Replace difficulty by actual numbers on floflo
// @author       You! You did it!
// @match        https://floflo.moe/book-list/
// @grant        none
// ==/UserScript==

let cookiename = "floflowordcountexpander";
let refreshrate = 5;

function createCookie(name, value, min) {
    var expires;

    if (min) {
        var date = new Date();
        date.setTime(date.getTime() + (min * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    } else {
        expires = "";
    }
    document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = encodeURIComponent(name) + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ')
            c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) === 0)
            return decodeURIComponent(c.substring(nameEQ.length, c.length));
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function setReadingVals(array,target) {
  if(array) {
      var val = array[0]+" ("+array[1]+") /"+array[2];
      target.html(val);
    }
}

function raionusHandleCookie(data, dest = cookiename){
    //JSONify the data and store it as cookie
    var temp = JSON.stringify(data);
    createCookie(dest,temp,refreshrate);
}

function applyChange(cookie){
    jQuery(".elementor-post__card").each(function(){
        var target = jQuery(this).find(".elementor-post__badge");
        var myname = jQuery(this).find(".elementor-post__thumbnail__link").attr("href");
        setReadingVals(cookie[myname],target);
    });
}

function loadAndMakeCookie(){
    var newcookie = {};
    let mycookie = readCookie(cookiename);
    if (mycookie != null){
        newcookie = JSON.parse(mycookie);
        applyChange(newcookie);
    } else {
        jQuery.post(my_personal_script_data.abcd, {
            action: "retreiveAllBookData",
            limit: 999,
            offset: 0
        }, function(data){
            var allDescr = jQuery(".elementor-post__card");
            console.log(data);
            for (var index = 0; index < data.length; index++){
                var line = data[index];
                var myhref = "https://floflo.moe/"+line.slug+"/";
                for (var tar = 0; tar < allDescr.length; tar++){
                    var myslug = jQuery(allDescr[tar]).find(".elementor-post__thumbnail__link").attr("href");
                    if (myhref == myslug){
                        var array = [line.unknown_custom, line.unknown, line.unique  ];
                        newcookie[myhref] = array;
                        break;
                    }
                }
            }
            raionusHandleCookie(newcookie);
            applyChange(newcookie);
        });
    }
}

(function() {
    'use strict';

    loadAndMakeCookie();
})();