29 lines
755 B
Dart
29 lines
755 B
Dart
|
|
import 'package:flutter_app_badge/flutter_app_badge.dart';
|
|
|
|
import '../../api/apiResponse.dart';
|
|
import '../../api/marianumcloud/talk/room/getRoomCache.dart';
|
|
import '../../api/marianumcloud/talk/room/getRoomResponse.dart';
|
|
import '../dataHolder.dart';
|
|
|
|
class ChatListProps extends DataHolder {
|
|
GetRoomResponse? _getRoomResponse;
|
|
GetRoomResponse get getRoomsResponse => _getRoomResponse!;
|
|
|
|
@override
|
|
List<ApiResponse?> properties() => [_getRoomResponse];
|
|
|
|
@override
|
|
void run({renew}) {
|
|
GetRoomCache(
|
|
renew: renew,
|
|
onUpdate: (GetRoomResponse data) => {
|
|
_getRoomResponse = data,
|
|
notifyListeners(),
|
|
FlutterAppBadge.count(data.data.map((e) => e.unreadMessages).reduce((a, b) => a+b))
|
|
}
|
|
);
|
|
}
|
|
|
|
}
|