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']
          )
      );
    });
  }
}