From dd9b7da32e237fb10954eb002bfba6a631e6e7cd Mon Sep 17 00:00:00 2001 From: Dan Head Date: Mon, 13 Feb 2017 22:43:01 +0000 Subject: [PATCH] Collate food totals --- src/routes/admin/Admin.js | 23 +++++++++++++++++++++++ src/routes/admin/index.js | 13 ++++++++++--- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/routes/admin/Admin.js b/src/routes/admin/Admin.js index ee548fe..501c386 100644 --- a/src/routes/admin/Admin.js +++ b/src/routes/admin/Admin.js @@ -14,6 +14,14 @@ class Admin extends React.Component { password: PropTypes.string, attending: PropTypes.boolean, })).isRequired, + starters: PropTypes.arrayOf(PropTypes.shape({ + name: PropTypes.string, + total: PropTypes.integer, + })).isRequired, + mains: PropTypes.arrayOf(PropTypes.shape({ + name: PropTypes.string, + total: PropTypes.integer, + })).isRequired, }; render() { @@ -27,6 +35,21 @@ class Admin extends React.Component {

{this.props.people.filter(person => person.completed).length} responses

Manage people +
+

Food

+

Starters

+ +

Mains

+ +
); diff --git a/src/routes/admin/index.js b/src/routes/admin/index.js index bcc91a1..d3bbacc 100644 --- a/src/routes/admin/index.js +++ b/src/routes/admin/index.js @@ -15,8 +15,14 @@ export default { const people = data.getAllPersons || []; const food = { - starters: starters.map(name => ({ name, total: 0 })), - mains: mains.map(name => ({ name, total: 0 })), + starters: starters.map((name, index) => { + const total = people.filter(person => person.starter === `${index}`).length; + return { name, total }; + }), + mains: mains.map((name, index) => { + const total = people.filter(person => person.main === `${index}`).length; + return { name, total }; + }), }; const Admin = await new Promise((resolve) => { @@ -29,7 +35,8 @@ export default { component: , }; },