From 339f32c002f2c271d50d098174192a967e86274a Mon Sep 17 00:00:00 2001 From: hipticem Date: Thu, 23 Nov 2023 17:15:13 +0100 Subject: [PATCH 1/6] titre onglet --- frontend/src/assets/images.jpeg | Bin 0 -> 9251 bytes frontend/src/assets/sapin.png | Bin 0 -> 30458 bytes index.html | 30 ++++++++++++++++-------------- 3 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 frontend/src/assets/images.jpeg create mode 100644 frontend/src/assets/sapin.png diff --git a/frontend/src/assets/images.jpeg b/frontend/src/assets/images.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6268ee57a15eb2fc84addc5e865197d8b15c0f63 GIT binary patch literal 9251 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 956547d..84df14d 100644 --- a/index.html +++ b/index.html @@ -1,16 +1,18 @@ - + + + + + + Mon HackaLendrier + - - - - - Vite + React - - - -
- - - - \ No newline at end of file + +
+ + + From 96032ec90ba5be74ecec7d80bc41bd609bcf51c0 Mon Sep 17 00:00:00 2001 From: hipticem Date: Thu, 23 Nov 2023 17:27:02 +0100 Subject: [PATCH 2/6] fixed css --- frontend/components/Surprise/Surprise.css | 4 ++-- frontend/components/Surprise/SurpriseCom.jsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/components/Surprise/Surprise.css b/frontend/components/Surprise/Surprise.css index 8ae02ff..2c0b753 100644 --- a/frontend/components/Surprise/Surprise.css +++ b/frontend/components/Surprise/Surprise.css @@ -1,5 +1,5 @@ .surprise { - background-image: url(frontend/src/assets/imageSurprise.jpg); + background-image: url(public/imageSurprise.jpg); background-size: 100%; background-attachment: fixed; margin: 0; @@ -17,5 +17,5 @@ } .imgSurprise { - width: 60%; + width: 500px; } diff --git a/frontend/components/Surprise/SurpriseCom.jsx b/frontend/components/Surprise/SurpriseCom.jsx index f770703..0e99692 100644 --- a/frontend/components/Surprise/SurpriseCom.jsx +++ b/frontend/components/Surprise/SurpriseCom.jsx @@ -5,9 +5,9 @@ function SurpriseCom() { return (
- error + error le pere noel n'existe pas From 7c25806fc4f78de9822a943a93eb59ac9e3ee5c2 Mon Sep 17 00:00:00 2001 From: Valeriane SUDRE CHEVALIER Date: Thu, 23 Nov 2023 19:47:40 +0100 Subject: [PATCH 3/6] jeu tic tac ou Morpion suivant les preferences --- frontend/components/TicTacToh/Consignes.jsx | 85 +++++++++++++++++++++ frontend/components/TicTacToh/TicTacToh.css | 44 +++++++++++ frontend/src/main.jsx | 38 ++++----- 3 files changed, 149 insertions(+), 18 deletions(-) create mode 100644 frontend/components/TicTacToh/Consignes.jsx create mode 100644 frontend/components/TicTacToh/TicTacToh.css diff --git a/frontend/components/TicTacToh/Consignes.jsx b/frontend/components/TicTacToh/Consignes.jsx new file mode 100644 index 0000000..ab285d1 --- /dev/null +++ b/frontend/components/TicTacToh/Consignes.jsx @@ -0,0 +1,85 @@ +// import { useState } from "react"; +// import PropTypes from "prop-types"; +// import "/components/TicTacToh/TicTacToh.css"; +import "./TicTacToh.css"; + +// const calculateWinner = (carres) => { +// const lines = [ +// [0, 1, 2], +// [3, 4, 5], +// [6, 7, 8], +// [0, 3, 6], +// [1, 4, 7], +// [2, 5, 8], +// [0, 4, 8], +// [2, 4, 6], +// ]; + +// for (let i = 0; i < lines.length; i++) { +// const [a, b, c] = lines[i]; +// if (carres[a] && carres[a] === carres[b] && carres[a] === carres[c]) { +// return carres[a]; +// } +// } + +// return null; +// }; + +// const Carre = ({ value, onClick }) => ( +// +// ); + +// Carre.propTypes = { +// value: PropTypes.string.isRequired, + +// onClick: PropTypes.func.isRequired, +// }; + +// const Consignes = () => { +// const [carres, setCarres] = useState(Array(9).fill(null)); +// const [xSuivant, setXSuivant] = useState(true); + +// const handleClick = (i) => { +// const newCarres = carres.slice(); +// if (calculateWinner(newCarres) || newCarres[i]) { +// return; +// } + +// newCarres[i] = xSuivant ? "X" : "O"; +// setCarres(newCarres); +// setXSuivant(!xSuivant); +// }; + +// const leCarre = (i) => ( +// handleClick(i)} /> +// ); + +// const winner = calculateWinner(carres); +// const status = winner +// ? `Winner: ${winner}` +// : `Next player: ${xSuivant ? "X" : "O"}`; + +// return ( +//
+//
{status}
+//
+// {leCarre(0)} +// {leCarre(1)} +// {leCarre(2)} +//
+//
+// {leCarre(3)} +// {leCarre(4)} +// {leCarre(5)} +//
+//
+// {leCarre(6)} +// {leCarre(7)} +// {leCarre(8)} +//
+//
+// ); +// }; +// export default Consignes; diff --git a/frontend/components/TicTacToh/TicTacToh.css b/frontend/components/TicTacToh/TicTacToh.css new file mode 100644 index 0000000..ddaa6bc --- /dev/null +++ b/frontend/components/TicTacToh/TicTacToh.css @@ -0,0 +1,44 @@ +.game { + display: flex; + flex-direction: row; +} + +.game-consignes { + margin: 20px; +} + +.status { + margin-bottom: 10px; +} + +.lignes-verticales:after { + clear: both; + content: ""; + display: table; +} + +.carre { + background: #fff; + border: 1px solid #999; + float: left; + font-size: 24px; + font-weight: bold; + line-height: 34px; + height: 34px; + margin-right: -1px; + margin-top: -1px; + padding: 0; + text-align: center; + width: 34px; +} + +.carre { + background: #f5f5f5; +} + +.ligne-verticale:nth-child(odd) .carre:nth-child(even), +.ligne-verticale:nth-child(even) .carre:nth-child(odd) { + background: #e3e3e3; +} +@media screen { +} diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 0e1c5e0..d137990 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -1,34 +1,36 @@ import React from "react"; import ReactDOM from "react-dom/client"; - -import App from "./App.jsx"; -import "./index.css"; -import Home from "../pages/Home.jsx"; -import About from "../pages/About.jsx"; - import { createBrowserRouter, RouterProvider } from "react-router-dom"; -import axios from "axios"; +import App from "./App.jsx"; +// import "./index.css"; +// import Calendrier from "../components/Calendrier/Calendrier.jsx"; +// import Contact from "../pages/Contact.jsx"; +// import Surprise from "../pages/Surprise.jsx"; +import TicTacToh from "../pages/TicTacToh.jsx"; const router = createBrowserRouter([ { path: "/", element: , children: [ + // { + // path: "/", + // element: , + // }, + // { + // path: "/contact", + // element: , + // }, { - path: "/", - element: , - loader: async () => { - return await axios - .get("http://localhost:3000/users") - .then((res) => res.data); - }, - }, - { - path: "/about", - element: , + path: "/TicTacToh", + element: , }, ], }, + // { + // path: "*", + // element: , + // }, ]); const root = ReactDOM.createRoot(document.getElementById("root")); From 2dd24f9667d41d2719f9d2166294974005df3207 Mon Sep 17 00:00:00 2001 From: Valeriane SUDRE CHEVALIER Date: Thu, 23 Nov 2023 20:09:41 +0100 Subject: [PATCH 4/6] tout est ok --- frontend/pages/TicTacToh.jsx | 95 ++++++++++++++++++++++++++++++++++++ frontend/src/main.jsx | 11 ++--- 2 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 frontend/pages/TicTacToh.jsx diff --git a/frontend/pages/TicTacToh.jsx b/frontend/pages/TicTacToh.jsx new file mode 100644 index 0000000..8613df0 --- /dev/null +++ b/frontend/pages/TicTacToh.jsx @@ -0,0 +1,95 @@ +// import Consignes from "./Consignes"; +import { useState } from "react"; +import PropTypes from "prop-types"; + +// import "./TicTacToh.css"; + +const TicTacToh = () => ( +
+
+ +
+
+); + +const calculateWinner = (carres) => { + const lines = [ + [0, 1, 2], + [3, 4, 5], + [6, 7, 8], + [0, 3, 6], + [1, 4, 7], + [2, 5, 8], + [0, 4, 8], + [2, 4, 6], + ]; + + for (let i = 0; i < lines.length; i++) { + const [a, b, c] = lines[i]; + if (carres[a] && carres[a] === carres[b] && carres[a] === carres[c]) { + return carres[a]; + } + } + + return null; +}; + +const Carre = ({ value, onClick }) => ( + +); + +Carre.propTypes = { + value: PropTypes.string.isRequired, + + onClick: PropTypes.func.isRequired, +}; + +const Consignes = () => { + const [carres, setCarres] = useState(Array(9).fill(null)); + const [xSuivant, setXSuivant] = useState(true); + + const handleClick = (i) => { + const newCarres = carres.slice(); + if (calculateWinner(newCarres) || newCarres[i]) { + return; + } + + newCarres[i] = xSuivant ? "X" : "O"; + setCarres(newCarres); + setXSuivant(!xSuivant); + }; + + const leCarre = (i) => ( + handleClick(i)} /> + ); + + const winner = calculateWinner(carres); + const status = winner + ? `Winner: ${winner}` + : `Next player: ${xSuivant ? "X" : "O"}`; + + return ( +
+
{status}
+
+ {leCarre(0)} + {leCarre(1)} + {leCarre(2)} +
+
+ {leCarre(3)} + {leCarre(4)} + {leCarre(5)} +
+
+ {leCarre(6)} + {leCarre(7)} + {leCarre(8)} +
+
+ ); +}; + +export default TicTacToh; diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index d74699d..41b4925 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -14,12 +14,11 @@ const router = createBrowserRouter([ path: "/", element: , children: [ - }, { path: "/TicTacToh", element: , }, - { + { path: "/", element: , }, @@ -27,12 +26,12 @@ const router = createBrowserRouter([ path: "/contact", element: , }, + { + path: "*", + element: , + }, ], }, - { - path: "*", - element: , - }, ]); const root = ReactDOM.createRoot(document.getElementById("root")); From 4329011d5a851ebb51acf90fee6edd89958690a1 Mon Sep 17 00:00:00 2001 From: hipticem Date: Thu, 23 Nov 2023 20:54:31 +0100 Subject: [PATCH 5/6] footer --- frontend/components/Footer/Footer.css | 7 +++++++ frontend/components/Footer/Footer.jsx | 11 +++++++++++ frontend/src/App.jsx | 2 ++ 3 files changed, 20 insertions(+) create mode 100644 frontend/components/Footer/Footer.css create mode 100644 frontend/components/Footer/Footer.jsx diff --git a/frontend/components/Footer/Footer.css b/frontend/components/Footer/Footer.css new file mode 100644 index 0000000..ebfc151 --- /dev/null +++ b/frontend/components/Footer/Footer.css @@ -0,0 +1,7 @@ +.footer { + list-style-type: none; + color: white; + margin-right: 90px; + font-size: 30px; + font-weight: bold; +} diff --git a/frontend/components/Footer/Footer.jsx b/frontend/components/Footer/Footer.jsx new file mode 100644 index 0000000..718833d --- /dev/null +++ b/frontend/components/Footer/Footer.jsx @@ -0,0 +1,11 @@ +import React from "react"; +import "../../components/Footer/Footer.css"; +function Footer() { + return ( +
+

© Hackawild

+
+ ); +} + +export default Footer; diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 9116cdb..018c6c3 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,10 +1,12 @@ import { Outlet } from "react-router-dom"; import Nav from "../components/Nav/Nav.jsx"; +import Footer from "../components/Footer/Footer.jsx"; function App() { return (
); } From 759b543803e42988e6fca224b4583b2d1ecf47a2 Mon Sep 17 00:00:00 2001 From: Valeriane SUDRE CHEVALIER Date: Thu, 23 Nov 2023 21:08:43 +0100 Subject: [PATCH 6/6] =?UTF-8?q?modification=20de=20TicTacToc=20pour=20Morp?= =?UTF-8?q?ion=20car=20trop=20chiant=20=C3=A0=20ecrire,=20mise=20en=20plac?= =?UTF-8?q?e=20du=20jeu=20et=20css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/components/Morpion/Consignes.jsx | 85 +++++++++++++++++++++++ frontend/components/Morpion/Morpion.css | 38 ++++++++++ frontend/components/Nav/Nav.jsx | 3 + frontend/pages/Morpion.jsx | 11 +++ frontend/src/main.jsx | 6 +- 5 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 frontend/components/Morpion/Consignes.jsx create mode 100644 frontend/components/Morpion/Morpion.css create mode 100644 frontend/pages/Morpion.jsx diff --git a/frontend/components/Morpion/Consignes.jsx b/frontend/components/Morpion/Consignes.jsx new file mode 100644 index 0000000..fe0bb12 --- /dev/null +++ b/frontend/components/Morpion/Consignes.jsx @@ -0,0 +1,85 @@ +import { useState } from "react"; +import PropTypes from "prop-types"; +import "./Morpion.css"; + +const calculateWinner = (carres) => { + const lines = [ + [0, 1, 2], + [3, 4, 5], + [6, 7, 8], + [0, 3, 6], + [1, 4, 7], + [2, 5, 8], + [0, 4, 8], + [2, 4, 6], + ]; + + for (let i = 0; i < lines.length; i++) { + const [a, b, c] = lines[i]; + if (carres[a] && carres[a] === carres[b] && carres[a] === carres[c]) { + return carres[a]; + } + } + + return null; +}; + +const Carre = ({ value, onClick }) => ( + +); + +Carre.propTypes = { + value: PropTypes.string.isRequired, + + onClick: PropTypes.func.isRequired, +}; + +const Consignes = () => { + const [carres, setCarres] = useState(Array(9).fill(null)); + const [xSuivant, setXSuivant] = useState(true); + + const handleClick = (i) => { + const newCarres = carres.slice(); + if (calculateWinner(newCarres) || newCarres[i]) { + return; + } + + newCarres[i] = xSuivant ? "X" : "O"; + setCarres(newCarres); + setXSuivant(!xSuivant); + }; + + const leCarre = (i) => ( + handleClick(i)} /> + ); + + const winner = calculateWinner(carres); + const status = winner + ? `Winner: ${winner}` + : `Next player: ${xSuivant ? "X" : "O"}`; + + return ( +
+
{status}
+
+ {leCarre(0)} + {leCarre(1)} + {leCarre(2)} +
+
+ {leCarre(3)} + {leCarre(4)} + {leCarre(5)} +
+
+ {leCarre(6)} + {leCarre(7)} + {leCarre(8)} +
+
+ ); +}; + +export default Consignes; diff --git a/frontend/components/Morpion/Morpion.css b/frontend/components/Morpion/Morpion.css new file mode 100644 index 0000000..b390b01 --- /dev/null +++ b/frontend/components/Morpion/Morpion.css @@ -0,0 +1,38 @@ +.game { + margin-top: 15rem; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.game-consignes { + text-align: center; + margin-bottom: 20px; +} + +.carre { + width: 100px; + height: 100px; + font-size: 1.5em; + margin: 5px; + cursor: pointer; + background-color: #fff; + border: 2px solid #ccc; + border-radius: 5px; + outline: none; +} + +.carre:hover { + background-color: #f0f0f0; +} + +.ligne-verticale { + display: flex; +} + +.status { + font-size: 1.2em; + font-weight: bold; + margin-bottom: 10px; +} diff --git a/frontend/components/Nav/Nav.jsx b/frontend/components/Nav/Nav.jsx index 1df7e81..cddc054 100644 --- a/frontend/components/Nav/Nav.jsx +++ b/frontend/components/Nav/Nav.jsx @@ -11,6 +11,9 @@ function Nav() {
  • Messagerie du Père Noël
  • + +
  • Jeu
  • + ); diff --git a/frontend/pages/Morpion.jsx b/frontend/pages/Morpion.jsx new file mode 100644 index 0000000..3f31e39 --- /dev/null +++ b/frontend/pages/Morpion.jsx @@ -0,0 +1,11 @@ +import Consignes from "../components/Morpion/Consignes"; + +const Morpion = () => ( +
    +
    + +
    +
    +); + +export default Morpion; diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 41b4925..a3e8ebf 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -2,7 +2,7 @@ import React from "react"; import ReactDOM from "react-dom/client"; import { createBrowserRouter, RouterProvider } from "react-router-dom"; import App from "./App.jsx"; -import TicTacToh from "../pages/TicTacToh.jsx"; +import Morpion from "../pages/Morpion.jsx"; import "./index.css"; import Calendrier from "../components/Calendrier/Calendrier.jsx"; @@ -15,8 +15,8 @@ const router = createBrowserRouter([ element: , children: [ { - path: "/TicTacToh", - element: , + path: "/Morpion", + element: , }, { path: "/",