diff --git a/cryptide_project/package-lock.json b/cryptide_project/package-lock.json index 8dc4cb1..55e2b1d 100644 --- a/cryptide_project/package-lock.json +++ b/cryptide_project/package-lock.json @@ -29,6 +29,7 @@ "jzip": "^1.0.0", "lodash": "^4.17.21", "mysql": "^2.18.1", + "path": "^0.12.7", "react": "^18.2.0", "react-bootstrap": "^2.9.1", "react-country-flag": "^3.1.0", @@ -14066,6 +14067,15 @@ "tslib": "^2.0.3" } }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -15502,6 +15512,14 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -18430,6 +18448,14 @@ "requires-port": "^1.0.0" } }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -18449,6 +18475,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", diff --git a/cryptide_project/package.json b/cryptide_project/package.json index 7fdf894..fd6997c 100644 --- a/cryptide_project/package.json +++ b/cryptide_project/package.json @@ -23,6 +23,7 @@ "jzip": "^1.0.0", "lodash": "^4.17.21", "mysql": "^2.18.1", + "path": "^0.12.7", "react": "^18.2.0", "react-bootstrap": "^2.9.1", "react-country-flag": "^3.1.0", diff --git a/cryptide_project/src/Components/GraphContainer.tsx b/cryptide_project/src/Components/GraphContainer.tsx index 22194e1..b4a832b 100644 --- a/cryptide_project/src/Components/GraphContainer.tsx +++ b/cryptide_project/src/Components/GraphContainer.tsx @@ -270,7 +270,6 @@ const MyGraphComponent: React.FC = ({onNodeClick, handleS direction: 'LR', // LR (Left to Right) ou autre selon votre préférence sortMethod: 'hubsize' }, - distanceMin: 500, // Set the minimum distance between nodes //randomSeed: 2 }, physics: { diff --git a/cryptide_project/src/Pages/InGame.tsx b/cryptide_project/src/Pages/InGame.tsx index 69e631b..37acf14 100644 --- a/cryptide_project/src/Pages/InGame.tsx +++ b/cryptide_project/src/Pages/InGame.tsx @@ -26,6 +26,11 @@ import Reset from "../res/icon/reset.png"; import Oeye from "../res/icon/eye.png"; import Ceye from "../res/icon/hidden.png"; import JSZip from 'jszip'; +import ballonDeBasket from '../Script/ballon-de-basket.png'; +import ballonDeFoot from '../Script/ballon-de-foot.png'; +import baseball from '../Script/baseball.png'; +import bowling from '../Script/bowling.png'; +import tennis from '../Script/tennis.png'; /* nav */ import { Link } from 'react-router-dom'; @@ -139,7 +144,7 @@ const InGame = ({locale, changeLocale}) => { const zip = new JSZip(); - if (isDaily && networkEnigme != null){ + if (isDaily && !isEasy && networkEnigme != null){ const tex = generateLatexCodeEnigme(personNetwork, person, indices, network, networkEnigme) const blob = new Blob([tex], { type: 'application/x-latex;charset=utf-8' }); zip.file('socialGraph.tex', tex); @@ -150,30 +155,26 @@ const InGame = ({locale, changeLocale}) => { zip.file('socialGraph.tex', tex); } - const imageNames = ['ballon-de-basket.png', 'ballon-de-foot.png', "baseball.png", "bowling.png", "tennis.png"]; // Liste des noms de fichiers d'images - const imagesFolder = 'Script'; - - for (const imageName of imageNames) { - const imageUrl = process.env.PUBLIC_URL + `/${imagesFolder}/${imageName}`; - const response = await fetch(imageUrl); - - if (response.ok) { - const imageBlob = await response.blob(); - zip.file(`${imageName}`, imageBlob); - } else { - console.error(`Erreur de chargement de l'image ${imageName}`); - } - } + zip.file('ballon-de-basket.png', await fetchImage(ballonDeBasket)); + zip.file('ballon-de-foot.png', await fetchImage(ballonDeFoot)); + zip.file('baseball.png', await fetchImage(baseball)); + zip.file('bowling.png', await fetchImage(bowling)); + zip.file('tennis.png', await fetchImage(tennis)); const content = await zip.generateAsync({ type: 'blob' }); // Enregistre l'archive en tant que fichier saveAs(content, 'social_graph.zip'); - - // Utiliser FileSaver pour télécharger le fichier + } } + const fetchImage = async (imageUrl: string) => { + const response = await fetch(imageUrl); + const blob = await response.blob(); + return blob; + }; + const resetGraph = () => { setisLoading(true); socket.emit("reset graph", socket.id) diff --git a/cryptide_project/src/Pages/Play.tsx b/cryptide_project/src/Pages/Play.tsx index 4b2cc93..7273663 100644 --- a/cryptide_project/src/Pages/Play.tsx +++ b/cryptide_project/src/Pages/Play.tsx @@ -182,8 +182,6 @@ function Play() { setPersonData(choosenPerson) setPersonNetworkData(networkPerson) setIndicesData(choosenIndices) - setIndicesData(choosenIndices) - navigate('/game?solo=true&daily=true&easy=true'); setShowOverlay(false); }; @@ -196,7 +194,6 @@ function Play() { setPersonData(choosenPerson) setPersonNetworkData(networkPerson) setIndicesData(choosenIndices) - setIndicesData(choosenIndices) if (first){ first = false const map = EnigmeDuJourCreator.createEnigme(networkPerson, choosenIndices, choosenPerson, Stub.GenerateIndice()) diff --git a/cryptide_project/src/Script/LatexScript.tsx b/cryptide_project/src/Script/LatexScript.tsx index c323f73..59b4794 100644 --- a/cryptide_project/src/Script/LatexScript.tsx +++ b/cryptide_project/src/Script/LatexScript.tsx @@ -14,7 +14,6 @@ import Pair from "../model/Pair"; function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, choosenIndices : Indice[], network: Network): string { let latexCode = ""; - //*Setup latexCode += "\\documentclass[11pt]{article}\n" latexCode += "\\usepackage[landscape]{geometry}\n" @@ -64,7 +63,6 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c person.getFriends().forEach((friend) => { latexCode += ` \\draw (${person.getId()}) -- (${friend.getId()});\n`; }); - console.log(person.getFriends().length); }); latexCode += "\\end{tikzpicture}\n"; @@ -83,6 +81,8 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c choosenIndices.forEach((indice, index) => { latexCode += `\\item Indice ${index + 1} : ${indice.ToString('fr')}.\n` + console.log("coucou") + console.log(indice.ToString("fr")) }) latexCode += "\\end{compactitem}\n" @@ -147,7 +147,6 @@ function generateLatexCodeEnigme(personsNet : PersonNetwork, choosenPerson : Per person.getFriends().forEach((friend) => { latexCode += ` \\draw (${person.getId()}) -- (${friend.getId()});\n`; }); - console.log(person.getFriends().length); }); latexCode += "\\end{tikzpicture}\n"; diff --git a/cryptide_project/yarn.lock b/cryptide_project/yarn.lock index 2240002..aa0516b 100644 --- a/cryptide_project/yarn.lock +++ b/cryptide_project/yarn.lock @@ -7951,6 +7951,14 @@ "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" "version" "4.0.0" +"path@^0.12.7": + "integrity" "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==" + "resolved" "https://registry.npmjs.org/path/-/path-0.12.7.tgz" + "version" "0.12.7" + dependencies: + "process" "^0.11.1" + "util" "^0.10.3" + "performance-now@^2.1.0": "integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" @@ -8612,6 +8620,11 @@ "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" "version" "2.0.1" +"process@^0.11.1": + "integrity" "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + "version" "0.11.10" + "promise-inflight@^1.0.1": "integrity" "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" @@ -10469,6 +10482,13 @@ "has-symbols" "^1.0.1" "object.getownpropertydescriptors" "^2.1.0" +"util@^0.10.3": + "integrity" "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==" + "resolved" "https://registry.npmjs.org/util/-/util-0.10.4.tgz" + "version" "0.10.4" + dependencies: + "inherits" "2.0.3" + "utila@~0.4": "integrity" "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz"