import { collectIdentite, renderIdentite } from './sections/identite.js'; import { collectCompetences, renderCompetences } from './sections/competences.js'; import { collectFormation, renderFormation } from './sections/formation.js'; import { collectExperience, renderExperience } from './sections/experience.js'; import { collectHobbies, renderHobbies } from './sections/hobbies.js'; import { t, getLocale } from './i18n/i18n.js'; import { applyTranslations } from './i18n/applyTranslations.js'; import { initLangSwitcher } from './i18n/langSwitcher.js'; function generateCV() { const identite = collectIdentite(); if (!identite.nom || !identite.prenom || !identite.email || !identite.titre) return; renderIdentite(identite); renderCompetences(collectCompetences()); renderFormation(collectFormation()); renderExperience(collectExperience()); renderHobbies(collectHobbies()); localStorage.setItem('cvData', JSON.stringify(identite)); const success = document.getElementById('success'); if (success) { success.textContent = t('success', { prenom: identite.prenom, nom: identite.nom }); success.style.display = 'block'; } } document.addEventListener('DOMContentLoaded', () => { document.documentElement.lang = getLocale(); applyTranslations(); initLangSwitcher(); document.addEventListener('localechange', () => { applyTranslations(); initLangSwitcher(); }); document.getElementById('cv-form')?.addEventListener('submit', (e) => { e.preventDefault(); generateCV(); }); });