Skip to content

Commit 18793db

Browse files
committed
router link in posts and series
1 parent 95975f4 commit 18793db

File tree

7 files changed

+26
-24
lines changed

7 files changed

+26
-24
lines changed
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<div class="posts-view">
22
<div class="cards-wrapper grid">
33
@for (post of posts$ | async; track post.id) {
4-
<p-card class="post-card" header="{{ post.title }}" (click)="navigateToPost(post.slug)">
5-
<ng-template pTemplate="header">
6-
<img class="card-image" [src]="post.coverImage.url" [alt]="post.title + ' image'" />
7-
</ng-template>
8-
</p-card>
4+
<a [routerLink]="['post', post.slug]">
5+
<p-card class="post-card" header="{{ post.title }}">
6+
<ng-template pTemplate="header">
7+
<img class="card-image" [src]="post.coverImage.url" [alt]="post.title + ' image'" />
8+
</ng-template>
9+
</p-card>
10+
</a>
911
}
1012
</div>
1113
</div>

angular-primeng-app/src/app/components/posts/posts.component.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
flex-wrap: wrap;
99
justify-content: center;
1010
margin: 2rem 1rem;
11+
12+
.post-card {
13+
display: flex;
14+
}
1115
}
1216
}
1317

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, OnInit, inject } from '@angular/core';
22
import { BlogService } from '../../services/blog.service';
3-
import { Router } from '@angular/router';
3+
import { RouterLink } from '@angular/router';
44
import { Observable } from 'rxjs';
55
import { AsyncPipe } from '@angular/common';
66
import { CardModule } from 'primeng/card';
@@ -9,22 +9,17 @@ import { Post } from '../../models/post';
99
@Component({
1010
selector: 'app-posts',
1111
standalone: true,
12-
imports: [AsyncPipe, CardModule],
12+
imports: [AsyncPipe, RouterLink, CardModule],
1313
templateUrl: './posts.component.html',
1414
styleUrl: './posts.component.scss'
1515
})
1616
export class PostsComponent implements OnInit {
1717
blogURL!: string;
1818
posts$!: Observable<Post[]>;
19-
private router = inject(Router);
2019
private blogService = inject(BlogService);
2120

2221
ngOnInit() {
2322
this.blogURL = this.blogService.getBlogURL();
2423
this.posts$ = this.blogService.getPosts(this.blogURL);
2524
}
26-
27-
navigateToPost(slug: string) {
28-
this.router.navigate(['/post', slug]);
29-
}
3025
}
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<div class="series-view">
22
<div class="cards-wrapper grid">
33
@for (post of postsInSeries$ | async; track post.id) {
4-
<p-card class="post-card" header="{{ post.title }}" (click)="navigateToPost(post.slug)">
5-
<ng-template pTemplate="header">
6-
<img class="card-image" [src]="post.coverImage.url" [alt]="post.title + ' image'" />
7-
</ng-template>
8-
</p-card>
4+
<a [routerLink]="['/post', post.slug]">
5+
<p-card class="post-card" header="{{ post.title }}">
6+
<ng-template pTemplate="header">
7+
<img class="card-image" [src]="post.coverImage.url" [alt]="post.title + ' image'" />
8+
</ng-template>
9+
</p-card>
10+
</a>
911
}
1012
</div>
1113
</div>

angular-primeng-app/src/app/components/series/series.component.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,9 @@
88
flex-wrap: wrap;
99
justify-content: center;
1010
margin: 2rem 1rem;
11+
12+
.post-card {
13+
display: flex;
14+
}
1115
}
1216
}

angular-primeng-app/src/app/components/series/series.component.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Component, inject } from '@angular/core';
2-
import { ActivatedRoute, Params, Router, RouterLink } from '@angular/router';
2+
import { ActivatedRoute, Params, RouterLink } from '@angular/router';
33
import { Observable, switchMap } from 'rxjs';
44
import { Post } from '../../models/post';
55
import { AsyncPipe } from "@angular/common";
@@ -18,7 +18,6 @@ export class SeriesComponent {
1818
slug: string = "";
1919
postsInSeries$!: Observable<Post[]>;
2020
blogService: BlogService = inject(BlogService);
21-
private router = inject(Router);
2221
route: ActivatedRoute = inject(ActivatedRoute);
2322

2423
ngOnInit(): void {
@@ -30,8 +29,4 @@ export class SeriesComponent {
3029
})
3130
);
3231
}
33-
34-
navigateToPost(slug: string) {
35-
this.router.navigate(['/post', slug]);
36-
}
3732
}

angular-primeng-app/src/styles.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ a {
2121
}
2222

2323
.p-card-title {
24-
font-size: 1.2rem;
24+
font-size: 1.1rem;
2525
line-height: 1.7rem;
2626
font-weight: 500;
2727
}

0 commit comments

Comments
 (0)