Merge pull request 'update of skills section to use db' (#17) from feature/skillsDB into dev

Reviewed-on: #17
This commit is contained in:
Giovanni-Josserand 2025-08-29 22:09:56 +00:00
commit 38a3259c5c

View File

@ -1,35 +1,49 @@
import React, { useState, useEffect } from 'react';
import SkillCard from "./SkillCard.jsx"; import SkillCard from "./SkillCard.jsx";
import "../styles/Skills.css"; import "../styles/Skills.css";
function Skills() { function Skills() {
const [skills, setSkills] = useState([]);
const [error, setError] = useState(null);
useEffect(() => {
const fetchProjects = async () => {
try {
const response = await fetch('/api/skills');
if (!response.ok) {
throw new Error(`Erreur HTTP: ${response.status}`);
}
const data = await response.json();
setSkills(data.data);
} catch (err) {
setError(err.message);
}
};
fetchProjects();
}, []);
if (error) {
return <div>Erreur lors de la récupération des données : {error}</div>;
}
const uniqueSkillTypes = [...new Set(skills.map(skill => skill.type))];
return ( return (
<section id="skills-section"> <section id="skills-section">
<h1 className="section-title">Skills</h1> <h1 className="section-title">Skills</h1>
<div id="languages" className="skill-category"> {uniqueSkillTypes.map(type => (
<h2>Languages</h2> <div id="languages" className="skill-category">
<div className="skills"> <h2>{type}</h2>
<SkillCard text="Python"/> <div className="skills">
<SkillCard text="Java"/> {skills
<SkillCard text="C++"/> .filter(skill => skill.type === type)
<SkillCard text="HTML"/> .map(skill => (
<SkillCard text="CSS"/> <SkillCard text={skill.name}/>
<SkillCard text="JavaScript"/> ))}
<SkillCard text="PHP"/> </div>
<SkillCard text="SQL"/>
</div> </div>
</div> ))}
<div id="librairies" className="skill-category">
<h2>Librairies</h2>
<div className="skills">
<SkillCard text="React"/>
</div>
</div>
<div id="tools" className="skill-category">
<h2>Tools</h2>
<div className="skills">
<SkillCard text="Git"/>
</div>
</div>
</section> </section>
) )
} }