File tree Expand file tree Collapse file tree 4 files changed +23
-3
lines changed
Expand file tree Collapse file tree 4 files changed +23
-3
lines changed Original file line number Diff line number Diff line change 77 {{ tweet.text }}
88 </ div >
99 < div class ="favorite ">
10- < i class ="far fa-heart "> </ i >
11- < span *ngIf ="tweet.favoriteCount "> {{ tweet.favoriteCount }}</ span >
10+ < i class ="button fa-heart " [ngClass] ="{
11+ 'fas': tweet.isLiked,
12+ 'far': !tweet.isLiked
13+ } "
14+ (click) ="likeTweet(tweet.id) "> </ i >
15+ < span *ngIf ="tweet.favoriteCount != null "> {{ tweet.favoriteCount }}</ span >
1216 </ div >
1317</ div >
1418
Original file line number Diff line number Diff line change 6161 cursor : pointer ;
6262 }
6363}
64+
65+ .favorite-count {
66+ margin-left : 4px ;
67+ }
Original file line number Diff line number Diff line change @@ -40,4 +40,15 @@ export class TimelineComponent implements OnInit {
4040 this . tweets . push ( tweet ) ;
4141 }
4242
43+ likeTweet ( id ) {
44+ const tweetIndex = this . tweets . findIndex ( tweet => tweet . id === id ) ;
45+ const tweet = this . tweets [ tweetIndex ] ;
46+ if ( ! tweet . isLiked ) {
47+ tweet . favoriteCount ? tweet . favoriteCount ++ : tweet . favoriteCount = 1 ;
48+ tweet . isLiked = true ;
49+ } else {
50+ tweet . favoriteCount -- ;
51+ tweet . isLiked = false ;
52+ }
53+ }
4354}
Original file line number Diff line number Diff line change @@ -3,5 +3,6 @@ export interface Tweet {
33 id : number ,
44 text : string ,
55 user : string ,
6- favoriteCount ?: number
6+ favoriteCount ?: number ,
7+ isLiked ?: boolean
78}
You can’t perform that action at this time.
0 commit comments