mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 16:25:17 +00:00
Add support for server conversation message
This commit is contained in:
@ -8,6 +8,7 @@ import 'package:comunic/lists/users_list.dart';
|
||||
import 'package:comunic/models/conversation_message.dart';
|
||||
import 'package:comunic/models/new_conversation_message.dart';
|
||||
import 'package:comunic/ui/tiles/conversation_message_tile.dart';
|
||||
import 'package:comunic/ui/tiles/server_conversation_message_tile.dart';
|
||||
import 'package:comunic/ui/widgets/safe_state.dart';
|
||||
import 'package:comunic/ui/widgets/scroll_watcher.dart';
|
||||
import 'package:comunic/utils/files_utils.dart';
|
||||
@ -134,7 +135,7 @@ class _ConversationScreenState extends SafeState<ConversationScreen> {
|
||||
|
||||
await _applyNewMessages(messages);
|
||||
} catch (e, s) {
|
||||
print("Failed to load messages! $e => $s");
|
||||
debugPrint("Failed to load messages! $e => $s", wrapWidth: 4096);
|
||||
_errorLoading();
|
||||
}
|
||||
}
|
||||
@ -178,7 +179,7 @@ class _ConversationScreenState extends SafeState<ConversationScreen> {
|
||||
|
||||
//Then get information about users
|
||||
final usersToGet =
|
||||
findMissingFromList(_usersInfo.usersID, messages.getUsersID()).toSet();
|
||||
findMissingFromSet(_usersInfo.usersID.toSet(), messages.getUsersID());
|
||||
|
||||
final users = await _usersHelper.getList(usersToGet);
|
||||
|
||||
@ -314,14 +315,19 @@ class _ConversationScreenState extends SafeState<ConversationScreen> {
|
||||
reverse: true,
|
||||
itemCount: _messages.length,
|
||||
itemBuilder: (c, i) {
|
||||
return ConversationMessageTile(
|
||||
message: _messages.elementAt(i),
|
||||
userInfo: _usersInfo.getUser(_messages[i].userID),
|
||||
isLastMessage: _isLastMessage(i),
|
||||
isFirstMessage: _isFirstMessage(i),
|
||||
onRequestMessageUpdate: _updateMessage,
|
||||
onRequestMessageDelete: _deleteMessage,
|
||||
);
|
||||
return _messages[i].isServerMessage
|
||||
? ServerConversationMessageTile(
|
||||
message: _messages[i].serverMessage,
|
||||
users: _usersInfo,
|
||||
)
|
||||
: ConversationMessageTile(
|
||||
message: _messages.elementAt(i),
|
||||
userInfo: _usersInfo.getUser(_messages[i].userID),
|
||||
isLastMessage: _isLastMessage(i),
|
||||
isFirstMessage: _isFirstMessage(i),
|
||||
onRequestMessageUpdate: _updateMessage,
|
||||
onRequestMessageDelete: _deleteMessage,
|
||||
);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user