update split field guide view into categories
This commit is contained in:
@ -88,9 +88,33 @@ module.exports = function(app) {
|
||||
completedFieldGuides = req.user.completedFieldGuides;
|
||||
}
|
||||
|
||||
// order here determine order on page
|
||||
const categories = [
|
||||
'orientation',
|
||||
'FYI',
|
||||
'outreach',
|
||||
'contact'
|
||||
];
|
||||
|
||||
// produces an array of arrays of field guides ordered by the above
|
||||
// i.e. [[...orientFieldGuides][...FYIfieldGuides]...]
|
||||
const orderFieldGuides = categories
|
||||
.reduce((ordered, category) => {
|
||||
|
||||
const fieldGuidesForCategory = allFieldGuideNamesAndIds
|
||||
.filter(fieldGuide => {
|
||||
return category === fieldGuide.category;
|
||||
});
|
||||
|
||||
return ordered.concat([fieldGuidesForCategory]);
|
||||
}, []);
|
||||
|
||||
res.render('field-guide/all-articles', {
|
||||
// leaving this property as legacy.
|
||||
allFieldGuideNamesAndIds: allFieldGuideNamesAndIds,
|
||||
completedFieldGuides: completedFieldGuides
|
||||
completedFieldGuides: completedFieldGuides,
|
||||
categories: categories,
|
||||
fieldGuides: orderFieldGuides
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -181,7 +181,8 @@ module.exports = {
|
||||
return {
|
||||
name: elem.name,
|
||||
dashedName: elem.dashedName,
|
||||
id: elem.id
|
||||
id: elem.id,
|
||||
category: elem.category
|
||||
};
|
||||
});
|
||||
return allFieldGuideNames;
|
||||
|
@ -9,9 +9,11 @@ block content
|
||||
.panel-body
|
||||
.col-xs-12.col-md-10.col-md-offset-1
|
||||
.col-xs-12.no-right-padding
|
||||
each category, index in categories
|
||||
h2.text-center= category.charAt(0).toUpperCase() + category.slice(1)
|
||||
h3
|
||||
ol
|
||||
each fieldGuide in allFieldGuideNamesAndIds
|
||||
each fieldGuide in fieldGuides[index]
|
||||
if completedFieldGuides.indexOf(fieldGuide.id) > -1
|
||||
.row
|
||||
.hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center
|
||||
|
Reference in New Issue
Block a user