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);
});