Show Number of LeetCode Unsolved Problems

Show Number of LeetCode Unsolved Problems for the new style

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         Show Number of LeetCode Unsolved Problems
// @namespace    https://greasyfork.org/en/users/114838-groundzyy
// @version      0.1
// @author       groundzyy
// @match        https://leetcode.com/problemset/*
// @description Show Number of LeetCode Unsolved Problems for the new style
// ==/UserScript==

(function() {
    'use strict';
     observeDomChange();
})();

function observeDomChange() {
    var MutationObserver = window.MutationObserver;
    var myObserver       = new MutationObserver (mutationHandler);
    var obsConfig        = {
        childList: true, attributes: true,
        subtree: true,   attributeFilter: ['list-group']
    };
    myObserver.observe(document, obsConfig);
    function mutationHandler (mutationRecords) {
        if ($('#welcome > span').length == 1) {
            info = $('#welcome > span > span:nth-child(1)').text().split(" ");
            num_finished = Number(info[0].split('/')[0]);
            num_questions = Number(info[0].split('/')[1]);
            $('#welcome').append('<br/><span>' + num_finished + "/" + num_questions + ' (' + (num_questions - num_finished) + ')</span>');
        }
    }
}