import Api from './api.js';
import React from 'react';
import {PFBalanceMinimal} from './balance.js';
import Panel from './panel.js';

class AdminDashboard extends React.Component {
  constructor(state) {
    super(state);
    this.state = {'portfolios': null};
  }

  load = () => {
    Api.Call('ADMIN_PORTFOLIOS', {}, function(err, status, data) {
      if (err) {
        console.error(err, data);
        return;
      }

      this.setState({'portfolios': data});
    }.bind(this));
  }

  componentDidMount = () => {
    this.load();
  }

  render = () => {
    if (this.state.portfolios === null) {
      return <div></div>;
    }
    var portfolios = Object.keys(this.state.portfolios).map(function(email) {
      return <div className="row" key={email}>
               <div className="col-6"><span>{email}:</span></div>
               <div className="col-6 text-center">
                 <PFBalanceMinimal variationP={this.state.portfolios[email].performance.variationP} balance={this.state.portfolios[email].value} periodStart={this.state.portfolios[email].periodStart}/>
               </div>
             </div>;
    }.bind(this));

    return <Panel component={<div>{portfolios}</div>} title="Portfolios Overview"/>;
  }

}

export default AdminDashboard;
