Collate food totals

This commit is contained in:
2017-02-13 22:43:01 +00:00
parent 9cae851e3a
commit dd9b7da32e
2 changed files with 33 additions and 3 deletions

View File

@@ -14,6 +14,14 @@ class Admin extends React.Component {
password: PropTypes.string, password: PropTypes.string,
attending: PropTypes.boolean, attending: PropTypes.boolean,
})).isRequired, })).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() { render() {
@@ -27,6 +35,21 @@ class Admin extends React.Component {
<p>{this.props.people.filter(person => person.completed).length} responses</p> <p>{this.props.people.filter(person => person.completed).length} responses</p>
<Link to="/admin/people">Manage people</Link> <Link to="/admin/people">Manage people</Link>
</div> </div>
<div>
<h2>Food</h2>
<h3>Starters</h3>
<ul>
{this.props.starters.map((starter, index) => (
<li key={index}>{starter.name} - {starter.total}</li>
))}
</ul>
<h3>Mains</h3>
<ul>
{this.props.mains.map((main, index) => (
<li key={index}>{main.name} - {main.total}</li>
))}
</ul>
</div>
</div> </div>
</div> </div>
); );

View File

@@ -15,8 +15,14 @@ export default {
const people = data.getAllPersons || []; const people = data.getAllPersons || [];
const food = { const food = {
starters: starters.map(name => ({ name, total: 0 })), starters: starters.map((name, index) => {
mains: mains.map(name => ({ name, total: 0 })), 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) => { const Admin = await new Promise((resolve) => {
@@ -29,7 +35,8 @@ export default {
component: <Layout><Admin component: <Layout><Admin
title={title} title={title}
people={people} people={people}
food={food} starters={food.starters}
mains={food.mains}
/></Layout>, /></Layout>,
}; };
}, },