Skip to content

Commit ed3020f

Browse files
authored
Merge pull request #17 from czBalazs98/minimal-header-search-button
Add search button in the minimal header in post-details
2 parents c21ba9b + 7e44517 commit ed3020f

File tree

3 files changed

+26
-22
lines changed

3 files changed

+26
-22
lines changed

angular-primeng-app/src/app/components/post-details/post-details.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ <h1>{{blogName}}</h1>
77
</a>
88
</div>
99
<div class="p-toolbar-group-end">
10+
<app-search-dialog [blogId]="blogId"></app-search-dialog>
1011
<p-inputSwitch [(ngModel)]="checked" (click)="onThemeChange(checked ? 'dark' : 'light')"
1112
id="theme-switch"></p-inputSwitch>
1213
</div>

angular-primeng-app/src/app/components/post-details/post-details.component.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
margin: 0;
88
}
99
}
10+
11+
.p-toolbar-group-end {
12+
gap: 0.625rem;
13+
}
1014
}
1115

1216
article {

angular-primeng-app/src/app/components/post-details/post-details.component.ts

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { ButtonModule } from "primeng/button";
1616
import { InputSwitchModule } from "primeng/inputswitch";
1717

1818
import { SanitizerHtmlPipe } from "../../pipes/sanitizer-html.pipe";
19+
import { SearchDialogComponent } from "../../partials/search-dialog/search-dialog.component";
1920

2021
@Component({
2122
selector: 'app-post-details',
@@ -31,41 +32,39 @@ import { SanitizerHtmlPipe } from "../../pipes/sanitizer-html.pipe";
3132
ToolbarModule,
3233
ButtonModule,
3334
InputSwitchModule,
34-
SanitizerHtmlPipe
35+
SanitizerHtmlPipe,
36+
SearchDialogComponent
3537
],
3638
templateUrl: './post-details.component.html',
3739
styleUrl: './post-details.component.scss'
3840
})
39-
export class PostDetailsComponent implements OnInit, OnDestroy {
41+
export class PostDetailsComponent implements OnInit {
4042
post$!: Observable<Post>;
4143
blogInfo!: BlogInfo;
44+
blogId: string = "";
4245
blogName: string = "";
43-
blogSocialLinks!: BlogLinks;
44-
checked: boolean = true;
45-
selectedTheme: string = "dark";
46-
route: ActivatedRoute = inject(ActivatedRoute);
47-
private blogService: BlogService = inject(BlogService);
46+
checked: boolean = true;
47+
selectedTheme: string = "dark";
4848
themeService: ThemeService = inject(ThemeService);
49-
private querySubscription?: Subscription;
49+
private blogService: BlogService = inject(BlogService);
5050

51-
@Input({ required: true }) slug!: string;
51+
@Input({required: true})
52+
set slug(slug: string) {
53+
this.post$ = this.blogService.getSinglePost(slug);
54+
}
5255

5356
ngOnInit(): void {
54-
this.querySubscription = this.blogService
55-
.getBlogInfo()
56-
.subscribe((data) => {
57-
this.blogInfo = data;
58-
this.blogName = this.blogInfo.title;
59-
});
60-
this.post$ = this.blogService.getSinglePost(this.slug);
57+
this.blogService
58+
.getBlogInfo()
59+
.subscribe((data) => {
60+
this.blogInfo = data;
61+
this.blogId = this.blogInfo.id;
62+
this.blogName = this.blogInfo.title;
63+
});
6164
}
6265

6366
onThemeChange(theme: string): void {
64-
this.selectedTheme = theme;
65-
this.themeService.setTheme(theme);
66-
}
67-
68-
ngOnDestroy(): void {
69-
this.querySubscription?.unsubscribe();
67+
this.selectedTheme = theme;
68+
this.themeService.setTheme(theme);
7069
}
7170
}

0 commit comments

Comments
 (0)