mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 10:22:23 +00:00
accounts overlay fixed
This commit is contained in:
parent
ff2c27f125
commit
ffbaa8b20f
7 changed files with 52 additions and 37 deletions
|
|
@ -36,6 +36,11 @@
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
background-color: #f7f8f9;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ class navBar extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.state = {
|
this.state = {
|
||||||
active: "blocks"
|
active: ""
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,14 @@ import classes from './accounts.css';
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from 'react-router-dom'
|
||||||
|
|
||||||
const AccountsTable = (props) => {
|
const AccountsTable = (props) => {
|
||||||
|
|
||||||
|
console.log(props);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr style={{ borderTop: '1px solid #e0defb' }}>
|
<tr style={{ borderTop: '1px solid #e0defb' }}>
|
||||||
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} >{props.Rank}</td>
|
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} >{props.Rank}</td>
|
||||||
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} className={classes.addressTag}><Link style={{ color: '#8f67c9' }} to="/account/detail" onClick={() => props.detailAccountHandler(props.Addr)}>
|
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} className={classes.addressTag}><Link style={{ color: '#8f67c9' }} to="/account" onClick={() => props.detailAccountHandler(props.Addr)}>
|
||||||
{props.Addr}
|
{props.Addr}
|
||||||
</Link></td>
|
</Link></td>
|
||||||
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} >{props.Balance}</td>
|
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} >{props.Balance}</td>
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,19 @@ import ErrorHandler from "./errorMessage";
|
||||||
import classes from './table.css';
|
import classes from './table.css';
|
||||||
|
|
||||||
class AccountTransactionTable extends Component {
|
class AccountTransactionTable extends Component {
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
||||||
|
console.log("inr");
|
||||||
|
|
||||||
|
|
||||||
let table;
|
let table;
|
||||||
if(this.props.data.length <= 1) {
|
if(this.props.data.length <= 1) {
|
||||||
return <ErrorHandler />
|
return <ErrorHandler />
|
||||||
}else {
|
}else {
|
||||||
table = this.props.data.map((data, i) => {
|
table = this.props.data.map((data, i) => {
|
||||||
|
console.log("DATA FROM MAP [AccountTransactionTable]", data)
|
||||||
const costConversion = data.Cost / 10000000000000000000;
|
const costConversion = data.Cost / 10000000000000000000;
|
||||||
const amountConversion = data.Amount / 10000000000000000000;
|
const amountConversion = data.Amount / 10000000000000000000;
|
||||||
return <DetailAccountsTable
|
return <DetailAccountsTable
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ const TransactionTable = (props) => {
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr style={{ borderTop: '1px solid #e0defb' }}>
|
<tr style={{ borderTop: '1px solid #e0defb' }}>
|
||||||
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} className={classes.addressTag}>
|
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }} className={classes.addressTag}>
|
||||||
<Link to="/transaction/details" style={{ color: '#8f67c9' }} className={flag ? "" : classes.disabled} onClick={() => props.detailTransactionHandler(props.txHash)}>
|
<Link to="/transactions" style={{ color: '#8f67c9' }} className={flag ? "" : classes.disabled} onClick={() => props.detailTransactionHandler(props.txHash)}>
|
||||||
{props.txHash}</Link>
|
{props.txHash}</Link>
|
||||||
</td>
|
</td>
|
||||||
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }}><Link style={{ color: '#8f67c9' }} to="/block/transactions" onClick={() => props.getBlockTransactions(props.blockNumber)}>{props.blockNumber}</Link></td>
|
<td style={{ paddingLeft: '30pt', paddingBottom: '7.5pt', paddingTop: '7.5pt' }}><Link style={{ color: '#8f67c9' }} to="/block/transactions" onClick={() => props.getBlockTransactions(props.blockNumber)}>{props.blockNumber}</Link></td>
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ class App extends Component {
|
||||||
detailTransactionHandler = async(txHash) => {
|
detailTransactionHandler = async(txHash) => {
|
||||||
try {
|
try {
|
||||||
const response = await axios.get(`http://localhost:8080/api/get_transaction/${txHash}`);
|
const response = await axios.get(`http://localhost:8080/api/get_transaction/${txHash}`);
|
||||||
await this.setState({ transactionDetailData: response.data })
|
await this.setState({ transactionDetailData: response.data, overlayTriggered: true, overlayContent: "transaction" })
|
||||||
}
|
}
|
||||||
catch(error) {
|
catch(error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
|
|
@ -71,9 +71,12 @@ class App extends Component {
|
||||||
};
|
};
|
||||||
|
|
||||||
detailAccountHandler = async(addr) => {
|
detailAccountHandler = async(addr) => {
|
||||||
|
|
||||||
|
console.log("[DETAIL ACCOUNT Handler]");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await axios.get(`http://localhost:8080/api/get_account_txs/${addr}`)
|
const response = await axios.get(`http://localhost:8080/api/get_account_txs/${addr}`)
|
||||||
await this.setState({ accountDetailData: response.data, reqAccount: addr })
|
await this.setState({ accountDetailData: response.data, reqAccount: addr, overlayTriggered: true, overlayContent: "account" })
|
||||||
}
|
}
|
||||||
catch(error) {
|
catch(error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
|
|
@ -104,33 +107,31 @@ class App extends Component {
|
||||||
this.setState({overlayTriggered: false})
|
this.setState({overlayTriggered: false})
|
||||||
};
|
};
|
||||||
|
|
||||||
getBlockData = (data) => {
|
getBlockData = (data, page) => {
|
||||||
let components = [];
|
let components = [];
|
||||||
for (let key in data) {
|
console.log("ACCOUNT DATA", data)
|
||||||
let value =data[key]
|
let dataEntry;
|
||||||
console.log(key, value)
|
|
||||||
components.push(
|
|
||||||
|
|
||||||
|
if(page === "account") {
|
||||||
|
dataEntry = data[0];
|
||||||
|
} else {
|
||||||
|
dataEntry = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let key in dataEntry) {
|
||||||
|
let value = dataEntry[key]
|
||||||
|
// console.log(key, value)
|
||||||
|
components.push(
|
||||||
<Grid>
|
<Grid>
|
||||||
<Row className="show-grid">
|
<Row className="show-grid">
|
||||||
<Col xs={3} md={3} style={{fontSize:'6.5pt', color: '#565656', paddingTop: '10pt', fontFamily: 'Open Sans, sans-serif'}}>
|
<Col xs={3} md={3} style={{fontSize:'6.5pt', color: '#565656', paddingTop: '10pt', fontFamily: 'Open Sans, sans-serif'}}>
|
||||||
{key}
|
{key}
|
||||||
</Col>
|
</Col>
|
||||||
<Col xs={9} md={9} style={{fontSize:'6.5pt', color: '#565656', paddingTop: '10pt', fontFamily: 'Open Sans, sans-serif'}}>
|
<Col xs={9} md={9} style={{fontSize:'6.5pt', color: '#565656', paddingTop: '10pt', fontFamily: 'Open Sans, sans-serif'}}>
|
||||||
{value}
|
{value}
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// <li style={{fontSize:'6.5pt', color: '#565656', paddingTop: '10pt', fontFamily: 'Open Sans, sans-serif'}}>
|
|
||||||
// <font>{key}: </font>
|
|
||||||
// <font style={{marginLeft: '30pt'}} > {value} </font>
|
|
||||||
// </li>
|
|
||||||
// <div style={{fontSize:'6.5pt', color: '#565656', paddingTop: '10pt', fontFamily: 'Open Sans, sans-serif'}} >
|
|
||||||
// <div>{key}: </div> <div style={{left: '2%'}}>{value} </div>
|
|
||||||
// </div>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -149,47 +150,46 @@ class App extends Component {
|
||||||
title = "BLOCK OVERVIEW";
|
title = "BLOCK OVERVIEW";
|
||||||
data = this.state.blockDetailData;
|
data = this.state.blockDetailData;
|
||||||
break;
|
break;
|
||||||
|
case "transaction" :
|
||||||
|
title = "TRANSACTION OVERVIEW";
|
||||||
|
data = this.state.transactionDetailData;
|
||||||
|
break;
|
||||||
|
case "account" :
|
||||||
|
title = "ACCOUNT OVERVIEW";
|
||||||
|
data = this.state.accountDetailData;
|
||||||
|
break;
|
||||||
default: console.log("error");
|
default: console.log("error");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="static-modal">
|
<div className="static-modal">
|
||||||
<Modal.Dialog>
|
<Modal.Dialog>
|
||||||
<Modal.Header>
|
<Modal.Header>
|
||||||
<Modal.Title style={{color: '#593c83', fontSize: '8pt', letterSpacing: '2pt', fontFamily: 'Open Sans, sans-serif' }}> {title} </Modal.Title>
|
<Modal.Title style={{color: '#593c83', fontSize: '8pt', letterSpacing: '2pt', fontFamily: 'Open Sans, sans-serif' }}> {title} </Modal.Title>
|
||||||
</Modal.Header>
|
</Modal.Header>
|
||||||
|
|
||||||
<Modal.Body>
|
<Modal.Body>
|
||||||
<ul>
|
<ul>
|
||||||
{this.getBlockData(data)}
|
{this.getBlockData(data, page)}
|
||||||
</ul>
|
</ul>
|
||||||
</Modal.Body>
|
</Modal.Body>
|
||||||
|
|
||||||
<Modal.Footer>
|
<Modal.Footer>
|
||||||
<Button onClick={this.hideOverlay}>Close</Button>
|
<Button onClick={this.hideOverlay}>Close</Button>
|
||||||
</Modal.Footer>
|
</Modal.Footer>
|
||||||
</Modal.Dialog>
|
</Modal.Dialog>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
this.state.overlayTriggered ? this.renderOverlay() : null
|
this.state.overlayTriggered ? this.renderOverlay() : null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<div style={ this.state.overlayTriggered ? {backgroundColor:"#f7f8f9", paddingBottom:"5%", opacity:0.5, zIndex: -10000, height: '100%'} : {backgroundColor:"#f7f8f9", paddingBottom:"5%", height: '100%' } }>
|
||||||
<div style={ this.state.overlayTriggered ? {backgroundColor:"#f7f8f9", paddingBottom:"5%", opacity:0.5, zIndex: -10000} : {backgroundColor:"#f7f8f9", paddingBottom:"5%" } }>
|
|
||||||
<Nav />
|
<Nav />
|
||||||
|
|
||||||
<Route path="/" exact render={({ match }) =>
|
<Route path="/" exact render={({ match }) =>
|
||||||
|
|
@ -269,9 +269,9 @@ class App extends Component {
|
||||||
|
|
||||||
<Route path="/account/detail" exact render={({match}) =>
|
<Route path="/account/detail" exact render={({match}) =>
|
||||||
<div>
|
<div>
|
||||||
<AccountDetailHeader
|
{/* <AccountDetailHeader
|
||||||
addr={this.state.reqAccount}
|
addr={this.state.reqAccount}
|
||||||
data={this.state.accountDetailData}/>
|
data={this.state.accountDetailData}/> */}
|
||||||
<DetailAccountsTable
|
<DetailAccountsTable
|
||||||
transactionDetailHandler={this.detailTransactionHandler}
|
transactionDetailHandler={this.detailTransactionHandler}
|
||||||
addr={this.state.reqAccount}
|
addr={this.state.reqAccount}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue