- Actualizado apartado de experiencia laboral (2026) - Quitado icono de Arduino - Añadido iconos de ESP-IDF y Zig - Actualizado github->codeberg - Eliminado todo typescript
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
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;
|
|
}
|
|
});
|
|
});
|