diff --git a/client/src/components/inventory.jsx b/client/src/components/inventory.jsx index 4b212ad1..0d96f99b 100644 --- a/client/src/components/inventory.jsx +++ b/client/src/components/inventory.jsx @@ -1,8 +1,25 @@ const { connect } = require('preact-redux'); const preact = require('preact'); +const toast = require('izitoast'); const actions = require('./../actions'); +const balanceError = () => + toast.error({ + theme: 'dark', + color: 'black', + timeout: false, + drag: false, + position: 'center', + maxWidth: window.innerWidth / 2, + close: false, + buttons: [ + ['', + (instance, thisToast) => instance.hide({ transitionOut: 'fadeOut' }, thisToast)], + ], + message: 'Insufficient Balance', + }); + const addState = connect( function receiveState(state) { const { @@ -23,8 +40,11 @@ const addState = connect( }, function receiveDispatch(dispatch) { - function setMtxActive(mtx) { + function setMtxActive(mtx, balance) { + if (balance === 0) return balanceError(); + dispatch(actions.setConstructRename(null)); dispatch(actions.setMtxActive(mtx)); + return true; } return { @@ -37,7 +57,6 @@ function Inventory(args) { const { account, shop, - setMtxActive, mtxBuy, } = args; @@ -45,7 +64,7 @@ function Inventory(args) { if (!shop) return false; const useMtx = (item, i) => ( -
setMtxActive(item)} > +
setMtxActive(item, account.balance)} >
{item}
diff --git a/client/src/components/list.jsx b/client/src/components/list.jsx index 5a4f932d..5a5450a9 100644 --- a/client/src/components/list.jsx +++ b/client/src/components/list.jsx @@ -1,7 +1,7 @@ const { connect } = require('preact-redux'); const preact = require('preact'); -const { stringSort, NULL_UUID, COLOURS } = require('./../utils'); +const { stringSort } = require('./../utils'); const { ConstructAvatar } = require('./construct'); const actions = require('./../actions'); const InstanceCreateForm = require('./instance.create.buttons'); @@ -17,7 +17,6 @@ const addState = connect( constructRename, team, instanceList, - account, mtxActive, } = state; @@ -28,16 +27,11 @@ const addState = connect( return false; } - function sendInstanceState(instance) { - return ws.sendInstanceState(instance.id); - } - function sendInstanceList() { return ws.sendInstanceList(); } function sendConstructAvatarReroll(id) { - if (!mtxActive) return false; console.log('using', mtxActive, 'on', id); return ws.sendMtxApply(id, mtxActive, ''); } @@ -47,7 +41,6 @@ const addState = connect( } return { - account, constructs, instanceList, mtxActive, @@ -55,7 +48,6 @@ const addState = connect( team, sendConstructRename, sendInstanceJoin, - sendInstanceState, sendInstanceList, sendConstructAvatarReroll, }; @@ -81,14 +73,12 @@ const addState = connect( function List(args) { const { - account, team, constructs, constructRename, clearMtxRename, setConstructRename, sendConstructRename, - sendInstanceState, sendInstanceJoin, sendInstanceList, instanceList, @@ -134,10 +124,6 @@ function List(args) { ); } - //
- // - //
- const constructPanels = constructs .filter(c => team.includes(c.id)) .sort(idSort) @@ -164,14 +150,13 @@ function List(args) { onClick={() => { if (!mtxActive) return false; if (mtxActive === 'Rename') return setConstructRename(construct.id); - sendConstructAvatarReroll(construct.id); + return sendConstructAvatarReroll(construct.id); }} class="menu-construct" > {constructName} {confirm} {cancel} - ); });