Added option to sort talk favorites to top

This commit is contained in:
2023-06-07 11:06:43 +02:00
parent a32e70109e
commit a922e0f8ae
9 changed files with 65 additions and 6 deletions

View File

@ -14,12 +14,13 @@ class GetRoomResponse extends ApiResponse {
factory GetRoomResponse.fromJson(Map<String, dynamic> json) => _$GetRoomResponseFromJson(json);
Map<String, dynamic> toJson() => _$GetRoomResponseToJson(this);
List<GetRoomResponseObject> sortByLastActivity() {
List<GetRoomResponseObject> sortBy({bool lastActivity = true, bool favoritesToTop = false}) {
List<GetRoomResponseObject> sorted = data.toList();
sorted.sort((a, b) => -a.lastActivity.compareTo(b.lastActivity));
if(lastActivity) sorted.sort((a, b) => -a.lastActivity.compareTo(b.lastActivity));
if(favoritesToTop) sorted.sort((a, b) => b.isFavorite ? 1 : -1);
return sorted;
}
}
@JsonSerializable(explicitToJson: true)