// Shared JavaScript across all pages console.log('EduVaud Explorer loaded'); async function fetchTrainings() { try { const response = await fetch('https://raw.githubusercontent.com/yourusername/eduvaud-data/main/trainings.json'); if (!response.ok) throw new Error('Network response was not ok'); return await response.json(); } catch (error) { console.error('Error fetching trainings:', error); return []; // Return empty array if fetch fails } } function renderTrainings(trainings) { const container = document.getElementById('trainings-container'); container.innerHTML = ''; trainings.forEach(training => { const card = document.createElement('div'); card.className = 'training-card bg-white rounded-xl shadow-lg border border-gray-100 overflow-hidden transition-all duration-300 hover:shadow-xl'; const tags = training.certification ? ` Certifié ` : ''; const typeColors = { 'formation continue': 'from-blue-400 to-blue-600', 'CAS': 'from-purple-400 to-purple-600', 'DAS': 'from-indigo-400 to-indigo-600', 'modules': 'from-teal-400 to-teal-600' }; const typeTag = ` ${training.type} `; card.innerHTML = `

${training.title}

${training.provider}

${tags} ${typeTag}

${training.description}

${training.skills_focus.map(skill => ` ${skill} ` ).join('')}
${training.target_audience.join(', ')} ${training.location} ${training.duration || 'Variable'}
${training.start_date ? `Début: ${new Date(training.start_date).toLocaleDateString()}` : 'Dates flexibles'} En savoir plus
`; container.appendChild(card); }); feather.replace(); } // Filter functionality document.querySelectorAll('.filter-select').forEach(select => { select.addEventListener('change', function() { // Implement filter logic here console.log('Filter changed:', this.value); }); });