const techDescription_en = document.getElementById('techDescription'); if (!techDescription_en) { alert('ERROR: element "techDescription" not found'); throw new Error('techDescription element not found'); } const techs_en = [ { iconId: 'cTechIcon', description: 'C: Systems and embedded programming' }, { iconId: 'espTechIcon', description: 'ESP-IDF: Firmware and drivers for ESP32 on FreeRTOS' }, { iconId: 'linuxTechIcon', description: 'Linux: Daily use and administration' }, { iconId: 'zigTechIcon', description: 'Zig: Experiments and general development' }, { iconId: 'gitTechIcon', description: 'Git: Version control for all my projects' }, { iconId: 'rpiTechIcon', description: 'Raspberry Pi: Home servers and homelabs' }, ]; techs_en.forEach((tech) => { const icon = document.getElementById(tech.iconId); if (!icon) { alert(`ERROR: element with ID ${tech.iconId} not found`); return; } icon.addEventListener('mouseenter', () => { techDescription_en.innerText = tech.description; switch (tech.iconId) { case 'cTechIcon': techDescription_en.style.color = '#1578fa'; break; case 'espTechIcon': techDescription_en.style.color = '#e7352c'; break; case 'linuxTechIcon': techDescription_en.style.color = '#2596be'; break; case 'zigTechIcon': techDescription_en.style.color = '#f7a41d'; break; case 'gitTechIcon': techDescription_en.style.color = 'orangered'; break; case 'rpiTechIcon': techDescription_en.style.color = '#FB266A'; break; default: break; } }); });