diff --git a/webapp/src/assets/perso/perso-1/pose-1.png b/webapp/src/assets/perso/perso-1/pose-1.png
index 0404c72..3d9c4cb 100644
Binary files a/webapp/src/assets/perso/perso-1/pose-1.png and b/webapp/src/assets/perso/perso-1/pose-1.png differ
diff --git a/webapp/src/assets/perso/perso-1/pose-2.png b/webapp/src/assets/perso/perso-1/pose-2.png
new file mode 100644
index 0000000..0404c72
Binary files /dev/null and b/webapp/src/assets/perso/perso-1/pose-2.png differ
diff --git a/webapp/src/assets/perso/perso-3/pose-1.png b/webapp/src/assets/perso/perso-3/pose-1.png
new file mode 100644
index 0000000..fb913dc
Binary files /dev/null and b/webapp/src/assets/perso/perso-3/pose-1.png differ
diff --git a/webapp/src/assets/perso/perso-4/pose-1.png b/webapp/src/assets/perso/perso-4/pose-1.png
new file mode 100644
index 0000000..0989fc6
Binary files /dev/null and b/webapp/src/assets/perso/perso-4/pose-1.png differ
diff --git a/webapp/src/assets/perso/perso-4/pose-2.png b/webapp/src/assets/perso/perso-4/pose-2.png
new file mode 100644
index 0000000..f491b0f
Binary files /dev/null and b/webapp/src/assets/perso/perso-4/pose-2.png differ
diff --git a/webapp/src/components/content/game/cardmission/index.jsx b/webapp/src/components/content/game/cardmission/index.jsx
index 34fb563..ae6745f 100644
--- a/webapp/src/components/content/game/cardmission/index.jsx
+++ b/webapp/src/components/content/game/cardmission/index.jsx
@@ -1,25 +1,53 @@
+import {useState} from "react";
+import { useNavigate } from "react-router-dom";
import Pose1 from "../../../../assets/perso/perso-1/pose-1.png";
import Pose2 from "../../../../assets/perso/perso-2/pose-1.png";
+import Pose3 from "../../../../assets/perso/perso-3/pose-1.png";
+import Pose4 from "../../../../assets/perso/perso-4/pose-1.png";
+// import Pose5 from "../../../../assets/perso/perso-5/pose-1.png";
-const img = ["",Pose1,Pose2]
+const img = ["",Pose1,Pose2,Pose3,Pose4];
-function Transition({img}) {
- return(
-
+function CardMission({theme}) {
-
- )
-}
+ const id = theme.id;
+
+ const navigate = useNavigate();
+
+ const [validate,setValidate] = useState(false);
+ let transi = validate ? "right-0" : "right-dfull";
+ let group1 = validate ? "left-0" : "left-1/4";
+ let group2 = validate ? "left-1/4" : "left-1/2";
+ let group3 = validate ? "left-1/2" : "left-3/4";
+ let group4 = validate ? "left-3/4" : "left-full";
+
+ function changeTransi(id) {
+ setValidate(!validate);
+ setTimeout(() => {
+ navigate('/game/'+id);
+ }, 1000);
+ }
-function CardMission({mission}) {
return(
-
Test
+
{theme.theme}
-

+

+
+
+
+

+ {/*
+
+
+
+
+
+
+
+
+
*/}
-
-
)
}
diff --git a/webapp/src/components/content/game/gamescene/index.jsx b/webapp/src/components/content/game/gamescene/index.jsx
new file mode 100644
index 0000000..e69de29
diff --git a/webapp/src/components/content/game/mainmenu/index.jsx b/webapp/src/components/content/game/mainmenu/index.jsx
index f757e04..c3242bb 100644
--- a/webapp/src/components/content/game/mainmenu/index.jsx
+++ b/webapp/src/components/content/game/mainmenu/index.jsx
@@ -1,18 +1,29 @@
import CardMission from "../cardmission";
+import { useEffect, useState } from "react";
+import { get } from '../../../../modules/fetcher';
function MainMenu() {
+
+ const [themes,setThemes] = useState([]);
+ const token = localStorage.getItem('token');
+
+ useEffect(() => {
+ get('https://saucisson.justw.tf/api/themes',token)
+ .then(res => {
+ console.log(res.JSON.themes);
+ setThemes(res.JSON.themes);
+ console.log(themes[0]);
+ })
+ .catch(err => console.log(err));
+ },[]);
+
return(
-
-
-
-
-
-
-
-
-
-
+ {themes.map((theme) => {
+ return(
+
+ )
+ })}
);
}
diff --git a/webapp/src/index.js b/webapp/src/index.js
index 5661dca..9553714 100644
--- a/webapp/src/index.js
+++ b/webapp/src/index.js
@@ -4,6 +4,7 @@ import './index.css';
import Home from "./pages/home";
import Login from "./pages/login";
import Game from "./pages/game";
+import GameTheme from "./pages/gametheme";
import {BrowserRouter, Route, Routes} from "react-router-dom";
import Register from "./pages/register";
@@ -25,6 +26,7 @@ function App() {
}/>
}/>
}/>
+ }/>
diff --git a/webapp/src/pages/gametheme/index.jsx b/webapp/src/pages/gametheme/index.jsx
new file mode 100644
index 0000000..e30dc5d
--- /dev/null
+++ b/webapp/src/pages/gametheme/index.jsx
@@ -0,0 +1,29 @@
+import { useEffect, useState } from "react";
+import { useParams } from "react-router-dom";
+import { get } from "../../modules/fetcher";
+import NavbarreGame from "../../components/navbarre/game";
+
+function GameTheme() {
+
+ const {id} = useParams();
+ const [theme,setTheme] = useState([]);
+ const token = localStorage.getItem('token');
+
+ useEffect(() => {
+ get('https://saucisson.justw.tf/api/themes/'+id, token)
+ .then(res => {
+ console.log(res.JSON.theme);
+ setTheme(res.JSON.theme);
+ console.log(theme);
+ })
+ .catch(err => console.log(err));
+ },[]);
+
+ return(
+
+
+
+ );
+}
+
+export default GameTheme;
\ No newline at end of file
diff --git a/webapp/tailwind.config.js b/webapp/tailwind.config.js
index bef004f..d67f7e8 100644
--- a/webapp/tailwind.config.js
+++ b/webapp/tailwind.config.js
@@ -6,6 +6,9 @@ module.exports = {
],
theme: {
extend: {
+ spacing: {
+ 'dfull' : '-100vw',
+ },
colors: {
'darkGreen': '#4dab7f',
'mainBlue': '#047385',