User:PetraMagna/momotalk-choice.js: Difference between revisions

From Blue Archive Wiki
Jump to navigation Jump to search
Content deleted Content added
draft; WIP
js mostly done
Line 7: Line 7:
setTimeout(function() { defer(method) }, 50);
setTimeout(function() { defer(method) }, 50);
}
}
}

function momotalk_option_click(group_num, option_num) {
const container = $("#momotalk-sensei-option-group-" + group_num);
container.children('.momotalk-reply-option').each(function(num, option) {
if (num === option_num) {
option.addClass("momotalk-selected-option");
$("#momotalk-student-option-" + group_num + "-" + num).removeClass("momotalk-hidden-student-text");
} else {
option.removeClass("momotalk-selected-option");
$("#momotalk-student-option-" + group_num + "-" + num).addClass("momotalk-hidden-student-text");
}
});
}
}
const momotalk_init = function() {
function momotalk_init() {
$(".momotalk-reply-container").each(function(i, container) {
$(".momotalk-reply-container").each(function(i, container) {
const container_id = container.attr('id').split("/");
return;
const group_num = container_id[container_id.length - 1];
container.children('.momotalk-reply-option').each(function(option_num, option) {
option.click(function() {
momotalk_option_click(group_num, option_num + 1);
});
});
});
});
};
}
function momotalk_main(method) {
function momotalk_main() {
$(document).ready(function() {
$(document).ready(function() {
const title_split = mw.config.get('wgTitle').toLowerCase().split("/");
const title_split = mw.config.get('wgTitle').toLowerCase().split("/");

Revision as of 23:16, 7 December 2023

const momotalk_options = function() {

    function defer(method) {
        if (window.jQuery) {
            method();
        } else {
            setTimeout(function() { defer(method) }, 50);
        }
    }

    function momotalk_option_click(group_num, option_num) {
        const container = $("#momotalk-sensei-option-group-" + group_num);
        container.children('.momotalk-reply-option').each(function(num, option) {
            if (num === option_num) {
                option.addClass("momotalk-selected-option");
                $("#momotalk-student-option-" + group_num + "-" + num).removeClass("momotalk-hidden-student-text");
            } else {
                option.removeClass("momotalk-selected-option");
                $("#momotalk-student-option-" + group_num + "-" + num).addClass("momotalk-hidden-student-text");
            }
        });
        
    }
    
    function momotalk_init() {
        $(".momotalk-reply-container").each(function(i, container) {
            const container_id = container.attr('id').split("/");
            const group_num = container_id[container_id.length - 1];
            container.children('.momotalk-reply-option').each(function(option_num, option) {
                option.click(function() {
                    momotalk_option_click(group_num, option_num + 1);
                });
            });
        });
    }
    
    function momotalk_main() {
        $(document).ready(function() {
            const title_split = mw.config.get('wgTitle').toLowerCase().split("/");
            // don't do anything if this is not a MomoTalk page
            if (mw.config.get('wgNamespaceNumber') === 0 && title_split.length === 2 && title_split[1] === 'momotalk') {
                momotalk_init();
            } else {
                console.log("Not MomoTalk page. Exit.");
            }
        });
    }
    
    defer(momotalk_main);
};

momotalk_options();