blob: a0aaa5ef0dcd0c7ad3267989e59a9797da6a5b7b (
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
|
import { 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;
intro: string;
posts: ArticlePreview[];
seo: SEO;
title: string;
};
type TaxonomyPreview = Pick<Taxonomy, 'databaseId' | 'id' | 'seo' | 'title'> & {
slug: string;
};
//==============================================================================
// Subjects
//==============================================================================
export type Subject = Taxonomy & {
featuredImage: Cover;
officialWebsite: string;
};
export type RawSubjectPreview = TaxonomyPreview & {
featuredImage: RawCover;
};
export type SubjectPreview = TaxonomyPreview & {
featuredImage: Cover;
};
export type AllSubjects = {
subjects: {
nodes: SubjectPreview[];
};
};
export type RawSubject = SubjectPreview & {
acfSubjects: {
officialWebsite: string;
postsInSubject: RawArticlePreview[];
};
contentParts: ContentParts;
date: string;
featuredImage: RawCover;
modified: string;
};
export type SubjectBy = {
subjectBy: RawSubject;
};
export type AllSubjectsSlug = {
subjects: {
nodes: Slug[];
};
};
export type SubjectProps = {
subject: Subject;
};
//==============================================================================
// 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 = {
thematic: Thematic;
};
|