forked from Nyanotrasen/Nyanotrasen
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request Nyanotrasen#1709 from Vordenburg/cherrypick-2023-0…
…7-21 Cherrypick 2023-07-21
- Loading branch information
Showing
270 changed files
with
11,870 additions
and
2,088 deletions.
There are no files selected for viewing
38 changes: 38 additions & 0 deletions
38
Content.Client/Administration/UI/AdminRemarks/AdminMessageEui.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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(); | ||
} | ||
} |
26 changes: 26 additions & 0 deletions
26
Content.Client/Administration/UI/AdminRemarks/AdminMessagePopupWindow.xaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<ui:FancyWindow xmlns="https://spacestation14.io" | ||
xmlns:ui="clr-namespace:Content.Client.UserInterface.Controls" | ||
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client" | ||
VerticalExpand="True" HorizontalExpand="True" | ||
Title="{Loc admin-notes-message-window-title}" | ||
MinSize="600 170"> | ||
<PanelContainer VerticalExpand="True" HorizontalExpand="True"> | ||
<PanelContainer.PanelOverride> | ||
<graphics:StyleBoxFlat BackgroundColor="#25252A" /> | ||
</PanelContainer.PanelOverride> | ||
<ScrollContainer HScrollEnabled="False" VerticalExpand="True" HorizontalExpand="True" Margin="4"> | ||
<BoxContainer Orientation="Vertical" SeparationOverride="10" VerticalAlignment="Bottom"> | ||
<Label Name="AdminLabel" Text="Loading..." /> | ||
<RichTextLabel Name="MessageLabel" /> | ||
<Label Name="WaitLabel" /> | ||
<BoxContainer Orientation="Horizontal"> | ||
<Button Name="DismissButton" | ||
Text="{Loc 'admin-notes-message-dismiss'}" /> | ||
<Button Name="AcceptButton" | ||
Text="{Loc 'admin-notes-message-accept'}" | ||
Disabled="True" /> | ||
</BoxContainer> | ||
</BoxContainer> | ||
</ScrollContainer> | ||
</PanelContainer> | ||
</ui:FancyWindow> |
75 changes: 75 additions & 0 deletions
75
Content.Client/Administration/UI/AdminRemarks/AdminMessagePopupWindow.xaml.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
using Content.Client.UserInterface.Controls; | ||
using Robust.Client.AutoGenerated; | ||
using Robust.Client.UserInterface.Controls; | ||
using Robust.Client.UserInterface.XAML; | ||
using Robust.Shared.Timing; | ||
|
||
namespace Content.Client.Administration.UI.AdminRemarks; | ||
|
||
[GenerateTypedNameReferences] | ||
public sealed partial class AdminMessagePopupWindow : FancyWindow | ||
{ | ||
private float _timer = float.MaxValue; | ||
public float Timer | ||
{ | ||
get => _timer; | ||
set | ||
{ | ||
WaitLabel.Text = Loc.GetString("admin-notes-message-wait", ("time", MathF.Floor(value))); | ||
_timer = value; | ||
} | ||
} | ||
|
||
public event Action? OnDismissPressed; | ||
public event Action? OnAcceptPressed; | ||
|
||
public AdminMessagePopupWindow() | ||
{ | ||
RobustXamlLoader.Load(this); | ||
|
||
AcceptButton.OnPressed += OnAcceptButtonPressed; | ||
DismissButton.OnPressed += OnDismissButtonPressed; | ||
} | ||
|
||
public void SetMessage(string message) | ||
{ | ||
MessageLabel.SetMessage(message); | ||
} | ||
|
||
public void SetDetails(string adminName, DateTime addedOn) | ||
{ | ||
AdminLabel.Text = Loc.GetString("admin-notes-message-admin", ("admin", adminName), ("date", addedOn)); | ||
} | ||
|
||
private void OnDismissButtonPressed(BaseButton.ButtonEventArgs obj) | ||
{ | ||
OnDismissPressed?.Invoke(); | ||
Close(); | ||
} | ||
|
||
private void OnAcceptButtonPressed(BaseButton.ButtonEventArgs obj) | ||
{ | ||
OnAcceptPressed?.Invoke(); | ||
Close(); | ||
} | ||
|
||
protected override void FrameUpdate(FrameEventArgs args) | ||
{ | ||
base.FrameUpdate(args); | ||
|
||
if (!AcceptButton.Disabled) | ||
return; | ||
|
||
if (Timer > 0.0) | ||
{ | ||
if (Timer - args.DeltaSeconds < 0) | ||
Timer = 0; | ||
else | ||
Timer -= args.DeltaSeconds; | ||
} | ||
else | ||
{ | ||
AcceptButton.Disabled = false; | ||
} | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
Content.Client/Administration/UI/AdminRemarks/AdminRemarksWindow.xaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<ui:FancyWindow xmlns="https://spacestation14.io" | ||
xmlns:ui="clr-namespace:Content.Client.UserInterface.Controls" | ||
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client" | ||
VerticalExpand="True" HorizontalExpand="True" | ||
Title="{Loc admin-remarks-title}" | ||
SetSize="600 400"> | ||
<PanelContainer> | ||
<PanelContainer.PanelOverride> | ||
<graphics:StyleBoxFlat BackgroundColor="#25252A" /> | ||
</PanelContainer.PanelOverride> | ||
<BoxContainer Orientation="Vertical" Margin="4"> | ||
<ScrollContainer VerticalExpand="True" HorizontalExpand="True" HScrollEnabled="False"> | ||
<BoxContainer Orientation="Vertical" Name="NotesContainer" Access="Public" VerticalExpand="True" /> | ||
</ScrollContainer> | ||
</BoxContainer> | ||
</PanelContainer> | ||
</ui:FancyWindow> |
49 changes: 49 additions & 0 deletions
49
Content.Client/Administration/UI/AdminRemarks/AdminRemarksWindow.xaml.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
using System.Linq; | ||
using Content.Client.Administration.UI.Notes; | ||
using Content.Client.UserInterface.Controls; | ||
using Content.Shared.Administration.Notes; | ||
using Content.Shared.Database; | ||
using Robust.Client.AutoGenerated; | ||
using Robust.Client.GameObjects; | ||
using Robust.Client.UserInterface.XAML; | ||
|
||
namespace Content.Client.Administration.UI.AdminRemarks; | ||
|
||
[GenerateTypedNameReferences] | ||
public sealed partial class AdminRemarksWindow : FancyWindow | ||
{ | ||
[Dependency] private readonly IEntitySystemManager _entitySystem = default!; | ||
private readonly SpriteSystem _sprites; | ||
private readonly Dictionary<(int, NoteType), AdminNotesLine> _inputs = new(); | ||
|
||
public AdminRemarksWindow() | ||
{ | ||
RobustXamlLoader.Load(this); | ||
IoCManager.InjectDependencies(this); | ||
_sprites = _entitySystem.GetEntitySystem<SpriteSystem>(); | ||
} | ||
|
||
public void SetNotes(Dictionary<(int, NoteType), SharedAdminNote> notes) | ||
{ | ||
foreach (var (id, input) in _inputs) | ||
{ | ||
if (notes.ContainsKey(id)) | ||
continue; | ||
NotesContainer.RemoveChild(input); | ||
_inputs.Remove(id); | ||
} | ||
|
||
foreach (var note in notes.Values.OrderByDescending(note => note.CreatedAt)) | ||
{ | ||
if (_inputs.TryGetValue((note.Id, note.NoteType), out var input)) | ||
{ | ||
input.UpdateNote(note); | ||
continue; | ||
} | ||
|
||
input = new AdminNotesLine(_sprites, note); | ||
NotesContainer.AddChild(input); | ||
_inputs[(note.Id, note.NoteType)] = input; | ||
} | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
Content.Client/Administration/UI/AdminRemarks/UserNotesEui.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
using Content.Client.Administration.UI.Notes; | ||
using Content.Client.Eui; | ||
using Content.Shared.Administration.Notes; | ||
using Content.Shared.Eui; | ||
using JetBrains.Annotations; | ||
|
||
namespace Content.Client.Administration.UI.AdminRemarks; | ||
|
||
[UsedImplicitly] | ||
public sealed class UserNotesEui : BaseEui | ||
{ | ||
public UserNotesEui() | ||
{ | ||
NoteWindow = new AdminRemarksWindow(); | ||
NoteWindow.OnClose += () => SendMessage(new CloseEuiMessage()); | ||
} | ||
|
||
private AdminRemarksWindow NoteWindow { get; } | ||
|
||
public override void HandleState(EuiStateBase state) | ||
{ | ||
if (state is not UserNotesEuiState s) | ||
{ | ||
return; | ||
} | ||
|
||
NoteWindow.SetNotes(s.Notes); | ||
} | ||
|
||
public override void Opened() | ||
{ | ||
NoteWindow.OpenCentered(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
<DefaultWindow | ||
xmlns="https://spacestation14.io" | ||
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls" | ||
Title="{Loc ban-panel-title}" MinSize="350 500"> | ||
<BoxContainer Orientation="Vertical"> | ||
<TabContainer Name="Tabs" VerticalExpand="True"> | ||
<!-- Basic info --> | ||
<BoxContainer Orientation="Vertical" HorizontalExpand="True"> | ||
<BoxContainer Orientation="Horizontal" Margin="2"> | ||
<CheckBox Name="PlayerCheckbox" MinWidth="100" Text="{Loc ban-panel-player}" Pressed="True" /> | ||
<Control MinWidth="50" /> | ||
<LineEdit Name="PlayerNameLine" MinWidth="100" HorizontalExpand="True" PlaceHolder="{Loc ban-panel-player}" /> | ||
</BoxContainer> | ||
<BoxContainer Orientation="Horizontal" Margin="2"> | ||
<CheckBox Name="IpCheckbox" MinWidth="100" Text="{Loc ban-panel-ip}" Pressed="False" /> | ||
<Control MinWidth="50" /> | ||
<LineEdit Name="IpLine" MinWidth="100" HorizontalExpand="True" PlaceHolder="{Loc ban-panel-ip}" ToolTip="{Loc ban-panel-ip-hwid-tooltip}" Editable="False" /> | ||
</BoxContainer> | ||
<BoxContainer Orientation="Horizontal" Margin="2"> | ||
<CheckBox Name="HwidCheckbox" MinWidth="100" Text="{Loc ban-panel-hwid}" Pressed="True" /> | ||
<Control MinWidth="50" /> | ||
<LineEdit Name="HwidLine" MinWidth="100" HorizontalExpand="True" PlaceHolder="{Loc ban-panel-hwid}" ToolTip="{Loc ban-panel-ip-hwid-tooltip}" /> | ||
</BoxContainer> | ||
<CheckBox Name="LastConnCheckbox" Margin="2" Text="{Loc ban-panel-last-conn}" Pressed="True" /> | ||
<BoxContainer Orientation="Horizontal" Margin="2"> | ||
<LineEdit Name="TimeLine" MaxWidth="150" MinWidth="70" PlaceHolder="0" /> | ||
<OptionButton Name="MultiplierOption" /> | ||
<Control MinWidth="50" /> | ||
<Label Name="ExpiresLabel" /> | ||
</BoxContainer> | ||
<BoxContainer Orientation="Horizontal" Margin="4"> | ||
<OptionButton Name="TypeOption" /> | ||
<Control MinWidth="30"></Control> | ||
<Label Text="{Loc ban-panel-severity}" /> | ||
<OptionButton Name="SeverityOption" /> | ||
</BoxContainer> | ||
<cc:HSeparator Margin="1"/> | ||
<TextEdit Name="ReasonTextEdit" MinHeight="100" VerticalExpand="True" HorizontalExpand="True" /> | ||
</BoxContainer> | ||
<!-- Player List --> | ||
<cc:PlayerListControl Name="PlayerList" VerticalExpand="True" /> | ||
<!-- Role list (auto-generated) --> | ||
<ScrollContainer> | ||
<BoxContainer Name="RolesContainer" Orientation="Vertical" /> | ||
</ScrollContainer> | ||
</TabContainer> | ||
<Button Name="SubmitButton" Text="{Loc ban-panel-submit}" HorizontalExpand="True" /> | ||
</BoxContainer> | ||
</DefaultWindow> |
Oops, something went wrong.