diff --git a/public/index.html b/public/index.html index 318d39fa5..b4ef14c71 100644 --- a/public/index.html +++ b/public/index.html @@ -1499,7 +1499,7 @@
diff --git a/public/script.js b/public/script.js index d29c83238..fba4c276e 100644 --- a/public/script.js +++ b/public/script.js @@ -3060,8 +3060,8 @@ function select_selected_character(chid) { //console.log('select_selected_character() -- starting with input of -- '+chid+' (name:'+characters[chid].name+')'); select_rm_create(); menu_type = "character_edit"; - $("#delete_button").css("display", "block"); - $("#export_button").css("display", "block"); + $("#delete_button").css("display", "flex"); + $("#export_button").css("display", "flex"); setRightTabSelectedClass('rm_button_selected_ch'); var display_name = characters[chid].name; @@ -3128,7 +3128,7 @@ function select_rm_create() { //create text poles $("#rm_button_back").css("display", "inline-block"); - $("#character_import_button").css("display", "inline-block"); + $("#character_import_button").css("display", "flex"); $("#character_popup_text_h3").text("Create character"); $("#character_name_pole").val(create_save_name); $("#description_textarea").val(create_save_description); @@ -4804,58 +4804,63 @@ $(document).ready(function () { }); $("#character_import_file").on("change", function (e) { $("#rm_info_avatar").html(""); - var file = e.target.files[0]; - //console.log(1); - if (!file) { - return; - } - var ext = file.name.match(/\.(\w+)$/); - if ( - !ext || - (ext[1].toLowerCase() != "json" && ext[1].toLowerCase() != "png" && ext[1] != "webp") - ) { + if (!e.target.files.length) { return; } - var format = ext[1].toLowerCase(); - $("#character_import_file_type").val(format); - //console.log(format); - var formData = new FormData($("#form_import").get(0)); + let names = []; - jQuery.ajax({ - type: "POST", - url: "/importcharacter", - data: formData, - beforeSend: function () { - //$('#create_button').attr('disabled',true); - //$('#create_button').attr('value','Creating...'); - }, - cache: false, - contentType: false, - processData: false, - success: async function (data) { - if (data.file_name !== undefined) { - $("#rm_info_block").transition({ opacity: 0, duration: 0 }); - var $prev_img = $("#avatar_div_div").clone(); - $prev_img - .children("img") - .attr("src", "characters/" + data.file_name + ".png"); - $("#rm_info_avatar").append($prev_img); - - let oldSelectedChar = null; - if (this_chid != undefined && this_chid != "invalid-safety-id") { - oldSelectedChar = characters[this_chid].name; + for (const file of e.target.files) { + var ext = file.name.match(/\.(\w+)$/); + if ( + !ext || + (ext[1].toLowerCase() != "json" && ext[1].toLowerCase() != "png" && ext[1] != "webp") + ) { + continue; + } + + var format = ext[1].toLowerCase(); + $("#character_import_file_type").val(format); + var formData = new FormData(); + formData.append('avatar', file); + formData.append('file_type', format); + + jQuery.ajax({ + type: "POST", + url: "/importcharacter", + data: formData, + async: false, + beforeSend: function () { + }, + cache: false, + contentType: false, + processData: false, + success: async function (data) { + if (data.file_name !== undefined) { + $("#rm_info_block").transition({ opacity: 0, duration: 0 }); + var $prev_img = $("#avatar_div_div").clone(); + $prev_img + .children("img") + .attr("src", "characters/" + data.file_name + ".png"); + $("#rm_info_avatar").append($prev_img); + + let oldSelectedChar = null; + if (this_chid != undefined && this_chid != "invalid-safety-id") { + oldSelectedChar = characters[this_chid].name; + } + + names.push(data.file_name); + let nameString = DOMPurify.sanitize(names.join(', ')); + await getCharacters(); + select_rm_info(`Character imported