From 5b9ff83ce5ed68aeda6f2b0b17d273e42c5030a9 Mon Sep 17 00:00:00 2001 From: Winkarst-cpu <74284083+Winkarst-cpu@users.noreply.github.com> Date: Mon, 26 Jan 2026 18:38:09 +0300 Subject: [PATCH] Fix: Make vote call button toggable (#42450) Fix --- Content.Client/Voting/UI/VoteCallMenuButton.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Content.Client/Voting/UI/VoteCallMenuButton.cs b/Content.Client/Voting/UI/VoteCallMenuButton.cs index d934ab8b97a..93bf8231855 100644 --- a/Content.Client/Voting/UI/VoteCallMenuButton.cs +++ b/Content.Client/Voting/UI/VoteCallMenuButton.cs @@ -12,18 +12,28 @@ namespace Content.Client.Voting.UI { [Dependency] private readonly IVoteManager _voteManager = default!; + private VoteCallMenu? _voteCallMenu; + public VoteCallMenuButton() { IoCManager.InjectDependencies(this); Text = Loc.GetString("ui-vote-menu-button"); + ToggleMode = true; OnPressed += OnOnPressed; } private void OnOnPressed(ButtonEventArgs obj) { - var menu = new VoteCallMenu(); - menu.OpenCentered(); + if (_voteCallMenu is { IsOpen: true }) + { + _voteCallMenu.Close(); + return; + } + + _voteCallMenu = new VoteCallMenu(); + _voteCallMenu.OnClose += () => Pressed = false; + _voteCallMenu.OpenCentered(); } protected override void EnteredTree() @@ -38,6 +48,9 @@ namespace Content.Client.Voting.UI { base.ExitedTree(); + if (_voteCallMenu is { IsOpen: true }) + _voteCallMenu.Close(); + _voteManager.CanCallVoteChanged += UpdateCanCall; }