CatStation/Content.Client/Access/UI/AgentIDCardWindow.xaml
āda d33e63a5a2
New Agent Id UI (#39769)
* icon group prototype

* prototype v2

* agent id uses groups

* working UI using groups

* UI work, new header

* formatting and misc work

* fix some texture scaling

* aesthetics

* tabs, scrollbar, MinSize

* commit

* commit

* commit

* commit

* Revert "commit"

This reverts commit 8f29ae30c69670c6dc8d5fba3dd6bd98f574830d.

* we're back

* well enough

* Final visuals for the Id (for now)

* code cleaning

* minor cleanup

* self review

* id card system changes

* try index -> resolve

* DisposeAllChildren -> RemoveAllChildren

* fix the id cards

* all pretty

* unneeded

* merge

* Review by Fildrance

* Review by Pok

* fix

* cleanup

* refactor: revert icon setsize changes back to good old '32', made container button be resizable for localization reasons

* jobIconGroup

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-07-18 19:51:36 +00:00

71 lines
4.1 KiB
XML

<controls:FancyWindow xmlns="https://spacestation14.io"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Title="{Loc agent-id-ui-menu-title}"
MinSize="765 398" Resizable="False">
<BoxContainer Orientation="Vertical" Margin="12" VerticalExpand="False">
<!-- Upper area: ID status -->
<BoxContainer Margin="0 0 0 8" MinHeight="80">
<PanelContainer StyleClasses="PanelInsetDark">
<TextureRect Name="CurrentJobIcon" Margin="8 0" Stretch="KeepAspectCentered"
VerticalAlignment="Center" HorizontalAlignment="Center" SetSize="64 64" />
</PanelContainer>
<BoxContainer Margin="12 0" Orientation="Vertical" Align="Center">
<Label Name="CurrentName" StyleClasses="LabelHeadingBigger" SetHeight="32" />
<Label Name="CurrentJob" StyleClasses="LabelSubHeading" Margin="16 4 0 0" />
</BoxContainer>
</BoxContainer>
<!-- Center area: Tabs -->
<PanelContainer StyleClasses="PanelInsetDark" MinHeight="230" VerticalExpand="True">
<BoxContainer Orientation="Vertical">
<TabContainer Name="AgentTabs" Margin="8 8 8 0" VerticalExpand="True" MinHeight="180">
<!-- Settings tab -->
<ScrollContainer Name="TabSettings">
<BoxContainer Margin="8" Orientation="Vertical">
<Label Margin="4 2" Text="{Loc 'agent-id-ui-input-name'}" />
<LineEdit Name="NameLineEdit" SelectAllOnFocus="True" />
<Label Margin="4 2" Text="{Loc 'agent-id-ui-input-job'}" />
<LineEdit Name="JobLineEdit" SelectAllOnFocus="True" />
</BoxContainer>
</ScrollContainer>
<!-- Job icon tab -->
<BoxContainer Name="TabJobIcons" Margin="8">
<BoxContainer>
<GridContainer Name="JobGroupGrid" Columns="3" />
<!-- Group buttons are generated in code -->
</BoxContainer>
<PanelContainer StyleClasses="LowDivider" VerticalExpand="True" />
<PanelContainer StyleClasses="PanelInsetDark" HorizontalExpand="True">
<BoxContainer Margin="8">
<GridContainer Name="IconGrid" Columns="4" />
<!-- Job icon buttons are generated in code -->
</BoxContainer>
</PanelContainer>
</BoxContainer>
<!-- TODO chameleon clothing tab -->
</TabContainer>
<controls:StripeBack Margin="8 -6 8 4" HasBottomEdge="False"> <!-- The negative margin allows the control to be flush with the TabContainer -->
<Label StyleClasses="LabelSubText" Margin="6 2" Text="{Loc 'agent-id-ui-os'}"
VerticalAlignment="Center" />
<Label StyleClasses="LabelSubText" Margin="6 2" Text="{Loc 'agent-id-ui-os-flavor'}"
VerticalAlignment="Center" HorizontalAlignment="Right" />
</controls:StripeBack>
</BoxContainer>
</PanelContainer>
<!-- Footer -->
<BoxContainer Margin="10 2 5 0" VerticalAlignment="Bottom">
<Label Text="{Loc 'agent-id-ui-footer-flavor-left'}" StyleClasses="WindowFooterText" />
<Label Text="{Loc 'agent-id-ui-footer-flavor-right'}" StyleClasses="WindowFooterText"
HorizontalAlignment="Right" HorizontalExpand="True" Margin="0 0 5 0" />
<TextureRect StyleClasses="NTLogoDark" Stretch="KeepAspectCentered"
VerticalAlignment="Center" HorizontalAlignment="Right" SetSize="19 19" />
</BoxContainer>
</BoxContainer>
</controls:FancyWindow>