mnml/client/src/components/body.component.jsx
2018-11-13 17:47:32 +10:00

74 lines
2.2 KiB
JavaScript
Executable File

// eslint-disable-next-line
const preact = require('preact');
const { connect } = require('preact-redux');
const actions = require('../actions');
const ItemListContainer = require('./item.list.container');
const CrypSpawnContainer = require('./cryp.spawn.container');
const GameJoinButton = require('./game.join.button');
const CrypListContainer = require('./cryp.list.container');
const GameContainer = require('./game.container');
const Passives = require('./passive.container');
const addState = connect(
(state) => {
const { game, ws, account } = state;
if (!game) {
ws.clearGameStateInterval();
}
return state;
},
(dispatch) => {
function setGame(game) {
dispatch(actions.setGame(game));
}
return { setGame };
}
);
function renderBody(props) {
const { game, setGame, account } = props;
console.log('grep');
if (game) {
return (
<div>
<GameContainer />
<button
className="button is-dark is-fullwidth"
type="submit"
onClick={() => setGame(null)}
>
Return to Main Menu
</button>
</div>
);
}
if (account) {
return (
<section className="columns">
<div className="column is-4">
<div className="column">
<GameJoinButton />
<CrypSpawnContainer />
</div>
<div className="column">
<div className="columns">
<div className="column is-8">
<CrypListContainer />
</div>
<div className="column">
<ItemListContainer />
</div>
</div>
</div>
</div>
<div className ="column">
<Passives />
</div>
</section>
);
} return <div>not ready</div>;
}
module.exports = addState(renderBody);