Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ab10c7803 | |||
| f5441f038c | |||
| e92c4227d8 | |||
| 6640136fd9 | |||
| 285daa7d54 | |||
| 56f475839d | |||
| cc8d3c78cd | |||
| 1b675fdd3e | |||
| 37a113fbf6 | |||
| 5401774e0e | |||
| b142112ce0 | |||
| 75d4f5d166 | |||
| dfbe3123d5 | |||
| 41dc079844 | |||
| 65060c6875 | |||
| 1127a608bd | |||
| 1a26e0d2d8 | |||
| 743160af3c | |||
| 9b17d23901 | |||
| c41760c313 | |||
| 540bf7efec | |||
| fe2abff5e5 | |||
| 40d8c49908 | |||
| 3728385ebc | |||
| cc7c586d4a | |||
| 1ec3121bc1 | |||
| 9700ae889e |
@@ -20,12 +20,12 @@ function Projects() {
|
||||
useEffect(() => {
|
||||
const fetchProjects = async () => {
|
||||
try {
|
||||
const response = await fetch('/api/shortProjects/');
|
||||
const response = await fetch('/api/projects/');
|
||||
if (!response.ok) {
|
||||
throw new Error(`Erreur HTTP: ${response.status}`);
|
||||
}
|
||||
const data = await response.json();
|
||||
setProjects(data.data);
|
||||
setProjects(data);
|
||||
} catch (err) {
|
||||
setError(err.message);
|
||||
}
|
||||
@@ -88,7 +88,7 @@ function Projects() {
|
||||
}
|
||||
|
||||
if (filters.technology.length > 0) {
|
||||
const isSkill = filters.technology.every(tech => project.skills.includes(tech));
|
||||
const isSkill = filters.technology.every(tech => project.skills.some(skill => skill.name === tech));
|
||||
if(!isSkill){
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -45,8 +45,8 @@ function SingleProject({ image, title, description, skills, id, school, beginnin
|
||||
|
||||
<ul className="single-project-skills-list">
|
||||
{skills.map((skill) => (
|
||||
<li key={skill}>
|
||||
<SkillCard text={skill} />
|
||||
<li key={skill.id}>
|
||||
<SkillCard text={skill.name} />
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
@@ -4,30 +4,22 @@ import React, {useEffect, useState} from "react";
|
||||
|
||||
function Experiences() {
|
||||
const [experiences, setExperiences] = useState([]);
|
||||
const [experienceTasks, setExperienceTasks] = useState([]);
|
||||
const [error, setError] = useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
const fetchExperiencesAndTasks = async () => {
|
||||
const fetchExperiences = async () => {
|
||||
try {
|
||||
let response = await fetch('/api/experiences/');
|
||||
if (!response.ok) {
|
||||
throw new Error(`Erreur HTTP: ${response.status}`);
|
||||
}
|
||||
let data = await response.json();
|
||||
setExperiences(data.data);
|
||||
|
||||
response = await fetch('/api/experienceTasks/');
|
||||
if (!response.ok) {
|
||||
throw new Error(`Erreur HTTP: ${response.status}`);
|
||||
}
|
||||
data = await response.json();
|
||||
setExperienceTasks(data.data);
|
||||
setExperiences(data);
|
||||
} catch (err) {
|
||||
setError(err.message);
|
||||
}
|
||||
};
|
||||
fetchExperiencesAndTasks();
|
||||
fetchExperiences();
|
||||
}, []);
|
||||
|
||||
if (error) {
|
||||
@@ -39,7 +31,7 @@ function Experiences() {
|
||||
<h1 className="section-title">Experiences</h1>
|
||||
<div className="experiences-container">
|
||||
{experiences.map((exp) => (
|
||||
<SingleExperience experience={exp} tasks={experienceTasks.filter(task => task.experience_id === exp.id)}/>
|
||||
<SingleExperience experience={exp}/>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import './SingleExperience.css';
|
||||
|
||||
function SingleExperience({ experience, tasks }) {
|
||||
function SingleExperience({ experience }) {
|
||||
return (
|
||||
<div className="experience-card">
|
||||
<div className="experience-card-left">
|
||||
@@ -11,7 +11,7 @@ function SingleExperience({ experience, tasks }) {
|
||||
<div className="experience-card-right">
|
||||
<h3 className="experience-role">{experience.role}</h3>
|
||||
<ul className="experience-tasks">
|
||||
{tasks.map((task) => (
|
||||
{experience.tasks.map((task) => (
|
||||
<li>{task.description}</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
@@ -14,7 +14,7 @@ function Skills() {
|
||||
throw new Error(`Erreur HTTP: ${response.status}`);
|
||||
}
|
||||
const data = await response.json();
|
||||
setSkills(data.data);
|
||||
setSkills(data);
|
||||
} catch (err) {
|
||||
setError(err.message);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ function ProjectDetailsPage() {
|
||||
useEffect(() => {
|
||||
const fetchProject = async () => {
|
||||
try {
|
||||
const response = await fetch(`/api/longProjects/${id}`);
|
||||
const response = await fetch(`/api/projects/${id}`);
|
||||
if (!response.ok) {
|
||||
throw new Error(`Erreur HTTP: ${response.status}`);
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ function ProjectDetails({project}) {
|
||||
<ul>
|
||||
{project.skills && project.skills.map((skill) => (
|
||||
<li>
|
||||
<SkillCard text={skill} />
|
||||
<SkillCard text={skill.name} />
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
@@ -73,7 +73,7 @@ function Filter({ filters, setFilters }) {
|
||||
throw new Error(`Erreur HTTP: ${response.status}`);
|
||||
}
|
||||
const data = await response.json();
|
||||
setSkills(data.data);
|
||||
setSkills(data);
|
||||
} catch (err) {
|
||||
setError(err.message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user