CodinGame customization

Customize webpage of CodinGame

2016-01-08 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         CodinGame customization
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Customize webpage of CodinGame
// @author       Amendil
// @include      https://*.codingame.com*
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// @grant        GM_addStyle
// @noframes
// ==/UserScript==
/* jshint -W097 */
'use strict';

var expandCollapse = function(levelPuzzlesElement) {
    levelPuzzlesElement.style.display = levelPuzzlesElement.style.display === 'none' ? '' : 'none';
};

$(window).load(function() {
    var levels = $('.level');

    var expandCollapseLevel = function(levelElement) {
        expandCollapse($(levelElement).find('.level-puzzles')[0]);
    };

    for(var i = 0; i < levels.length; ++i) {
        var div = levels[i];

        div.addEventListener('click', function(event) {
            var targetElement = event.target || event.srcElement;
            var levelElement = $(targetElement).parents('.level')[0];

            expandCollapseLevel(levelElement);
        });

        var progress = $(div).find('.level-progress-value-value')[0].textContent;
        if(progress === '100') {
            expandCollapseLevel(div);
        }
    }
});