diff --git a/frontend-react/src/components/user/AddBuildForm.js b/frontend-react/src/components/user/AddBuildForm.js index 2e360f886..ff79c9cdd 100644 --- a/frontend-react/src/components/user/AddBuildForm.js +++ b/frontend-react/src/components/user/AddBuildForm.js @@ -13,6 +13,7 @@ const AddBuildForm = ({ existingBuild, setShowEdit, editBuildFunction, + buildsArray, }) => { const scrollRef = useRef(null) const [weapon, setWeapon] = useState( @@ -64,6 +65,15 @@ const AddBuildForm = ({ shoesItem, } + const existingGear = buildsArray + ? buildsArray.reduce((acc, cur) => { + acc[cur.headgearItem] = [...cur.headgear] + acc[cur.clothingItem] = [...cur.clothing] + acc[cur.shoesItem] = [...cur.shoes] + return acc + }, {}) + : {} + const submit = async e => { e.preventDefault() @@ -155,15 +165,61 @@ const AddBuildForm = ({ - + { + setHeadgear(gear) + setAbilities([ + existingGear[gear] && + !abilities[0][0] && + !abilities[0][1] && + !abilities[0][2] + ? [...existingGear[gear]] + : [...abilities[0]], + [...abilities[1]], + [...abilities[2]], + ]) + }} + /> - + { + setClothing(gear) + setAbilities([ + [...abilities[0]], + existingGear[gear] && + !abilities[1][0] && + !abilities[1][1] && + !abilities[1][2] + ? [...existingGear[gear]] + : [...abilities[1]], + [...abilities[2]], + ]) + }} + /> - + { + setShoes(gear) + setAbilities([ + [...abilities[0]], + [...abilities[1]], + existingGear[gear] && + !abilities[2][0] && + !abilities[2][1] && + !abilities[2][2] + ? [...existingGear[gear]] + : [...abilities[2]], + , + ]) + }} + /> diff --git a/frontend-react/src/components/user/BuildTab.js b/frontend-react/src/components/user/BuildTab.js index 11c395581..ba79c8d92 100644 --- a/frontend-react/src/components/user/BuildTab.js +++ b/frontend-react/src/components/user/BuildTab.js @@ -121,6 +121,7 @@ const BuildTab = ({ user, userViewed }) => { {showForm ? (