mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-24 14:12:40 +00:00
update based on feedback
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
/* eslint-disable max-lines */
|
||||
require('./editPage.less');
|
||||
require('../../styles/nav-item-error-container.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
@@ -263,7 +262,7 @@ const EditPage = createClass({
|
||||
|
||||
renderSaveButton : function(){
|
||||
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()){
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
require('./homePage.less');
|
||||
require('../../styles/nav-item-error-container.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
@@ -58,7 +57,7 @@ const HomePage = createClass({
|
||||
},
|
||||
renderSaveError : function(){
|
||||
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;
|
||||
},
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
|
||||
require('./newPage.less');
|
||||
require('../../styles/nav-item-error-container.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
@@ -158,7 +157,7 @@ const NewPage = createClass({
|
||||
|
||||
renderSaveButton : function(){
|
||||
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){
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
require('./render-error-nav-item.less');
|
||||
const React = require('react');
|
||||
const Nav = require('naturalcrit/nav/nav.jsx');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
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 = {
|
||||
get : (path)=>addHeader(request.get(path)),
|
||||
|
||||
@@ -22,9 +22,6 @@ const template = async function(name, title='', props = {}){
|
||||
<body>
|
||||
<main id="reactRoot">${require(`../build/${name}/ssr.js`)(props)}</main>
|
||||
<script src=${`/${name}/bundle.js`}></script>
|
||||
<script>
|
||||
sessionStorage.setItem('version', '${props.version}');
|
||||
</script>
|
||||
<script>start_app(${JSON.stringify(props)})</script>
|
||||
</body>
|
||||
</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.put('/api/: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