Share the router configuration between the client and the server

This commit is contained in:
Maxime Quandalle 2015-12-28 22:59:39 +01:00
parent 592aa6d576
commit 6dc7404f23
2 changed files with 3 additions and 5 deletions

View file

@ -113,7 +113,7 @@ const appTitle = 'Wekan';
// that the global variable `Boards` is undefined when this file loads so we
// wait a bit until hopefully all files are loaded. This will be fixed in a
// clean way once Meteor will support ES6 modules -- hopefully in Meteor 1.3.
Meteor.startup(() => {
Meteor.isClient && Meteor.startup(() => {
Tracker.autorun(() => {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
const titleStack = [appTitle];

View file

@ -51,10 +51,8 @@ if (isSandstorm && Meteor.isServer) {
// XXX Maybe the sandstorm http-bridge could provide some kind of "home URL"
// in the manifest?
const base = req.headers['x-sandstorm-base-path'];
// XXX If this routing scheme changes, this will break. We should generate
// the location URL using the router, but at the time of writing, the
// it is only accessible on the client.
const boardPath = `/b/${sandstormBoard._id}/${sandstormBoard.slug}`;
const { _id, slug } = sandstormBoard;
const boardPath = FlowRouter.path('board', { id: _id, slug });
res.writeHead(301, {
Location: base + boardPath,