-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtypes.ts
More file actions
91 lines (78 loc) · 1.72 KB
/
types.ts
File metadata and controls
91 lines (78 loc) · 1.72 KB
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
import { StaticImageData } from 'next/image';
import { ComponentType } from 'react';
type LogoComponent = ComponentType<React.SVGProps<SVGSVGElement>>;
export interface ImageWithMetadata {
src: string | StaticImageData;
alt: string;
color: string | null;
}
export type ProjectId = 'radix' | 'aragon' | 'blocks' | 'dash';
export type PersonId =
| 'vlad'
| 'benoit'
| 'brett'
| 'andrew'
| 'ze'
| 'michael'
| 'ben'
| 'jenna'
| 'pedro'
| 'adri'
| 'paty'
| 'pierre'
| 'alastair';
export type TestimonialId = PersonId;
export type SocialName = 'dribbble' | 'github' | 'instagram' | 'twitter' | 'linkedin';
export interface Experience {
year: string;
logoAsset: LogoComponent;
title: string;
company: string;
tenure: string;
description: string;
link: string;
}
export interface Person {
id: PersonId;
name: string;
avatar: ImageWithMetadata;
bio: string;
}
export interface Testimonial extends Person {
id: TestimonialId;
role: string;
company: string;
full: string;
excerpt: string;
}
export interface TeamMember extends Person {
role: string;
}
export interface Project {
id: ProjectId;
title: string;
subtitle: string;
role: string;
tenure: string;
technologies: string[];
intro: string;
thumbnail: ImageWithMetadata;
thumbnailSmall: ImageWithMetadata;
heroImage: ImageWithMetadata;
testimonial: Testimonial;
team: TeamMember[];
additionalTeam: number;
externalUrl?: string;
}
export interface SocialLink {
name: string;
icon: ComponentType<React.SVGProps<SVGSVGElement>>;
url: string;
}
export interface Data {
experience: Experience[];
people: Person[];
testimonials: Testimonial[];
projects: Project[];
social: Record<string, SocialLink>;
}