mirror of
https://github.com/strapi/strapi.git
synced 2025-09-17 12:27:33 +00:00
69 lines
2.2 KiB
JavaScript
69 lines
2.2 KiB
JavaScript
// These are the pages you can go to.
|
|
// They are all wrapped in the App component, which should contain the navbar etc
|
|
// See http://blog.mxstbr.com/2016/01/react-apps-with-pages for more information
|
|
// about the code splitting business
|
|
import { getAsyncInjectors } from './utils/asyncInjectors';
|
|
import appSagas from './containers/App/sagas';
|
|
|
|
const loadModule = cb => componentModule => {
|
|
cb(null, componentModule.default);
|
|
};
|
|
|
|
export default function createRoutes(store) {
|
|
// Create reusable async injectors using getAsyncInjectors factory
|
|
const { injectReducer, injectSagas } = getAsyncInjectors(store); // eslint-disable-line no-unused-vars
|
|
|
|
// Inject app sagas
|
|
injectSagas(appSagas);
|
|
|
|
return [
|
|
{
|
|
path: '',
|
|
name: 'home',
|
|
getComponent(nextState, cb) {
|
|
const component = require('./containers/Home'); // eslint-disable-line global-require
|
|
|
|
const renderRoute = loadModule(cb);
|
|
|
|
process.nextTick(() => {
|
|
renderRoute(component);
|
|
});
|
|
},
|
|
},
|
|
{
|
|
path: '/:slug',
|
|
name: 'list',
|
|
getComponent(nextState, cb) {
|
|
const reducer = require('./containers/List/reducer'); // eslint-disable-line global-require
|
|
const sagas = require('./containers/List/sagas'); // eslint-disable-line global-require
|
|
const component = require('./containers/List'); // eslint-disable-line global-require
|
|
|
|
const renderRoute = loadModule(cb);
|
|
|
|
process.nextTick(() => {
|
|
injectReducer('list', reducer.default);
|
|
injectSagas(sagas.default);
|
|
renderRoute(component);
|
|
});
|
|
},
|
|
},
|
|
{
|
|
path: '/:slug/:id',
|
|
name: 'list',
|
|
getComponent(nextState, cb) {
|
|
const reducer = require('./containers/Edit/reducer'); // eslint-disable-line global-require
|
|
const sagas = require('./containers/Edit/sagas'); // eslint-disable-line global-require
|
|
const component = require('./containers/Edit'); // eslint-disable-line global-require
|
|
|
|
const renderRoute = loadModule(cb);
|
|
|
|
process.nextTick(() => {
|
|
injectReducer('edit', reducer.default);
|
|
injectSagas(sagas.default);
|
|
renderRoute(component);
|
|
});
|
|
},
|
|
},
|
|
];
|
|
}
|