53 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|