From 78dec2a0530ebddc879711c451b9227c6d481da9 Mon Sep 17 00:00:00 2001 From: Giovanni-Josserand Date: Sun, 31 Aug 2025 21:34:49 +0200 Subject: [PATCH 01/13] add home page and projects page --- README.md | 11 ++----- package-lock.json | 56 +++++++++++++++++++++++++++++++++- package.json | 3 +- src/App.jsx | 19 +++++------- src/components/Experiences.jsx | 4 +-- src/components/Projects.jsx | 7 ++--- src/components/Skills.jsx | 2 +- src/main.jsx | 5 ++- src/pages/HomePage.jsx | 17 +++++++++++ src/pages/ProjectsPage.jsx | 38 +++++++++++++++++++++++ 10 files changed, 132 insertions(+), 30 deletions(-) create mode 100644 src/pages/HomePage.jsx create mode 100644 src/pages/ProjectsPage.jsx diff --git a/README.md b/README.md index ca583d6..206383d 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,10 @@ # To do -## For V1 : -- Revoir les titres de section (+espace au dessus des titres) - -## For V2 : -- Mettre la base de donnée en place -- Refaire en conséquence les choses nécessaires - -## For V3 : - Faire une page pour lister tous les projets +- Rafaire l'organisation du projet - Faire une page explicative par projet +- Faire du responsive +- Refaire la section des skills ## Usefull commands diff --git a/package-lock.json b/package-lock.json index ad5d14d..2a8e3ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "0.0.0", "dependencies": { "react": "^19.1.0", - "react-dom": "^19.1.0" + "react-dom": "^19.1.0", + "react-router-dom": "^7.8.2" }, "devDependencies": { "@eslint/js": "^9.25.0", @@ -1600,6 +1601,15 @@ "dev": true, "license": "MIT" }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2471,6 +2481,44 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.8.2.tgz", + "integrity": "sha512-7M2fR1JbIZ/jFWqelpvSZx+7vd7UlBTfdZqf6OSdF9g6+sfdqJDAWcak6ervbHph200ePlu+7G8LdoiC3ReyAQ==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.8.2.tgz", + "integrity": "sha512-Z4VM5mKDipal2jQ385H6UBhiiEDlnJPx6jyWsTYoZQdl5TrjxEV2a9yl3Fi60NBJxYzOTGTTHXPi0pdizvTwow==", + "license": "MIT", + "dependencies": { + "react-router": "7.8.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -2544,6 +2592,12 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/package.json b/package.json index 385876e..00752b0 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "react": "^19.1.0", - "react-dom": "^19.1.0" + "react-dom": "^19.1.0", + "react-router-dom": "^7.8.2" }, "devDependencies": { "@eslint/js": "^9.25.0", diff --git a/src/App.jsx b/src/App.jsx index fff1480..1161c03 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,20 +1,15 @@ import './App.css' -import Home from './components/Home.jsx' -import Experiences from './components/Experiences.jsx' -import Projects from './components/Projects.jsx' -import Skills from './components/Skills.jsx' -import Footer from './components/Footer.jsx' +import { Routes, Route, Link } from 'react-router-dom'; +import HomePage from './pages/HomePage.jsx'; +import ProjectsPage from './pages/ProjectsPage'; function App() { return ( -
- - - - -
-
+ + } /> + } /> + ) } diff --git a/src/components/Experiences.jsx b/src/components/Experiences.jsx index ee5f922..be29a31 100644 --- a/src/components/Experiences.jsx +++ b/src/components/Experiences.jsx @@ -10,14 +10,14 @@ function Experiences() { useEffect(() => { const fetchExperiencesAndTasks = async () => { try { - let response = await fetch('/api/experiences'); + 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'); + response = await fetch('/api/experienceTasks/'); if (!response.ok) { throw new Error(`Erreur HTTP: ${response.status}`); } diff --git a/src/components/Projects.jsx b/src/components/Projects.jsx index 70b66da..cb44ad0 100644 --- a/src/components/Projects.jsx +++ b/src/components/Projects.jsx @@ -1,6 +1,7 @@ import SingleProject from "./SingleProject.jsx"; import "../styles/Projects.css" import React, {useEffect, useState} from "react"; +import {Link} from "react-router-dom"; function Projects() { const [projects, setProjects] = useState([]); const [error, setError] = useState(null); @@ -8,7 +9,7 @@ function Projects() { useEffect(() => { const fetchProjects = async () => { try { - const response = await fetch('/api/projects'); + const response = await fetch('/api/projects/'); if (!response.ok) { throw new Error(`Erreur HTTP: ${response.status}`); } @@ -35,9 +36,7 @@ function Projects() { ))}
-

- Show more -

+ Show more
) diff --git a/src/components/Skills.jsx b/src/components/Skills.jsx index 2d7dfdf..249a737 100644 --- a/src/components/Skills.jsx +++ b/src/components/Skills.jsx @@ -9,7 +9,7 @@ function Skills() { useEffect(() => { const fetchSkills = async () => { try { - const response = await fetch('/api/skills'); + const response = await fetch('/api/skills/'); if (!response.ok) { throw new Error(`Erreur HTTP: ${response.status}`); } diff --git a/src/main.jsx b/src/main.jsx index b9a1a6d..a85b321 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -2,9 +2,12 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' import App from './App.jsx' +import { BrowserRouter } from 'react-router-dom'; createRoot(document.getElementById('root')).render( - + + + , ) diff --git a/src/pages/HomePage.jsx b/src/pages/HomePage.jsx new file mode 100644 index 0000000..297d006 --- /dev/null +++ b/src/pages/HomePage.jsx @@ -0,0 +1,17 @@ +import Home from '../components/Home.jsx' +import Experiences from '../components/Experiences.jsx' +import Projects from '../components/Projects.jsx' +import Skills from '../components/Skills.jsx' +import Footer from '../components/Footer.jsx' +function HomePage() { + return ( +
+ + + + +
+
+ ); +} +export default HomePage; \ No newline at end of file diff --git a/src/pages/ProjectsPage.jsx b/src/pages/ProjectsPage.jsx new file mode 100644 index 0000000..81bd214 --- /dev/null +++ b/src/pages/ProjectsPage.jsx @@ -0,0 +1,38 @@ +import React, {useEffect, useState} from "react"; +import SingleProject from "../components/SingleProject.jsx"; +function ProjectsPage() { + const [projects, setProjects] = useState([]); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchProjects = async () => { + try { + const response = await fetch('/api/projects/'); + if (!response.ok) { + throw new Error(`Erreur HTTP: ${response.status}`); + } + const data = await response.json(); + setProjects(data.data); + } catch (err) { + setError(err.message); + } + }; + fetchProjects(); + }, []); + + if (error) { + return
Erreur lors de la récupération des données : {error}
; + } + + + + return ( +
+

Voici mes projets

; + {projects.map(project => ( + + ))} +
+ ) +} +export default ProjectsPage; \ No newline at end of file From b17d88f869c3aa929074adcf1ccc93956e56a799 Mon Sep 17 00:00:00 2001 From: Giovanni-Josserand Date: Mon, 1 Sep 2025 22:22:20 +0200 Subject: [PATCH 02/13] add of projects page, and new projects --- README.md | 6 ++- public/assets/images/empty/empty_1.png | Bin 0 -> 80727 bytes src/App.jsx | 2 +- src/components/Experiences.jsx | 2 +- src/components/NavBar.jsx | 59 +++++++++++--------- src/components/Projects.jsx | 72 +++++++++++++++++++------ src/components/SingleProject.jsx | 5 +- src/components/Skills.jsx | 2 +- src/pages/HomePage.jsx | 27 ++++++++-- src/pages/ProjectsPage.jsx | 38 ++----------- src/styles/Projects.css | 29 +++++++++- src/styles/SingleProject.css | 17 ++++-- 12 files changed, 167 insertions(+), 92 deletions(-) create mode 100644 public/assets/images/empty/empty_1.png diff --git a/README.md b/README.md index 206383d..7358f93 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # To do -- Faire une page pour lister tous les projets +- Régler problème de scoll entre page - Rafaire l'organisation du projet +- Rajouter les images manquantes des projects - Faire une page explicative par projet - Faire du responsive + +## Plus tard - Refaire la section des skills +- Ajouter un fonction de filtrage des projects (en fonction de la date, des skills) ## Usefull commands diff --git a/public/assets/images/empty/empty_1.png b/public/assets/images/empty/empty_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2ad3933c27ca3957ea3f0da7059f25c019aa1b36 GIT binary patch literal 80727 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 AS^xk5 literal 0 HcmV?d00001 diff --git a/src/App.jsx b/src/App.jsx index 1161c03..3eb8608 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -8,7 +8,7 @@ function App() { return ( } /> - } /> + } /> ) } diff --git a/src/components/Experiences.jsx b/src/components/Experiences.jsx index be29a31..42bad78 100644 --- a/src/components/Experiences.jsx +++ b/src/components/Experiences.jsx @@ -31,7 +31,7 @@ function Experiences() { }, []); if (error) { - return
Erreur lors de la récupération des données : {error}
; + return
Error retrieving data: {error}
; } return ( diff --git a/src/components/NavBar.jsx b/src/components/NavBar.jsx index b9f50ee..323438b 100644 --- a/src/components/NavBar.jsx +++ b/src/components/NavBar.jsx @@ -1,44 +1,51 @@ import { useEffect, useState } from "react"; +import { useNavigate } from "react-router-dom"; import "../styles/NavBar.css"; const NavBar = () => { const [active, setActive] = useState("home-section"); const [isScrolling, setIsScrolling] = useState(false); + const navigate = useNavigate(); + useEffect(() => { - const sections = document.querySelectorAll("section"); - const navHeight = document.querySelector(".navbar")?.offsetHeight + 40 || 120; + if (location.pathname === '/') { + const sections = document.querySelectorAll("section"); + const navHeight = document.querySelector(".navbar")?.offsetHeight + 40 || 120; - const handleScroll = () => { - if (isScrolling) return; + const handleScroll = () => { + if (isScrolling) return; - let current = "home-section"; - sections.forEach((section) => { - const sectionTop = section.offsetTop - navHeight; - if (window.scrollY >= sectionTop) { - current = section.id; - } - }); + let current = "home-section"; + sections.forEach((section) => { + const sectionTop = section.offsetTop - navHeight; + if (window.scrollY >= sectionTop) { + current = section.id; + } + }); + setActive(current); + }; - setActive(current); - }; + window.addEventListener("scroll", handleScroll); + handleScroll(); - window.addEventListener("scroll", handleScroll); - handleScroll(); - - return () => { - window.removeEventListener("scroll", handleScroll); - }; - }, [isScrolling]); + return () => { + window.removeEventListener("scroll", handleScroll); + }; + } + }, [isScrolling, location.pathname]); const handleClick = (id) => { - setActive(id); - setIsScrolling(true); - document.getElementById(id)?.scrollIntoView({ behavior: "smooth" }); - setTimeout(() => setIsScrolling(false), 800); + if (location.pathname === '/') { + setActive(id); + setIsScrolling(true); + document.getElementById(id)?.scrollIntoView({ behavior: "smooth" }); + setTimeout(() => setIsScrolling(false), 800); + } else { + navigate(`/#${id}`); + } }; - return (