diff --git a/api/routes/overview.js b/api/routes/overview.js index c377f99..54eb919 100644 --- a/api/routes/overview.js +++ b/api/routes/overview.js @@ -17,16 +17,12 @@ const overview = new express.Router(); // routes ********************** overview.route('/') .get((req, res, next) => { - let countOpfor = 0; - let countBlufor = 0; - const armyOverview = { - BLUFOR: { - squads: [], - }, - OPFOR: { - squads: [], - }, - }; + const fractions = ['BLUFOR', 'OPFOR']; + const fractionMemberCount = [0, 0]; + const armyOverview = [ + {squads: []}, + {squads: []}, + ]; SquadModel.find({}, {'sortingNumber': 0, 'updatedAt': 0, 'timestamp': 0, '__v': 0}, { sort: { @@ -71,15 +67,14 @@ overview.route('/') const s = squad.toObject(); s.members = squadMembers; s.memberCount = squadMembers.length; - if (s.fraction === 'BLUFOR') { - delete s.fraction; - armyOverview.BLUFOR.squads.push(s); - countBlufor += s.members.length; - } - if (s.fraction === 'OPFOR') { - delete s.fraction; - armyOverview.OPFOR.squads.push(s); - countOpfor += s.members.length; + + for (let i = 0; i < fractions.length; i++) { + if (s.fraction === fractions[i]) { + delete s.fraction; + armyOverview[i].squads.push(s); + fractionMemberCount[i] += s.members.length; + break; + } } } @@ -90,8 +85,11 @@ overview.route('/') if (err) { return next(err); } - armyOverview.BLUFOR.memberCount = countBlufor; - armyOverview.OPFOR.memberCount = countOpfor; + + for (let i = 0; i < fractions.length; i++) { + armyOverview[i].memberCount = fractionMemberCount[i]; + } + res.locals.items = armyOverview; res.locals.processed = true; next(); diff --git a/static/src/app/army/army.component.html b/static/src/app/army/army.component.html index 1baffa1..dce015e 100644 --- a/static/src/app/army/army.component.html +++ b/static/src/app/army/army.component.html @@ -3,7 +3,7 @@