import React from 'react'; import {mount} from 'react-mounter'; import SmartContainers from "meteor/utilities:react-list-container"; const DocumentContainer = SmartContainers.DocumentContainer; const ListContainer = SmartContainers.ListContainer; Telescope.routes = {}; Telescope.addRoutes = (newRoutes) => { Telescope.routes = Object.assign(Telescope.routes, newRoutes); } Telescope.addRoutes({ // ------------------------------------- Posts -------------------------------- // "posts.list": { path: "/", action(params, queryParams) { ({App, PostsList} = Telescope.components); queryParams = _.isEmpty(queryParams) ? {view: 'new'} : _.clone(queryParams); ({selector, options} = Posts.parameters.get(queryParams)); mount(App, {content: }) } }, "posts.daily": { path: "/daily/:days?", action(params, queryParams) { ({App, PostsDaily} = Telescope.components); mount(App, {content: }) } }, "posts.single": { path: "/posts/:_id/:slug?", action(params, queryParams) { ({App, PostsPage} = Telescope.components); mount(App, {content: }); } }, // ------------------------------------- Users -------------------------------- // "users.single": { path: "/users/:slug", action(params, queryParams) { ({App, UsersProfile} = Telescope.components); mount(App, {content: }); } }, "account": { path: "/account", action(params, queryParams) { ({App, UsersEdit} = Telescope.components); mount(App, {content: }); } }, "users.edit": { path: "/users/:slug/edit", action(params, queryParams) { ({App, UsersEdit} = Telescope.components); mount(App, {content: }); } } }); _.forEach(Telescope.routes, (route, routeName) => { FlowRouter.route(route.path, { name: routeName, action: route.action }); }); // ------------------------------------- Other -------------------------------- // FlowRouter.notFound = { action() { ({App, Error404} = Telescope.components); mount(App, {content: }); } };