Files
xiangsilian.com/types.ts
T
2025-11-28 15:54:34 +08:00

48 lines
1.0 KiB
TypeScript

export type Language = 'en' | 'zh';
export interface LocalizedString {
en: string;
zh: string;
}
export interface ExperienceItem {
company: LocalizedString;
role: LocalizedString;
period: string;
description: LocalizedString[];
location?: LocalizedString;
}
export interface ProjectItem {
title: LocalizedString;
description: LocalizedString;
link?: string;
linkText?: LocalizedString;
techStack?: string[];
imageUrl?: string; // Added field for project images
imageType?: 'code' | 'car' | 'game' | 'chart'; // For placeholder selection fallback
}
export interface EducationItem {
school: LocalizedString;
degree: LocalizedString;
period: string;
major: LocalizedString;
}
export interface ContactInfo {
mobile: string;
email: string;
wechat: string;
}
export interface ResumeData {
name: LocalizedString;
title: LocalizedString;
summary: LocalizedString;
contact: ContactInfo;
skills: LocalizedString[];
experience: ExperienceItem[];
projects: ProjectItem[];
education: EducationItem[];
}