combine.fm/routes/index.js

26 lines
No EOL
882 B
JavaScript

"use strict";
var React = require('react');
var nodejsx = require('node-jsx').install({extension: '.jsx'});
var Router = require('react-router');
var routes = require('../views/app.jsx').routes;
module.exports = function(req, res, next) {
req.db.matches.find().sort({created_at:-1}).limit(6).toArray().then(function(docs){
var recents = [];
docs.forEach(function(doc) {
if (doc._id.indexOf("$$") > -1) {
recents.push(doc.services[doc._id.split("$$")[0]]);
}
});
Router.run(routes, req.url, function (Handler) {
var App = React.createFactory(Handler);
var content = React.renderToString(App({recents: recents}));
res.send('<!doctype html>\n' + content.replace("</body></html>", "<script>var recents = " + JSON.stringify(recents) + "</script></body></html>"));
});
}).catch(function(err) {
console.log(err)
});
}