From 8e683860c346bf2c4b0f182f6d41db738a8eca6d Mon Sep 17 00:00:00 2001 From: RavMorgan <48182970+RavMorgan@users.noreply.github.com> Date: Wed, 6 Sep 2023 20:58:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=D0=BA?= =?UTF-8?q?=D0=B0,=20=D1=83=20=D0=BD=D0=B0=D1=81=20=D1=82=D0=B5=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D1=8C=20=D0=BD=D0=B5=20=D1=81=D1=82=D1=80=D0=B0?= =?UTF-8?q?=D1=88=D0=BD=D0=BE=20(#368)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mona Hmiza <> --- Content.Client/Info/LinkBanner.cs | 3 ++ Content.Client/White/Stalin/StalinManager.cs | 15 ++++++++-- .../Stalin/StalinUi/StalinLinkWindow.xaml | 15 ++++++++++ .../Stalin/StalinUi/StalinLinkWindow.xaml.cs | 29 +++++++++++++++++++ 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml create mode 100644 Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml.cs diff --git a/Content.Client/Info/LinkBanner.cs b/Content.Client/Info/LinkBanner.cs index 6439f32030..00db424c23 100644 --- a/Content.Client/Info/LinkBanner.cs +++ b/Content.Client/Info/LinkBanner.cs @@ -1,12 +1,15 @@ using Content.Client.Changelog; +using Content.Client.UserInterface.Controls; using Content.Client.UserInterface.Systems.EscapeMenu; using Content.Client.UserInterface.Systems.Guidebook; using Content.Client.White.Stalin; +using Content.Client.White.Stalin.StalinUi; using Content.Shared.CCVar; using Robust.Client.UserInterface; using Robust.Client.UserInterface.Controls; using Robust.Shared.Collections; using Robust.Shared.Configuration; +using Robust.Shared.Utility; namespace Content.Client.Info { diff --git a/Content.Client/White/Stalin/StalinManager.cs b/Content.Client/White/Stalin/StalinManager.cs index 53e85f5711..e05b3e72b1 100644 --- a/Content.Client/White/Stalin/StalinManager.cs +++ b/Content.Client/White/Stalin/StalinManager.cs @@ -1,6 +1,10 @@ -using Content.Shared.White.SaltedYayca; +using Content.Client.UserInterface.Controls; +using Content.Client.White.Stalin.StalinUi; +using Content.Shared.White.SaltedYayca; using Robust.Client.UserInterface; +using Robust.Client.UserInterface.Controls; using Robust.Shared.Network; +using Robust.Shared.Utility; namespace Content.Client.White.Stalin; @@ -8,6 +12,7 @@ public sealed class StalinManager { [Dependency] private readonly INetManager _netManager = default!; [Dependency] private readonly IUriOpener _uriOpener = default!; + private StalinLinkWindow _stalinLinkWindow = null!; public void Initialize() { @@ -21,6 +26,12 @@ public sealed class StalinManager private void OnStalinResponse(DiscordAuthResponse message) { - _uriOpener.OpenUri(message.Uri); + if (_stalinLinkWindow != null) + { + _stalinLinkWindow.Close(); + } + _stalinLinkWindow = new StalinLinkWindow(); + _stalinLinkWindow.SetUri(message.Uri); + _stalinLinkWindow.OpenCentered(); } } diff --git a/Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml b/Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml new file mode 100644 index 0000000000..c8dce11382 --- /dev/null +++ b/Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml.cs b/Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml.cs new file mode 100644 index 0000000000..b5ff00945c --- /dev/null +++ b/Content.Client/White/Stalin/StalinUi/StalinLinkWindow.xaml.cs @@ -0,0 +1,29 @@ +using Content.Client.UserInterface.Controls; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Utility; + +namespace Content.Client.White.Stalin.StalinUi; + +[GenerateTypedNameReferences] +public sealed partial class StalinLinkWindow : FancyWindow +{ + [Dependency] private readonly IUriOpener _uriOpener = default!; + + public StalinLinkWindow() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + } + + public void SetUri(string uri) + { + OpenInBrowserButton.OnPressed += args => + { + _uriOpener.OpenUri(uri); + }; + + StalinLinkText.Text = uri; + } +}