From b5a449cb1cdf8dc9c1e317f009f6ef2b58d1605a Mon Sep 17 00:00:00 2001 From: Nathan Leniz Date: Sun, 22 Feb 2015 17:36:43 +0900 Subject: [PATCH] Cross off completed bonfires in list of all bonfires in modal --- app.js | 2 +- controllers/bonfire.js | 11 +++++------ controllers/resources.js | 10 +++++++--- views/partials/bonfires.jade | 9 ++++++--- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/app.js b/app.js index 9ed01a4f1e..530d5b2c01 100644 --- a/app.js +++ b/app.js @@ -301,7 +301,7 @@ app.get('/api/trello', resourcesController.trelloCalls); /** * Bonfire related routes */ -app.get('/bonfires/pooproute', bonfireController.poopRoute); + app.get('/bonfires/getBonfireList', bonfireController.showAllBonfires); app.get('/playground', bonfireController.index); app.get('/bonfires', bonfireController.returnNextBonfire); diff --git a/controllers/bonfire.js b/controllers/bonfire.js index d18ca1a8bd..e36be01ccd 100644 --- a/controllers/bonfire.js +++ b/controllers/bonfire.js @@ -2,7 +2,8 @@ var _ = require('lodash'), debug = require('debug')('freecc:cntr:bonfires'), Bonfire = require('./../models/Bonfire'), User = require('./../models/User'), - resources = require('./resources'); + resources = require('./resources'), + R = require('ramda'); /** * Bonfire controller @@ -12,15 +13,13 @@ exports.showAllBonfires = function(req, res) { var completedBonfires = req.user.completedBonfires.map(function(elem) { return elem._id; }); + + var noDuplicateBonfires = R.uniq(completedBonfires); var data = {}; data.bonfireList = resources.allBonfireNames(); - //data.completedList = completedBonfires; + data.completedList = noDuplicateBonfires; res.send(data); }; -// FIXME: remove this -exports.poopRoute = function(req, res) { - res.render('partials/bonfires.jade'); -} exports.index = function(req, res) { res.render('bonfire/show.jade', { diff --git a/controllers/resources.js b/controllers/resources.js index 99844a3095..e02680289e 100644 --- a/controllers/resources.js +++ b/controllers/resources.js @@ -206,14 +206,18 @@ module.exports = { return bonfires.map(function(elem) { return { name: elem.name, - difficulty: elem.difficulty + difficulty: elem.difficulty, + _id: elem._id } }) .sort(function(a, b) { return a.difficulty - b.difficulty; }) - .map(function(elem) { - return elem.name; + .map (function(elem) { + return { + name : elem.name, + _id: elem._id + } }); }, diff --git a/views/partials/bonfires.jade b/views/partials/bonfires.jade index c856ea9bf6..3dfb6da030 100644 --- a/views/partials/bonfires.jade +++ b/views/partials/bonfires.jade @@ -12,9 +12,12 @@ h3 function(data) { for (var i = 0; i < data.bonfireList.length; i++) { var li = document.createElement('li'); - var linkedName = getLinkedName(data.bonfireList[i]); - $(li) - .html("" + data.bonfireList[i] + ""); + var linkedName = getLinkedName(data.bonfireList[i].name); + if (R.contains(data.bonfireList[i]._id, data.completedList)) { + $(li).addClass('strikethrough'); + } + $(li).html("" + data.bonfireList[i].name + ""); $(li).appendTo($('#bonfireList')); + } });