diff --git a/Content.Client/Holopad/HolopadWindow.xaml b/Content.Client/Holopad/HolopadWindow.xaml
index 9c3dfab1ea6..882f918158a 100644
--- a/Content.Client/Holopad/HolopadWindow.xaml
+++ b/Content.Client/Holopad/HolopadWindow.xaml
@@ -27,7 +27,11 @@
-
+
+
+
+
+
@@ -68,18 +72,25 @@
-
+
-
+
+
+
+
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/Content.Client/Holopad/HolopadWindow.xaml.cs b/Content.Client/Holopad/HolopadWindow.xaml.cs
index bcab0d43df1..25982b901c2 100644
--- a/Content.Client/Holopad/HolopadWindow.xaml.cs
+++ b/Content.Client/Holopad/HolopadWindow.xaml.cs
@@ -171,8 +171,10 @@ public void UpdateState(Dictionary holopads)
// Caller ID text
var callerId = _telephoneSystem.GetFormattedCallerIdForEntity(telephone.LastCallerId.Item1, telephone.LastCallerId.Item2, Color.LightGray, "Default", 11);
+ var holoapdId = _telephoneSystem.GetFormattedDeviceIdForEntity(telephone.LastCallerId.Item3, Color.LightGray, "Default", 11);
CallerIdText.SetMessage(FormattedMessage.FromMarkupOrThrow(callerId));
+ HolopadIdText.SetMessage(FormattedMessage.FromMarkupOrThrow(holoapdId));
LockOutIdText.SetMessage(FormattedMessage.FromMarkupOrThrow(callerId));
// Sort holopads alphabetically
@@ -236,10 +238,13 @@ private void UpdateAppearance()
// Make / update required children
foreach (var child in ContactsList.Children)
{
- if (child is not HolopadContactButton)
+ if (child is not HolopadContactButton contactButton)
continue;
- var contactButton = (HolopadContactButton)child;
+ var passesFilter = string.IsNullOrEmpty(SearchLineEdit.Text) ||
+ contactButton.Text?.Contains(SearchLineEdit.Text, StringComparison.CurrentCultureIgnoreCase) == true;
+
+ contactButton.Visible = passesFilter;
contactButton.Disabled = (_currentState != TelephoneState.Idle || lockButtons);
}
@@ -290,7 +295,7 @@ private void UpdateAppearance()
FetchingAvailableHolopadsContainer.Visible = (ContactsList.ChildCount == 0);
ActiveCallControlsContainer.Visible = (_currentState != TelephoneState.Idle || _currentUiKey == HolopadUiKey.AiRequestWindow);
CallPlacementControlsContainer.Visible = !ActiveCallControlsContainer.Visible;
- CallerIdText.Visible = (_currentState == TelephoneState.Ringing);
+ CallerIdContainer.Visible = (_currentState == TelephoneState.Ringing);
AnswerCallButton.Visible = (_currentState == TelephoneState.Ringing);
}
@@ -316,6 +321,7 @@ public HolopadContactButton()
HorizontalExpand = true;
SetHeight = 32;
Margin = new Thickness(0f, 1f, 0f, 1f);
+ ReservesSpace = false;
}
public void UpdateValues(NetEntity netEntity, string label)
diff --git a/Content.Client/Stylesheets/StyleNano.cs b/Content.Client/Stylesheets/StyleNano.cs
index d8042897036..3ddfd10fae0 100644
--- a/Content.Client/Stylesheets/StyleNano.cs
+++ b/Content.Client/Stylesheets/StyleNano.cs
@@ -163,6 +163,7 @@ public sealed class StyleNano : StyleBase
public const string StyleClassCrossButtonRed = "CrossButtonRed";
public const string StyleClassButtonColorRed = "ButtonColorRed";
public const string StyleClassButtonColorGreen = "ButtonColorGreen";
+ public const string StyleClassNoStyle = "NoStyle"; // Sunrise-Edit
public static readonly Color ChatBackgroundColor = Color.FromHex("#25252ADD");
@@ -1722,7 +1723,19 @@ public StyleNano(IResourceCache resCache) : base(resCache)
new[]
{
new StyleProperty(TextureButton.StylePropertyTexture, resCache.GetTexture("/Textures/Interface/Bwoink/un_pinned.png"))
- })
+ }),
+ // Sunrise-Edit
+
+ Element