From 5dbb785fc479d6516be0ef5e0493638f4fa83a4e Mon Sep 17 00:00:00 2001 From: Guillaume Date: Fri, 26 Jun 2026 16:02:06 +0200 Subject: [PATCH] idk --- mon-projet/src/App.css | 8 ++++++ mon-projet/src/components/carte.jsx | 1 + mon-projet/src/pages/Accueil.jsx | 40 +++++++++++++++++++---------- 3 files changed, 36 insertions(+), 13 deletions(-) diff --git a/mon-projet/src/App.css b/mon-projet/src/App.css index c464e4f..92df44d 100644 --- a/mon-projet/src/App.css +++ b/mon-projet/src/App.css @@ -186,3 +186,11 @@ border-right-color: var(--border); } } +.sombre { + background-color: #1a1a2e; + color: #eaeaea; +} +.sombre .carte { + background-color: #16213e; + color: #eaeaea; +} diff --git a/mon-projet/src/components/carte.jsx b/mon-projet/src/components/carte.jsx index 0ebb88f..2d99036 100644 --- a/mon-projet/src/components/carte.jsx +++ b/mon-projet/src/components/carte.jsx @@ -6,6 +6,7 @@ function Carte(props) {

{props.titre}

{props.niveaux}

+ ); } diff --git a/mon-projet/src/pages/Accueil.jsx b/mon-projet/src/pages/Accueil.jsx index 81be286..0cb7ebb 100644 --- a/mon-projet/src/pages/Accueil.jsx +++ b/mon-projet/src/pages/Accueil.jsx @@ -2,12 +2,20 @@ import { useState } from "react"; import Carte from "../components/carte"; import Header from "../components/Header"; import Footer from "../components/Footer"; -import { initialData } from "../data"; -import { useNavigate } from "react-router-dom"; -function Accueil({ likes, setLikes }) { +function Accueil({ trilogies, setTrilogies, likes, setLikes }) { console.log("test"); + const [a, setA] = useState(trilogies[0].id); + const [b, setB] = useState(trilogies[1].id); + + const likesA = likes[a] || 0; + const likesB = likes[b] || 0; + const gagnante = + likesA === likesB + ? "Égalité" + : likesA > likesB + ? trilogies.find((t) => t.id === Number(a)).nom + : trilogies.find((t) => t.id === Number(b)).nom; const [recherche, setRecherche] = useState(""); - const [trilogies, setTrilogies] = useState(initialData); const [nom, setNom] = useState(""); const [niveaux, setNiveaux] = useState(""); const [tri, setTri] = useState("nom"); @@ -18,13 +26,10 @@ function Accueil({ likes, setLikes }) { if (tri === "likes") return (likes[b.id] || 0) - (likes[a.id] || 0); return 0; }); - - const navigate = useNavigate(); - function hasard() { - const i = Math.floor(Math.random() * trilogies.length); - navigate(`/trilogie/${trilogies[i].id}`); - } - + const medailles = ["🥇", "🥈", "🥉"]; + const podium = [...trilogies] + .sort((a, b) => (likes[b.id] || 0) - (likes[a.id] || 0)) + .slice(0, 3); function ajouter(e) { e.preventDefault(); if (nom.trim() === "") return; @@ -37,18 +42,26 @@ function Accueil({ likes, setLikes }) { function liker(id) { setLikes((prev) => ({ ...prev, [id]: (prev[id] || 0) + 1 })); } - + function supprimer(id) { + setTrilogies(trilogies.filter((t) => t.id !== id)); + } const total = Object.values(likes).reduce((s, n) => s + n, 0); return (
<> - +
+ {podium.map((t, index) => ( +

+ {medailles[index]} {t.nom} — {likes[t.id] || 0} ❤️ +

+ ))} +
liker(trilo.id)} + onDelete={() => supprimer(trilo.id)} /> ))}