import type { TimelineItem } from '@nuxt/ui'; import type { Tool } from './tool'; import { timeToString, type TimePeriod } from './time'; export interface ResumeExperience { dates: TimePeriod; title: string; company: string; description: string; tools: Tool[]; icon: string; } export class ResumeExperienceTimelineItem implements TimelineItem { tools: Tool[]; description?: string; date: string; title: string; icon: string; constructor(from: ResumeExperience) { this.date = timeToString(from.dates); this.title = `${from.title} — ${from.company}`; this.description = from.description; this.icon = from.icon; this.tools = from.tools; } } export interface Education { dates: TimePeriod; degree: string; institution: string; location: string; description?: string; icon: string; } export class EducationTimelineItem implements TimelineItem { date: string; description?: string; title: string; icon: string; constructor(from: Education) { this.date = timeToString(from.dates); this.description = from.description; this.title = `${from.degree} — ${from.institution}, ${from.location}`; this.icon = from.icon; } } export class ResumeContent { experience: ResumeExperience[] = []; education: Education[] = []; otherTools: Tool[] = []; devops: Tool[] = []; os: Tool[] = []; programmingLanguages: Tool[] = []; frameworks: Tool[] = []; }