diff --git a/src/app/components/feed/feed.component.html b/src/app/components/feed/feed.component.html
index 47b1ed2..fca185c 100644
--- a/src/app/components/feed/feed.component.html
+++ b/src/app/components/feed/feed.component.html
@@ -11,7 +11,6 @@
diff --git a/src/app/components/feed/feed.component.ts b/src/app/components/feed/feed.component.ts
index 9bae09b..d226149 100644
--- a/src/app/components/feed/feed.component.ts
+++ b/src/app/components/feed/feed.component.ts
@@ -74,6 +74,9 @@ export class FeedComponent implements OnInit {
postElement.value = '';
this.textInputValue = '';
this.checked = false;
+ this.file = null;
+ this.localFileUrl = null;
+ this.fileType = null;
if (this.view !== 'new') {
this.showNew();
}
@@ -86,6 +89,9 @@ export class FeedComponent implements OnInit {
postElement.value = '';
this.textInputValue = '';
this.checked = false;
+ this.file = null;
+ this.localFileUrl = null;
+ this.fileType = null;
if (this.view !== 'new') {
this.showNew();
}
diff --git a/src/app/components/feed/postlist/postlist.component.html b/src/app/components/feed/postlist/postlist.component.html
index a323d42..50f13eb 100644
--- a/src/app/components/feed/postlist/postlist.component.html
+++ b/src/app/components/feed/postlist/postlist.component.html
@@ -22,6 +22,12 @@
+
+
+
+
diff --git a/src/app/models/post.ts b/src/app/models/post.ts
index 36fb5ac..3143140 100644
--- a/src/app/models/post.ts
+++ b/src/app/models/post.ts
@@ -13,6 +13,7 @@ export class Post {
author: Author;
activity: Activity;
mediaUrl: string;
+ mediaType: 'VIDEO' | 'IMAGE';
constructor(
id: number,
@@ -25,7 +26,7 @@ export class Post {
date: string,
author: Author,
activity: Activity,
- mediaUrl?: string,
+ media?: {url: string, type: 'VIDEO' | 'IMAGE'},
) {
this.id = id;
this.content = content;
@@ -37,6 +38,9 @@ export class Post {
this.date = date;
this.author = author;
this.activity = activity;
- this.mediaUrl = mediaUrl;
+ if (media) {
+ this.mediaUrl = media.url;
+ this.mediaType = media.type;
+ }
}
}
diff --git a/src/app/services/feed/feed.service.ts b/src/app/services/feed/feed.service.ts
index 79f3e80..58b187b 100644
--- a/src/app/services/feed/feed.service.ts
+++ b/src/app/services/feed/feed.service.ts
@@ -19,6 +19,7 @@ const createPostGqlQuery = `mutation($content: String!) {
downvotes,
userVote,
deletable,
+ media {url, type},
activity{
id
name
@@ -42,6 +43,7 @@ const createPostActivityGqlQuery = `mutation($content: String!, $id: ID) {
downvotes,
userVote,
deletable,
+ media {url, type},
activity{
id
name
@@ -77,6 +79,7 @@ const getPostGqlQuery = `query($first: Int, $offset: Int, $sort: SortType){
downvotes,
userVote,
deletable,
+ media {url, type},
activity{
id
name
@@ -179,11 +182,17 @@ export class FeedService extends BaseService {
const updatedPosts = this.posts.getValue();
const post = this.constructPost(response);
updatedPosts.unshift(post);
- this.posts.next(updatedPosts);
if (file) {
this.uploadPostImage(post.id, file).subscribe((result) => {
post.mediaUrl = result.fileName;
+ post.mediaType = result.fileName.endsWith('.webm') ? 'VIDEO' : 'IMAGE';
+ this.posts.next(updatedPosts);
+ }, error => {
+ console.error(error);
+ this.deletePost(post.id);
});
+ } else {
+ this.posts.next(updatedPosts);
}
}
}));
@@ -322,7 +331,8 @@ export class FeedService extends BaseService {
post.deletable,
date,
author,
- activity);
+ activity,
+ post.media);
}
public constructAllPosts(response: any): Post[] {
@@ -362,7 +372,8 @@ export class FeedService extends BaseService {
post.deletable,
date,
author,
- activity));
+ activity,
+ post.media));
}
return posts;
}