// src/components/resume/ResumePreview.tsx
import React from 'react'
import type { ResumeData } from '@/types'
import { CleanProfessional } from './templates/CleanProfessional'
import { ModernSidebar } from './templates/ModernSidebar'
import { CompactATS } from './templates/CompactATS'
import { CreativeAccent } from './templates/CreativeAccent'
import { ExecutiveClassic } from './templates/ExecutiveClassic'
import { GraduateSimple } from './templates/GraduateSimple'
import { MotifCustom } from './templates/MotifCustom'
import { ElegantMinimalist } from './templates/ElegantMinimalist'
import { CreativeGeometric } from './templates/CreativeGeometric'

interface Props {
  data: ResumeData
}

export function ResumePreview({ data }: Props) {
  const templateComponents: Record<string, React.ComponentType<Props>> = {
    'clean-professional': CleanProfessional,
    'modern-sidebar': ModernSidebar,
    'compact-ats': CompactATS,
    'creative-accent': CreativeAccent,
    'executive-classic': ExecutiveClassic,
    'graduate-simple': GraduateSimple,
    'motif-custom': MotifCustom,
    'elegant-minimalist': ElegantMinimalist,
    'creative-geometric': CreativeGeometric,
  }

  const Template = templateComponents[data.templateId] ?? CleanProfessional

  return <Template data={data} />
}
