Сообщения в ПДА 2 (#583)

* add: AdminLog

* tweak: clean up

* fix: Changeling -> Network

* add: сортировка сообщений

* fix: ТексТ
This commit is contained in:
Spatison
2024-08-08 13:20:06 +03:00
committed by GitHub
parent abf435b11d
commit cced3cc98b
19 changed files with 195 additions and 136 deletions

View File

@@ -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)

View File

@@ -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);
}
}