diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskCartridgeSystem.cs b/Content.Client/CartridgeLoader/Cartridges/NanoTaskCartridgeSystem.cs new file mode 100644 index 0000000000..85a5659c4b --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskCartridgeSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared.CartridgeLoader.Cartridges; + +namespace Content.Client.CartridgeLoader.Cartridges; + +public sealed class NanoTaskCartridgeSystem : SharedNanoTaskCartridgeSystem; diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml new file mode 100644 index 0000000000..7d7c635de8 --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml @@ -0,0 +1,32 @@ + + + + + + diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml.cs b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml.cs new file mode 100644 index 0000000000..5edbee9d44 --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemControl.xaml.cs @@ -0,0 +1,33 @@ +using Robust.Client.AutoGenerated; +using Robust.Client.Graphics; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Maths; +using Content.Shared.CartridgeLoader.Cartridges; + +namespace Content.Client.CartridgeLoader.Cartridges; + +/// +/// Represents a single control for a single NanoTask item +/// +[GenerateTypedNameReferences] +public sealed partial class NanoTaskItemControl : Control +{ + public Action? OnMainPressed; + public Action? OnDonePressed; + + public NanoTaskItemControl(NanoTaskItemAndId item) + { + RobustXamlLoader.Load(this); + + TaskLabel.Text = item.Data.Description; + TaskLabel.FontColorOverride = Color.White; + TaskForLabel.Text = item.Data.TaskIsFor; + + MainButton.OnPressed += _ => OnMainPressed?.Invoke(item.Id); + DoneButton.OnPressed += _ => OnDonePressed?.Invoke(item.Id); + + MainButton.Disabled = item.Data.IsTaskDone; + DoneButton.Text = item.Data.IsTaskDone ? Loc.GetString("nano-task-ui-revert-done") : Loc.GetString("nano-task-ui-done"); + } +} diff --git a/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemPopup.xaml b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemPopup.xaml new file mode 100644 index 0000000000..ad72df05d9 --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NanoTaskItemPopup.xaml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + +