blob: 8a0fcc79f47fa38ab6bf0ab6f9f9feb9cfc3fe0e (
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
103
104
105
106
107
108
109
110
111
112
113
114
|
import { ContentInfo, ContentParts, Dates, Slug } from './app';
import { ArticlePreview, RawArticlePreview } from './articles';
import { Cover, RawCover } from './cover';
import { SEO } from './seo';
//==============================================================================
// Taxonomies base
//==============================================================================
type Taxonomy = {
content: string;
databaseId: number;
dates: Dates;
id: string;
info: ContentInfo;
intro: string;
posts: ArticlePreview[];
seo: SEO;
title: string;
};
type TaxonomyPreview = Pick<
Taxonomy,
'databaseId' | 'id' | 'info' | 'seo' | 'title'
> & {
slug: string;
};
//==============================================================================
// Topics
//==============================================================================
export type Topic = Taxonomy & {
featuredImage: Cover;
officialWebsite: string;
};
export type RawTopicPreview = TaxonomyPreview & {
featuredImage: RawCover;
};
export type TopicPreview = TaxonomyPreview & {
featuredImage: Cover;
};
export type AllTopics = {
topics: {
nodes: TopicPreview[];
};
};
export type RawTopic = TopicPreview & {
acfTopics: {
officialWebsite: string;
postsInTopic: RawArticlePreview[];
};
contentParts: ContentParts;
date: string;
featuredImage: RawCover;
modified: string;
};
export type TopicBy = {
topicBy: RawTopic;
};
export type AllTopicsSlug = {
topics: {
nodes: Slug[];
};
};
export type TopicProps = {
allTopics: TopicPreview[];
topic: Topic;
};
//==============================================================================
// Thematics
//==============================================================================
export type Thematic = Taxonomy;
export type ThematicPreview = TaxonomyPreview;
export type AllThematics = {
thematics: {
nodes: ThematicPreview[];
};
};
export type RawThematic = TaxonomyPreview & {
acfThematics: {
postsInThematic: RawArticlePreview[];
};
contentParts: ContentParts;
date: string;
modified: string;
};
export type ThematicBy = {
thematicBy: RawThematic;
};
export type AllThematicsSlug = {
thematics: {
nodes: Slug[];
};
};
export type ThematicProps = {
allThematics: ThematicPreview[];
thematic: Thematic;
};
|