-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.ts
84 lines (72 loc) · 1.29 KB
/
types.ts
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
import { BLOCKS } from '@contentful/rich-text-types'
type RichTextJson = { json: BLOCKS }
export type ProjectsType = ProjectType[]
interface SysId {
id: string
}
export interface Collaborator {
name: string
company: string
linkedin?: string
}
export interface ProjectType {
sys: SysId
title: string
titleShort: string
client: string
description: RichTextJson
me: RichTextJson
role: string
date: string
tech?: Array<string>
tags: Array<string>
asset: ImageType
assetPlaceholder?: string
startdate: string
enddate: string
city: string
collaborators: {
items: Array<Collaborator>
}
}
export interface ImageType {
fileName: string
url: string
}
export interface MeType {
firstName: string
lastName: string
name: string
title: string
profileImage: ImageType
contacts: {
items: Array<ContactType>
}
short: RichTextJson
long: RichTextJson
}
export type ContactsType = Array<ContactType>
export interface ContactType {
medium: string
url: string
}
export interface IndexPageData {
data: {
me: MeType
projects: {
items: ProjectsType
}
}
}
export interface AllProjectsData {
data: {
projects: {
items: Array<{ sys: SysId }>
}
}
}
export interface ProjectPageData {
data: {
project: ProjectType
}
}