Skip to content

Commit

Permalink
cleanup and bugfixes related to leaderMode
Browse files Browse the repository at this point in the history
  • Loading branch information
cmavelis committed Mar 22, 2019
1 parent e23b94d commit 0eb9599
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
9 changes: 4 additions & 5 deletions src/Game.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,16 @@ class Game extends React.Component {

componentDidUpdate(prevProps) {
const { randomSeed, leaderMode } = this.props;
console.log('game updated');
if (prevProps.randomSeed !== randomSeed) {
this.seedNewGame(randomSeed);
}
if (prevProps.leaderMode !== leaderMode) {
if (leaderMode) {
this.setState({
if (leaderMode) { // TODO: find alternative to setState here, avoid double render too
this.setState({ // eslint-disable-line
cardShownStatus: Array(25).fill(leaderMode),
});
} else {
this.setState({
this.setState({ // eslint-disable-line
cardShownStatus: Array(25).fill(leaderMode),
cardLeaderMarks: Array(25).fill(false),
});
Expand Down Expand Up @@ -227,7 +226,7 @@ class Game extends React.Component {

Game.propTypes = {
generateNewSeed: PropTypes.func.isRequired,
wordFile: PropTypes.object.isRequired,
wordFile: PropTypes.objectOf(PropTypes.any).isRequired,
randomSeed: PropTypes.string.isRequired,
leaderMode: PropTypes.bool.isRequired,
};
Expand Down
11 changes: 8 additions & 3 deletions src/GameLoader.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,19 @@ class GameLoader extends React.Component {
const randomNoun = this.getRandomWord(wordFiles.seedNouns);
const newSeed = `${randomAdjective} ${randomNoun}`;
this.setSeed(newSeed);
this.toggleLeaderMode(false);
};

toggleHeaderHide = () => {
this.setState(prevState => ({ headerIsHidden: !prevState.headerIsHidden }));
};

toggleLeaderMode = () => {
this.setState(prevState => ({ leaderMode: !prevState.leaderMode }));
toggleLeaderMode = (force = null) => {
if (force !== null) {
this.setState({ leaderMode: force });
} else {
this.setState(prevState => ({ leaderMode: !prevState.leaderMode }));
}
};

render() {
Expand All @@ -117,7 +122,7 @@ class GameLoader extends React.Component {
<div>
{Object.entries(wordFiles).some(obj => obj[1].isLoading)
? (
<p> Loading... </p>
<div className="card counter card-color-blank"> Loading... </div>
)
: (
<div>
Expand Down
2 changes: 1 addition & 1 deletion src/components/Board.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ function Card(props) {
leaderMark,
} = props;
const cls = `card${status ? ` card-color-${color}` : ''}
${leaderMark ? ' card-leader-mark' : ''}`;
${leaderMark ? ' card-leader-mark ' : ''}`;
const smallerFontClass = value.length > 8 ? 'card-smaller-font' : '';
return (
<button type="button" className={cls + smallerFontClass} onClick={onClick}>
Expand Down

0 comments on commit 0eb9599

Please sign in to comment.