diff --git a/back/src/main.rs b/back/src/main.rs
index 141544d..23d9fc0 100644
--- a/back/src/main.rs
+++ b/back/src/main.rs
@@ -122,6 +122,8 @@ async fn main() -> Result<(), std::io::Error> {
.service(api)
.service(get_article)
.service(Files::new("/", "public").index_file("index.html"))
+ .service(Files::new("/game", "public").index_file("index.html"))
+ .service(Files::new("/chaos", "public").index_file("index.html"))
})
.bind(("0.0.0.0", 2486))?
.run()
diff --git a/front/src/components/NavBar.tsx b/front/src/components/NavBar.tsx
index d868b75..d6f6c87 100644
--- a/front/src/components/NavBar.tsx
+++ b/front/src/components/NavBar.tsx
@@ -11,9 +11,10 @@ export default function NavBar(){
Home
Game
Articles
+ Le Chaos
-
+
);
}
\ No newline at end of file
diff --git a/front/src/components/chaos/MonInput.tsx b/front/src/components/chaos/MonInput.tsx
new file mode 100644
index 0000000..ae96388
--- /dev/null
+++ b/front/src/components/chaos/MonInput.tsx
@@ -0,0 +1,16 @@
+//import { useState } from "react";
+
+interface MonInputProps {
+ text: string;
+ new_focus: () => void;
+ police: string;
+}
+
+export default function MonInput({text, new_focus, police}: MonInputProps) {
+
+ return (
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/front/src/components/chaos/monButton.tsx b/front/src/components/chaos/monButton.tsx
new file mode 100644
index 0000000..e06033f
--- /dev/null
+++ b/front/src/components/chaos/monButton.tsx
@@ -0,0 +1,26 @@
+
+interface MonButtonProps {
+ letter: string;
+ changetext: (arg0: string) => void;
+ sizeFrontw: number;
+ sizeFronth: number;
+ rdmFront: () => void;
+ color: string;
+}
+
+
+export default function MonButton({letter,changetext,sizeFrontw,sizeFronth,rdmFront,color}: MonButtonProps) {
+
+
+
+ function clicked() {rdmFront();
+ changetext(letter)}
+
+
+
+ return (
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/front/src/components/chaos/style.css b/front/src/components/chaos/style.css
new file mode 100644
index 0000000..f0fbe2d
--- /dev/null
+++ b/front/src/components/chaos/style.css
@@ -0,0 +1,12 @@
+
+#keys {
+ display: grid;
+ grid-template-columns: auto auto 1fr;
+
+
+}
+
+.key {
+ font-size: 10px;
+ border: solid black;
+}
\ No newline at end of file
diff --git a/front/src/main.tsx b/front/src/main.tsx
index d4ac604..a9d0f99 100644
--- a/front/src/main.tsx
+++ b/front/src/main.tsx
@@ -2,6 +2,8 @@ import { BrowserRouter, Route, Routes } from "react-router";
import { createRoot } from 'react-dom/client'
import MainPage from "./pages/MainPage.tsx";
import GamePage from "./pages/GamePage.tsx";
+import ChaosPage from "./pages/ChaosPage.tsx";
+
import ArticlePage from "./pages/ArticlePage.tsx";
import './index.css'
@@ -12,6 +14,7 @@ createRoot(document.getElementById('root')!).render(
} />
// Game page
} />
+ } />
// Article page (dynamic route)
} />
// Not found
diff --git a/front/src/pages/ChaosPage.tsx b/front/src/pages/ChaosPage.tsx
new file mode 100644
index 0000000..9efc84b
--- /dev/null
+++ b/front/src/pages/ChaosPage.tsx
@@ -0,0 +1,86 @@
+import MonButton from "../components/chaos/monButton";
+import MonInput from "../components/chaos/MonInput";
+import "../components/chaos/style.css"
+import { useState } from "react";
+
+
+export default function ChaosPage(){
+
+ const [array_letter,setArray_letter]=useState(["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"," ","!"]);
+
+ const [sizeFrontw,setSizeFrontw] = useState(16)
+ const [sizeFronth,setSizeFronth] = useState(20)
+ const [color,setColor] = useState("#ffffff")
+
+ function randomFront(){setSizeFronth(Math.floor(Math.random() * (1000)));
+ setSizeFrontw(Math.floor(Math.random() * (1000)));
+ setColor(`#${Math.floor(Math.random() * 16777215).toString(16)}`)}
+
+ function shuffleArray(arr: string[]) {
+ for (let i = arr.length - 1; i > 0; i--) {
+ const j = Math.floor(Math.random() * (i + 1)); // Choisir un index aléatoire
+ [arr[i], arr[j]] = [arr[j], arr[i]]; // Échanger les éléments
+ }
+ return arr;
+ }
+
+
+ // console.log(shuffledArray); // Affiche un tableau mélangé
+
+
+ const [entry1,setEntry1] = useState("")
+ function E1(ent:string) {
+ setEntry1(entry1+ent);
+ }
+ const [connarddefocus,setFocus] = useState(()=>E1)
+
+ const [entry2,setEntry2] = useState("")
+ function E2(ent:string) {
+ setEntry2(entry2+ent);
+ }
+
+ function changeFocus(E: (ent:string)=>void) {
+ setArray_letter(shuffleArray(array_letter));
+ setFocus(()=>E);
+ }
+
+ const [entry3,setEntry3] = useState("")
+ function E3(ent:string) {
+ setEntry3(entry3+ent);
+ }
+
+ const [tel,setTel] = useState(0)
+
+
+ return(
+
+ )
+}
\ No newline at end of file