gameboard rendering for cards from card deck in store

This commit is contained in:
Mikayla Dobson
2022-04-16 11:52:52 -05:00
parent 0b16b3c963
commit 9389dafa6b
8 changed files with 320 additions and 22 deletions

View File

@@ -0,0 +1,51 @@
import '../../styles/GameBoard.css';
import Card from '../Cards/Card';
import { CardDeck } from '../../store/CardDeck';
import { useEffect, useState } from 'react';
export default function GameBoard() {
const [trigger, setTrigger] = useState(true);
const [tierThree, setTierThree] = useState(null);
const [tierTwo, setTierTwo] = useState(null);
const [tierOne, setTierOne] = useState(null);
const [content, setContent] = useState(null);
let currentCards = {
tierOneCards: null,
tierTwoCards: null,
tierThreeCards: null,
};
useEffect(() => {
// param limit sets limit on number of cards rendered
// param tier filters by card tier
const buildGameBoardRow = (limit) => {
let newBoard = [];
let iter = 0;
for (let cardConfig of CardDeck) {
while (iter < limit) {
iter++;
// if (cardConfig.tier !== tier) continue;
newBoard.push(<Card state={cardConfig} />);
}
}
setContent(newBoard);
setTrigger(false);
}
if (trigger) buildGameBoardRow(6);
}, [trigger]);
return (
<div className="gameboard">
<h1 className="gameboard-title">SPLINTER</h1>
<div className="gameboard-row">
{content || 'Loading'}
</div>
<h2>Deck length: {CardDeck.length}</h2>
</div>
)
}