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)