const techDescription = document.getElementById('techDescription'); if (!techDescription) { alert('ERROR: No se ha encontrado el elemento "techDescription"'); throw new Error('techDescription element not found'); } const techs = [ { iconId: 'cTechIcon', description: 'C: Programación de sistemas y embedded' }, { iconId: 'espTechIcon', description: 'ESP-IDF: Firmware y drivers para ESP32 sobre FreeRTOS' }, { iconId: 'linuxTechIcon', description: 'Linux: Uso diario y administración' }, { iconId: 'zigTechIcon', description: 'Zig: Experimentos y desarrollo en general' }, { iconId: 'gitTechIcon', description: 'Git: Control de versiones de mis proyectos' }, { iconId: 'rpiTechIcon', description: 'Raspberry Pi: Servidores caseros y homelabs' }, ]; techs.forEach((tech) => { const icon = document.getElementById(tech.iconId); if (!icon) { alert(`ERROR: elemento con ID ${tech.iconId} no encontrado`); return; } icon.addEventListener('mouseenter', () => { techDescription.innerText = tech.description; switch (tech.iconId) { case 'cTechIcon': techDescription.style.color = '#1578fa'; break; case 'espTechIcon': techDescription.style.color = '#e7352c'; break; case 'linuxTechIcon': techDescription.style.color = '#2596be'; break; case 'zigTechIcon': techDescription.style.color = '#f7a41d'; break; case 'gitTechIcon': techDescription.style.color = 'orangered'; break; case 'rpiTechIcon': techDescription.style.color = '#FB266A'; break; default: break; } }); });