diff --git a/README.md b/README.md
index 28d2c5a26..2c60d5a07 100644
--- a/README.md
+++ b/README.md
@@ -24,16 +24,18 @@
├── /docs/ # Documentation files
├── /node_modules/ # Node.js-based dev tools and utilities
├── /src/ # The source code of the application
+│ ├── /actions/ # Action methods that allow to trigger a dispatch to stores
│ ├── /assets/ # Static files which don't require pre-processing
-│ ├── /data/ # Data access layer and models
-│ ├── /common/ # Utility classes etc.
+│ ├── /constants/ # Enumerations used in action methods and stores
│ ├── /components/ # React components. E.g. Navbar.jsx
│ ├── /images/ # Graphics (.png, .jpg, .svg etc.)
│ ├── /layouts/ # Layouts for web pages
│ ├── /pages/ # Web pages. E.g. Profile.jsx (or .html, .jade etc.)
│ ├── /services/ # Services and business logic
+│ ├── /stores/ # Stores contain the application state and logic
│ ├── /styles/ # LESS style sheets (or SASS/SCSS, Stylus etc.)
-│ └── /app.jsx # Entry point of your web application
+│ ├── /App.jsx # Entry point of your web application
+│ └── /AppDispatcher.js # The central hub that manages all data flow
├── /test/ # Unit, integration and load tests
│ ├── /e2e/ # End-to-end tests
│ └── /unit/ # Unit tests
diff --git a/config/webpack.js b/config/webpack.js
index a1a84f3e9..0190aa292 100644
--- a/config/webpack.js
+++ b/config/webpack.js
@@ -73,7 +73,7 @@ module.exports = function (release) {
loader: 'url-loader?limit=10000&mimetype=image/png'
},
{
- test: /\.jsx$/,
+ test: /\.(js|jsx)$/,
loader: 'jsx-loader?harmony'
}
]
diff --git a/gulpfile.js b/gulpfile.js
index da540e194..70a40965c 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -77,10 +77,10 @@ gulp.task('images', function () {
src.images = 'src/images/**';
return gulp.src(src.images)
.pipe($.changed(DEST + '/images'))
- .pipe($.cache($.imagemin({
+ .pipe($.imagemin({
progressive: true,
interlaced: true
- })))
+ }))
.pipe(gulp.dest(DEST + '/images'))
.pipe($.size({title: 'images'}));
});
diff --git a/package.json b/package.json
index 933720927..1c7619e74 100644
--- a/package.json
+++ b/package.json
@@ -7,8 +7,9 @@
"license": "MIT",
"dependencies": {
"bootstrap": "^3.2.0",
- "react": "^0.11.2",
- "react-router": "^0.7.0"
+ "director": "^1.2.3",
+ "flux": "^2.0.1",
+ "react": "^0.11.2"
},
"devDependencies": {
"browser-sync": "^1.5.1",
diff --git a/src/App.jsx b/src/App.jsx
index caeed4c83..12eb035e8 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,21 +1,33 @@
-/**
- * @jsx React.DOM
- */
-
'use strict';
var React = require('react');
-var {Routes, Route} = require('react-router');
+var {Router} = require('director');
+var AppDispatcher = require('./AppDispatcher');
+var ActionTypes = require('./constants/ActionTypes');
// Export React so the dev tools can find it
(window !== window.top ? window.top : window).React = React;
-React.renderComponent(
-
Complex web apps made easy
{' © KriaSoft • '} - Home {' • '} - Privacy + Home{' • '} + Privacy
github.com/kriasoft/react-starter-kit
+- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean consequat tortor fermentum mi - fermentum dignissim. Nullam vel ipsum ut ligula elementum lobortis. Maecenas aliquam, massa laoreet - lacinia pretium, nisi urna venenatis tortor, nec imperdiet tellus libero efficitur metus. Fusce - semper posuere ligula, et facilisis metus bibendum interdum. Mauris at mauris sit amet sem pharetra - commodo a eu leo. Nam at est non risus cursus maximus. Nam feugiat augue libero, id consectetur - tortor bibendum non. Quisque nec fringilla lorem. Nullam efficitur vulputate mauris, nec maximus leo - dignissim id. -
-- In hac habitasse platea dictumst. Duis sagittis dui ac ex suscipit maximus. Morbi pellentesque - venenatis felis sed convallis. Nulla varius, nibh vitae placerat tempus, mauris sem elementum ipsum, - eget sollicitudin nisl est vel purus. Fusce malesuada odio velit, non cursus leo fermentum id. Cras - pharetra sodales fringilla. Etiam quis est a dolor egestas pellentesque. Maecenas non scelerisque - purus, congue cursus arcu. Donec vel dapibus mi. Mauris maximus posuere placerat. Sed et libero eu - nibh tristique mollis a eget lectus. Donec interdum augue sollicitudin vehicula hendrerit. Vivamus - justo orci, molestie ac sollicitudin ac, lobortis at tellus. Etiam rhoncus ullamcorper risus eu - tempor. Sed porttitor, neque ac efficitur gravida, arcu lacus pharetra dui, in consequat elit tellus - auctor nulla. Donec placerat elementum diam, vitae imperdiet lectus luctus at. -
-- Nullam eu feugiat mi. Quisque nec tristique nisl, dignissim dictum leo. Nam non quam nisi. Donec - rutrum turpis ac diam blandit, id pulvinar mauris suscipit. Pellentesque tincidunt libero ultricies - risus iaculis, sit amet consequat velit blandit. Fusce quis varius nulla. Nullam nisi nisi, suscipit - ut magna quis, feugiat porta nibh. Sed id enim lectus. Suspendisse elementum justo sapien, sit amet - consequat orci accumsan et. Aliquam ornare ullamcorper sem sed finibus. Nullam ac lacus pulvinar, - egestas felis ut, accumsan est. -
-- Pellentesque sagittis vehicula sem quis luctus. Proin sodales magna in lorem hendrerit aliquam. - Integer eu varius orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere - cubilia Curae; Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia - Curae; Ut at mauris nibh. Suspendisse maximus ac eros at vestibulum. -
-- Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque egestas tortor et dui - consequat faucibus. Nunc vitae odio ornare, venenatis ligula a, vulputate nisl. Aenean congue varius - ex, sit amet bibendum odio posuere at. Nulla facilisi. In finibus, nulla vitae tincidunt ornare, - sapien nulla fermentum mauris, sed consectetur tortor arcu eget arcu. Vestibulum vel quam enim. -
-+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean consequat tortor fermentum mi + fermentum dignissim. Nullam vel ipsum ut ligula elementum lobortis. Maecenas aliquam, massa laoreet + lacinia pretium, nisi urna venenatis tortor, nec imperdiet tellus libero efficitur metus. Fusce + semper posuere ligula, et facilisis metus bibendum interdum. Mauris at mauris sit amet sem pharetra + commodo a eu leo. Nam at est non risus cursus maximus. Nam feugiat augue libero, id consectetur + tortor bibendum non. Quisque nec fringilla lorem. Nullam efficitur vulputate mauris, nec maximus leo + dignissim id. +
++ In hac habitasse platea dictumst. Duis sagittis dui ac ex suscipit maximus. Morbi pellentesque + venenatis felis sed convallis. Nulla varius, nibh vitae placerat tempus, mauris sem elementum ipsum, + eget sollicitudin nisl est vel purus. Fusce malesuada odio velit, non cursus leo fermentum id. Cras + pharetra sodales fringilla. Etiam quis est a dolor egestas pellentesque. Maecenas non scelerisque + purus, congue cursus arcu. Donec vel dapibus mi. Mauris maximus posuere placerat. Sed et libero eu + nibh tristique mollis a eget lectus. Donec interdum augue sollicitudin vehicula hendrerit. Vivamus + justo orci, molestie ac sollicitudin ac, lobortis at tellus. Etiam rhoncus ullamcorper risus eu + tempor. Sed porttitor, neque ac efficitur gravida, arcu lacus pharetra dui, in consequat elit tellus + auctor nulla. Donec placerat elementum diam, vitae imperdiet lectus luctus at. +
++ Nullam eu feugiat mi. Quisque nec tristique nisl, dignissim dictum leo. Nam non quam nisi. Donec + rutrum turpis ac diam blandit, id pulvinar mauris suscipit. Pellentesque tincidunt libero ultricies + risus iaculis, sit amet consequat velit blandit. Fusce quis varius nulla. Nullam nisi nisi, suscipit + ut magna quis, feugiat porta nibh. Sed id enim lectus. Suspendisse elementum justo sapien, sit amet + consequat orci accumsan et. Aliquam ornare ullamcorper sem sed finibus. Nullam ac lacus pulvinar, + egestas felis ut, accumsan est. +
++ Pellentesque sagittis vehicula sem quis luctus. Proin sodales magna in lorem hendrerit aliquam. + Integer eu varius orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere + cubilia Curae; Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia + Curae; Ut at mauris nibh. Suspendisse maximus ac eros at vestibulum. +
++ Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque egestas tortor et dui + consequat faucibus. Nunc vitae odio ornare, venenatis ligula a, vulputate nisl. Aenean congue varius + ex, sit amet bibendum odio posuere at. Nulla facilisi. In finibus, nulla vitae tincidunt ornare, + sapien nulla fermentum mauris, sed consectetur tortor arcu eget arcu. Vestibulum vel quam enim. +
+