| 5485 | 5485 | </div> |
| 5486 | 5486 | </div> |
| 5487 | 5487 | <!-- end group peeking cope structure--> |
| 5488 | | - <div name="Solo Char Create/Edit Panel" id="rm_ch_create_block" class="right_menu flex-container flexFlowColumn" style="display: none;"> |
| 5488 | + |
| 5489 | | - <form id="form_create" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 5489 | + <div class="scrollableInner"> |
| 5490 | | - <div id="avatar-and-name-block"> |
| 5490 | + <div name="Solo Char Create/Edit Panel" id="rm_ch_create_block" class="right_menu flex-container flexFlowColumn" style="display: none;"> |
| 5491 | | - <div id="name_div"> |
| 5491 | + <form id="form_create" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 5492 | | - <input id="character_name_pole" name="ch_name" class="text_pole" data-i18n="[placeholder]Name this character" placeholder="Name this character" value="" autocomplete="off"> |
| 5492 | + <div id="avatar-and-name-block"> |
| 5493 | 5493 | <div classid="extension_token_countername_div"> |
| 5494 | | - <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="character_name_pole" data-token-permanent="true">counting...</span> |
| 5494 | + <input id="character_name_pole" name="ch_name" class="text_pole" data-i18n="[placeholder]Name this character" placeholder="Name this character" value="" autocomplete="off"> |
| 5495 | | - </div> |
| 5495 | + <div class="extension_token_counter"> |
| 5496 | | - </div> |
| 5496 | + <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="character_name_pole" data-token-permanent="true">counting...</span> |
| 5497 | | - <div class="flex-container flexFlowColumn expander flexNoGap"> |
| 5497 | + </div> |
| 5498 | | - <div id="avatar_div" class="avatar_div buttons_block alignitemsflexstart justifySpaceBetween flexnowrap"> |
| 5498 | + </div> |
| 5499 | | - <label id="avatar_div_div" class="add_avatar avatar" for="add_avatar_button" title="Click to select a new avatar for this character" data-i18n="[title]Click to select a new avatar for this character"> |
| 5499 | + <div class="flex-container flexFlowColumn expander flexNoGap"> |
| 5500 | | - <img id="avatar_load_preview" src="img/ai4.png" alt="avatar"> |
| 5500 | + <div id="avatar_div" class="avatar_div buttons_block alignitemsflexstart justifySpaceBetween flexnowrap"> |
| 5501 | | - <input hidden type="file" id="add_avatar_button" name="avatar" accept="image/*"> |
| 5501 | + <label id="avatar_div_div" class="add_avatar avatar" for="add_avatar_button" title="Click to select a new avatar for this character" data-i18n="[title]Click to select a new avatar for this character"> |
| 5502 | | - </label> |
| 5502 | + <img id="avatar_load_preview" src="img/ai4.png" alt="avatar"> |
| 5503 | | - <div class="flex-container" id="avatar_controls"> |
| 5503 | + <input hidden type="file" id="add_avatar_button" name="avatar" accept="image/*"> |
| 5504 | | - <div class="form_create_bottom_buttons_block buttons_block"> |
| 5504 | + </label> |
| 5505 | | - <div id="rm_button_back" class="menu_button fa-solid fa-left-long "></div> |
| 5505 | + <div class="flex-container" id="avatar_controls"> |
| 5506 | | - <!-- <div id="renameCharButton" class="menu_button fa-solid fa-user-pen" title="Rename Character"></div> --> |
| 5506 | + <div class="form_create_bottom_buttons_block buttons_block"> |
| 5507 | 5507 | <div id="favorite_buttonrm_button_back" class="menu_button fa-solid fa-star" title="Add to Favorites" dataleft-i18n="[title]Add tolong Favorites"></div> |
| 5508 | | - <input type="hidden" id="fav_checkbox" name="fav" /> |
| 5508 | + <!-- <div id="renameCharButton" class="menu_button fa-solid fa-user-pen" title="Rename Character"></div> --> |
| 5509 | 5509 | <div id="advanced_divfavorite_button" class="menu_button fa-solid fa-book star" title="AdvancedAdd Definitionsto Favorites" data-i18n="[title]AdvancedAdd Definitionto Favorites"></div> |
| 5510 | | - <div id="world_button" class="menu_button fa-solid fa-globe" title="Character Lore Click to load Shift-click to open 'Link to World Info' popup" data-i18n="[title]world_button_title"></div> |
| 5510 | + <input type="hidden" id="fav_checkbox" name="fav" /> |
| 5511 | 5511 | <div classid="chat_lorebook_buttonadvanced_div" class="menu_button fa-solid fa-passportbook " title="Chat Lore Alt+Click to open theAdvanced lorebookDefinitions" data-i18n="[title]Chat Lore Alt+Click to open theAdvanced lorebookDefinition"></div> |
| 5512 | 5512 | <div id="char_connections_buttonworld_button" class="menu_button fa-solid fa-face-smileglobe" title="ConnectedCharacter PersonasLore Click to load Shift-click to open 'Link to World Info' popup" data-i18n="[title]Connected Personasworld_button_title"></div> |
| 5513 | 5513 | <div id="export_button" class="chat_lorebook_button menu_button fa-solid fa-file-export passport" title="ExportChat andLore Alt+Click Downloadto open the lorebook" data-i18n="[title]ExportChat andLore DownloadAlt+Click to open the lorebook"></div> |
| 5514 | 5514 | <!-- <div id="set_chat_scenariochar_connections_button" class="menu_button fa-solid fa-scrollface-smile" title="Set aConnected chatPersonas" scenariodata-i18n="[title]Connected overridePersonas"></div> --> |
| 5515 | 5515 | <!-- <div id="set_character_worldexport_button" class="menu_button fa-solid fa-globefile-export " title="Set aExport characterand WorldDownload" Infodata-i18n="[title]Export /and LorebookDownload"></div> --> |
| 5516 | 5516 | <!-- <div id="dupe_buttonset_chat_scenario" class="menu_button fa-solid fa-clone scroll" title="DuplicateSet Character"a data-i18n="[title]Duplicatechat Characterscenario override"></div> --> |
| 5517 | 5517 | <label!-- for="create_button"<div id="create_button_labelset_character_world" class="menu_button fa-solid fa-user-checkglobe" title="CreateSet Character"a data-i18n="[title]Createcharacter CharacterWorld Info / Lorebook"></div> --> |
| 5518 | | - <input type="submit" id="create_button" name="create_button"> |
| 5518 | + <div id="dupe_button" class="menu_button fa-solid fa-clone " title="Duplicate Character" data-i18n="[title]Duplicate Character"></div> |
| 5519 | | - </label> |
| 5519 | + <label for="create_button" id="create_button_label" class="menu_button fa-solid fa-user-check" title="Create Character" data-i18n="[title]Create Character"> |
| 5520 | | - <div id="delete_button" class="menu_button fa-solid fa-skull red_button" title="Delete Character" data-i18n="[title]Delete Character"></div> |
| 5520 | + <input type="submit" id="create_button" name="create_button"> |
| 5521 | 5521 | </divlabel> |
| 5522 | | - <label class="flex1 height100p" for="char-management-dropdown"> |
| 5522 | + <div id="delete_button" class="menu_button fa-solid fa-skull red_button" title="Delete Character" data-i18n="[title]Delete Character"></div> |
| 5523 | | - <select id="char-management-dropdown" class="text_pole"> |
| 5523 | + </div> |
| 5524 | | - <option value="default" disabled selected data-i18n="More...">More...</option> |
| 5524 | + <label class="flex1 height100p" for="char-management-dropdown"> |
| 5525 | 5525 | <optionselect id="set_character_worldchar-management-dropdown" data-i18nclass="Link to World Infotext_pole"> |
| 5526 | | - Link to World Info |
| 5526 | + <option value="default" disabled selected data-i18n="More...">More...</option> |
| 5527 | | - </option> |
| 5527 | + <option id="set_character_world" data-i18n="Link to World Info"> |
| 5528 | | - <option id="import_character_info" data-i18n="Import Card Lore"> |
| 5528 | + Link to World Info |
| 5529 | | - Import Card Lore |
| 5530 | | - </option> |
| 5531 | | - <option id="set_chat_scenario" data-i18n="Scenario Override"> |
| 5532 | | - Scenario Override |
| 5533 | | - </option> |
| 5534 | | - <option id="convert_to_persona" data-i18n="Convert to Persona"> |
| 5535 | | - Convert to Persona |
| 5536 | | - </option> |
| 5537 | | - <option id="renameCharButton" data-i18n="Rename"> |
| 5538 | | - Rename |
| 5539 | | - </option> |
| 5540 | | - <option id="character_source" data-i18n="Link to Source"> |
| 5541 | | - Link to Source |
| 5542 | | - </option> |
| 5543 | | - <option id="replace_update" data-i18n="Replace / Update"> |
| 5544 | | - Replace / Update |
| 5545 | | - </option> |
| 5546 | | - <option id="import_tags" data-i18n="Import Tags"> |
| 5547 | | - Import Tags |
| 5548 | | - </option> |
| 5549 | | - <option id="set_as_assistant" data-i18n="Set / Unset as Welcome Page Assistant"> |
| 5550 | | - Set / Unset as Welcome Page Assistant |
| 5551 | | - </option> |
| 5552 | | - <!--<option id="dupe_button"> |
| 5553 | | - Duplicate |
| 5554 | 5529 | </option> |
| 5555 | 5530 | <option id="export_buttonimport_character_info" data-i18n="Import Card Lore"> |
| 5556 | | - Export |
| 5531 | + Import Card Lore |
| 5557 | 5532 | </option> |
| 5558 | 5533 | <option id="delete_buttonset_chat_scenario" data-i18n="Scenario Override"> |
| 5559 | | - Delete |
| 5534 | + Scenario Override |
| 5560 | 5535 | </option>--> |
| 5561 | | - </select> |
| 5536 | + <option id="convert_to_persona" data-i18n="Convert to Persona"> |
| 5562 | | - </label> |
| 5537 | + Convert to Persona |
| 5538 | + </option> |
| 5539 | + <option id="renameCharButton" data-i18n="Rename"> |
| 5540 | + Rename |
| 5541 | + </option> |
| 5542 | + <option id="character_source" data-i18n="Link to Source"> |
| 5543 | + Link to Source |
| 5544 | + </option> |
| 5545 | + <option id="replace_update" data-i18n="Replace / Update"> |
| 5546 | + Replace / Update |
| 5547 | + </option> |
| 5548 | + <option id="import_tags" data-i18n="Import Tags"> |
| 5549 | + Import Tags |
| 5550 | + </option> |
| 5551 | + <option id="set_as_assistant" data-i18n="Set / Unset as Welcome Page Assistant"> |
| 5552 | + Set / Unset as Welcome Page Assistant |
| 5553 | + </option> |
| 5554 | + <!--<option id="dupe_button"> |
| 5555 | + Duplicate |
| 5556 | + </option> |
| 5557 | + <option id="export_button"> |
| 5558 | + Export |
| 5559 | + </option> |
| 5560 | + <option id="delete_button"> |
| 5561 | + Delete |
| 5562 | + </option>--> |
| 5563 | + </select> |
| 5564 | + </label> |
| 5565 | + </div> |
| 5563 | 5566 | </div> |
| 5564 | | - </div> |
| 5567 | + <div id="tags_div"> |
| 5565 | 5568 | <div idclass="tags_divtag_controls"> |
| 5566 | | - <div class="tag_controls"> |
| 5569 | + <input id="tagInput" class="text_pole textarea_compact tag_input wide100p margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" /> |
| 5567 | | - <input id="tagInput" class="text_pole textarea_compact tag_input wide100p margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" /> |
| 5570 | + <div class="tags_view menu_button fa-solid fa-tags" title="View all tags" data-i18n="[title]View all tags"></div> |
| 5568 | | - <div class="tags_view menu_button fa-solid fa-tags" title="View all tags" data-i18n="[title]View all tags"></div> |
| 5571 | + </div> |
| 5572 | + <div id="tagList" class="tags"></div> |
| 5569 | 5573 | </div> |
| 5570 | | - <div id="tagList" class="tags"></div> |
| 5571 | 5574 | </div> |
| 5572 | 5575 | </div> |
| 5573 | | - </div> |
| 5574 | | - <hr> |
| 5575 | | - <div id="spoiler_free_desc" class="flex-container flexFlowColumn flex1 flexNoGap"> |
| 5576 | | - <div id="creators_notes_div" class="title_restorable flexGap5"> |
| 5577 | | - <span class="flex1" data-i18n="Creator's Notes">Creator's Notes</span> |
| 5578 | | - <small id="creators_note_desc_hidden" data-i18n="Character details are hidden.">Character details are hidden.</small> |
| 5579 | | - <div id="creators_note_styles_button" class="margin0 menu_button fa-solid fa-palette fa-fw" title="Allow / Forbid the use of global styles for this character." data-i18n="[title]Allow / Forbid the use of global styles for this character."></div> |
| 5580 | | - <div id="spoiler_free_desc_button" class="margin0 menu_button fa-solid fa-eye fa-fw" title="Show / Hide Description and First Message" data-i18n="[title]Show / Hide Description and First Message"></div> |
| 5581 | | - </div> |
| 5582 | | - <div id="creator_notes_spoiler" class="flex1"></div> |
| 5583 | | - <!-- A button to show / hide description_div and description_textarea and first_message_div and firstmessage_textarea--> |
| 5584 | | - </div> |
| 5585 | | - <div id="descriptionWrapper" class="flex-container flexFlowColumn flex1"> |
| 5586 | 5576 | <hr> |
| 5587 | 5577 | <div id="description_divspoiler_free_desc" class="title_restorableflex-container flexFlowColumn flex1 flexNoGap"> |
| 5588 | 5578 | <div id="creators_notes_div" class="flex-containertitle_restorable alignitemscenterflexGap5"> |
| 5589 | 5579 | <span data-i18nclass="Character Descriptionflex1" classdata-i18n="mdhotkey_locationCreator's Notes">DescriptionCreator's Notes</span> |
| 5590 | | - <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="description_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| 5580 | + <small id="creators_note_desc_hidden" data-i18n="Character details are hidden.">Character details are hidden.</small> |
| 5591 | | - <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#character-description" class="notes-link" target="_blank"> |
| 5581 | + <div id="creators_note_styles_button" class="margin0 menu_button fa-solid fa-palette fa-fw" title="Allow / Forbid the use of global styles for this character." data-i18n="[title]Allow / Forbid the use of global styles for this character."></div> |
| 5592 | | - <span class="fa-solid fa-circle-question note-link-span"></span> |
| 5582 | + <div id="spoiler_free_desc_button" class="margin0 menu_button fa-solid fa-eye fa-fw" title="Show / Hide Description and First Message" data-i18n="[title]Show / Hide Description and First Message"></div> |
| 5593 | | - </a> |
| 5594 | 5583 | </div> |
| 5595 | | - <div id="character_open_media_overrides" class="menu_button menu_button_icon open_media_overrides" title="Click to allow/forbid the use of external media for this character." data-i18n="[title]Click to allow/forbid the use of external media for this character."> |
| 5584 | + <div id="creator_notes_spoiler" class="flex1"></div> |
| 5596 | | - <i id="character_media_allowed_icon" class="fa-solid fa-fw fa-link"></i> |
| 5585 | + <!-- A button to show / hide description_div and description_textarea and first_message_div and firstmessage_textarea--> |
| 5597 | | - <i id="character_media_forbidden_icon" class="fa-solid fa-fw fa-link-slash"></i> |
| 5598 | | - <span data-i18n="Ext. Media"> |
| 5599 | | - Ext. Media |
| 5600 | | - </span> |
| 5601 | | - </div> |
| 5602 | | - </div> |
| 5603 | | - <textarea id="description_textarea" class="mdHotkeys" data-i18n="[placeholder]Describe your character's physical and mental traits here." placeholder="Describe your character's physical and mental traits here." name="description" placeholder=""></textarea> |
| 5604 | | - <div class="extension_token_counter"> |
| 5605 | | - <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="description_textarea" data-token-permanent="true">counting...</span> |
| 5606 | 5586 | </div> |
| 5607 | | - </div> |
| 5587 | + <div id="descriptionWrapper" class="flex-container flexFlowColumn flex1"> |
| 5608 | | - <div id="firstMessageWrapper" class="flex-container flexFlowColumn flex1"> |
| 5588 | + <hr> |
| 5609 | 5589 | <div id="first_message_divdescription_div" class="title_restorable"> |
| 5610 | 5590 | <div class="flex-container alignitemscenter flex1"> |
| 5611 | 5591 | <span data-i18n="FirstCharacter messageDescription" class="mdhotkey_location">First messageDescription</span> |
| 5612 | 5592 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="firstmessage_textareadescription_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| 5613 | 5593 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#firstcharacter-messagedescription" class="notes-link" target="_blank"> |
| 5614 | 5594 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| 5615 | 5595 | </a> |
| 5596 | + </div> |
| 5597 | + <div id="character_open_media_overrides" class="menu_button menu_button_icon open_media_overrides" title="Click to allow/forbid the use of external media for this character." data-i18n="[title]Click to allow/forbid the use of external media for this character."> |
| 5598 | + <i id="character_media_allowed_icon" class="fa-solid fa-fw fa-link"></i> |
| 5599 | + <i id="character_media_forbidden_icon" class="fa-solid fa-fw fa-link-slash"></i> |
| 5600 | + <span data-i18n="Ext. Media"> |
| 5601 | + Ext. Media |
| 5602 | + </span> |
| 5603 | + </div> |
| 5616 | 5604 | </div> |
| 5617 | | - <div class="menu_button menu_button_icon open_alternate_greetings margin0" title="Click to set additional greeting messages" data-i18n="[title]Click to set additional greeting messages"> |
| 5605 | + <textarea id="description_textarea" class="mdHotkeys" data-i18n="[placeholder]Describe your character's physical and mental traits here." placeholder="Describe your character's physical and mental traits here." name="description" placeholder=""></textarea> |
| 5618 | | - <span data-i18n="Alt. Greetings"> |
| 5606 | + <div class="extension_token_counter"> |
| 5619 | | - Alt. Greetings |
| 5607 | + <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="description_textarea" data-token-permanent="true">counting...</span> |
| 5620 | | - </span> |
| 5621 | 5608 | </div> |
| 5622 | 5609 | </div> |
| 5623 | | - <textarea class="mdHotkeys" id="firstmessage_textarea" data-i18n="[placeholder]This will be the first message from the character that starts every chat." placeholder="This will be the first message from the character that starts every chat." name="first_mes" placeholder=""></textarea> |
| 5610 | + <div id="firstMessageWrapper" class="flex-container flexFlowColumn flex1"> |
| 5624 | 5611 | <div id="first_message_div" class="extension_token_countertitle_restorable"> |
| 5625 | | - <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="firstmessage_textarea">counting...</span> |
| 5612 | + <div class="flex-container alignitemscenter flex1"> |
| 5626 | | - </div> |
| 5613 | + <span data-i18n="First message" class="mdhotkey_location">First message</span> |
| 5627 | | - </div> |
| 5614 | + <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="firstmessage_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| 5628 | | - <!-- these divs are invisible and used for server communication purposes --> |
| 5615 | + <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#first-message" class="notes-link" target="_blank"> |
| 5629 | | - <div id="hidden-divs"> |
| 5616 | + <span class="fa-solid fa-circle-question note-link-span"></span> |
| 5630 | | - <input id="character_json_data" name="json_data" type="hidden"> |
| 5617 | + </a> |
| 5631 | | - <input id="avatar_url_pole" name="avatar_url" type="hidden"> |
| 5618 | + </div> |
| 5632 | | - <input id="selected_chat_pole" name="chat" type="hidden"> |
| 5619 | + <div class="menu_button menu_button_icon open_alternate_greetings margin0" title="Click to set additional greeting messages" data-i18n="[title]Click to set additional greeting messages"> |
| 5633 | | - <input id="create_date_pole" name="create_date" type="hidden"> |
| 5620 | + <span data-i18n="Alt. Greetings"> |
| 5634 | | - <input id="last_mes_pole" name="last_mes" type="hidden"> |
| 5621 | + Alt. Greetings |
| 5635 | | - <input id="character_world" name="world" type="hidden"> |
| 5622 | + </span> |
| 5636 | | - </div> |
| 5637 | | - <!-- now back to normal divs for display purposes--> |
| 5638 | | - </form> |
| 5639 | | - </div> |
| 5640 | | - <div name="Group Chat Edit Panel" id="rm_group_chats_block" class="right_menu flex-container flexNoGap"> |
| 5641 | | - <div class="inline-drawer wide100p flexFlowColumn"> |
| 5642 | | - <div id="groupControlsToggle" class="inline-drawer-toggle inline-drawer-header"> |
| 5643 | | - <span> |
| 5644 | | - <span data-i18n="Group Controls">Group Controls</span> |
| 5645 | | - <a href="https://docs.sillytavern.app/usage/core-concepts/groupchats/" class="notes-link" target="_blank"> |
| 5646 | | - <span class="fa-solid fa-circle-question note-link-span"></span> |
| 5647 | | - </a> |
| 5648 | | - </span> |
| 5649 | | - <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 5650 | | - </div> |
| 5651 | | - <div class="inline-drawer-content"> |
| 5652 | | - <div id="group-metadata-controls" class="marginTopBot5"> |
| 5653 | | - <div class="flex-container wide100p"> |
| 5654 | | - <input id="rm_group_chat_name" class="text_pole flex1" type="text" name="chat_name" data-i18n="[placeholder]Chat Name (Optional)" placeholder="Chat Name (Optional)" /> |
| 5655 | | - <div class="chat_lorebook_button menu_button fa-solid fa-passport" title="Chat Lore" data-i18n="[title]Chat Lore"></div> |
| 5656 | | - </div> |
| 5657 | | - <div id="group_tags_div" class="wide100p"> |
| 5658 | | - <div class="tag_controls"> |
| 5659 | | - <input id="groupTagInput" class="text_pole textarea_compact tag_input flex1 margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" /> |
| 5660 | | - <div class="tags_view menu_button fa-solid fa-tags margin0" title="View all tags" data-i18n="[title]View all tags"></div> |
| 5661 | 5623 | </div> |
| 5662 | | - <div id="groupTagList" class="tags paddingTopBot5"></div> |
| 5663 | 5624 | </div> |
| 5664 | | - <div id="rm_group_top_bar" class="flex-container alignitemscenter spaceBetween width100p fontsize80p"> |
| 5625 | + <textarea class="mdHotkeys" id="firstmessage_textarea" data-i18n="[placeholder]This will be the first message from the character that starts every chat." placeholder="This will be the first message from the character that starts every chat." name="first_mes" placeholder=""></textarea> |
| 5665 | | - <div> |
| 5626 | + <div class="extension_token_counter"> |
| 5666 | | - <label class="add_avatar avatar flex-container justifyCenter" for="group_avatar_button" title="Click to select a new avatar for this group" data-i18n="[title]Click to select a new avatar for this group"> |
| 5627 | + <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="firstmessage_textarea">counting...</span> |
| 5667 | | - <div id="group_avatar_preview"> |
| 5628 | + </div> |
| 5668 | | - <div class="avatar"> |
| 5629 | + </div> |
| 5669 | | - <img src="img/ai4.png" alt="avatar"> |
| 5630 | + <!-- these divs are invisible and used for server communication purposes --> |
| 5670 | | - </div> |
| 5631 | + <div id="hidden-divs"> |
| 5671 | | - </div> |
| 5632 | + <input id="character_json_data" name="json_data" type="hidden"> |
| 5672 | | - <input hidden type="file" id="group_avatar_button" name="avatar" accept="image/png, image/jpeg, image/jpg, image/gif, image/bmp"> |
| 5633 | + <input id="avatar_url_pole" name="avatar_url" type="hidden"> |
| 5673 | | - </label> |
| 5634 | + <input id="selected_chat_pole" name="chat" type="hidden"> |
| 5635 | + <input id="create_date_pole" name="create_date" type="hidden"> |
| 5636 | + <input id="last_mes_pole" name="last_mes" type="hidden"> |
| 5637 | + <input id="character_world" name="world" type="hidden"> |
| 5638 | + </div> |
| 5639 | + <!-- now back to normal divs for display purposes--> |
| 5640 | + </form> |
| 5641 | + </div> |
| 5642 | + <div name="Group Chat Edit Panel" id="rm_group_chats_block" class="right_menu flex-container flexNoGap"> |
| 5643 | + <div class="inline-drawer wide100p flexFlowColumn"> |
| 5644 | + <div id="groupControlsToggle" class="inline-drawer-toggle inline-drawer-header"> |
| 5645 | + <span> |
| 5646 | + <span data-i18n="Group Controls">Group Controls</span> |
| 5647 | + <a href="https://docs.sillytavern.app/usage/core-concepts/groupchats/" class="notes-link" target="_blank"> |
| 5648 | + <span class="fa-solid fa-circle-question note-link-span"></span> |
| 5649 | + </a> |
| 5650 | + </span> |
| 5651 | + <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 5652 | + </div> |
| 5653 | + <div class="inline-drawer-content"> |
| 5654 | + <div id="group-metadata-controls" class="marginTopBot5"> |
| 5655 | + <div class="flex-container wide100p"> |
| 5656 | + <input id="rm_group_chat_name" class="text_pole flex1" type="text" name="chat_name" data-i18n="[placeholder]Chat Name (Optional)" placeholder="Chat Name (Optional)" /> |
| 5657 | + <div class="chat_lorebook_button menu_button fa-solid fa-passport" title="Chat Lore" data-i18n="[title]Chat Lore"></div> |
| 5674 | 5658 | </div> |
| 5675 | 5659 | <div name="GroupStragegyAndOrder" id="rm_group_buttonsgroup_tags_div" class="flex-container paddingLeftRight5 flex2wide100p"> |
| 5676 | 5660 | <div class="flex1 flexGap5tag_controls"> |
| 5677 | | - <label for="rm_group_activation_strategy" class="flexnowrap width100p whitespacenowrap"> |
| 5661 | + <input id="groupTagInput" class="text_pole textarea_compact tag_input flex1 margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" /> |
| 5678 | | - <span data-i18n="Group reply strategy">Group reply strategy</span> |
| 5662 | + <div class="tags_view menu_button fa-solid fa-tags margin0" title="View all tags" data-i18n="[title]View all tags"></div> |
| 5679 | | - </label> |
| 5680 | | - <select id="rm_group_activation_strategy"> |
| 5681 | | - <option value="2" data-i18n="Manual">Manual</option> |
| 5682 | | - <option value="0" data-i18n="Natural order">Natural order</option> |
| 5683 | | - <option value="1" data-i18n="List order">List order</option> |
| 5684 | | - <option value="3" data-i18n="Pooled order">Pooled order</option> |
| 5685 | | - </select> |
| 5686 | | - </div> |
| 5687 | | - <div class="flex1 flexGap5"> |
| 5688 | | - <label for="rm_group_generation_mode" class="flexnowrap width100p whitespacenowrap"> |
| 5689 | | - <span data-i18n="Group generation handling mode">Group generation handling mode</span> |
| 5690 | | - </label> |
| 5691 | | - <select id="rm_group_generation_mode"> |
| 5692 | | - <option value="0" data-i18n="Swap character cards">Swap character cards</option> |
| 5693 | | - <option value="1" data-i18n="Join character cards (exclude muted)">Join character cards (exclude muted)</option> |
| 5694 | | - <option value="2" data-i18n="Join character cards (include muted)">Join character cards (include muted)</option> |
| 5695 | | - </select> |
| 5696 | | - </div> |
| 5697 | | - <div class="flex1 flexGap5" title="Inserted before each part of the joined fields." data-i18n="[title]Inserted before each part of the joined fields."> |
| 5698 | | - <label for="rm_group_generation_mode_join_prefix" class="flexnowrap width100p whitespacenowrap"> |
| 5699 | | - <span data-i18n="Join Prefix">Join Prefix</span> |
| 5700 | | - <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> |
| 5701 | | - </div> |
| 5702 | | - </label> |
| 5703 | | - <textarea id="rm_group_generation_mode_join_prefix" class="text_pole wide100p textarea_compact autoSetHeight" placeholder="—" rows="1"></textarea> |
| 5704 | 5663 | </div> |
| 5705 | | - <div class="flex1 flexGap5" title="Inserted after each part of the joined fields." data-i18n="[title]Inserted after each part of the joined fields."> |
| 5664 | + <div id="groupTagList" class="tags paddingTopBot5"></div> |
| 5706 | | - <label for="rm_group_generation_mode_join_suffix" class="flexnowrap width100p whitespacenowrap"> |
| 5665 | + </div> |
| 5707 | | - <span data-i18n="Join Suffix">Join Suffix</span> |
| 5666 | + <div id="rm_group_top_bar" class="flex-container alignitemscenter spaceBetween width100p fontsize80p"> |
| 5708 | | - <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> |
| 5667 | + <div> |
| 5668 | + <label class="add_avatar avatar flex-container justifyCenter" for="group_avatar_button" title="Click to select a new avatar for this group" data-i18n="[title]Click to select a new avatar for this group"> |
| 5669 | + <div id="group_avatar_preview"> |
| 5670 | + <div class="avatar"> |
| 5671 | + <img src="img/ai4.png" alt="avatar"> |
| 5672 | + </div> |
| 5709 | 5673 | </div> |
| 5674 | + <input hidden type="file" id="group_avatar_button" name="avatar" accept="image/png, image/jpeg, image/jpg, image/gif, image/bmp"> |
| 5710 | 5675 | </label> |
| 5711 | | - <textarea id="rm_group_generation_mode_join_suffix" class="text_pole wide100p textarea_compact autoSetHeight" placeholder="—" rows="1"></textarea> |
| 5712 | 5676 | </div> |
| 5713 | | - </div> |
| 5677 | + <div name="GroupStragegyAndOrder" id="rm_group_buttons" class="flex-container paddingLeftRight5 flex2"> |
| 5714 | 5678 | <div id="GroupFavDelOkBack" class="flex-containerflex1 flexGap5 spaceEvenly flex1"> |
| 5715 | | - <div id="rm_button_back_from_group" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-left-long"></div> |
| 5679 | + <label for="rm_group_activation_strategy" class="flexnowrap width100p whitespacenowrap"> |
| 5716 | | - <div id="rm_group_scenario" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-scroll" title="Set a group chat scenario" data-i18n="[title]Set a group chat scenario"></div> |
| 5680 | + <span data-i18n="Group reply strategy">Group reply strategy</span> |
| 5717 | | - <div id="group_favorite_button" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-star" title="Add to Favorites" data-i18n="[title]Add to Favorites"></div> |
| 5681 | + </label> |
| 5718 | 5682 | <inputselect id="rm_group_fav" type="hiddenrm_group_activation_strategy" /> |
| 5719 | | - <div id="group_open_media_overrides" class="heightFitContent margin0 menu_button menu_button_icon open_media_overrides" title="Click to allow/forbid the use of external media for this group." data-i18n="[title]Click to allow/forbid the use of external media for this group."> |
| 5683 | + <option value="2" data-i18n="Manual">Manual</option> |
| 5720 | | - <i id="group_media_allowed_icon" class="fa-solid fa-fw fa-link"></i> |
| 5684 | + <option value="0" data-i18n="Natural order">Natural order</option> |
| 5721 | | - <i id="group_media_forbidden_icon" class="fa-solid fa-fw fa-link-slash"></i> |
| 5685 | + <option value="1" data-i18n="List order">List order</option> |
| 5686 | + <option value="3" data-i18n="Pooled order">Pooled order</option> |
| 5687 | + </select> |
| 5688 | + </div> |
| 5689 | + <div class="flex1 flexGap5"> |
| 5690 | + <label for="rm_group_generation_mode" class="flexnowrap width100p whitespacenowrap"> |
| 5691 | + <span data-i18n="Group generation handling mode">Group generation handling mode</span> |
| 5692 | + </label> |
| 5693 | + <select id="rm_group_generation_mode"> |
| 5694 | + <option value="0" data-i18n="Swap character cards">Swap character cards</option> |
| 5695 | + <option value="1" data-i18n="Join character cards (exclude muted)">Join character cards (exclude muted)</option> |
| 5696 | + <option value="2" data-i18n="Join character cards (include muted)">Join character cards (include muted)</option> |
| 5697 | + </select> |
| 5698 | + </div> |
| 5699 | + <div class="flex1 flexGap5" title="Inserted before each part of the joined fields." data-i18n="[title]Inserted before each part of the joined fields."> |
| 5700 | + <label for="rm_group_generation_mode_join_prefix" class="flexnowrap width100p whitespacenowrap"> |
| 5701 | + <span data-i18n="Join Prefix">Join Prefix</span> |
| 5702 | + <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> |
| 5703 | + </div> |
| 5704 | + </label> |
| 5705 | + <textarea id="rm_group_generation_mode_join_prefix" class="text_pole wide100p textarea_compact autoSetHeight" placeholder="—" rows="1"></textarea> |
| 5706 | + </div> |
| 5707 | + <div class="flex1 flexGap5" title="Inserted after each part of the joined fields." data-i18n="[title]Inserted after each part of the joined fields."> |
| 5708 | + <label for="rm_group_generation_mode_join_suffix" class="flexnowrap width100p whitespacenowrap"> |
| 5709 | + <span data-i18n="Join Suffix">Join Suffix</span> |
| 5710 | + <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> |
| 5711 | + </div> |
| 5712 | + </label> |
| 5713 | + <textarea id="rm_group_generation_mode_join_suffix" class="text_pole wide100p textarea_compact autoSetHeight" placeholder="—" rows="1"></textarea> |
| 5714 | + </div> |
| 5722 | 5715 | </div> |
| 5723 | | - <div id="rm_group_submit" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-check" title="Create" data-i18n="[title]Create"></div> |
| 5716 | + <div id="GroupFavDelOkBack" class="flex-container flexGap5 spaceEvenly flex1"> |
| 5724 | 5717 | <div id="rm_group_restore_avatarrm_button_back_from_group" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-images" title="Restore collage avatar" dataleft-i18n="[title]Restore collage avatarlong"></div> |
| 5725 | 5718 | <div id="rm_group_deleterm_group_scenario" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-trash-canscroll" title="DeleteSet a group chat scenario" data-i18n="[title]DeleteSet a group chat scenario"></div> |
| 5726 | | - <div class="flex1"> |
| 5719 | + <div id="group_favorite_button" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-star" title="Add to Favorites" data-i18n="[title]Add to Favorites"></div> |
| 5727 | 5720 | <labelinput classid="checkbox_labelrm_group_fav" whitespacenowraptype="hidden" /> |
| 5728 | | - <input id="rm_group_allow_self_responses" type="checkbox" /> |
| 5721 | + <div id="group_open_media_overrides" class="heightFitContent margin0 menu_button menu_button_icon open_media_overrides" title="Click to allow/forbid the use of external media for this group." data-i18n="[title]Click to allow/forbid the use of external media for this group."> |
| 5729 | | - <span data-i18n="Allow self responses">Allow self responses</span> |
| 5722 | + <i id="group_media_allowed_icon" class="fa-solid fa-fw fa-link"></i> |
| 5730 | | - </label> |
| 5723 | + <i id="group_media_forbidden_icon" class="fa-solid fa-fw fa-link-slash"></i> |
| 5731 | | - <label id="rm_group_automode_label" class="checkbox_label whitespacenowrap"> |
| 5724 | + </div> |
| 5732 | | - <input id="rm_group_automode" type="checkbox" /> |
| 5725 | + <div id="rm_group_submit" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-check" title="Create" data-i18n="[title]Create"></div> |
| 5733 | | - <span data-i18n="Auto Mode">Auto Mode</span> |
| 5726 | + <div id="rm_group_restore_avatar" class="heightFitContent margin0 menu_button fa-solid fa-fw fa-images" title="Restore collage avatar" data-i18n="[title]Restore collage avatar"></div> |
| 5734 | 5727 | <inputdiv id="rm_group_automode_delayrm_group_delete" class="text_pole textarea_compact widthUnset"heightFitContent type="number"margin0 min="1"menu_button max="999"fa-solid step="1"fa-fw value="5fa-trash-can" title="Auto Mode delayDelete" data-i18n="[title]Auto Mode delayDelete" ></div> |
| 5735 | | - </label> |
| 5728 | + <div class="flex1"> |
| 5736 | 5729 | <label id="rm_group_hidemutedsprites_label" class="checkbox_label whitespacenowrap"> |
| 5737 | 5730 | <input id="rm_group_hidemutedspritesrm_group_allow_self_responses" type="checkbox" /> |
| 5738 | 5731 | <span data-i18n="Hide MutedAllow Memberself Spritesresponses">Hide MutedAllow Memberself Spritesresponses</span> |
| 5739 | 5732 | </label> |
| 5733 | + <label id="rm_group_automode_label" class="checkbox_label whitespacenowrap"> |
| 5734 | + <input id="rm_group_automode" type="checkbox" /> |
| 5735 | + <span data-i18n="Auto Mode">Auto Mode</span> |
| 5736 | + <input id="rm_group_automode_delay" class="text_pole textarea_compact widthUnset" type="number" min="1" max="999" step="1" value="5" title="Auto Mode delay" data-i18n="[title]Auto Mode delay" /> |
| 5737 | + </label> |
| 5738 | + <label id="rm_group_hidemutedsprites_label" class="checkbox_label whitespacenowrap"> |
| 5739 | + <input id="rm_group_hidemutedsprites" type="checkbox" /> |
| 5740 | + <span data-i18n="Hide Muted Member Sprites">Hide Muted Member Sprites</span> |
| 5741 | + </label> |
| 5742 | + </div> |
| 5740 | 5743 | </div> |
| 5741 | 5744 | </div> |
| 5742 | 5745 | </div> |
| 5743 | 5746 | </div> |
| 5744 | 5747 | </div> |
| 5745 | | - </div> |
| 5748 | + <div class="inline-drawer wide100p flexFlowColumn"> |
| 5746 | 5749 | <div id="groupCurrentMemberListToggle" class="inline-drawer wide100p-toggle flexFlowColumninline-drawer-header"> |
| 5747 | | - <div id="groupCurrentMemberListToggle" class="inline-drawer-toggle inline-drawer-header"> |
| 5750 | + <span data-i18n="Current Members">Current Members </span><i id="groupCurrentMemberPopoutButton" class="fa-solid fa-window-restore menu_button"></i> |
| 5748 | | - <span data-i18n="Current Members">Current Members </span><i id="groupCurrentMemberPopoutButton" class="fa-solid fa-window-restore menu_button"></i> |
| 5751 | + <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 5749 | | - <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 5750 | | - </div> |
| 5751 | | - <div class="inline-drawer-content"> |
| 5752 | | - <div id="currentGroupMembers" name="Current Group Members" class="flex-container flexFlowColumn overflowYAuto flex1"> |
| 5753 | | - <div id="rm_group_members_pagination" class="rm_group_members_pagination group_pagination"></div> |
| 5754 | | - <div id="rm_group_members" class="rm_group_members overflowYAuto flex-container" group_empty_text="Group is empty." data-i18n="[group_empty_text]Group is empty."></div> |
| 5755 | 5752 | </div> |
| 5756 | | - </div> |
| 5753 | + <div class="inline-drawer-content"> |
| 5757 | | - </div> |
| 5754 | + <div id="currentGroupMembers" name="Current Group Members" class="flex-container flexFlowColumn overflowYAuto flex1"> |
| 5758 | | - <div class="inline-drawer wide100p flexFlowColumn"> |
| 5755 | + <div id="rm_group_members_pagination" class="rm_group_members_pagination group_pagination"></div> |
| 5759 | | - <div id="groupAddMemberListToggle" class="inline-drawer-toggle inline-drawer-header"> |
| 5756 | + <div id="rm_group_members" class="rm_group_members overflowYAuto flex-container" group_empty_text="Group is empty." data-i18n="[group_empty_text]Group is empty."></div> |
| 5760 | | - <span data-i18n="Add Members">Add Members</span> |
| 5761 | | - <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 5762 | | - </div> |
| 5763 | | - <div class="inline-drawer-content"> |
| 5764 | | - <div name="Unadded Char List" class="flex-container flexFlowColumn overflowYAuto flex1"> |
| 5765 | | - <div id="rm_group_add_members_header"> |
| 5766 | | - <input id="rm_group_filter" class="text_pole margin0" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." /> |
| 5767 | 5757 | </div> |
| 5768 | | - <div class="rm_tag_controls"> |
| 5758 | + </div> |
| 5769 | | - <div class="tags rm_tag_filter"></div> |
| 5759 | + </div> |
| 5760 | + <div class="inline-drawer wide100p flexFlowColumn"> |
| 5761 | + <div id="groupAddMemberListToggle" class="inline-drawer-toggle inline-drawer-header"> |
| 5762 | + <span data-i18n="Add Members">Add Members</span> |
| 5763 | + <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 5764 | + </div> |
| 5765 | + <div class="inline-drawer-content"> |
| 5766 | + <div name="Unadded Char List" class="flex-container flexFlowColumn overflowYAuto flex1"> |
| 5767 | + <div id="rm_group_add_members_header"> |
| 5768 | + <input id="rm_group_filter" class="text_pole margin0" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." /> |
| 5769 | + </div> |
| 5770 | + <div class="rm_tag_controls"> |
| 5771 | + <div class="tags rm_tag_filter"></div> |
| 5772 | + </div> |
| 5773 | + <div id="rm_group_add_members_pagination" class="group_pagination"></div> |
| 5774 | + <div id="rm_group_add_members" class="overflowYAuto flex-container" no_characters_text="No characters available" data-i18n="[no_characters_text]No characters available"></div> |
| 5770 | 5775 | </div> |
| 5771 | | - <div id="rm_group_add_members_pagination" class="group_pagination"></div> |
| 5772 | | - <div id="rm_group_add_members" class="overflowYAuto flex-container" no_characters_text="No characters available" data-i18n="[no_characters_text]No characters available"></div> |
| 5773 | 5776 | </div> |
| 5774 | 5777 | </div> |
| 5775 | 5778 | </div> |
| 5776 | | - </div> |
| 5779 | + <div id="rm_character_import" class="right_menu" style="display: none;"> |
| 5777 | 5780 | <divform id="rm_character_importform_import" classaction="right_menujavascript:void(null);" stylemethod="display:post" none;enctype="multipart/form-data"> |
| 5778 | | - <form id="form_import" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 5781 | + <input multiple type="file" id="character_import_file" accept=".json, image/png, .yaml, .yml, .charx" name="avatar"> |
| 5779 | | - <input multiple type="file" id="character_import_file" accept=".json, image/png, .yaml, .yml, .charx" name="avatar"> |
| 5782 | + <input id="character_import_file_type" name="file_type" class="text_pole" value="" autocomplete="off"> |
| 5780 | | - <input id="character_import_file_type" name="file_type" class="text_pole" value="" autocomplete="off"> |
| 5781 | | - </form> |
| 5782 | | - <input type="file" id="character_replace_file" accept=".json, image/png, .yaml, .yml, .charx" name="replace_avatar" hidden> |
| 5783 | | - </div> |
| 5784 | | - <div name="Character List Panel" id="rm_characters_block" class="right_menu"> |
| 5785 | | - <div id="charListFixedTop"> |
| 5786 | | - <form id="form_character_search_form" action="javascript:void(null);"> |
| 5787 | | - <div id="rm_button_create" title="Create New Character" data-i18n="[title]Create New Character" class="menu_button fa-solid fa-user-plus "></div> |
| 5788 | | - <div id="character_import_button" title="Import Character from File" data-i18n="[title]Import Character from File" class="menu_button fa-solid fa-file-import faSmallFontSquareFix"></div> |
| 5789 | | - <div id="external_import_button" title="Import content from external URL" data-i18n="[title]Import content from external URL" class="menu_button fa-solid fa-cloud-arrow-down faSmallFontSquareFix"></div> |
| 5790 | | - <div id="rm_button_group_chats" title="Create New Chat Group" data-i18n="[title]Create New Chat Group" class="menu_button fa-solid fa-users-gear "></div> |
| 5791 | | - <input id="character_search_bar" class="text_pole width100p" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." /> |
| 5792 | | - <select id="character_sort_order" title="Characters sorting order" data-i18n="[title]Characters sorting order"> |
| 5793 | | - <option data-field="search" data-order="desc" data-i18n="Search" hidden>Search</option> |
| 5794 | | - <option data-field="name" data-order="asc" data-i18n="A-Z">A-Z</option> |
| 5795 | | - <option data-field="name" data-order="desc" data-i18n="Z-A">Z-A</option> |
| 5796 | | - <option data-field="create_date" data-order="desc" data-i18n="Newest">Newest</option> |
| 5797 | | - <option data-field="create_date" data-order="asc" data-i18n="Oldest">Oldest</option> |
| 5798 | | - <option data-field="fav" data-order="desc" data-rule="boolean" data-i18n="Favorites">Favorites</option> |
| 5799 | | - <option data-field="date_last_chat" data-order="desc" data-i18n="Recent">Recent</option> |
| 5800 | | - <option data-field="chat_size" data-order="desc" data-i18n="Most chats">Most chats</option> |
| 5801 | | - <option data-field="chat_size" data-order="asc" data-i18n="Least chats">Least chats</option> |
| 5802 | | - <option data-field="data_size" data-order="desc" data-i18n="Most tokens">Most tokens</option> |
| 5803 | | - <option data-field="data_size" data-order="asc" data-i18n="Least tokens">Least tokens</option> |
| 5804 | | - <option data-field="name" data-order="random" data-i18n="Random">Random</option> |
| 5805 | | - </select> |
| 5806 | 5783 | </form> |
| 5807 | | - <div class="rm_tag_controls"> |
| 5784 | + <input type="file" id="character_replace_file" accept=".json, image/png, .yaml, .yml, .charx" name="replace_avatar" hidden> |
| 5808 | | - <div class="tags rm_tag_filter"></div> |
| 5809 | | - <div class="tags rm_tag_bogus_drilldown"></div> |
| 5810 | | - </div> |
| 5811 | | - <hr> |
| 5812 | 5785 | </div> |
| 5786 | + <div name="Character List Panel" id="rm_characters_block" class="right_menu"> |
| 5787 | + <div id="charListFixedTop"> |
| 5788 | + <form id="form_character_search_form" action="javascript:void(null);"> |
| 5789 | + <div id="rm_button_create" title="Create New Character" data-i18n="[title]Create New Character" class="menu_button fa-solid fa-user-plus "></div> |
| 5790 | + <div id="character_import_button" title="Import Character from File" data-i18n="[title]Import Character from File" class="menu_button fa-solid fa-file-import faSmallFontSquareFix"></div> |
| 5791 | + <div id="external_import_button" title="Import content from external URL" data-i18n="[title]Import content from external URL" class="menu_button fa-solid fa-cloud-arrow-down faSmallFontSquareFix"></div> |
| 5792 | + <div id="rm_button_group_chats" title="Create New Chat Group" data-i18n="[title]Create New Chat Group" class="menu_button fa-solid fa-users-gear "></div> |
| 5793 | + <input id="character_search_bar" class="text_pole width100p" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." /> |
| 5794 | + <select id="character_sort_order" title="Characters sorting order" data-i18n="[title]Characters sorting order"> |
| 5795 | + <option data-field="search" data-order="desc" data-i18n="Search" hidden>Search</option> |
| 5796 | + <option data-field="name" data-order="asc" data-i18n="A-Z">A-Z</option> |
| 5797 | + <option data-field="name" data-order="desc" data-i18n="Z-A">Z-A</option> |
| 5798 | + <option data-field="create_date" data-order="desc" data-i18n="Newest">Newest</option> |
| 5799 | + <option data-field="create_date" data-order="asc" data-i18n="Oldest">Oldest</option> |
| 5800 | + <option data-field="fav" data-order="desc" data-rule="boolean" data-i18n="Favorites">Favorites</option> |
| 5801 | + <option data-field="date_last_chat" data-order="desc" data-i18n="Recent">Recent</option> |
| 5802 | + <option data-field="chat_size" data-order="desc" data-i18n="Most chats">Most chats</option> |
| 5803 | + <option data-field="chat_size" data-order="asc" data-i18n="Least chats">Least chats</option> |
| 5804 | + <option data-field="data_size" data-order="desc" data-i18n="Most tokens">Most tokens</option> |
| 5805 | + <option data-field="data_size" data-order="asc" data-i18n="Least tokens">Least tokens</option> |
| 5806 | + <option data-field="name" data-order="random" data-i18n="Random">Random</option> |
| 5807 | + </select> |
| 5808 | + </form> |
| 5809 | + <div class="rm_tag_controls"> |
| 5810 | + <div class="tags rm_tag_filter"></div> |
| 5811 | + <div class="tags rm_tag_bogus_drilldown"></div> |
| 5812 | + </div> |
| 5813 | + <hr> |
| 5814 | + </div> |
| 5813 | 5815 | |
| 5814 | 5816 | <div id="rm_print_characters_pagination"> |
| 5815 | 5817 | <i id="charListGridToggle" class="fa-solid fa-table-cells-large menu_button" title="Toggle character grid view" data-i18n="[title]Toggle character grid view"></i> |
| 5816 | 5818 | <i id="bulkEditButton" class="fa-solid fa-edit menu_button bulkEditButton" title="Bulk edit characters Click to toggle characters Shift + Click to select/deselect a range of characters Right-click for actions" data-i18n="[title]Bulk_edit_characters"></i> |
| 5817 | 5819 | <div id="bulkSelectedCount" class="bulkEditOptionElement paginationjs-nav"></div> |
| 5818 | 5820 | <i id="bulkSelectAllButton" class="fa-solid fa-check-double menu_button bulkEditOptionElement bulkSelectAllButton" title="Bulk select all characters" data-i18n="[title]Bulk select all characters" style="display: none;"></i> |
| 5819 | 5821 | <i id="bulkDeleteButton" class="fa-solid fa-trash menu_button bulkEditOptionElement bulkDeleteButton" title="Bulk delete characters" data-i18n="[title]Bulk delete characters" style="display: none;"></i> |
| 5822 | + </div> |
| 5823 | + <div id="rm_print_characters_block" class="flexFlowColumn"></div> |
| 5820 | 5824 | </div> |
| 5821 | | - <div id="rm_print_characters_block" class="flexFlowColumn"></div> |
| 5822 | 5825 | </div> |
| 5823 | 5826 | </nav> |
| 5824 | 5827 | </div> |