BUGFIX: Equipment page data was being overwritten

This commit is contained in:
2019-06-06 14:43:04 +10:00
parent 92385bb72d
commit 5d542ebdb9
7 changed files with 32 additions and 29 deletions
+8 -9
View File
@@ -32,17 +32,16 @@ class Equipment extends React.Component {
return (
<div className='panel'>
<div className='table'>
<div className='row'>
<div className='row mobile hide'>
<p className='col centered truncate'>Name</p>
<p className='col centered truncate'>Type</p>
<p className='col centered truncate'>Boost</p>
<p className='col centered truncate'>Owned</p>
<p className='col centered truncate mobile hide alwaysCentered'>Buy</p>
<p className='col centered truncate mobile hide alwaysCentered'>Sell</p>
<p className='col centered truncate'>Buy</p>
<p className='col centered truncate'>Sell</p>
</div>
<hr className='mobile show' />
<div className='break mobile show' />
{Object.keys(display).map((key) => <div key={key}>
<hr className='mobile hide'/>
@@ -50,12 +49,12 @@ class Equipment extends React.Component {
<div className='row'>
<p className='col centered truncate equipmentTextPadding'>{display[key].name}</p>
<p className='col centered truncate equipmentTextPadding'>{display[key].type}</p>
<p className='col centered truncate equipmentTextPadding'>{display[key].combatBoost * 100}%</p>
<p className='col centered truncate equipmentTextPadding'>{display[key].owned}</p>
<p className='col centered truncate equipmentTextPadding'><span className='mobile show' style={{whiteSpace: 'pre'}}>+</span>{display[key].combatBoost * 100}%</p>
<p className='col centered truncate equipmentTextPadding'><span className='mobile show' style={{whiteSpace: 'pre'}}>Owned: </span>{display[key].owned}</p>
<div className='break mobile show' />
<div className='col row noCollapse' style={{flex: '1 1 17.5%'}}>
{display[key].purchasable ? <button className='col centered truncate' onClick={() => this.sendRequest('/equipmentpurchaserequest', { name: display[key].name, type: display[key].type }) } disabled={display[key].cost > this.props.gold}>Buy ({display[key].cost} gold)</button> : <div className='col centered truncate' />}
{display[key].saleable ? <button className='col centered truncate' onClick={() => this.sendRequest('/equipmentsellrequest', { name: display[key].name, type: display[key].type }) } disabled={display[key].owned === 0}>Sell ({Math.floor(display[key].cost/2)} gold)</button> : <div className='col centered truncate' />}
{display[key].purchasable ? <button className='col centered truncate' onClick={() => this.sendRequest('/equipmentpurchaserequest', { name: display[key].name, type: display[key].type }) } disabled={display[key].cost > this.props.gold}>Buy <span className='mobile show' style={{whiteSpace:'pre'}}>{display[key].name} </span>({display[key].cost} gold)</button> : <div className='col' />}
{display[key].saleable ? <button className='col centered truncate' onClick={() => this.sendRequest('/equipmentsellrequest', { name: display[key].name, type: display[key].type }) } disabled={display[key].owned === 0}>Sell <span className='mobile show' style={{whiteSpace:'pre'}}>{display[key].name} </span>({Math.floor(display[key].cost/2)} gold)</button> : <div className='col' />}
</div>
</div>
<div className='break' />
@@ -77,7 +76,7 @@ class Equipment extends React.Component {
let json = JSON.parse(xhr.responseText);
//on success
this.setState({ data: json });
this.setState({ data: Object.assign({}, this.state.data, json) });
if (this.props.onSuccess) {
this.props.onSuccess(json);