socialnetworknews-web

A open-source Paper.li clone
git clone git://archive.git.mtrnord.blog/SocialNetworkNews/socialnetworknews-web.git
Log | Files | Refs | README | LICENSE

commit 0a5202bdc4a2e8e20a100f7bb1654a9e3666fa39
parent 1f3c2d424b1576707c50ec7775a7eb77a2bf2108
Author: MTRNord <mtrnord1@gmail.com>
Date:   Mon, 19 Feb 2018 19:51:40 +0100

Implement Paper API

Diffstat:
Msrc/app/api.service.ts | 4++++
Msrc/app/paper/paper.component.html | 4++--
Msrc/app/paper/paper.component.ts | 21+++++++++++++++------
3 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/src/app/api.service.ts b/src/app/api.service.ts @@ -51,4 +51,8 @@ export class ApiService { getPapers(): Observable<Paper[]> { return this.http.get<Paper[]>(`${this.url}/papers`); } + + getPaper(uuid: string): Observable<Paper> { + return this.http.get<Paper>(`${this.url}/paper/${uuid}`); + } } diff --git a/src/app/paper/paper.component.html b/src/app/paper/paper.component.html @@ -21,9 +21,9 @@ <div class="view intro hm-purple-light" style=""> <div class="full-bg-img flex-center"> <div class="container text-center white-text wow fadeInUp"> - <h2>{{paperTitle}}</h2> + <h2>{{data.name}}</h2> <br> - <h5>{{paperSubtitle}}</h5> + <h5>{{data.description}}</h5> </div> </div> </div> diff --git a/src/app/paper/paper.component.ts b/src/app/paper/paper.component.ts @@ -1,6 +1,7 @@ -import {Component, Inject, PLATFORM_ID, ViewEncapsulation} from '@angular/core'; +import {Component, Inject, OnInit, PLATFORM_ID, ViewEncapsulation} from '@angular/core'; import {isPlatformBrowser} from '@angular/common'; import {ActivatedRoute} from '@angular/router'; +import {ApiService, Paper} from '../api.service'; @Component({ selector: 'app-paper', @@ -8,17 +9,25 @@ import {ActivatedRoute} from '@angular/router'; styleUrls: ['./paper.component.scss'], encapsulation: ViewEncapsulation.None }) -export class PaperComponent { - paperTitle = 'Test Paper'; - paperSubtitle = 'Something to test'; +export class PaperComponent implements OnInit { private uuid: string; - private testData: Array<object> = [{title: 'Simon Wüllhorst', userLink: 'https://twitter.com/des_cilla', text: 'Yaay, neue LTE-Antennen sind da. Es gibt bald endlich wieder schnelles Internet auf dem Dorf. :) #Freifunk', imageURL: 'https://pbs.twimg.com/media/DVmb2UCWsAA8oTD.jpg', createdAt: '09.02.2018', replies: 0, favs: 2, retweets: 1}, {title: 'Jason Scott', retweet: true, 'userLink': 'https://twitter.com/textfiles', imageURL: 'https://pbs.twimg.com/media/DVZ5gw0U0AA_mOu.jpg', createdAt: '07.02.2018', replies: 75, favs: 8003, retweets: 2813}, {title: 'Christian Dresel', 'userLink': 'https://twitter.com/DreselChristian', text: 'Soviel Richtfunk (blaue Linien)... soooo geiiiilllll :) @freifunk @FreifunkFranken #freifunk', imageURL: 'https://pbs.twimg.com/media/DViJcIRX0AAk1TT.jpg:large', createdAt: '08.02.2018', replies: 1, favs: 3, retweets: 0}]; isBrowser: boolean; + data: Paper; - constructor(@Inject(PLATFORM_ID) platformId: Object, private route: ActivatedRoute) { + constructor(@Inject(PLATFORM_ID) platformId: Object, private route: ActivatedRoute, private apiService: ApiService) { this.isBrowser = isPlatformBrowser(platformId); this.uuid = this.route.snapshot.params.paperUUID; } + ngOnInit() { this.getPaper(this.uuid); } + + getPaper(uuid: string) { + this.apiService.getPaper(uuid) + .subscribe( + data => { this.data = data; }, + err => console.error('API ERR: ', err), + () => console.log('done loading Paper Data') + ); + } }