diff --git a/public/script.js b/public/script.js index c9abaab91..a005745d5 100644 --- a/public/script.js +++ b/public/script.js @@ -8504,6 +8504,17 @@ jQuery(async function () { let targetAvatarImg = thumbURL.substring(thumbURL.lastIndexOf("=") + 1); let charname = targetAvatarImg.replace('.png', ''); + // Remove existing zoomed avatars for characters that are not the clicked character when moving UI is not enabled + if (!power_user.movingUI) { + $('.zoomed_avatar').each(function () { + const currentForChar = $(this).attr('forChar'); + if (currentForChar !== charname && typeof currentForChar !== 'undefined') { + console.debug(`Removing zoomed avatar for character: ${currentForChar}`); + $(this).remove(); + } + }); + } + let avatarSrc = isDataURL(thumbURL) ? thumbURL : charsPath + targetAvatarImg; if ($(`.zoomed_avatar[forChar="${charname}"]`).length) { console.debug('removing container as it already existed') diff --git a/public/scripts/extensions/translate/index.js b/public/scripts/extensions/translate/index.js index 2be6cf45f..488ab2071 100644 --- a/public/scripts/extensions/translate/index.js +++ b/public/scripts/extensions/translate/index.js @@ -199,7 +199,6 @@ async function translateProviderLibre(text, lang) { throw new Error(response.statusText); } - async function translateProviderGoogle(text, lang) { const response = await fetch('/google_translate', { method: 'POST', @@ -447,7 +446,9 @@ jQuery(() => { }); $('#translate_url_button').on('click', async () => { const optionText = $('#translation_provider option:selected').text(); - const url = await callPopup(`

${optionText} API URL

`, 'input'); + const exampleURLs = {}; + exampleURLs['libre'] = 'http://127.0.0.1:5000/translate'; + const url = await callPopup(`

${optionText} API URL

Example: ` + exampleURLs[extension_settings.translate.provider] + ``, 'input'); if (url == false) { return; diff --git a/public/scripts/tags.js b/public/scripts/tags.js index f9976319d..7f5809b88 100644 --- a/public/scripts/tags.js +++ b/public/scripts/tags.js @@ -28,7 +28,7 @@ const CHARACTER_FILTER_SELECTOR = '#rm_characters_block .rm_tag_filter'; const GROUP_FILTER_SELECTOR = '#rm_group_chats_block .rm_tag_filter'; function getFilterHelper(listSelector) { - return $(listSelector).is(GROUP_FILTER_SELECTOR) ? groupCandidatesFilter : entitiesFilter; + return $(listSelector).is(GROUP_FILTER_SELECTOR) ? groupCandidatesFilter : entitiesFilter; } export const tag_filter_types = { @@ -170,7 +170,7 @@ function removeTagFromMap(tagId) { function findTag(request, resolve, listSelector) { const skipIds = [...($(listSelector).find(".tag").map((_, el) => $(el).attr("id")))]; - const haystack = tags.filter(t => !skipIds.includes(t.id)).map(t => t.name).sort(); + const haystack = tags.filter(t => !skipIds.includes(t.id)).map(t => t.name).sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase())); const needle = request.term.toLowerCase(); const hasExactMatch = haystack.findIndex(x => x.toLowerCase() == needle) !== -1; const result = haystack.filter(x => x.toLowerCase().includes(needle));