diff --git a/my-app/package-lock.json b/my-app/package-lock.json
index 35c15ab..06ca03e 100644
--- a/my-app/package-lock.json
+++ b/my-app/package-lock.json
@@ -28,6 +28,7 @@
"react-country-flag": "^3.1.0",
"react-dom": "^18.3.1",
"react-icons": "^5.2.0",
+ "react-router-dom": "^6.23.0",
"react-scripts": "^5.0.1",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
@@ -3770,6 +3771,14 @@
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
+ "node_modules/@remix-run/router": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz",
+ "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/@restart/hooks": {
"version": "0.4.16",
"resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz",
@@ -15559,6 +15568,36 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-router": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz",
+ "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==",
+ "dependencies": {
+ "@remix-run/router": "1.16.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz",
+ "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==",
+ "dependencies": {
+ "@remix-run/router": "1.16.0",
+ "react-router": "6.23.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
"node_modules/react-scripts": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz",
diff --git a/my-app/package.json b/my-app/package.json
index ebda695..5aa4488 100644
--- a/my-app/package.json
+++ b/my-app/package.json
@@ -23,6 +23,7 @@
"react-country-flag": "^3.1.0",
"react-dom": "^18.3.1",
"react-icons": "^5.2.0",
+ "react-router-dom": "^6.23.0",
"react-scripts": "^5.0.1",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
diff --git a/my-app/src/App.tsx b/my-app/src/App.tsx
index d0c3c50..3d74de4 100644
--- a/my-app/src/App.tsx
+++ b/my-app/src/App.tsx
@@ -1,29 +1,21 @@
-// import React from 'react';
-import logo from './img/first.jpg';
-import background from "./img/background.jpg";
-// import background_dark from "./img/background_dark.jpg";
import './css/App.css';
import './css/mine.css';
import './css/mine_phone.css';
-import MenuSimple from './components/language';
-import ButtonSimple from './components/button'
-import MaterialUISwitch from './components/switch'
+import Home from './pages/home'
-import { Card, CardContent, CardMedia, Switch, Typography } from "@mui/material"
import { ThemeProvider, createTheme } from '@mui/material/styles';
-import CssBaseline from '@mui/material/CssBaseline';
-import { dark } from '@mui/material/styles/createPalette';
-// import { Switch } from '@mui/base/Switch';
+import { BrowserRouter, Route, Routes } from 'react-router-dom';
import React, { useState } from "react";
-import { FaArrowRightLong } from "react-icons/fa6";
+import CssBaseline from '@mui/material/CssBaseline';
+import Header from './components/header';
+import { ColorModeContext } from './utils/color-toggle';
+
-import Button from '@mui/material/Button';
function App()
{
-
// state to manage the dark mode
const [toggleDarkMode, setToggleDarkMode] = useState(true);
@@ -46,81 +38,14 @@ function App()
});
return (
-
-
-
-
-
-
- {/*
A.P
*/}
-
-

-
-
-
- Contact
-
-
- Projets
-
-
- CV
-
-
- Competences
-
-
-
-
-
-
- {/* */}
-
-
-
-
-
-
Bienvenue.
-
Étudiant a 42 en informatique, je cherche un emploi afin de compléter
- ma formation académique par une expérience professionnelle qui a du sens.
- Je suis ouvert à de nombreuses propositions en rapport avec mes études
- et suis prêt à discuter de mon parcours plus amplement lors d’un entretien.
-
- {/* */}
-
-
- {/*
*/}
- {/* */}
- {/*
*/}
-
-
-
-
-
-
+
+
+
+
+ }/>
+ >}/>
+
+
);
}
diff --git a/my-app/src/components/button.tsx b/my-app/src/components/button.tsx
index 43dbc01..29723a9 100644
--- a/my-app/src/components/button.tsx
+++ b/my-app/src/components/button.tsx
@@ -34,10 +34,10 @@ const grey = {
const Button = styled(BaseButton)(
({ theme }) => `
+ align-self: center;
font-family: 'IBM Plex Sans', sans-serif;
font-weight: 600;
font-size: 0.875rem;
- line-height: 1.5;
background-color: ${blue[500]};
padding: 8px 16px;
border-radius: 8px;
diff --git a/my-app/src/components/header.tsx b/my-app/src/components/header.tsx
new file mode 100644
index 0000000..ed11feb
--- /dev/null
+++ b/my-app/src/components/header.tsx
@@ -0,0 +1,64 @@
+import MenuSimple from './language';
+import MaterialUISwitch from './switch'
+import { useTheme, ThemeProvider, createTheme } from '@mui/material/styles';
+// import { ThemeProvider, createTheme } from '@mui/material/styles';
+import React, { useState, useContext } from "react";
+
+import logo from '../img/first.jpg';
+
+// import { ColorModeContext } from '../utils/color-toggle'
+
+// const theme = useTheme()
+// const colorMode = React.useContext(ColorModeContext);
+
+import { ColorModeContext } from '../utils/color-toggle';
+
+// const { ColorMode, setColorMode } = useColorMode();
+
+
+function Header()
+{
+
+ const { changeMode } = useContext(ColorModeContext);
+ // const { colorMode, setColorMode } = changeMode();
+
+ // const toggleColorMode = () => {
+ // // Call setColorMode and pass the new color mode value
+ // setColorMode(colorMode === 'light' ? 'dark' : 'light');
+ // };
+
+ return (
+ //
+
+
+ {/*
A.P
*/}
+
+

+
+
+
+ Contact
+
+
+ Projets
+
+
+ CV
+
+
+ Competences
+
+
+
+
+
+
+ {/* */}
+
+
+
+ //
+ )
+}
+
+export default Header;
\ No newline at end of file
diff --git a/my-app/src/components/test.tsx b/my-app/src/components/test.tsx
new file mode 100644
index 0000000..f056c7b
--- /dev/null
+++ b/my-app/src/components/test.tsx
@@ -0,0 +1,62 @@
+import * as React from 'react';
+import IconButton from '@mui/material/IconButton';
+import Box from '@mui/material/Box';
+import { useTheme, ThemeProvider, createTheme } from '@mui/material/styles';
+// import Brightness4Icon from '@mui/icons-material/Brightness4';
+// import Brightness7Icon from '@mui/icons-material/Brightness7';
+
+const ColorModeContext = React.createContext({ toggleColorMode: () => {} });
+
+// function MyApp() {
+// const theme = useTheme();
+// const colorMode = React.useContext(ColorModeContext);
+// return (
+//
+// {theme.palette.mode} mode
+//
+// {theme.palette.mode === 'dark' ? : }
+//
+//
+// );
+// }
+
+export default function ToggleColorMode() {
+ const [mode, setMode] = React.useState<'light' | 'dark'>('light');
+ const colorMode = React.useMemo(
+ () => ({
+ toggleColorMode: () => {
+ setMode((prevMode) => (prevMode === 'light' ? 'dark' : 'light'));
+ },
+ }),
+ [],
+ );
+
+ const theme = React.useMemo(
+ () =>
+ createTheme({
+ palette: {
+ mode,
+ },
+ }),
+ [mode],
+ );
+
+// return (
+//
+//
+//
+//
+//
+// );
+}
diff --git a/my-app/src/css/mine.css b/my-app/src/css/mine.css
index 0512711..d5040b0 100644
--- a/my-app/src/css/mine.css
+++ b/my-app/src/css/mine.css
@@ -60,8 +60,8 @@ body {
/* height: 5vh; */
transition-property: transform;
- transition-duration: 1s;
- transition: all 700ms ease;
+ /* transition-duration: 200ms; */
+ transition: all 200ms ease;
&:hover {
transform: scale(1.1);
@@ -93,9 +93,8 @@ body {
margin-right: 0vw;
}
- .css-15bhy65 {
+ /* .css-15bhy65 {
/* margin-right: 20px; */
- }
Button{
font-weight: 800;
@@ -175,9 +174,9 @@ body {
}
- .css-cg7pzv {
+ /* .css-cg7pzv {
width: 20vw;
- }
+ } */
.project_group {
font-size: 1vw;
@@ -194,7 +193,7 @@ body {
margin-right: 2vw;
/* justify-content: space-between; */
transition-property: transform;
- transition-duration: 700ms;
+ transition-duration: 500ms;
&:hover {
transform: scale(1.15);
}
diff --git a/my-app/src/css/mine_phone.css b/my-app/src/css/mine_phone.css
index b43aaf2..665c695 100644
--- a/my-app/src/css/mine_phone.css
+++ b/my-app/src/css/mine_phone.css
@@ -47,12 +47,11 @@
max-width: 100%;
}
.cv_button {
- width: 20vw;
+ width: 100%;
margin: 0;
margin-top: 5vw;
- margin-right: 40vw;
- margin-left: 40vw;
-
+ /* margin-right: 40vw; */
+ /* margin-left: 40vw; */
/* align-module: center; */
/* align-items: center; */
/* display: inline-block; */
@@ -92,7 +91,7 @@
align-content: center;
}
.arrow {
-
+
}
.project_txt {
font-weight: 800;
diff --git a/my-app/src/index.tsx b/my-app/src/index.tsx
index 032464f..11a3f35 100644
--- a/my-app/src/index.tsx
+++ b/my-app/src/index.tsx
@@ -2,14 +2,18 @@ import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
+// import ColorModeProvider from './utils/color-toggle';
import reportWebVitals from './reportWebVitals';
+
+import { ColorModeProvider } from "./utils/color-toggle"
+
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
root.render(
-
+
);
diff --git a/my-app/src/pages/home.tsx b/my-app/src/pages/home.tsx
new file mode 100644
index 0000000..487a869
--- /dev/null
+++ b/my-app/src/pages/home.tsx
@@ -0,0 +1,52 @@
+import Header from '../components/header'
+import ButtonSimple from '../components/button'
+
+import { FaArrowRightLong } from "react-icons/fa6";
+
+function Home()
+{
+ return(
+
+
+ {/*
*/}
+
+
+
Bienvenue.
+
Étudiant a 42 en informatique, je cherche un emploi afin de compléter
+ ma formation académique par une expérience professionnelle qui a du sens.
+ Je suis ouvert à de nombreuses propositions en rapport avec mes études
+ et suis prêt à discuter de mon parcours plus amplement lors d’un entretien.
+
+
+
+
+
+
+
+
+ )
+}
+
+export default Home;
\ No newline at end of file
diff --git a/my-app/src/setupTests.ts b/my-app/src/setupTests.ts
deleted file mode 100644
index 8f2609b..0000000
--- a/my-app/src/setupTests.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// jest-dom adds custom jest matchers for asserting on DOM nodes.
-// allows you to do things like:
-// expect(element).toHaveTextContent(/react/i)
-// learn more: https://github.com/testing-library/jest-dom
-import '@testing-library/jest-dom';
diff --git a/my-app/src/utils/color-toggle.tsx b/my-app/src/utils/color-toggle.tsx
new file mode 100644
index 0000000..6a988b8
--- /dev/null
+++ b/my-app/src/utils/color-toggle.tsx
@@ -0,0 +1,41 @@
+import React, { createContext, useContext, useState } from 'react';
+import { useTheme, ThemeProvider, createTheme } from '@mui/material/styles';
+import { BrowserRouter, Route, Routes } from 'react-router-dom';
+
+import CssBaseline from '@mui/material/CssBaseline';
+
+import Header from '../components/header';
+import App from "../App"
+
+
+export const ColorModeContext = createContext(true);
+
+export const ColorModeProvider = ({ children }: any) => {
+
+ const [ColorMode, setColorMode] = useState(true); // Define your initial state here
+ const darkTheme = createTheme({
+ palette: {
+ mode: ColorMode ? 'dark' : 'light',
+ primary: {
+ main: '#90caf9',
+ },
+ secondary: {
+ main: '#131052',
+ },
+ },
+ });
+
+ function changeMode() {
+ console.log("CHANGE MOOOOODE")
+ setColorMode(!ColorMode)
+ }
+
+ return (
+
+
+
+
+
+
+ );
+};