diff --git a/src/data/levels.js b/src/data/levels.js index c5c1593..20f92e0 100644 --- a/src/data/levels.js +++ b/src/data/levels.js @@ -2,12 +2,18 @@ import { type } from "@testing-library/user-event/dist/type"; const levels = [ { - _id: "1", + _id: 0, + name: "0", + unlocks: [], + }, + { + _id: 1, name: "1", unlocks: [ { name: "Archetype", type: "choice", + _id: 105, options: [ { folder_id: "xdVnM5YTVFEewTje", @@ -69,7 +75,7 @@ const levels = [ ], }, { - _id: "2", + _id: 2, name: "2", unlocks: [ { @@ -88,36 +94,44 @@ const levels = [ ], }, { - _id: "3", + _id: 3, name: "3", + unlocks: [], }, { - _id: "4", + _id: 4, name: "4", + unlocks: [], }, { - _id: "5", + _id: 5, name: "5", + unlocks: [], }, { - _id: "6", + _id: 6, name: "6", + unlocks: [], }, { - _id: "7", + _id: 7, name: "7", + unlocks: [], }, { - _id: "8", + _id: 8, name: "8", + unlocks: [], }, { - _id: "9", + _id: 9, name: "9", + unlocks: [], }, { - _id: "10", + _id: 10, name: "10", + unlocks: [], }, ]; diff --git a/src/layouts/Body/index.js b/src/layouts/Body/index.js index 1ebcf78..f013003 100644 --- a/src/layouts/Body/index.js +++ b/src/layouts/Body/index.js @@ -1,8 +1,62 @@ import "./styles.css"; +import { useState } from "react"; + +import allData from "../../data/dataFiltered.js"; +import levels from "../../data/levels.js"; + const Body = (props) => { - console.log(props); //Object { level: 0 } - return
lvl: {props.level}
; + const [level, setLevel] = useState(); + const [archetype, setArchetype] = useState(); + // setArchetype(""); + let unlocks = []; + if (props.level) { + if (levels[props.level].unlocks) { + unlocks.push(levels[props.level].unlocks); + } + } + const changeArchetype = (e) => { + setArchetype(e.target.value); + }; + return ( +
+

Body

+ {unlocks.map((unlock) => { + return unlock.map((item) => { + if (item._id === 105) { + return ( +
+ + +

Compétences d'archétype

+ {allData + .filter((comp) => comp.folder === archetype) + .map((comp) => { + if (comp._key.includes("!folders")) { + //Ici recursivement récupérer les compétences d'archetype car certaines sont rangés dans des dossiers, sous-dossiers + } + return ( +
+

{comp.name}

+

{comp.description}

+
+ ); + })} +
+ ); + } + }); + })} +
+ ); }; export default Body; diff --git a/src/pages/Character/index.js b/src/pages/Character/index.js index 0b3f810..befbb2a 100644 --- a/src/pages/Character/index.js +++ b/src/pages/Character/index.js @@ -9,7 +9,7 @@ import levels from "../../data/levels.js"; const Character = () => { const [data, setData] = useState(); - var selectedLevel = 0; + const [selectedLevel, setSelectedLevel] = useState(); useEffect(() => { const filterDataByFolder = (folderId) => { const filteredData = allData.filter((item) => item.folder === folderId); @@ -33,18 +33,19 @@ const Character = () => { }); setData(filteredData); + setSelectedLevel(0); }, [setData]); let levelDom = document.getElementsByClassName("level"); for (let i = 0; i < levelDom.length; i++) { + // eslint-disable-next-line no-loop-func levelDom[i].addEventListener("click", () => { for (let j = 0; j < levelDom.length; j++) { levelDom[j].classList.remove("selected"); } levelDom[i].classList.add("selected"); - selectedLevel = i + 1; - Body({ level: selectedLevel }); + setSelectedLevel(i + 1); }); } @@ -111,6 +112,7 @@ const Character = () => { {renderSubItems(item?.subItems)} ))} */} +