Fix: Make vote call button toggable (#42450)

Fix
This commit is contained in:
Winkarst-cpu
2026-01-26 18:38:09 +03:00
committed by GitHub
parent 36d09f982b
commit 5b9ff83ce5

View File

@@ -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;
}