diff --git a/public/index.html b/public/index.html index 2c4363e42..c378112a8 100644 --- a/public/index.html +++ b/public/index.html @@ -1595,6 +1595,7 @@

Add Members

+
diff --git a/public/scripts/group-chats.js b/public/scripts/group-chats.js index cd1ea349d..d341cb724 100644 --- a/public/scripts/group-chats.js +++ b/public/scripts/group-chats.js @@ -71,6 +71,7 @@ let groups = []; let selected_group = null; let group_generation_id = null; let fav_grp_checked = false; +let fav_filter_on = false; export const group_activation_strategy = { NATURAL: 0, @@ -295,7 +296,6 @@ function printGroups() { template.find(".ch_name").html(group.name); template.find('.group_fav_icon').css("display", 'none'); template.addClass(group.fav ? 'is_fav' : ''); - //group.fav ? template.find(".group_fav_icon").show() : template.find(".group_fav_icon").hide(); template.find(".ch_fav").val(group.fav); // Display inline tags @@ -847,6 +847,7 @@ function select_group_chats(groupId, skipAnimation) { template.find(".avatar img").attr("title", character.avatar); template.find(".ch_name").text(character.name); template.attr("chid", characters.indexOf(character)); + template.addClass(character.fav == 'true' ? 'is_fav' : ''); if ( group && @@ -861,6 +862,7 @@ function select_group_chats(groupId, skipAnimation) { } sortCharactersList("#rm_group_add_members .group_member"); + filterMembersByFavorites(false); const groupHasMembers = !!$("#rm_group_members").children().length; $("#rm_group_submit").prop("disabled", !groupHasMembers); @@ -997,12 +999,11 @@ function filterGroupMembers() { const searchValue = $(this).val().trim().toLowerCase(); if (!searchValue) { - $("#rm_group_add_members .group_member").show(); + $("#rm_group_add_members .group_member").removeClass('hiddenBySearch'); } else { $("#rm_group_add_members .group_member").each(function () { - $(this).children(".ch_name").text().toLowerCase().includes(searchValue) - ? $(this).show() - : $(this).hide(); + const isValidSearch = $(this).children(".ch_name").text().toLowerCase().includes(searchValue); + $(this).toggleClass('hiddenBySearch', !isValidSearch); }); } } @@ -1058,9 +1059,28 @@ async function createGroup() { } } +function toggleFilterByFavorites() { + filterMembersByFavorites(!fav_filter_on); +} + +function filterMembersByFavorites(value) { + fav_filter_on = value; + $('#group_fav_filter').toggleClass('fav_on', fav_filter_on); + + if (!fav_filter_on) { + $("#rm_group_add_members .group_member").removeClass('hiddenByFav'); + } else { + $("#rm_group_add_members .group_member").each(function () { + const isValidSearch = $(this).hasClass("is_fav"); + $(this).toggleClass('hiddenByFav', !isValidSearch); + }); + } +} + $(document).ready(() => { $(document).on("click", ".group_select", selectGroup); $("#rm_group_filter").on("input", filterGroupMembers); + $("#group_fav_filter").on("click", toggleFilterByFavorites); $("#rm_group_submit").on("click", createGroup); $("#rm_group_automode").on("input", function () { const value = $(this).prop("checked"); diff --git a/public/style.css b/public/style.css index 5e93132b3..6af2066a5 100644 --- a/public/style.css +++ b/public/style.css @@ -1219,7 +1219,8 @@ input[type=search]:focus::-webkit-search-cancel-button { } .character_select.is_fav .avatar, -.group_select.is_fav .avatar { +.group_select.is_fav .avatar, +.group_member.is_fav .avatar { outline: 2px solid #c5b457; } @@ -2644,7 +2645,7 @@ body .ui-widget-content li:hover { flex-direction: row; align-items: center; width: 100%; - column-gap: 1rem; + column-gap: 10px; } #rm_group_add_members_header input {