Collate food totals
This commit is contained in:
@@ -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 {
|
||||
<p>{this.props.people.filter(person => person.completed).length} responses</p>
|
||||
<Link to="/admin/people">Manage people</Link>
|
||||
</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>
|
||||
);
|
||||
|
||||
@@ -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: <Layout><Admin
|
||||
title={title}
|
||||
people={people}
|
||||
food={food}
|
||||
starters={food.starters}
|
||||
mains={food.mains}
|
||||
/></Layout>,
|
||||
};
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user