2023-08-25 22:48:59 +02:00
< div class = "expression_settings" >
< div class = "inline-drawer" >
< div class = "inline-drawer-toggle inline-drawer-header" >
2024-06-14 21:46:40 +02:00
< b data-i18n = "Character Expressions" > Character Expressions< / b >
2023-08-25 22:48:59 +02:00
< div class = "inline-drawer-icon fa-solid fa-circle-chevron-down down" > < / div >
< / div >
< div class = "inline-drawer-content" >
2024-04-11 21:09:05 +02:00
< label class = "checkbox_label" for = "expression_translate" title = "Use the selected API from Chat Translation extension settings." >
< input id = "expression_translate" type = "checkbox" >
2024-06-14 21:46:40 +02:00
< span data-i18n = "Translate text to English before classification" > Translate text to English before classification< / span >
2024-04-11 21:09:05 +02:00
< / label >
2023-09-13 14:19:10 +02:00
< label class = "checkbox_label" for = "expressions_show_default" >
< input id = "expressions_show_default" type = "checkbox" >
2024-06-14 21:46:40 +02:00
< span data-i18n = "Show default images (emojis) if sprite missing" > Show default images (emojis) if sprite missing< / span >
2023-09-13 14:19:10 +02:00
< / label >
2023-09-11 12:01:45 +02:00
< label id = "image_type_block" class = "checkbox_label" for = "image_type_toggle" >
2023-09-09 14:14:16 +02:00
< input id = "image_type_toggle" type = "checkbox" >
2024-06-14 21:46:40 +02:00
< span data-i18n = "Image Type - talkinghead (extras)" > Image Type - talkinghead (extras)< / span >
2023-09-09 14:14:16 +02:00
< / label >
2024-04-12 07:49:09 +02:00
< div class = "expression_api_block m-b-1 m-t-1" >
2024-06-14 21:46:40 +02:00
< label for = "expression_api" data-i18n = "Classifier API" > Classifier API< / label >
< small data-i18n = "Select the API for classifying expressions." > Select the API for classifying expressions.< / small >
2024-06-17 10:23:59 +02:00
< select id = "expression_api" class = "flex1 margin0" >
2024-06-14 21:46:40 +02:00
< option value = "0" data-i18n = "Local" > Local< / option >
< option value = "1" data-i18n = "Extras" > Extras< / option >
< option value = "2" data-i18n = "LLM" > LLM< / option >
2024-04-12 07:49:09 +02:00
< / select >
< / div >
2024-04-14 16:13:54 +02:00
< div class = "expression_llm_prompt_block m-b-1 m-t-1" >
2024-04-14 18:53:40 +02:00
< label for = "expression_llm_prompt" class = "title_restorable" >
2024-06-14 21:46:40 +02:00
< span data-i18n = "LLM Prompt" > LLM Prompt< / span >
2024-04-14 18:53:40 +02:00
< div id = "expression_llm_prompt_restore" title = "Restore default value" class = "right_menu_button" >
< i class = "fa-solid fa-clock-rotate-left fa-sm" > < / i >
< / div >
< / label >
2024-06-14 21:46:40 +02:00
< small data-i18n = "Will be used if the API doesn't support JSON schemas or function calling." > Will be used if the API doesn't support JSON schemas or function calling.< / small >
2024-04-14 18:53:40 +02:00
< textarea id = "expression_llm_prompt" type = "text" class = "text_pole textarea_compact" rows = "2" placeholder = "Use {{labels}} special macro." > < / textarea >
2024-04-14 16:13:54 +02:00
< / div >
2024-04-07 06:12:52 +02:00
< div class = "expression_fallback_block m-b-1 m-t-1" >
2024-06-14 21:46:40 +02:00
< label for = "expression_fallback" data-i18n = "Default / Fallback Expression" > Default / Fallback Expression< / label >
< small data-i18n = "Set the default and fallback expression being used when no matching expression is found." > Set the default and fallback expression being used when no matching expression is found.< / small >
2024-04-07 06:12:52 +02:00
< select id = "expression_fallback" class = "flex1 margin0" data-i18n = "Fallback Expression" placeholder = "Fallback Expression" > < / select >
< / div >
2023-09-14 20:41:30 +02:00
< div class = "expression_custom_block m-b-1 m-t-1" >
2024-06-14 21:46:40 +02:00
< label for = "expression_custom" data-i18n = "Custom Expressions" > Custom Expressions< / label >
2024-06-16 13:39:46 +02:00
< small > < span data-i18n = "Can be set manually or with an _space" > Can be set manually or with an < / span > < tt > /emote< / tt > < span data-i18n = "space_ slash command." > slash command.< / span > < / small >
2023-09-14 20:41:30 +02:00
< div class = "flex-container" >
2023-09-14 20:30:02 +02:00
< select id = "expression_custom" class = "flex1 margin0" > < select >
2023-09-14 20:41:30 +02:00
< i id = "expression_custom_add" class = "menu_button fa-solid fa-plus margin0" title = "Add" > < / i >
< i id = "expression_custom_remove" class = "menu_button fa-solid fa-xmark margin0" title = "Remove" > < / i >
2023-09-14 20:30:02 +02:00
< / div >
< / div >
2024-06-14 21:46:40 +02:00
< div id = "no_chat_expressions" data-i18n = "Open a chat to see the character expressions." >
2023-09-13 14:19:10 +02:00
Open a chat to see the character expressions.
2023-08-25 22:48:59 +02:00
< / div >
2023-09-13 14:19:10 +02:00
< div id = "open_chat_expressions" >
< div class = "offline_mode" >
2024-06-14 21:46:40 +02:00
< small data-i18n = "You are in offline mode. Click on the image below to set the expression." > You are in offline mode. Click on the image below to set the expression.< / small >
2023-09-13 14:19:10 +02:00
< / div >
2024-06-14 21:46:40 +02:00
< label for = "expression_override" data-i18n = "Sprite Folder Override" > Sprite Folder Override< / label >
2024-06-16 13:39:46 +02:00
< small > < span data-i18n = "Use a forward slash to specify a subfolder. Example: _space" > Use a forward slash to specify a subfolder. Example: < / span > < tt > Bob/formal< / tt > < / small >
2023-09-13 14:19:10 +02:00
< div class = "flex-container flexnowrap" >
< input id = "expression_override" type = "text" class = "text_pole" placeholder = "Override folder name" / >
< input id = "expression_override_button" class = "menu_button" type = "submit" value = "Submit" / >
2023-08-25 22:48:59 +02:00
< / div >
2023-09-13 14:19:10 +02:00
< div class = "expression_buttons flex-container spaceEvenly" >
< div id = "expression_upload_pack_button" class = "menu_button" >
< i class = "fa-solid fa-file-zipper" > < / i >
2024-06-14 21:46:40 +02:00
< span data-i18n = "Upload sprite pack (ZIP)" > Upload sprite pack (ZIP)< / span >
2023-09-13 14:19:10 +02:00
< / div >
< div id = "expression_override_cleanup_button" class = "menu_button" >
< i class = "fa-solid fa-trash-can" > < / i >
2024-06-14 21:46:40 +02:00
< span data-i18n = "Remove all image overrides" > Remove all image overrides< / span >
2023-09-13 14:19:10 +02:00
< / div >
2023-08-25 22:48:59 +02:00
< / div >
2024-06-16 13:39:46 +02:00
< p class = "hint" > < b data-i18n = "Hint:" > Hint:< / b > < i > < span data-i18n = "Create new folder in the _space" > Create new folder in the < / span > < b > /characters/< / b > < span data-i18n = "folder of your user data directory and name it as the name of the character." > folder of your user data directory and name it as the name of the character.< / span >
2024-06-14 21:46:40 +02:00
< span data-i18n = "Put images with expressions there. File names should follow the pattern:" > Put images with expressions there. File names should follow the pattern: < / span > < tt data-i18n = "expression_label_pattern" > [expression_label].[image_format]< / tt > < / i > < / p >
2024-05-09 16:33:04 +02:00
< h3 id = "image_list_header" >
2024-06-14 21:46:40 +02:00
< strong data-i18n = "Sprite set:" > Sprite set:< / strong > < span id = "image_list_header_name" > < / span >
2024-05-09 16:33:04 +02:00
< / h3 >
< div id = "image_list" > < / div >
2023-08-25 22:48:59 +02:00
< / div >
< / div >
< / div >
< form >
< input type = "file" id = "expression_upload_pack" name = "expression_upload_pack" accept = "application/zip" hidden >
< input type = "file" id = "expression_upload" name = "expression_upload" accept = "image/*" hidden >
< / form >
< / div >