Files
crystall-punk-14/Content.Client/_CP14/Discord/DiscordAuthGui.xaml.cs
2025-04-15 22:50:08 +03:00

53 lines
1.5 KiB
C#

using Robust.Client.AutoGenerated;
using Robust.Client.Console;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client._CP14.Discord;
[GenerateTypedNameReferences]
public sealed partial class DiscordAuthGui : Control
{
[Dependency] private readonly IClientConsoleHost _consoleHost = default!;
[Dependency] private readonly DiscordAuthManager _discordAuthManager = default!;
private const string DiscordLink = "https://discord.com/invite/Sud2DMfhCC"; //TODO: Unhardcode
public DiscordAuthGui()
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide);
var link = _discordAuthManager.AuthUrl;
var errorMessage = _discordAuthManager.ErrorMessage;
AuthLinkEdit.SetText(link);
DLinkEdit.SetText(DiscordLink);
InfoLabel.SetMessage(Loc.GetString("cp14-discord-info"));
var uriOpener = IoCManager.Resolve<IUriOpener>();
QuitButton.OnPressed += _ =>
{
_consoleHost.ExecuteCommand("quit");
};
AuthorizeButton.OnPressed += _ =>
{
uriOpener.OpenUri(link);
};
DiscordButton.OnPressed += _ =>
{
uriOpener.OpenUri(DiscordLink);
};
if (errorMessage != "")
{
InfoLabel.Text = errorMessage;
}
}
}