mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-23 05:01:49 +10:00
156 lines
2.4 KiB
TypeScript
156 lines
2.4 KiB
TypeScript
import { DateRange } from './atoms';
|
|
import { Profile } from './basics';
|
|
|
|
export type WorkExperience = {
|
|
id?: string;
|
|
name: string;
|
|
position: string;
|
|
date?: DateRange;
|
|
url?: string;
|
|
summary?: string;
|
|
};
|
|
|
|
export type Education = {
|
|
id?: string;
|
|
institution: string;
|
|
degree: string;
|
|
area?: string;
|
|
score?: string;
|
|
date?: DateRange;
|
|
url?: string;
|
|
summary?: string;
|
|
courses?: string[];
|
|
};
|
|
|
|
export type Award = {
|
|
id?: string;
|
|
title: string;
|
|
awarder: string;
|
|
date?: string;
|
|
url?: string;
|
|
summary?: string;
|
|
};
|
|
|
|
export type Certificate = {
|
|
id?: string;
|
|
name: string;
|
|
issuer: string;
|
|
date?: string;
|
|
url?: string;
|
|
summary?: string;
|
|
};
|
|
|
|
export type Volunteer = {
|
|
id?: string;
|
|
organization: string;
|
|
position: string;
|
|
date?: DateRange;
|
|
url?: string;
|
|
summary?: string;
|
|
};
|
|
|
|
export type Publication = {
|
|
id?: string;
|
|
name: string;
|
|
publisher: string;
|
|
date?: string;
|
|
url?: string;
|
|
summary?: string;
|
|
};
|
|
|
|
export type Skill = {
|
|
id?: string;
|
|
name: string;
|
|
level?: string;
|
|
levelNum: number;
|
|
keywords?: string[];
|
|
};
|
|
|
|
export type Language = {
|
|
id?: string;
|
|
name: string;
|
|
level: string;
|
|
levelNum: number;
|
|
};
|
|
|
|
export type Interest = {
|
|
id?: string;
|
|
name: string;
|
|
keywords?: string[];
|
|
};
|
|
|
|
export type Project = {
|
|
id?: string;
|
|
name: string;
|
|
description: string;
|
|
date?: DateRange;
|
|
url?: string;
|
|
summary?: string;
|
|
keywords?: string[];
|
|
};
|
|
|
|
export type Reference = {
|
|
id?: string;
|
|
name: string;
|
|
relationship: string;
|
|
phone?: string;
|
|
email?: string;
|
|
summary?: string;
|
|
};
|
|
|
|
export type Custom = {
|
|
id?: string;
|
|
title: string;
|
|
subtitle?: string;
|
|
date?: DateRange;
|
|
url?: string;
|
|
level?: string;
|
|
levelNum?: number;
|
|
summary?: string;
|
|
keywords?: string[];
|
|
};
|
|
|
|
export type ListItem =
|
|
| Award
|
|
| Certificate
|
|
| Education
|
|
| Interest
|
|
| Language
|
|
| Profile
|
|
| Project
|
|
| Publication
|
|
| Reference
|
|
| Skill
|
|
| Volunteer
|
|
| WorkExperience
|
|
| Custom;
|
|
|
|
export type SectionType =
|
|
| 'basic'
|
|
| 'location'
|
|
| 'profiles'
|
|
| 'education'
|
|
| 'awards'
|
|
| 'certifications'
|
|
| 'publications'
|
|
| 'skills'
|
|
| 'languages'
|
|
| 'interests'
|
|
| 'volunteer'
|
|
| 'projects'
|
|
| 'references'
|
|
| 'custom'
|
|
| 'work';
|
|
|
|
export type SectionPath = `sections.${string}`;
|
|
|
|
export type Section = {
|
|
id?: string;
|
|
name: string;
|
|
type: SectionType;
|
|
columns: number;
|
|
visible: boolean;
|
|
items: ListItem[];
|
|
isDuplicated?: boolean;
|
|
};
|