Fix issue where media didn't load on profile page

master
Max 4 years ago
parent d0c067d9ed
commit d8a2438761

@ -289,7 +289,7 @@ export class FeedService extends BaseService {
{headers: this.headers})
.pipe(this.retryRated())
.subscribe(response => {
this.posts.next(this.constructAllPosts(response));
this.posts.next(this.constructAllPosts(response.data.getPosts));
this.activePostList = sort;
});
}
@ -303,7 +303,7 @@ export class FeedService extends BaseService {
this.http.post(environment.graphQLUrl, body, {headers: this.headers})
.pipe(this.retryRated())
.subscribe(response => {
const posts = this.constructAllPosts(response);
const posts = this.constructAllPosts(response.data.getPosts);
const previousPosts = this.posts.getValue();
for (const post of previousPosts.reverse()) {
if (!posts.find(p => p.id === post.id)) {
@ -360,7 +360,7 @@ export class FeedService extends BaseService {
public constructAllPosts(response: any): Post[] {
const posts = new Array<Post>();
for (const post of response.data.getPosts) {
for (const post of response) {
let profilePicture: string;
if (post.author.profilePicture) {
profilePicture = environment.greenvironmentUrl + post.author.profilePicture;

@ -7,6 +7,7 @@ import {User} from 'src/app/models/user';
import {Subject} from 'rxjs';
import {Activity} from 'src/app/models/activity';
import {BaseService} from '../base.service';
import {FeedService} from 'src/app/services/feed/feed.service';
const graphqlGetProfileQuery = `query($userId: ID) {
getUser(userId:$userId){
@ -30,6 +31,7 @@ const graphqlGetProfileQuery = `query($userId: ID) {
downvotes,
userVote,
deletable,
media {url, type},
activity{
id
name
@ -39,7 +41,7 @@ const graphqlGetProfileQuery = `query($userId: ID) {
author{
name,
handle,
profilePicture
profilePicture,
id},
createdAt
}
@ -51,7 +53,7 @@ const graphqlGetProfileQuery = `query($userId: ID) {
})
export class ProfileService extends BaseService {
constructor(http: HttpClient) {
constructor(http: HttpClient, private feedService: FeedService) {
super(http);
}
@ -96,38 +98,7 @@ export class ProfileService extends BaseService {
const temp = new Date(Number(response.data.getUser.joinedAt));
const date = temp.toLocaleString('en-GB');
profile.joinedAt = date;
for (const post of response.data.getUser.posts) {
const id: number = post.id;
const content: string = post.content;
const htmlContent: string = post.htmlContent;
const upvotes: number = post.upvotes;
const downvotes: number = post.downvotes;
const userVote: string = post.userVote;
const deletable: boolean = post.deletable;
let profilePicture: string;
if (post.author.profilePicture) {
profilePicture = environment.greenvironmentUrl + post.author.profilePicture;
} else {
profilePicture = 'assets/images/default-profilepic.svg';
}
const author = new Author(post.author.id, post.author.name, post.author.handle, profilePicture);
const ptemp = new Date(Number(post.createdAt));
const pdate = ptemp.toLocaleString('en-GB');
let activity: Activity;
if (post.activity) {
activity = new Activity(
post.activity.id,
post.activity.name,
post.activity.description,
post.activity.points);
} else {
activity = null;
}
// tslint:disable-next-line: max-line-length
posts.push(new Post(id, content, htmlContent, upvotes, downvotes, userVote, deletable, pdate, author, activity));
}
profile.posts = posts;
profile.posts = this.feedService.constructAllPosts(response.data.getUser.posts);
return profile;
}
return null;

Loading…
Cancel
Save