mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-04 23:22:42 +00:00
update based on feedback
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
/* eslint-disable max-lines */
|
/* eslint-disable max-lines */
|
||||||
require('./editPage.less');
|
require('./editPage.less');
|
||||||
require('../../styles/nav-item-error-container.less');
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const createClass = require('create-react-class');
|
const createClass = require('create-react-class');
|
||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
@@ -263,7 +262,7 @@ const EditPage = createClass({
|
|||||||
|
|
||||||
renderSaveButton : function(){
|
renderSaveButton : function(){
|
||||||
if(this.state.error){
|
if(this.state.error){
|
||||||
return require('../../utils/render-error-nav-item.js')(this, this.state.error);
|
return require('../../utils/render-error-nav-item.jsx')(this, this.state.error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.state.autoSaveWarning && this.hasChanges()){
|
if(this.state.autoSaveWarning && this.hasChanges()){
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
require('./homePage.less');
|
require('./homePage.less');
|
||||||
require('../../styles/nav-item-error-container.less');
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const createClass = require('create-react-class');
|
const createClass = require('create-react-class');
|
||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
@@ -58,7 +57,7 @@ const HomePage = createClass({
|
|||||||
},
|
},
|
||||||
renderSaveError : function(){
|
renderSaveError : function(){
|
||||||
if(this.state.error) {
|
if(this.state.error) {
|
||||||
return require('../../utils/render-error-nav-item.js')(this, this.state.error);
|
return require('../../utils/render-error-nav-item.jsx')(this, this.state.error);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
|
/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
|
||||||
require('./newPage.less');
|
require('./newPage.less');
|
||||||
require('../../styles/nav-item-error-container.less');
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const createClass = require('create-react-class');
|
const createClass = require('create-react-class');
|
||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
@@ -158,7 +157,7 @@ const NewPage = createClass({
|
|||||||
|
|
||||||
renderSaveButton : function(){
|
renderSaveButton : function(){
|
||||||
if(this.state.error){
|
if(this.state.error){
|
||||||
return require('../../utils/render-error-nav-item.js')(this, this.state.error);
|
return require('../../utils/render-error-nav-item.jsx')(this, this.state.error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.state.isSaving){
|
if(this.state.isSaving){
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
require('./render-error-nav-item.less');
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const Nav = require('naturalcrit/nav/nav.jsx');
|
const Nav = require('naturalcrit/nav/nav.jsx');
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
const request = require('superagent');
|
const request = require('superagent');
|
||||||
|
|
||||||
const addHeader = (request)=>request.set('Homebrewery-Version', sessionStorage.getItem('version'));
|
const addHeader = (request)=>request.set('Homebrewery-Version', global.version);
|
||||||
|
|
||||||
const requestMiddleware = {
|
const requestMiddleware = {
|
||||||
get : (path)=>addHeader(request.get(path)),
|
get : (path)=>addHeader(request.get(path)),
|
||||||
|
|||||||
@@ -22,9 +22,6 @@ const template = async function(name, title='', props = {}){
|
|||||||
<body>
|
<body>
|
||||||
<main id="reactRoot">${require(`../build/${name}/ssr.js`)(props)}</main>
|
<main id="reactRoot">${require(`../build/${name}/ssr.js`)(props)}</main>
|
||||||
<script src=${`/${name}/bundle.js`}></script>
|
<script src=${`/${name}/bundle.js`}></script>
|
||||||
<script>
|
|
||||||
sessionStorage.setItem('version', '${props.version}');
|
|
||||||
</script>
|
|
||||||
<script>start_app(${JSON.stringify(props)})</script>
|
<script>start_app(${JSON.stringify(props)})</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ If you believe you should have access to this brew, ask the file owner to invite
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
router.use('/api', require('./middleware.js').versionMismatch);
|
router.use('/api', require('./middleware/check-client-version.js'));
|
||||||
router.post('/api', asyncHandler(api.newBrew));
|
router.post('/api', asyncHandler(api.newBrew));
|
||||||
router.put('/api/:id', asyncHandler(api.getBrew('edit', true)), asyncHandler(api.updateBrew));
|
router.put('/api/:id', asyncHandler(api.getBrew('edit', true)), asyncHandler(api.updateBrew));
|
||||||
router.put('/api/update/:id', asyncHandler(api.getBrew('edit', true)), asyncHandler(api.updateBrew));
|
router.put('/api/update/:id', asyncHandler(api.getBrew('edit', true)), asyncHandler(api.updateBrew));
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
const middleware = {
|
|
||||||
versionMismatch : (req, res, next)=>{
|
|
||||||
const userVersion = req.get('Homebrewery-Version');
|
|
||||||
const version = require('./../package.json').version;
|
|
||||||
|
|
||||||
if(userVersion != version) {
|
|
||||||
console.warn(`Version mismatch -- expected: ${version}, actual: ${userVersion}`);
|
|
||||||
return res.status(412).send({
|
|
||||||
message : `Client version ${userVersion} is out of date. Please save your changes elsewhere and refresh to pick up client version ${version}.`
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
next();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = middleware;
|
|
||||||
12
server/middleware/check-client-version.js
Normal file
12
server/middleware/check-client-version.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
module.exports = (req, res, next)=>{
|
||||||
|
const userVersion = req.get('Homebrewery-Version');
|
||||||
|
const version = require('../../package.json').version;
|
||||||
|
|
||||||
|
if(userVersion != version) {
|
||||||
|
return res.status(412).send({
|
||||||
|
message : `Client version ${userVersion} is out of date. Please save your changes elsewhere and refresh to pick up client version ${version}.`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
next();
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user