From bbe08ece84143f4a163cfdae37938d4482e8ea14 Mon Sep 17 00:00:00 2001 From: BlipRanger <1860540+BlipRanger@users.noreply.github.com> Date: Thu, 6 Jul 2023 00:42:04 -0400 Subject: [PATCH] Display total and dynamic character count --- public/index.html | 4 ++++ public/script.js | 12 ++++++++++++ public/scripts/tags.js | 4 ++++ public/style.css | 9 ++++++++- 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/public/index.html b/public/index.html index 6a1d9f37b..736b9f158 100644 --- a/public/index.html +++ b/public/index.html @@ -2803,7 +2803,11 @@
+ +
+
+
diff --git a/public/script.js b/public/script.js index ec4e48755..e13890bdc 100644 --- a/public/script.js +++ b/public/script.js @@ -942,6 +942,7 @@ async function getCharacters() { } await getGroups(); await printCharacters(); + updateCharacterCount('#rm_print_characters_block > div'); } } @@ -6458,6 +6459,15 @@ const swipe_right = () => { } } +export function updateCharacterCount(characterSelector) { + const visibleCharacters = $(characterSelector).not('.hiddenBySearch').not('.hiddenByTag').not('.hiddenByGroup').not('.hiddenByGroupMember').not('.hiddenByFav'); + const visibleCharacterCount = visibleCharacters.length; + const totalCharacterCount = $(characterSelector).length; + + $('#rm_character_count').text(`(${visibleCharacters.length} / ${totalCharacterCount}) Characters`); + console.log('visibleCharacters.length: ' + visibleCharacters.length); +} + function updateVisibleDivs(containerSelector, resizecontainer) { var $container = $(containerSelector); var $children = $container.children(); @@ -6712,6 +6722,8 @@ $(document).ready(function () { }); updateVisibleDivs('#rm_print_characters_block', true); } + updateCharacterCount(selector); + }); diff --git a/public/scripts/tags.js b/public/scripts/tags.js index c13bceb76..9492da4d1 100644 --- a/public/scripts/tags.js +++ b/public/scripts/tags.js @@ -6,6 +6,7 @@ import { menu_type, updateVisibleDivs, getCharacters, + updateCharacterCount, } from "../script.js"; import { selected_group } from "./group-chats.js"; @@ -82,6 +83,7 @@ function applyFavFilter(characterSelector) { } }); + updateCharacterCount(characterSelector); updateVisibleDivs('#rm_print_characters_block', true); } @@ -94,6 +96,7 @@ function filterByGroups(characterSelector) { $(characterSelector).each((_, element) => { $(element).toggleClass('hiddenByGroup', displayGroupsOnly && !$(element).hasClass('group_select')); }); + updateCharacterCount(characterSelector); updateVisibleDivs('#rm_print_characters_block', true); } @@ -355,6 +358,7 @@ function onTagFilterClick(listElement, characterSelector) { const tagIds = [...($(listElement).find(".tag.selected:not(.actionable)").map((_, el) => $(el).attr("id")))]; const excludedTagIds = [...($(listElement).find(".tag.excluded:not(.actionable)").map((_, el) => $(el).attr("id")))]; $(characterSelector).each((_, element) => applyFilterToElement(tagIds, excludedTagIds, element)); + updateCharacterCount(characterSelector); updateVisibleDivs('#rm_print_characters_block', true); } diff --git a/public/style.css b/public/style.css index 0cd0e3cd8..64a7a27ec 100644 --- a/public/style.css +++ b/public/style.css @@ -1159,6 +1159,12 @@ input[type="file"] { filter: brightness(150%); } +#rm_character_count { + padding: 5px; + font-size: 14px; + font-weight: bold; +} + #rm_print_characters_block { /* padding: 5px 0; */ overflow-y: auto; @@ -5086,4 +5092,5 @@ body.waifuMode .zoomed_avatar { background-color: var(--SmartThemeBlurTintColor); text-align: center; line-height: 14px; -} \ No newline at end of file +} +