fichier zip fini correctement + énigme différente avec téléchargement différente

testTodoS5
Thomas Chazot 1 year ago
parent 3632320ffd
commit 466e3b7d0e

@ -29,6 +29,7 @@
"jzip": "^1.0.0", "jzip": "^1.0.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mysql": "^2.18.1", "mysql": "^2.18.1",
"path": "^0.12.7",
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.9.1", "react-bootstrap": "^2.9.1",
"react-country-flag": "^3.1.0", "react-country-flag": "^3.1.0",
@ -14066,6 +14067,15 @@
"tslib": "^2.0.3" "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": { "node_modules/path-exists": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "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" "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": { "node_modules/process-nextick-args": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@ -18430,6 +18448,14 @@
"requires-port": "^1.0.0" "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": { "node_modules/util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@ -18449,6 +18475,11 @@
"url": "https://github.com/sponsors/ljharb" "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": { "node_modules/utila": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",

@ -23,6 +23,7 @@
"jzip": "^1.0.0", "jzip": "^1.0.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mysql": "^2.18.1", "mysql": "^2.18.1",
"path": "^0.12.7",
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.9.1", "react-bootstrap": "^2.9.1",
"react-country-flag": "^3.1.0", "react-country-flag": "^3.1.0",

@ -270,7 +270,6 @@ const MyGraphComponent: React.FC<MyGraphComponentProps> = ({onNodeClick, handleS
direction: 'LR', // LR (Left to Right) ou autre selon votre préférence direction: 'LR', // LR (Left to Right) ou autre selon votre préférence
sortMethod: 'hubsize' sortMethod: 'hubsize'
}, },
distanceMin: 500, // Set the minimum distance between nodes
//randomSeed: 2 //randomSeed: 2
}, },
physics: { physics: {

@ -26,6 +26,11 @@ import Reset from "../res/icon/reset.png";
import Oeye from "../res/icon/eye.png"; import Oeye from "../res/icon/eye.png";
import Ceye from "../res/icon/hidden.png"; import Ceye from "../res/icon/hidden.png";
import JSZip from 'jszip'; 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 */ /* nav */
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
@ -139,7 +144,7 @@ const InGame = ({locale, changeLocale}) => {
const zip = new JSZip(); const zip = new JSZip();
if (isDaily && networkEnigme != null){ if (isDaily && !isEasy && networkEnigme != null){
const tex = generateLatexCodeEnigme(personNetwork, person, indices, network, networkEnigme) const tex = generateLatexCodeEnigme(personNetwork, person, indices, network, networkEnigme)
const blob = new Blob([tex], { type: 'application/x-latex;charset=utf-8' }); const blob = new Blob([tex], { type: 'application/x-latex;charset=utf-8' });
zip.file('socialGraph.tex', tex); zip.file('socialGraph.tex', tex);
@ -150,30 +155,26 @@ const InGame = ({locale, changeLocale}) => {
zip.file('socialGraph.tex', tex); 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 zip.file('ballon-de-basket.png', await fetchImage(ballonDeBasket));
const imagesFolder = 'Script'; zip.file('ballon-de-foot.png', await fetchImage(ballonDeFoot));
zip.file('baseball.png', await fetchImage(baseball));
for (const imageName of imageNames) { zip.file('bowling.png', await fetchImage(bowling));
const imageUrl = process.env.PUBLIC_URL + `/${imagesFolder}/${imageName}`; zip.file('tennis.png', await fetchImage(tennis));
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}`);
}
}
const content = await zip.generateAsync({ type: 'blob' }); const content = await zip.generateAsync({ type: 'blob' });
// Enregistre l'archive en tant que fichier // Enregistre l'archive en tant que fichier
saveAs(content, 'social_graph.zip'); 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 = () => { const resetGraph = () => {
setisLoading(true); setisLoading(true);
socket.emit("reset graph", socket.id) socket.emit("reset graph", socket.id)

@ -182,8 +182,6 @@ function Play() {
setPersonData(choosenPerson) setPersonData(choosenPerson)
setPersonNetworkData(networkPerson) setPersonNetworkData(networkPerson)
setIndicesData(choosenIndices) setIndicesData(choosenIndices)
setIndicesData(choosenIndices)
navigate('/game?solo=true&daily=true&easy=true'); navigate('/game?solo=true&daily=true&easy=true');
setShowOverlay(false); setShowOverlay(false);
}; };
@ -196,7 +194,6 @@ function Play() {
setPersonData(choosenPerson) setPersonData(choosenPerson)
setPersonNetworkData(networkPerson) setPersonNetworkData(networkPerson)
setIndicesData(choosenIndices) setIndicesData(choosenIndices)
setIndicesData(choosenIndices)
if (first){ if (first){
first = false first = false
const map = EnigmeDuJourCreator.createEnigme(networkPerson, choosenIndices, choosenPerson, Stub.GenerateIndice()) const map = EnigmeDuJourCreator.createEnigme(networkPerson, choosenIndices, choosenPerson, Stub.GenerateIndice())

@ -14,7 +14,6 @@ import Pair from "../model/Pair";
function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, choosenIndices : Indice[], network: Network): string { function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, choosenIndices : Indice[], network: Network): string {
let latexCode = ""; let latexCode = "";
//*Setup //*Setup
latexCode += "\\documentclass[11pt]{article}\n" latexCode += "\\documentclass[11pt]{article}\n"
latexCode += "\\usepackage[landscape]{geometry}\n" latexCode += "\\usepackage[landscape]{geometry}\n"
@ -64,7 +63,6 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c
person.getFriends().forEach((friend) => { person.getFriends().forEach((friend) => {
latexCode += ` \\draw (${person.getId()}) -- (${friend.getId()});\n`; latexCode += ` \\draw (${person.getId()}) -- (${friend.getId()});\n`;
}); });
console.log(person.getFriends().length);
}); });
latexCode += "\\end{tikzpicture}\n"; latexCode += "\\end{tikzpicture}\n";
@ -83,6 +81,8 @@ function generateLatexCode(personsNet : PersonNetwork, choosenPerson : Person, c
choosenIndices.forEach((indice, index) => { choosenIndices.forEach((indice, index) => {
latexCode += `\\item Indice ${index + 1} : ${indice.ToString('fr')}.\n` latexCode += `\\item Indice ${index + 1} : ${indice.ToString('fr')}.\n`
console.log("coucou")
console.log(indice.ToString("fr"))
}) })
latexCode += "\\end{compactitem}\n" latexCode += "\\end{compactitem}\n"
@ -147,7 +147,6 @@ function generateLatexCodeEnigme(personsNet : PersonNetwork, choosenPerson : Per
person.getFriends().forEach((friend) => { person.getFriends().forEach((friend) => {
latexCode += ` \\draw (${person.getId()}) -- (${friend.getId()});\n`; latexCode += ` \\draw (${person.getId()}) -- (${friend.getId()});\n`;
}); });
console.log(person.getFriends().length);
}); });
latexCode += "\\end{tikzpicture}\n"; latexCode += "\\end{tikzpicture}\n";

@ -7951,6 +7951,14 @@
"resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
"version" "4.0.0" "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": "performance-now@^2.1.0":
"integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" "integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
"resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" "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" "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
"version" "2.0.1" "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": "promise-inflight@^1.0.1":
"integrity" "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" "integrity" "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="
"resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz"
@ -10469,6 +10482,13 @@
"has-symbols" "^1.0.1" "has-symbols" "^1.0.1"
"object.getownpropertydescriptors" "^2.1.0" "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": "utila@~0.4":
"integrity" "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" "integrity" "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA=="
"resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz"

Loading…
Cancel
Save