Lay client out a bit better

This commit is contained in:
Jonathan Cremin 2014-12-15 12:49:17 +00:00
parent 08e0aa7665
commit 0b00b190fc
5 changed files with 191 additions and 26 deletions

19
routes/index.js Normal file
View file

@ -0,0 +1,19 @@
"use strict";
var React = require('react');
var nodejsx = require('node-jsx').install({extension: '.jsx'});
var Home = React.createFactory(require('../client/index.jsx').Home);
module.exports = function(req, res, next) {
req.db.matches.find().sort({created_at:-1}).limit(6).toArray().then(function(docs){
var recent = [];
docs.forEach(function(doc) {
recent.push(doc.services[doc._id.split("$$")[0]]);
})
var home = Home({recent: recent});
res.send('<!doctype html>\n' + React.renderToString(home).replace("</body></html>", "<script>var recent = " + JSON.stringify(recent) + "</script></body></html>"));
//res.render('index', { page: "home", recent: docs, error: req.flash('search-error') });
});
}

View file

@ -2,6 +2,12 @@
var path = require('path');
var Promise = require('bluebird');
var util = require('util');
var browserify = require('connect-browserify');
var React = require('react');
var nodejsx = require('node-jsx').install();
var Share = React.createFactory(require('../client/share').Share);
var services = {};
require("fs").readdirSync(path.join(__dirname, "..", "lib", "services")).forEach(function(file) {
@ -60,13 +66,16 @@ module.exports.html = function(req, res, next) {
items.unshift(doc.services[serviceId]);
res.render(type, {
page: type,
title: doc.services[serviceId].name + " by " + doc.services[serviceId].artist.name,
matching: doc.services[serviceId],
matches: items,
thisUrl: req.userProtocol + '://' + req.get('host') + req.originalUrl
});
var share = Share({items: items});
res.send('<!doctype html>\n' + React.renderToString(share).replace("</body></html>", "<script>var items = " + JSON.stringify(items) + "</script></body></html>"));
// res.render(type, {
// page: type,
// title: doc.services[serviceId].name + " by " + doc.services[serviceId].artist.name,
// matching: doc.services[serviceId],
// matches: items,
// thisUrl: req.userProtocol + '://' + req.get('host') + req.originalUrl
// });
});
};