-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
112 lines (100 loc) · 2.2 KB
/
Copy pathtypes.ts
File metadata and controls
112 lines (100 loc) · 2.2 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// types.ts — shared types across CLI and widgets
export interface ExperienceEntry {
title: string;
company: string;
startDate: string;
endDate: string | null;
description: string;
}
export interface EducationEntry {
school: string;
degree: string;
field: string;
startDate: string;
endDate: string;
}
export interface FAQ {
q: string;
a: string;
}
export interface EnhancedCopy {
headline: string;
positioningStatement: string;
summaryShort: string;
summaryLong: string;
experienceHighlights: string[];
speakingTopics: string[];
seoDescription: string;
serviceDescriptions?: string[];
faqs?: FAQ[];
differentiators?: string[];
achievements?: string[];
ctaHeadline?: string;
}
export interface AwardEntry {
title: string;
issuer: string;
}
export interface VolunteerEntry {
role: string;
organization: string;
description: string;
}
export interface LinkedInProfile {
name: string;
headline: string;
location: string;
summary: string;
profileUrl: string;
email: string;
phone: string;
website: string;
photo: string;
experience: ExperienceEntry[];
education: EducationEntry[];
skills: string[];
certifications: string[];
languages: string[];
recommendations: string[];
awards?: AwardEntry[];
volunteering?: VolunteerEntry[];
publications?: string[];
_enhanced?: EnhancedCopy;
_parsedAt?: string;
_confidence?: Record<string, "high" | "medium" | "low" | "missing">;
}
export interface WidgetConfig {
id: string;
enabled: boolean;
options?: Record<string, unknown>;
}
export interface SiteMeta {
title: string;
description: string;
favicon: string;
googleAnalytics: string;
customDomain: string;
ogImage: string;
}
export interface ThemeOverrides {
accentColor?: string;
fontDisplay?: string;
fontBody?: string;
borderRadius?: string;
}
export interface SiteConfig {
theme: "speaker" | "executive" | "advocate";
themeOverrides?: ThemeOverrides;
widgets: WidgetConfig[];
meta: SiteMeta;
}
export interface RegistryEntry {
slug: string;
name: string;
repo: string;
collaborator: string;
pagesUrl: string;
provisioned: string;
lastDeployed: string | null;
status: "pending" | "live" | "error";
}