From b9e0233f25454c447b8f9ef78cf33d68fad7d16b Mon Sep 17 00:00:00 2001 From: Mario Steele Date: Sun, 8 Mar 2026 16:26:06 -0500 Subject: [PATCH] Updated UserList Refactor filter_live_users() into filter_list(). New Filter function, first filters for live users, then checks to see if _filter_name is an empty string, and the item is visible, before checking to see if display name matches te filter name variable. --- UI/Controls/user_list.gd | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/UI/Controls/user_list.gd b/UI/Controls/user_list.gd index 88b4dc7d..ead631b9 100644 --- a/UI/Controls/user_list.gd +++ b/UI/Controls/user_list.gd @@ -9,14 +9,20 @@ var filtering_live: bool = false: set(value): filtering_live = value if value: - filter_live_users() + filter_list() else: reset_filter() +var _filter_name: String = "" + # Called when the node enters the scene tree for the first time. func _ready() -> void: + %Filter.text_changed.connect(_update_filter_name) %FilterLive.pressed.connect(func(): filtering_live = !filtering_live) +func _update_filter_name(txt: String) -> void: + _filter_name = txt.to_lower() + filter_list() func clear_list() -> void: for node in %UserList.get_children(): @@ -51,7 +57,10 @@ func reset_filter() -> void: for entry: UserEntry in %UserList.get_children(): entry.visible = true -func filter_live_users() -> void: +func filter_list() -> void: reset_filter() for entry: UserEntry in %UserList.get_children(): - entry.visible = entry.chatter.twitch_id in Globals.live_streamers.keys() + if filtering_live: + entry.visible = entry.chatter.twitch_id in Globals.live_streamers.keys() + if _filter_name != "" and entry.visible: + entry.visible = entry.chatter.user.display_name.to_lower().contains(_filter_name)