Messaging
Implemented Chat Screens, Profile Pages, Search Pages WIP: User profile, new chat button Intended: Groups, Calls, Voice Messages Properly deleting chats, offline storage of messages
This commit is contained in:
+22
-18
@@ -1,15 +1,10 @@
|
||||
import 'dart:convert';
|
||||
|
||||
enum MessageType {
|
||||
Text,
|
||||
Image,
|
||||
}
|
||||
|
||||
class Messages {
|
||||
String message;
|
||||
String senderId;
|
||||
MessageType type;
|
||||
DateTime timeStamp;
|
||||
String type;
|
||||
String timeStamp;
|
||||
|
||||
Messages({
|
||||
required this.message,
|
||||
@@ -18,16 +13,25 @@ class Messages {
|
||||
required this.timeStamp,
|
||||
});
|
||||
|
||||
factory Messages.fromData(String _message) {
|
||||
var _messageType = json.decode(_message)['type'] == "text"
|
||||
? MessageType.Text
|
||||
: MessageType.Image;
|
||||
factory Messages.fromString(String _message) => Messages(
|
||||
message: json.decode(_message)['message'],
|
||||
senderId: json.decode(_message)['senderId'],
|
||||
type: json.decode(_message)['type'],
|
||||
timeStamp: json.decode(_message)['timeStamp'] ?? "",
|
||||
);
|
||||
|
||||
return Messages(
|
||||
message: json.decode(_message)['message'],
|
||||
senderId: json.decode(_message)['senderId'],
|
||||
type: _messageType,
|
||||
timeStamp: DateTime.parse(json.decode(_message)['timeStamp'] ?? ""),
|
||||
);
|
||||
}
|
||||
factory Messages.fromMap(Map _message) => Messages(
|
||||
message: _message['message'],
|
||||
senderId: _message['senderId'],
|
||||
type: _message['type'],
|
||||
timeStamp: _message['timeStamp'] ?? "",
|
||||
);
|
||||
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"message": message,
|
||||
"senderId": senderId,
|
||||
"type": type,
|
||||
"timeStamp": timeStamp,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user