import { useState, useCallback } from 'react'; import { cvData as initialData } from '../../data/cv'; export function useCVData() { const [data, setData] = useState(initialData); const updatePersonal = useCallback((personal) => { setData(prev => ({ ...prev, personal })); }, []); const updateExperience = useCallback((experience) => { setData(prev => ({ ...prev, experience })); }, []); const updateSkills = useCallback((skills) => { setData(prev => ({ ...prev, skills })); }, []); const updateEducation = useCallback((education) => { setData(prev => ({ ...prev, education })); }, []); const updateProjects = useCallback((projects) => { setData(prev => ({ ...prev, projects })); }, []); const exportJSON = useCallback(() => { const json = JSON.stringify(data, null, 2); const blob = new Blob([json], { type: 'application/json' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'cv.json'; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); }, [data]); const importJSON = useCallback((jsonString) => { try { const parsed = JSON.parse(jsonString); setData(parsed); return { success: true }; } catch (e) { return { success: false, error: e.message }; } }, []); return { data, updatePersonal, updateExperience, updateSkills, updateEducation, updateProjects, exportJSON, importJSON }; }