initReviews function
Implementation
Future<String?> initReviews() async{ // admin panel - all reviews
try{
var querySnapshot = await FirebaseFirestore.instance.collection("reviews").get();
_work(querySnapshot);
if (reviews.isEmpty)
_last = DateTime.now();
else
_last = reviews[0].timeModify; //timeUtc;
//
FirebaseFirestore.instance.collection("reviews").where("timeModify", isGreaterThan: _last)
.snapshots().listen((querySnapshot) async {
for (var result in querySnapshot.docs) {
var _data = result.data();
// dprint("loadReviews $_data");
var r = ReviewsData.fromJson(result.id, _data);
if (!r.delete) {
for (var item in reviews)
if (item.id == r.id){
reviews.remove(item);
break;
}
reviews.add(r);
}
}
addStat("review listen", querySnapshot.docs.length);
reviews.sort((a, b) => b.time.compareTo(a.time));
reviews.sort((a, b) => b.timeModify.compareTo(a.timeModify));
redrawMainWindow();
});
}catch(ex){
return "initReviews " + ex.toString();
}
return null;
}