Skip to content

Commit cde6bc4

Browse files
fix(blog): marked search term on mobile (#300)
1 parent c70bb79 commit cde6bc4

File tree

3 files changed

+40
-12
lines changed

3 files changed

+40
-12
lines changed

libs/blog/articles/ui-article-card/src/lib/components/article-horizontal-card/article-horizontal-card.component.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,14 @@ export class ArticleHorizontalCardComponent {
4343

4444
sanitizedArticle = computed<SanitizedArticleDataModel>(() => {
4545
return {
46-
excerpt: this.sanitize(this.article().excerpt),
47-
title: this.sanitize(this.article().title),
46+
excerpt: this._sanitize(this.article().excerpt),
47+
title: this._sanitize(this.article().title),
4848
};
4949
});
5050

51-
private readonly domSanitizer = inject(DomSanitizer);
51+
private readonly _domSanitizer = inject(DomSanitizer);
5252

53-
private sanitize(val: string): string {
54-
return this.domSanitizer.sanitize(SecurityContext.HTML, val) || '';
53+
private _sanitize(val: string): string {
54+
return this._domSanitizer.sanitize(SecurityContext.HTML, val) || '';
5555
}
5656
}

libs/blog/articles/ui-article-card/src/lib/components/article-regular-card/article-regular-card.component.html

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,15 @@
4545
</div>
4646

4747
<div class="flex flex-col gap-3 px-4 pb-4 pt-3">
48-
<h3 class="text-2xl font-bold" [id]="article().slug">
49-
{{ article().title }}
50-
</h3>
51-
<p class="line-clamp-2">
52-
{{ article().excerpt }}
53-
</p>
48+
<h3
49+
class="*:text-al-pink text-2xl font-bold *:not-italic"
50+
[id]="article().slug"
51+
[innerHTML]="sanitizedArticle().title"
52+
></h3>
53+
<p
54+
class="*:text-al-pink line-clamp-2 *:font-medium *:not-italic"
55+
[innerHTML]="sanitizedArticle().excerpt"
56+
></p>
5457
</div>
5558
</div>
5659
</article>

libs/blog/articles/ui-article-card/src/lib/components/article-regular-card/article-regular-card.component.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import { DatePipe, NgOptimizedImage, NgStyle } from '@angular/common';
2-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2+
import {
3+
ChangeDetectionStrategy,
4+
Component,
5+
computed,
6+
inject,
7+
input,
8+
SecurityContext,
9+
} from '@angular/core';
310
import { DomSanitizer } from '@angular/platform-browser';
411
import { RouterLink } from '@angular/router';
512
import { FastSvgComponent } from '@push-based/ngx-fast-svg';
@@ -9,6 +16,11 @@ import { ArticleCard } from '@angular-love/blog/shared/types';
916
import { AvatarComponent } from '@angular-love/blog/shared/ui-avatar';
1017
import { UiDifficultyComponent } from '@angular-love/blog/shared/ui-difficulty';
1118

19+
type SanitizedArticleDataModel = {
20+
title: string;
21+
excerpt: string;
22+
};
23+
1224
@Component({
1325
selector: 'al-article-regular-card',
1426
changeDetection: ChangeDetectionStrategy.OnPush,
@@ -28,4 +40,17 @@ import { UiDifficultyComponent } from '@angular-love/blog/shared/ui-difficulty';
2840
export class ArticleRegularCardComponent {
2941
readonly article = input.required<ArticleCard>();
3042
readonly imagePriority = input<number | null>(null);
43+
44+
sanitizedArticle = computed<SanitizedArticleDataModel>(() => {
45+
return {
46+
excerpt: this._sanitize(this.article().excerpt),
47+
title: this._sanitize(this.article().title),
48+
};
49+
});
50+
51+
private readonly _domSanitizer = inject(DomSanitizer);
52+
53+
private _sanitize(val: string): string {
54+
return this._domSanitizer.sanitize(SecurityContext.HTML, val) || '';
55+
}
3156
}

0 commit comments

Comments
 (0)