Skip to content

Commit dd0f049

Browse files
authored
feat/display-author-titles (#316)
* feat(client): show author titles in his/her card * feat: add AuthorTitle type, improve styling
1 parent 10749c5 commit dd0f049

File tree

27 files changed

+179
-188
lines changed

27 files changed

+179
-188
lines changed

apps/blog/src/assets/i18n/en.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@
1919
"authorPage": {
2020
"posted_by": "Posted by {{name}}"
2121
},
22+
"authorCard": {
23+
"titles": {
24+
"blogger": "Blogger",
25+
"key_contributor": "Key Contributor",
26+
"contributor": "Contributor",
27+
"gde": "Google Developer Expert"
28+
}
29+
},
2230
"becomeAuthorPage": {
2331
"title": "Become a part of angular.love!",
2432
"improvements": {

apps/blog/src/assets/i18n/pl.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@
2222
"authorPage": {
2323
"posted_by": "Opublikowane przez {{name}}"
2424
},
25+
"authorCard": {
26+
"titles": {
27+
"blogger": "Blogger",
28+
"key_contributor": "Key Contributor",
29+
"contributor": "Contributor",
30+
"gde": "Google Developer Expert"
31+
}
32+
},
2533
"becomeAuthorPage": {
2634
"title": "Zostań częścią angular.love!",
2735
"improvements": {

libs/blog-bff/articles/api/src/lib/dtos.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { AuthorTitle } from '@angular-love/blog/contracts/authors';
2+
13
export interface WPPostDto {
24
date: string;
35
slug: string;
@@ -70,7 +72,7 @@ export interface WPPostDetailsDto {
7072
github: string;
7173
twitter: string;
7274
linkedin: string;
73-
titles: string[];
75+
titles: AuthorTitle[];
7476
};
7577
acf: {
7678
reading_time: string | number;

libs/blog-bff/authors/api/src/lib/dtos.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { AuthorTitle } from '@angular-love/blog/contracts/authors';
2+
13
export interface WPAuthorDto {
24
name: string;
35
slug: string;
@@ -9,7 +11,7 @@ export interface WPAuthorDto {
911
al_github_nickname: string;
1012
al_twitter_handle: string;
1113
al_linkedin_id: string;
12-
al_titles: string[];
14+
al_titles: AuthorTitle[];
1315
user_description_pl: string;
1416
user_description_en: string;
1517
};

libs/blog-contracts/articles/src/lib/articles.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { AuthorTitle } from '@angular-love/blog/contracts/authors';
2+
13
export const articleCategories = [
24
'news',
35
'guides',
@@ -89,6 +91,7 @@ export interface Article {
8991
description: string;
9092
avatarUrl: string;
9193
position: string;
94+
titles: AuthorTitle[];
9295
slug: string;
9396
github: string | null;
9497
twitter: string | null;

libs/blog-contracts/authors/src/lib/authors.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
export type AuthorTitle =
2+
| 'gde'
3+
| 'hoa'
4+
| 'contributor'
5+
| 'key_contributor'
6+
| 'blogger';
7+
18
export interface Author {
29
slug: string;
310
name: string;
@@ -10,4 +17,5 @@ export interface Author {
1017
github: string | null;
1118
twitter: string | null;
1219
linkedin: string | null;
20+
titles: AuthorTitle[];
1321
}

libs/blog/articles/feature-article/src/lib/article-details/article-details.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { FastSvgComponent } from '@push-based/ngx-fast-svg';
1010
import { AdBannerStore } from '@angular-love/blog/ad-banner/data-access';
1111
import { GiscusCommentsComponent } from '@angular-love/blog/articles/feature-comments';
1212
import { RelatedArticlesComponent } from '@angular-love/blog/articles/feature-related-articles';
13+
import { ArticleCompactCardSkeletonComponent } from '@angular-love/blog/articles/ui-article-card';
1314
import { ArticleContentComponent } from '@angular-love/blog/articles/ui-article-content';
1415
import {
1516
TableOfContentsComponent,
@@ -26,10 +27,9 @@ import {
2627
} from '@angular-love/blog/shared/ui-card';
2728
import { UiDifficultyComponent } from '@angular-love/blog/shared/ui-difficulty';
2829
import { Article } from '@angular-love/contracts/articles';
30+
import { RepeatDirective } from '@angular-love/utils';
2931

3032
import { ArticleShareIconsComponent } from '../article-share-icons/article-share-icons.component';
31-
import { ArticleCompactCardSkeletonComponent } from "@angular-love/blog/articles/ui-article-card";
32-
import { RepeatDirective } from "@angular-love/utils";
3333

3434
@Component({
3535
selector: 'al-article-details',

libs/blog/articles/feature-article/src/lib/article-details/article-details.stories.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ const articleDetails: Article = {
4848
github: '',
4949
linkedin: '',
5050
twitter: '',
51+
titles: ['Software Engineer', 'GDE'],
5152
},
5253
anchors: [],
5354
publishDate: new Date('2021-01-01').toISOString(),

libs/blog/authors/data-access/src/lib/state/author-details.store.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
import { rxMethod } from '@ngrx/signals/rxjs-interop';
1010
import { filter, pipe, switchMap, tap } from 'rxjs';
1111

12-
import { UiAuthorCard } from '@angular-love/blog/authors/types';
12+
import { UiAuthorCard } from '@angular-love/blog/authors/ui-author-card';
1313
import { Author } from '@angular-love/blog/contracts/authors';
1414
import { withLangState } from '@angular-love/blog/i18n/data-access';
1515
import {

libs/blog/authors/data-access/src/lib/state/author-list-store.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
import { rxMethod } from '@ngrx/signals/rxjs-interop';
1010
import { pipe, switchMap, tap } from 'rxjs';
1111

12-
import { UiAuthorCard } from '@angular-love/blog/authors/types';
12+
import { UiAuthorCard } from '@angular-love/blog/authors/ui-author-card';
1313
import { Author } from '@angular-love/blog/contracts/authors';
1414
import { withLangState } from '@angular-love/blog/i18n/data-access';
1515
import {

0 commit comments

Comments
 (0)