aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/DevHive.Angular/src/app/app-constants.module.ts1
-rw-r--r--src/DevHive.Angular/src/app/components/profile/profile.component.html8
-rw-r--r--src/DevHive.Angular/src/app/components/profile/profile.component.ts19
-rw-r--r--src/DevHive.Angular/src/app/services/feed.service.ts23
4 files changed, 45 insertions, 6 deletions
diff --git a/src/DevHive.Angular/src/app/app-constants.module.ts b/src/DevHive.Angular/src/app/app-constants.module.ts
index 8a63651..28540c4 100644
--- a/src/DevHive.Angular/src/app/app-constants.module.ts
+++ b/src/DevHive.Angular/src/app/app-constants.module.ts
@@ -9,6 +9,7 @@ export class AppConstants {
public static API_TECHNOLOGY_URL = AppConstants.BASE_API_URL + '/Technology';
public static API_POST_URL = AppConstants.BASE_API_URL + '/Post';
+ public static API_FEED_URL = AppConstants.BASE_API_URL + '/Feed';
public static FALLBACK_PROFILE_ICON = 'assets/images/feed/profile-pic.png';
}
diff --git a/src/DevHive.Angular/src/app/components/profile/profile.component.html b/src/DevHive.Angular/src/app/components/profile/profile.component.html
index 43d580f..8ac91af 100644
--- a/src/DevHive.Angular/src/app/components/profile/profile.component.html
+++ b/src/DevHive.Angular/src/app/components/profile/profile.component.html
@@ -41,9 +41,11 @@
 None
</div>
</div>
- <div id="posts">
- <hr>
- Posts go here
+ <hr>
+ <div id="posts" class="scroll-standalone">
+ <div *ngFor="let userPost of userPosts" class="post">
+ <app-post [paramId]="userPost.postId"></app-post>
+ </div>
</div>
</div>
</div>
diff --git a/src/DevHive.Angular/src/app/components/profile/profile.component.ts b/src/DevHive.Angular/src/app/components/profile/profile.component.ts
index 69d7e72..1a3f0b8 100644
--- a/src/DevHive.Angular/src/app/components/profile/profile.component.ts
+++ b/src/DevHive.Angular/src/app/components/profile/profile.component.ts
@@ -7,6 +7,8 @@ import {HttpErrorResponse} from '@angular/common/http';
import {Location} from '@angular/common';
import {LanguageService} from 'src/app/services/language.service';
import {TechnologyService} from 'src/app/services/technology.service';
+import {Post} from 'src/models/post';
+import {FeedService} from 'src/app/services/feed.service';
@Component({
selector: 'app-profile',
@@ -18,10 +20,11 @@ export class ProfileComponent implements OnInit {
public loggedInUser = false;
public dataArrived = false;
public user: User;
+ public userPosts: Post[] = [];
public showNoLangMsg = false;
public showNoTechMsg = false;
- constructor(private _router: Router, private _userService: UserService, private _languageService: LanguageService, private _technologyService: TechnologyService, private _location: Location)
+ constructor(private _router: Router, private _userService: UserService, private _languageService: LanguageService, private _technologyService: TechnologyService, private _feedService: FeedService, private _location: Location)
{ }
private setDefaultUser(): void {
@@ -57,11 +60,11 @@ export class ProfileComponent implements OnInit {
private loadTechnologies(): void {
if (this.user.technologies.length > 0) {
- // When user has technologies, get their names and finally finish loading
+ // When user has technologies, get their names and then load posts
this._technologyService.getFullTechnologiesFromIncomplete(this.user.technologies)
.then(value => {
this.user.technologies = value;
- this.finishUserLoading();
+ this.loadPosts();
});
}
else {
@@ -70,6 +73,16 @@ export class ProfileComponent implements OnInit {
}
}
+ private loadPosts(): void {
+ this._feedService.getUserPostsRequest(this.user.userName, 1, '2021-01-29T21:35:30.977Z', 5).subscribe(
+ (result: object) => {
+ this.userPosts = Object.values(result)[0];
+ console.log(this.userPosts);
+ this.finishUserLoading();
+ }
+ );
+ }
+
private finishUserLoading(): void {
if (this.user.imageUrl === '') {
this.user.imageUrl = AppConstants.FALLBACK_PROFILE_ICON;
diff --git a/src/DevHive.Angular/src/app/services/feed.service.ts b/src/DevHive.Angular/src/app/services/feed.service.ts
new file mode 100644
index 0000000..42757eb
--- /dev/null
+++ b/src/DevHive.Angular/src/app/services/feed.service.ts
@@ -0,0 +1,23 @@
+import {HttpClient, HttpParams} from '@angular/common/http';
+import {Injectable} from '@angular/core';
+import {Observable} from 'rxjs';
+import {AppConstants} from '../app-constants.module';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class FeedService {
+ constructor(private http: HttpClient) { }
+
+ getUserPostsRequest(userName: string, pageNumber: number, firstTimeIssued: string, pageSize: number): Observable<object> {
+ const body = {
+ pageNumber: pageNumber,
+ firstPageTimeIssued: firstTimeIssued,
+ pageSize: pageSize
+ };
+ const options = {
+ params: new HttpParams().set('UserName', userName)
+ };
+ return this.http.post(AppConstants.API_FEED_URL + '/GetUserPosts', body, options);
+ }
+}