diff --git a/lib/helpers.js b/lib/helpers.js index 3b64c34..82c664a 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -4,6 +4,9 @@ exports.helpers = { prettyDate: function(input_date) { return moment(input_date).format("dddd, MMMM Do YYYY h:mm:ss A"); }, + shortDate: function(input_date) { + return moment(input_date).format("MM/DD/YY"); + }, googleMapLink: function(venue) { return 'https://maps.google.com/maps?q=' + venue.address_1+'+'+venue.zip; } diff --git a/routes/index.js b/routes/index.js index 47763f6..0822563 100644 --- a/routes/index.js +++ b/routes/index.js @@ -4,5 +4,6 @@ var home = require('./home'), module.exports = function(app) { app.get('/', home.route); - app.get('/history', meetings.route); + app.get('/history', meetings.pastMeetings); + app.get('/meeting/:id', meetings.meetingById) }; \ No newline at end of file diff --git a/routes/meetings.js b/routes/meetings.js index c8e3806..d6005c6 100644 --- a/routes/meetings.js +++ b/routes/meetings.js @@ -4,7 +4,7 @@ var database = require('../lib/database'), * GET past meetings */ -exports.route = function(req, res){ +exports.pastMeetings = function(req, res){ database.getPastMeetings(function(error, meetings){ res.render('history', { title: 'Past Meeting with Olynode', @@ -12,4 +12,15 @@ exports.route = function(req, res){ headerImage: images.getHeaderImage() }); }); +}; + + +exports.meetingById = function(req, res) { + database.getMeetingById(req.params.id, function(error, meeting){ + res.render('meeting', { + title: 'Meeting with Olynode', + meeting: meeting, + headerImage: images.getHeaderImage() + }); + }); }; \ No newline at end of file diff --git a/views/history.jade b/views/history.jade index 63f6d90..724af23 100644 --- a/views/history.jade +++ b/views/history.jade @@ -4,22 +4,10 @@ div.row p.pull-right image by a(href="#{headerImage.srcUrl}") #{headerImage.srcAuthor} div.hero-unit - div#meetings.carousel.slide - div.carousel-inner + ul each meeting, index in meetings - if index === 0 - div.item.active - include shared/meeting - else - div.item - include shared/meeting - if meetings.length == 0 - div.item - include shared/nomeeting - if meetings.length > 1 - p - a.btn.btn-primary.btn-large.pull-left(href="#meetings", data-slide="prev") « Last - a.btn.btn-primary.btn-large.pull-right(href="#meetings", data-slide="next") Next » + li + a(href="/meeting/#{meeting.id}") #{shortDate(meeting.time)} : #{meeting.name} div.row.detail-unit div.span4 diff --git a/views/meeting.jade b/views/meeting.jade new file mode 100644 index 0000000..286364e --- /dev/null +++ b/views/meeting.jade @@ -0,0 +1,27 @@ +div.row + div.span12.header-image + img(src="#{headerImage.url}") + p.pull-right image by + a(href="#{headerImage.srcUrl}") #{headerImage.srcAuthor} +div.hero-unit + div#meetings.carousel.slide + div.carousel-inner + if meeting != null + div.item.active + include shared/meeting + else + div.item + include shared/nomeeting + + +div.row.detail-unit + div.span4 + include shared/widgets/details + div.span4 + include shared/widgets/location + div.span4 + include shared/widgets/sponsors + +hr +footer + p © OlyNode 2012 \ No newline at end of file