blob: 64d28603606f6d9925d72a54382a35cffcc0eb52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
import { ContentInfo, ContentParts, Dates } from './app';
import { Comment } from './comments';
import { Cover, RawCover } from './cover';
import { SEO } from './seo';
import { RawTopicPreview, TopicPreview, ThematicPreview } from './taxonomies';
export type ArticleAuthor = {
firstName: string;
lastName: string;
name: string;
};
export type RawACFPosts = {
postsInTopic: RawTopicPreview[] | null;
postsInThematic: ThematicPreview[] | null;
};
export type ACFPosts = {
postsInTopic: TopicPreview[] | null;
postsInThematic: ThematicPreview[] | null;
};
export type ArticleMeta = {
author?: ArticleAuthor;
commentCount?: number;
dates?: Dates;
readingTime?: number;
results?: number;
topics?: TopicPreview[];
thematics?: ThematicPreview[];
website?: string;
wordsCount?: number;
};
export type Article = {
author: ArticleAuthor;
commentCount: number | null;
content: string;
databaseId: number;
dates: Dates;
featuredImage: Cover;
id: string;
info: ContentInfo;
intro: string;
seo: SEO;
topics: TopicPreview[] | [];
thematics: ThematicPreview[] | [];
title: string;
};
export type RawArticle = Pick<
Article,
'commentCount' | 'databaseId' | 'id' | 'info' | 'seo' | 'title'
> & {
acfPosts: RawACFPosts;
author: { node: ArticleAuthor };
contentParts: ContentParts;
date: string;
featuredImage: RawCover;
modified: string;
};
export type ArticlePreview = Pick<
Article,
| 'commentCount'
| 'dates'
| 'id'
| 'info'
| 'intro'
| 'topics'
| 'thematics'
| 'title'
> & { featuredImage: Cover; slug: string };
export type RawArticlePreview = Pick<
Article,
'commentCount' | 'id' | 'info' | 'title'
> & {
acfPosts: ACFPosts;
contentParts: Pick<ContentParts, 'beforeMore'>;
date: string;
featuredImage: RawCover;
modified: string;
slug: string;
};
export type PostBy = {
post: RawArticle;
};
export type ArticleProps = {
comments: Comment[];
post: Article;
};
export type TotalArticles = {
posts: {
pageInfo: {
total: number;
};
};
};
|