Skip to content
Snippets Groups Projects
Dashboard.js 1.36 KiB
Newer Older
  • Learn to ignore specific revisions
  • meskio's avatar
    meskio committed
    import React from 'react';
    
    meskio's avatar
    meskio committed
    import { Container, Row, Col, Button } from 'react-bootstrap';
    
    meskio's avatar
    meskio committed
    import AuthContext from './AuthContext';
    
    meskio's avatar
    meskio committed
    import Fetcher from './Fetcher';
    
    meskio's avatar
    meskio committed
    import TransactionList from './TransactionList';
    import { printMoney } from './util';
    
    meskio's avatar
    meskio committed
    
    class Dashboard extends React.Component {
        static contextType = AuthContext;
    
        constructor(props) {
            super(props);
            this.state = {
                name: null,
    
    meskio's avatar
    meskio committed
                balance: null
    
    meskio's avatar
    meskio committed
            };
        }
    
        render() {
            return (
    
    meskio's avatar
    meskio committed
                <Fetcher
    
    meskio's avatar
    meskio committed
                        url={"/api/member/me"}
    
    meskio's avatar
    meskio committed
                        onFetch={member => this.setState({ balance: member.balance, name: member.name})} >
                    <Container>
    
    meskio's avatar
    meskio committed
                        <Row>
                            <Col xs>
                                <div className="text-right">
                                <h6>{this.state.name}</h6>
                                <h1>{printMoney(this.state.balance)}</h1>
                                </div>
                            </Col>
                            <Col xs={{ offset: 0 }} md={{ offset: 1 }}>
                                <br />
                                <Button variant="success" href="/purchase">Compra</Button>
                            </Col>
                        </Row>
    
    meskio's avatar
    meskio committed
                        <TransactionList />
    
    meskio's avatar
    meskio committed
                    </Container>
                </Fetcher>
    
    meskio's avatar
    meskio committed
            );
        }
    }
    
    export default Dashboard;