diff --git a/public/scripts/extensions/expressions/index.js b/public/scripts/extensions/expressions/index.js index 5f663df42..0082637d2 100644 --- a/public/scripts/extensions/expressions/index.js +++ b/public/scripts/extensions/expressions/index.js @@ -449,7 +449,7 @@ function handleImageChange() { return; } - if (extension_settings.expressions.talkinghead) { + if (extension_settings.expressions.talkinghead && !extension_settings.expressions.local) { // Method get IP of endpoint const talkingheadResultFeedSrc = `${getApiUrl()}/api/talkinghead/result_feed`; $('#expression-holder').css({ display: '' }); @@ -479,6 +479,14 @@ function handleImageChange() { async function moduleWorker() { const context = getContext(); + // Hide and disable talkinghead while in local mode + $('#image_type_block').toggle(!extension_settings.expressions.local); + + if (extension_settings.expressions.local && extension_settings.expressions.talkinghead) { + $('#image_type_toggle').prop('checked', false); + setTalkingHeadState(false); + } + // non-characters not supported if (!context.groupId && (context.characterId === undefined || context.characterId === 'invalid-safety-id')) { removeExpression(); @@ -648,6 +656,10 @@ function setTalkingHeadState(switch_var) { extension_settings.expressions.talkinghead = switch_var; // Store setting saveSettingsDebounced(); + if (extension_settings.expressions.local) { + return; + } + talkingHeadCheck().then(result => { if (result) { //console.log("talkinghead exists!"); @@ -929,7 +941,7 @@ async function getExpressionsList() { } async function setExpression(character, expression, force) { - if (!extension_settings.expressions.talkinghead) { + if (extension_settings.expressions.local || !extension_settings.expressions.talkinghead) { console.debug('entered setExpressions'); await validateImages(character); const img = $('img.expression'); @@ -1305,6 +1317,7 @@ function setExpressionOverrideHtml(forceClear = false) { $('#expressions_show_default').prop('checked', extension_settings.expressions.showDefault).trigger('input'); $('#expression_local').prop('checked', extension_settings.expressions.local).on('input', function () { extension_settings.expressions.local = !!$(this).prop('checked'); + moduleWorker(); saveSettingsDebounced(); }); $('#expression_override_cleanup_button').on('click', onClickExpressionOverrideRemoveAllButton); diff --git a/public/scripts/extensions/expressions/settings.html b/public/scripts/extensions/expressions/settings.html index 20c2942c8..5ecd2e971 100644 --- a/public/scripts/extensions/expressions/settings.html +++ b/public/scripts/extensions/expressions/settings.html @@ -10,7 +10,7 @@ Local server classification -