diff --git a/Content.Client/Administration/UI/AdminRemarks/AdminMessageEui.cs b/Content.Client/Administration/UI/AdminRemarks/AdminMessageEui.cs new file mode 100644 index 00000000000..06eace118d7 --- /dev/null +++ b/Content.Client/Administration/UI/AdminRemarks/AdminMessageEui.cs @@ -0,0 +1,38 @@ +using Content.Client.Eui; +using Content.Shared.Administration.Notes; +using Content.Shared.Eui; +using JetBrains.Annotations; +using static Content.Shared.Administration.Notes.AdminMessageEuiMsg; + +namespace Content.Client.Administration.UI.AdminRemarks; + +[UsedImplicitly] +public sealed class AdminMessageEui : BaseEui +{ + private readonly AdminMessagePopupWindow _popup; + + public AdminMessageEui() + { + _popup = new AdminMessagePopupWindow(); + _popup.OnAcceptPressed += () => SendMessage(new Accept()); + _popup.OnDismissPressed += () => SendMessage(new Dismiss()); + _popup.OnClose += () => SendMessage(new CloseEuiMessage()); + } + + public override void HandleState(EuiStateBase state) + { + if (state is not AdminMessageEuiState s) + { + return; + } + + _popup.SetMessage(s.Message); + _popup.SetDetails(s.AdminName, s.AddedOn); + _popup.Timer = s.Time; + } + + public override void Opened() + { + _popup.OpenCentered(); + } +} diff --git a/Content.Client/Administration/UI/AdminRemarks/AdminMessagePopupWindow.xaml b/Content.Client/Administration/UI/AdminRemarks/AdminMessagePopupWindow.xaml new file mode 100644 index 00000000000..eac7e37a86d --- /dev/null +++ b/Content.Client/Administration/UI/AdminRemarks/AdminMessagePopupWindow.xaml @@ -0,0 +1,26 @@ + + + + + + + +