accounts overlay fixed

This commit is contained in:
Chris Fenos 2018-08-21 12:15:42 -04:00
parent ff2c27f125
commit ffbaa8b20f
7 changed files with 52 additions and 37 deletions

View file

@ -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>

View file

@ -7,7 +7,7 @@ class navBar extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
active: "blocks" active: ""
}; };
} }

View file

@ -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>

View file

@ -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

View file

@ -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>

View file

@ -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,13 +107,21 @@ 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'}}>
@ -121,16 +132,6 @@ class App extends Component {
</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}