Merge remote-tracking branch 'origin/POSTS_FRIENDS_EKA-LDE' into POSTS_FRIENDS_EKA-LDE

pull/33/head
Lucas Delanier 2 years ago
commit 22e2b2ebb4

@ -27,9 +27,10 @@ class _TopNavBarComponentState extends State<TopNavBarComponent> with TickerProv
final DateTime midnight = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day + 1);
void actionSurBouton() {
void actionSurBouton() async {
widget.callback(choice);
MyApp.postViewModel.getBestPosts();
await MyApp.postViewModel.getBestPosts();
await MyApp.postViewModel.getPostsFriends();
}
@override

@ -28,6 +28,7 @@ class _FeedScreenState extends State<FeedScreen>
@override
void initState() {
super.initState();
MyApp.postViewModel.getPostsFriends();
friendFeed = MyApp.postViewModel.postsFriends;
MyApp.postViewModel.getBestPosts();
discoveryFeed = MyApp.postViewModel.bestPosts;

@ -46,7 +46,7 @@ class PostService {
{int limit = 10, int offset = 0}) async {
DateTime twentyFourHoursAgo = DateTime.now().subtract(Duration(hours: 24));
Timestamp twentyFourHoursAgoTimestamp =
Timestamp.fromDate(twentyFourHoursAgo);
Timestamp.fromDate(twentyFourHoursAgo);
QuerySnapshot<Map<String, dynamic>> response = await FirebaseFirestore
.instance
@ -64,14 +64,20 @@ class PostService {
Future<List<QueryDocumentSnapshot<Map<String, dynamic>>>> getPostsFriends(
{int limit = 10, int offset = 0}) async {
QuerySnapshot<Map<String, dynamic>> response = await FirebaseFirestore
var response = await FirebaseFirestore
.instance
.collection("posts")
.where("user_id", whereIn: MyApp.userViewModel.userCurrent.followed)
.orderBy("date", descending: true)
.limit(limit)
.get();
response.docs.sort((a, b) {
DateTime aDate = a.data()['date'].toDate();
DateTime bDate = b.data()['date'].toDate();
return bDate.compareTo(aDate);
});
return response.docs;
}

@ -29,12 +29,14 @@ class PostViewModel {
Future<List<Post>> getPostsFriends() async {
try {
_postsFriends = [];
var responseData = await _postService.getPostsFriends();
List<String> ids = [];
var postsFutures = responseData.map((value) {
ids.add(value.data()["song_id"]);
return PostMapper.toModel(value);
}).toList();
_postsFriends = await Future.wait(postsFutures);
List<Music> musics = await MyApp.musicViewModel.getMusicsWithIds(ids);
for (int i = 0; i < _postsFriends.length; i++) {
_postsFriends[i].music = musics[i];

Loading…
Cancel
Save