]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blobdiff - cmd/web/js/admin.jsx
Display total balance/performance.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / js / admin.jsx
index 81ce15d0c89c294d43f9ac1c9d0ee61ac6bf520a..19eb3ef02727f47a4a3a345376edcdf8294a8686 100644 (file)
@@ -6,7 +6,7 @@ import Panel from './panel.js';
 class AdminDashboard extends React.Component {
   constructor(state) {
     super(state);
-    this.state = {'portfolios': null};
+    this.state = {'portfolios': null, 'globalPerformance': null};
   }
 
   load = () => {
@@ -16,7 +16,13 @@ class AdminDashboard extends React.Component {
         return;
       }
 
-      this.setState({'portfolios': data});
+      this.setState({
+        'portfolios': data.portfolios,
+        'globalPerformance': {
+          'totalBtcValue':     data.totalBtcValue,
+          'totalBtcVariation': data.totalBtcVariation
+        }
+      });
     }.bind(this));
   }
 
@@ -28,15 +34,24 @@ class AdminDashboard extends React.Component {
     if (this.state.portfolios === null) {
       return <div></div>;
     }
+
+    var globalPerformance = <div className="row" key="global">
+      <div className="col-6"><span>Total:</span></div>
+      <div className="col-6 text-center">
+        <PFBalanceMinimal variationP={this.state.globalPerformance.totalBtcVariation} balance={this.state.globalPerformance.totalBtcValue} isPercent={false}/>
+      </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}/>
+                 <PFBalanceMinimal variationP={this.state.portfolios[email].performance.variationP} balance={this.state.portfolios[email].value} isPercent={true}/>
                </div>
              </div>;
     }.bind(this));
 
+    portfolios.push(<hr key="hr"/>, globalPerformance);
+
     return <Panel component={<div>{portfolios}</div>} title="Portfolios Overview"/>;
   }