Files
wwdpublic/Content.Client/_Goobstation/Administration/UI/TimeTransferPanel/TimeTransferPanel.xaml
John Willis 09ac2233f6 [Port] Add Time Transfer Panel From Goobstation (#1429)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description
This adds the Time Transfer Panel that Goobstation uses. This panel
enables Admins to do Time Transfers without commands and makes their
lives easier. This immediately has access to all playtime trackers and
allows an Admin to Add Time and/or Set Time (overwriting the previous
time) for any job role. It also enables extra strings since I ported
from Wizden upstream as well, which can be seen in the commit history.

A thing of note when testing this and using it in a server: the times
**DO NOT UPDATE** for Client until your **RELOG**. This is how it works
on Goobstation as well. The time adding process is faster and will be
easier tool.

This is tied to the AdminFlags.Admin so it can be customized on a
per-server basis if a custom flag is added.

---

# TODO
- [x] Port Upstream Role Define.
- [x] Port string extras for playtime commands.
- [x] Port Time Transfer Panel
- [x] Remove Overall (it just doesn't work on Goob either).

---

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/e9a50f41-9440-474b-b06f-a4387f12ae0b)

![image](https://github.com/user-attachments/assets/31dc2f1e-f1be-4489-bd6f-9390dfee4e72)

![image](https://github.com/user-attachments/assets/f2507f9a-f4a6-4d64-b554-e648e87ff16f)

![image](https://github.com/user-attachments/assets/724fa5c7-9abf-43e0-9eb0-af4484d00f03)

![image](https://github.com/user-attachments/assets/127e6a39-d0e8-426e-95d7-13f46ca40e17)

![image](https://github.com/user-attachments/assets/3856780a-75ca-4804-8832-1b8eed0be8d2)

![image](https://github.com/user-attachments/assets/eb9b9e88-c6fe-4755-a244-6af5b06acb54)

![image](https://github.com/user-attachments/assets/d0960206-2501-4afa-b030-e00ff0a44c01)

![image](https://github.com/user-attachments/assets/891df87e-d8c4-4c6d-a599-9706d592770e)

</p>
</details>

---

# Changelog
🆑
ADMIN:
- add: Add Time Transfer Panel

---------

Co-authored-by: BombasterDS <115770678+BombasterDS@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: flyingkarii <123355664+flyingkarii@users.noreply.github.com>
(cherry picked from commit a05bbce7491677a27656fd67ee72fb8dbdb4c53c)
2025-01-14 01:44:01 +03:00

45 lines
2.4 KiB
XML

<DefaultWindow xmlns="https://spacestation14.io"
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
Title="{Loc time-transfer-panel-title}"
MinWidth="500">
<BoxContainer Orientation="Vertical" VerticalExpand = "True">
<BoxContainer Orientation="Horizontal" Margin="2">
<Label Name="PlayerLabel" Text="{Loc time-transfer-panel-player-label}" MinWidth = "120"/>
<Control MinWidth ="10"/>
<LineEdit Name="PlayerLine" PlaceHolder="PlayerUid" HorizontalExpand="True" />
</BoxContainer>
<BoxContainer Orientation="Horizontal" Margin="2">
<CheckBox Name="GroupCheckbox" Text="{Loc time-transfer-panel-checkbox-group}" MinWidth = "120"/>
<Control MinWidth ="10"/>
<LineEdit Name="GroupTimeLine" PlaceHolder="0h0m" HorizontalExpand="True" />
</BoxContainer>
<Control MinHeight="5"/>
<LineEdit Name="JobSearch" Access="Public" StyleClasses="actionSearchBox" HorizontalExpand="True" PlaceHolder="{Loc time-transfer-panel-search-placeholder}"/>
<Control MinHeight="10"/>
<PanelContainer VerticalExpand="True">
<PanelContainer.PanelOverride>
<gfx:StyleBoxFlat BackgroundColor="#1b1b1e" />
</PanelContainer.PanelOverride>
<ScrollContainer HScrollEnabled="False"
HorizontalExpand="True"
VerticalExpand="True"
MinHeight="400"
SizeFlagsStretchRatio="2.5">
<BoxContainer Name ="JobContainer" Orientation="Vertical"/>
</ScrollContainer>
</PanelContainer>
<Control MinHeight="10" />
<controls:StripeBack>
<Label Name="WarningLabel" Text=" " HorizontalAlignment="Center" Margin="4 4 0 4"/>
</controls:StripeBack>
<Control MinHeight="10" />
<Button Name="AddTimeButton" Text="{Loc time-transfer-panel-add-time}"/>
<Button Name="SetTimeButton" Text="{Loc time-transfer-panel-set-time}"/>
<BoxContainer Orientation="Horizontal" Margin="0 4 0 0">
<Label Text="{Loc time-transfer-panel-author}" StyleClasses="LabelSubText"/>
</BoxContainer>
</BoxContainer>
</DefaultWindow>