diff --git a/controllers/bonfire.js b/controllers/bonfire.js index 5a4e7904c3..b2d72d2e00 100644 --- a/controllers/bonfire.js +++ b/controllers/bonfire.js @@ -12,10 +12,13 @@ var _ = require('lodash'), */ exports.showAllBonfires = function(req, res) { - var completedBonfires = req.user.completedBonfires.map(function(elem) { - return elem._id; - }); - + if(req.user) { + var completedBonfires = req.user.completedBonfires.map(function (elem) { + return elem._id; + }); + } else { + completedBonfires = []; + } var noDuplicateBonfires = R.uniq(completedBonfires); var data = {}; data.bonfireList = resources.allBonfireNames(); diff --git a/views/partials/bonfires.jade b/views/partials/bonfires.jade index 2c219e089b..3958fd1905 100644 --- a/views/partials/bonfires.jade +++ b/views/partials/bonfires.jade @@ -11,14 +11,18 @@ h3 }) .success( function(data) { + var docfrag = document.createDocumentFragment(); for (var i = 0; i < data.bonfireList.length; i++) { - var li = document.createElement('li'); + var li = document.createElement("li"); var linkedName = getLinkedName(data.bonfireList[i].name); - if (R.contains(data.bonfireList[i]._id, data.completedList)) { + if (data.completedList.length > 0 && R.contains(data.bonfireList[i]._id, data.completedList)) { + $(li).html("completed" + data.bonfireList[i].name + ""); $(li).addClass('strikethrough'); + } else { + $(li).html("" + data.bonfireList[i].name + ""); } - $(li).html("" + data.bonfireList[i].name + ""); - $(li).appendTo($('#bonfireList')); - } + docfrag.appendChild(li); + }; + $('#bonfireList').append(docfrag); });