Сообщения в ПДА 2 (#583)
* add: AdminLog * tweak: clean up * fix: Changeling -> Network * add: сортировка сообщений * fix: ТексТ
This commit is contained in:
@@ -23,6 +23,7 @@ using Content.Shared._White;
|
||||
using Content.Shared._White.Cult.Components;
|
||||
using Content.Shared._White.Utils;
|
||||
using Content.Shared._White.Cult.Systems;
|
||||
using Content.Shared._White.Radio;
|
||||
using Robust.Client.Graphics;
|
||||
using Robust.Client.Input;
|
||||
using Robust.Client.Player;
|
||||
@@ -575,6 +576,12 @@ public sealed class ChatUIController : UIController
|
||||
FilterableChannels |= ChatChannel.Changeling;
|
||||
CanSendChannels |= ChatSelectChannel.Changeling;
|
||||
}
|
||||
|
||||
if (_entities.HasComponent<NetworkChatComponent>(localEnt))
|
||||
{
|
||||
FilterableChannels |= ChatChannel.Network;
|
||||
CanSendChannels |= ChatSelectChannel.Network;
|
||||
}
|
||||
// WD EDIT END
|
||||
|
||||
SelectableChannels = CanSendChannels;
|
||||
|
||||
@@ -24,8 +24,11 @@ public sealed partial class ChannelFilterPopup : Popup
|
||||
ChatChannel.AdminAlert,
|
||||
ChatChannel.AdminChat,
|
||||
ChatChannel.Server,
|
||||
// WD EDIT START
|
||||
ChatChannel.Changeling,
|
||||
ChatChannel.Cult // WD EDIT
|
||||
ChatChannel.Cult,
|
||||
ChatChannel.Network
|
||||
// WD EDIT END
|
||||
};
|
||||
|
||||
private readonly Dictionary<ChatChannel, ChannelFilterCheckbox> _filterStates = new();
|
||||
|
||||
@@ -26,7 +26,7 @@ public sealed partial class MessagesUi : UIFragment
|
||||
if (state is not MessagesUiState messagesState)
|
||||
return;
|
||||
|
||||
_fragment.UpdateState(messagesState.Mode, messagesState.Contents, messagesState.Name);
|
||||
_fragment.UpdateState(messagesState.Mode, messagesState.Users, messagesState.Messages, messagesState.Name);
|
||||
}
|
||||
|
||||
private void SendMessagesMessage(MessagesUiAction action, string? stringInput, int? uidInput, BoundUserInterface userInterface)
|
||||
|
||||
@@ -29,10 +29,10 @@ public sealed partial class MessagesUiFragment : BoxContainer
|
||||
BackButton.OnPressed += _ => OnButtonPressed?.Invoke(null);
|
||||
SearchBar.OnTextChanged += OnSearchTextChanged;
|
||||
|
||||
UpdateState(MessagesUiStateMode.UserList, [], null);
|
||||
UpdateState(MessagesUiStateMode.UserList, [], [], null);
|
||||
}
|
||||
|
||||
public void UpdateState(MessagesUiStateMode mode, List<(MessagesUser, int?)>? contents, string? name)
|
||||
public void UpdateState(MessagesUiStateMode mode, List<(MessagesUserData, int?)>? users, List<(string, int?)>? messages, string? name)
|
||||
{
|
||||
MessageContainer.DisposeAllChildren();
|
||||
Input.Orphan();
|
||||
@@ -40,16 +40,13 @@ public sealed partial class MessagesUiFragment : BoxContainer
|
||||
|
||||
SearchBar.Visible = false;
|
||||
|
||||
if (contents == null)
|
||||
return;
|
||||
|
||||
if (mode == MessagesUiStateMode.Chat)
|
||||
if (mode == MessagesUiStateMode.Chat && messages != null)
|
||||
{
|
||||
HeaderLabel.Text = name;
|
||||
|
||||
foreach (var (senderName, message) in contents)
|
||||
foreach (var (senderName, message) in messages)
|
||||
{
|
||||
AddNote($"{senderName.Name} {message}");
|
||||
AddNote($"{senderName} {message}");
|
||||
}
|
||||
|
||||
OverContainer.AddChild(Input);
|
||||
@@ -61,11 +58,11 @@ public sealed partial class MessagesUiFragment : BoxContainer
|
||||
HeaderLabel.Text = Loc.GetString("messages-pda-error-header");
|
||||
AddNote(Loc.GetString("messages-pda-error-message"));
|
||||
}
|
||||
else
|
||||
else if (mode == MessagesUiStateMode.UserList && users != null)
|
||||
{
|
||||
SearchBar.Visible = true;
|
||||
HeaderLabel.Text = Loc.GetString("messages-pda-chat-choice");
|
||||
foreach (var (messagesUser, userUid) in contents)
|
||||
foreach (var (messagesUser, userUid) in users)
|
||||
{
|
||||
AddButton(userUid, messagesUser.Name + ", " + messagesUser.Job, messagesUser.Department);
|
||||
}
|
||||
@@ -123,7 +120,6 @@ public sealed partial class MessagesUiFragment : BoxContainer
|
||||
_searchText = args.Text;
|
||||
|
||||
UpdateVisibleButtons();
|
||||
// Reset scroll bar so they can see the relevant results.
|
||||
MessagesScroll.SetScrollValue(Vector2.Zero);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user