Skip to content

Commit 2670b3f

Browse files
authored
Merge pull request #3 from fergarrui/add-evm-state-tabs
add new tabs for evm state
2 parents 61501b8 + de47993 commit 2670b3f

File tree

8 files changed

+109
-13
lines changed

8 files changed

+109
-13
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/client/components/Accordion/main.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import React from 'react';
22

3-
import AccordionSection from './AccordionSection/main.js';
4-
53
import styles from '../../styles/Accordion/Accordion.scss';
64

75
const Accordion = ({ children }) => (

src/client/components/EVMState/main.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import { connect } from 'react-redux';
33

44
import styles from '../../styles/EVMState.scss';
55

6-
const mapStateToProps = state => {
7-
return {
8-
evm: state.selectEVMState,
9-
}
10-
}
6+
// const mapStateToProps = state => {
7+
// return {
8+
// evm: state.selectEVMState,
9+
// }
10+
// }
1111

1212
const ConnectedEVMState = ({ evm }) => {
1313

@@ -90,7 +90,7 @@ const ConnectedEVMState = ({ evm }) => {
9090
}
9191

9292

93-
const EVMState = connect(mapStateToProps)(ConnectedEVMState);
93+
const EVMState = connect()(ConnectedEVMState);
9494

9595
EVMState.displayName = 'EVMState';
9696

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import React from 'react';
2+
3+
import TabMenuItem from '../Tab/TabMenuItem/main';
4+
import EVMTabPanel from './EVMTabPanel';
5+
6+
import styles from '../../styles/Tab/Tab.scss';
7+
8+
class EVMTab extends React.Component {
9+
constructor(props) {
10+
super(props);
11+
12+
this.state = {
13+
currentTabIndex: 0,
14+
}
15+
}
16+
17+
setActiveTab(index) {
18+
this.setState({
19+
currentTabIndex: index,
20+
});
21+
}
22+
23+
handleIconClick(event, index) {
24+
event.stopPropagation();
25+
26+
const { data } = this.props;
27+
28+
this.setState({
29+
currentTabIndex:
30+
index === data.length - 1 && index === this.state.currentTabIndex ? 0
31+
: index === this.state.currentTabIndex ? index
32+
: this.state.currentTabIndex,
33+
});
34+
35+
this.props.onMenuItemIconClick(index);
36+
}
37+
38+
render() {
39+
const { data } = this.props;
40+
const { currentTabIndex } = this.state;
41+
42+
console.log(data)
43+
44+
return (
45+
<div className={styles['tab']}>
46+
<div className={styles['tab__navigation']}>
47+
{data.map((item, i) => {
48+
return (
49+
<TabMenuItem
50+
key={`id--${item.gas}`}
51+
name={i + 1}
52+
active={currentTabIndex === i}
53+
onClick={() => this.setActiveTab(i)}
54+
/>
55+
)
56+
})}
57+
</div>
58+
{ data.map((item, i) => {
59+
return (
60+
<EVMTabPanel
61+
key={`id--${item.gas}`}
62+
active={currentTabIndex === i}
63+
evmData={item} />
64+
)
65+
})
66+
}
67+
</div>
68+
);
69+
}
70+
}
71+
72+
export default EVMTab;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import React from 'react';
2+
3+
import EVMState from '../EVMState/main';
4+
5+
import classnames from 'classnames/bind';
6+
7+
import styles from '../../styles/Tab/InnerTabPanel.scss';
8+
9+
const cx = classnames.bind(styles);
10+
11+
const EVMTabPanel = ({ active, evmData }) => {
12+
13+
const tabPanelClasses = cx({
14+
'inner-tab-panel': true,
15+
'inner-tab-panel--active': !!active,
16+
});
17+
18+
return (
19+
<div className={tabPanelClasses}>
20+
<EVMState evm={evmData} />
21+
</div>
22+
)
23+
}
24+
25+
export default EVMTabPanel;

src/client/components/Tab/TabPanel/main.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import Editor from '../../Editor/main.js';
77
import SideBar from '../../SideBar/main.js';
88
import InnerTab from '../../InnerTab/main.js';
99
import Modal from '../../Modal/main.js';
10-
import EVMState from '../../EVMState/main.js';
1110
import Hamburger from '../../Hamburger/main.js';
11+
import EVMTab from '../../EVMTab/EVMTab';
1212

1313
import styles from '../../../styles/Tab/TabPanel.scss';
1414

@@ -268,7 +268,8 @@ class ConnectedTabPanel extends React.Component {
268268
<div className={styles['tab-panel__left__data']}>
269269
<Editor code={code} index={index} />
270270
{
271-
evm && <EVMState />
271+
evm &&
272+
<EVMTab data={evm} />
272273
}
273274
</div>
274275
</div>

src/client/styles/EVMState.scss

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
$parent: '.evm-state__item';
22

33
.evm-state {
4-
padding-top: 10px;
5-
padding-left: 10px;
4+
padding: 10px;
65

76
&__item {
87
padding: 10px 0;

src/client/styles/Tab/TabPanel.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
width: 40%;
1111
position: relative;
1212
padding-top: 30px;
13+
padding-left: 10px;
1314

1415
&__control {
1516
position: absolute;

0 commit comments

Comments
 (0)