| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using Content.Shared.Administration.Events;
- using Robust.Client.AutoGenerated;
- using Robust.Client.UserInterface;
- using Robust.Client.UserInterface.XAML;
- using Robust.Shared.Console;
- namespace Content.Client.Administration.UI.Tabs.PanicBunkerTab;
- [GenerateTypedNameReferences]
- public sealed partial class PanicBunkerTab : Control
- {
- [Dependency] private readonly IConsoleHost _console = default!;
- private string _minAccountAge;
- private string _minOverallMinutes;
- public PanicBunkerTab()
- {
- RobustXamlLoader.Load(this);
- IoCManager.InjectDependencies(this);
- DisableAutomaticallyButton.ToolTip = Loc.GetString("admin-ui-panic-bunker-disable-automatically-tooltip");
- MinAccountAge.OnTextEntered += args => SendMinAccountAge(args.Text);
- MinAccountAge.OnFocusExit += args => SendMinAccountAge(args.Text);
- _minAccountAge = MinAccountAge.Text;
- MinOverallMinutes.OnTextEntered += args => SendMinOverallMinutes(args.Text);
- MinOverallMinutes.OnFocusExit += args => SendMinOverallMinutes(args.Text);
- _minOverallMinutes = MinOverallMinutes.Text;
- }
- private void SendMinAccountAge(string text)
- {
- if (string.IsNullOrWhiteSpace(text) ||
- text == _minAccountAge ||
- !int.TryParse(text, out var minutes))
- {
- return;
- }
- _console.ExecuteCommand($"panicbunker_min_account_age {minutes}");
- }
- private void SendMinOverallMinutes(string text)
- {
- if (string.IsNullOrWhiteSpace(text) ||
- text == _minOverallMinutes ||
- !int.TryParse(text, out var minutes))
- {
- return;
- }
- _console.ExecuteCommand($"panicbunker_min_overall_minutes {minutes}");
- }
- public void UpdateStatus(PanicBunkerStatus status)
- {
- EnabledButton.Pressed = status.Enabled;
- EnabledButton.Text = Loc.GetString(status.Enabled
- ? "admin-ui-panic-bunker-enabled"
- : "admin-ui-panic-bunker-disabled"
- );
- EnabledButton.ModulateSelfOverride = status.Enabled ? Color.Red : null;
- DisableAutomaticallyButton.Pressed = status.DisableWithAdmins;
- EnableAutomaticallyButton.Pressed = status.EnableWithoutAdmins;
- CountDeadminnedButton.Pressed = status.CountDeadminnedAdmins;
- ShowReasonButton.Pressed = status.ShowReason;
- MinAccountAge.Text = status.MinAccountAgeMinutes.ToString();
- _minAccountAge = MinAccountAge.Text;
- MinOverallMinutes.Text = status.MinOverallMinutes.ToString();
- _minOverallMinutes = MinOverallMinutes.Text;
- }
- }
|