WaniKani Fast Abridged Wrong/Multiple Answer

try to take over the world!

目前为 2018-04-03 提交的版本。查看 最新版本

// ==UserScript==
// @name         WaniKani Fast Abridged Wrong/Multiple Answer
// @namespace    http://tampermonkey.net/
// @version      2.2
// @description  try to take over the world!
// @author       You
// @match        https://www.wanikani.com/review/session
// @match        https://www.wanikani.com/
// @match        https://www.wanikani.com/dashboard
// @grant        none
// ==/UserScript==

window.wk_fawa = {};

var wrongCountFAWA;
(function(global) {
    'use strict';
    // Hook into App Store
    try { $('.app-store-menu-item').remove(); $('<li class="app-store-menu-item"><a href="https://community.wanikani.com/t/there-are-so-many-user-scripts-now-that-discovering-them-is-hard/20709">App Store</a></li>').insertBefore($('.navbar .dropdown-menu .nav-header:contains("Account")')); window.appStoreRegistry = window.appStoreRegistry || {}; window.appStoreRegistry[GM_info.script.uuid] = GM_info; localStorage.appStoreRegistry = JSON.stringify(appStoreRegistry); } catch (e) {}

    if (!window.wkof) {
        alert('SRS Grid requires Wanikani Open Framework.\nYou will now be forwarded to installation instructions.');
        window.location.href = 'https://community.wanikani.com/t/instructions-installing-wanikani-open-framework/28549';
        return;
    }

    var settings_dialog;
    var defaults = {
        alwaysShow: false,
        alwaysShowOnlyMultiple: false,
        dontShowWrong: false
    };

    if(localStorage.getItem("wkFastWrongAlwaysShow") != null){
        defaults = {
            alwaysShow: localStorage.getItem("wkFastWrongAlwaysShow"),
            alwaysShowOnlyMultiple: localStorage.getItem("wkFastWrongAlwaysShowOnlyMultiple"),
            dontShowWrong: localStorage.getItem("wkFastWrongDontShowWrong")
        };
        localStorage.removeItem("wkFastWrongAlwaysShow");
        localStorage.removeItem("wkFastWrongAlwaysShowOnlyMultiple");
        localStorage.removeItem("wkFastWrongDontShowWrong");
    }
    wrongCountFAWA = $.jStorage.get("wrongCount");
    if(window.location.href == "https://www.wanikani.com" || window.location.href == "https://www.wanikani.com/dashboard"){
        wkof.include('Apiv2, Menu, Settings');
        wkof.ready('Menu').then(install_menu);
        wkof.ready('Settings').then(install_settings);
    } else {
        wkof.include('Apiv2, Settings');
        wkof.ready('Settings').then(install_settings).then(function(){
            $('#user-response').after("<input id='lblCorrect' type='text' style='display: none;' disabled/>");
            $.jStorage.listenKeyChange('currentItem', function (key, action) {
                if (action === 'updated') {
                    $('#lblCorrect').val('').css('display','none');
                }
            });
            $.jStorage.listenKeyChange('questionCount', function (key, action) {
                if(wrongCountFAWA != $.jStorage.get("wrongCount"))
                {
                    wrongCountFAWA = $.jStorage.get("wrongCount");
                    if(wkof.settings.fawa.dontShowWrong != "1"){
                        showCorrect(0);
                    }
                }
                else {
                    if (action === 'updated' && $.jStorage.get("questionCount") > 0 && wkof.settings.fawa.alwaysShow == "1") {
                        showCorrect(1);
                    }
                }
            });
        });
    }

    function install_menu() {
        wkof.Menu.insert_script_link({
            script_id: 'fawa',
            name: 'fawa',
            submenu:   'Settings',
            title:     'Fast Abridged Wrong/Multiple Answer',
            on_click:  open_settings
        });
    }
    function open_settings() {
        settings_dialog.open();
    }
    function install_settings() {
        settings_dialog = new wkof.Settings({
            script_id: 'fawa',
            name: 'fawa',
            title: 'Fast Abridged Wrong/Multiple Answer',
            on_save: process_settings,
            settings: {
                'alwaysShow': {type:'checkbox',label:'Always Show Correct Answers',default:defaults.alwaysShow},
                'alwaysShowOnlyMultiple': {type:'checkbox',label:'&nbsp;&nbsp;&nbsp;(Only if multiple answers)',default:defaults.alwaysShowOnlyMultiple},
                'dontShowWrong': {type:'checkbox',label:'&nbsp;&nbsp;&nbsp;(Don\'t show wrongs)',default:defaults.dontShowWrong}
            }
        });
        settings_dialog.load().then(function(){
            wkof.settings.fawa = $.extend(true, {}, defaults,wkof.settings.fawa);
            settings_dialog.save();
        });
    }
    function process_settings(){
        settings_dialog.save();
        console.log('Settings saved!');
    }

    function showBar(mode){
        $('#lblCorrect').css('display','block');
    }

    function showCorrect(mode){
        switch($('#question-type h1').text().toLowerCase()){
            case "vocabulary reading":
                if(mode === 1 && wkof.settings.fawa.alwaysShowOnlyMultiple == "1" && $.jStorage.get("currentItem").kana.length === 1) return;
                showBar(mode);
                $('#lblCorrect').val($.jStorage.get("currentItem").kana.join(", "));
                break;
            case "vocabulary meaning":
            case "kanji meaning":
            case "radical name":
                if(mode === 1 && wkof.settings.fawa.alwaysShowOnlyMultiple == "1" && $.jStorage.get("currentItem").en.length === 1) return;
                showBar(mode);
                $('#lblCorrect').val($.jStorage.get("currentItem").en.join(", "));
                break;
            case "kanji reading":
                switch($.jStorage.get("currentItem").emph.toLowerCase()){
                    case "onyomi":
                        if(mode === 1 && wkof.settings.fawa.alwaysShowOnlyMultiple == "1" && $.jStorage.get("currentItem").on.length === 1) return;
                        showBar(mode);
                        $('#lblCorrect').val($.jStorage.get("currentItem").on.join(", "));
                        break;
                    case "kunyomi":
                        if(mode === 1 && wkof.settings.fawa.alwaysShowOnlyMultiple == "1" && $.jStorage.get("currentItem").kun.length === 1) return;
                        showBar(mode);
                        $('#lblCorrect').val($.jStorage.get("currentItem").kun.join(", "));
                        break;
                }
                break;
        }
    }

})(window.wk_fawa);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址