45 lines
1.3 KiB
Dart
45 lines
1.3 KiB
Dart
|
|
import 'package:jiffy/jiffy.dart';
|
|
|
|
import '../incomingPacket.dart';
|
|
|
|
class TalkContact {
|
|
String name;
|
|
String lastMessage;
|
|
String lastTime;
|
|
String profilePicture;
|
|
bool unreadMessages;
|
|
bool isGroup;
|
|
String userToken;
|
|
|
|
TalkContact(this.name, this.lastMessage, this.lastTime, this.profilePicture, this.unreadMessages, this.isGroup, this.userToken);
|
|
}
|
|
|
|
class TalkContactsPaket extends IncomingPacket {
|
|
TalkContactsPaket() : super('talkContacts');
|
|
|
|
List<TalkContact> _contacts = List<TalkContact>.empty(growable: true);
|
|
|
|
List<TalkContact> get contacts => _contacts;
|
|
|
|
@override
|
|
void handle(data) {
|
|
_contacts = List<TalkContact>.empty(growable: true);
|
|
//data["ocs"]["data"].sort((a, b) => a['lastActivity'].compareTo(b['lastActivity']));
|
|
|
|
data.forEach((value) async {
|
|
await Jiffy.locale("de");
|
|
_contacts.add(
|
|
TalkContact(
|
|
value['displayName'],
|
|
value['lastMessage']['message'],
|
|
Jiffy(DateTime.fromMillisecondsSinceEpoch(value['lastActivity'] * 1000)).fromNow(),
|
|
value['name'] != null ? "https://cloud.marianum-fulda.de/avatar/${value['name']}/128" : "",
|
|
value['unreadMessages'] > 0,
|
|
value['type'] != 1,
|
|
value['token']
|
|
)
|
|
);
|
|
});
|
|
}
|
|
} |