0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-16 06:02:41 +00:00

Merge branch 'master' into fix-wrong-brew-id-links-generated

This commit is contained in:
Trevor Buckner
2024-10-06 15:54:37 -04:00
committed by GitHub
10 changed files with 665 additions and 767 deletions

View File

@@ -55,9 +55,9 @@ const BrewRenderer = (props)=>{
theme : '5ePHB', theme : '5ePHB',
lang : '', lang : '',
errors : [], errors : [],
currentEditorCursorPageNum : 0, currentEditorCursorPageNum : 1,
currentEditorViewPageNum : 0, currentEditorViewPageNum : 1,
currentBrewRendererPageNum : 0, currentBrewRendererPageNum : 1,
themeBundle : {}, themeBundle : {},
onPageChange : ()=>{}, onPageChange : ()=>{},
...props ...props

View File

@@ -39,6 +39,7 @@
overflow-y : unset; overflow-y : unset;
.pages { .pages {
margin : 0px; margin : 0px;
zoom: 100% !important;
& > .page { box-shadow : unset; } & > .page { box-shadow : unset; }
} }
} }

View File

@@ -32,7 +32,7 @@ import { updateHistory, versionHistoryGarbageCollection } from '../../utils/vers
const googleDriveIcon = require('../../googleDrive.svg'); const googleDriveIcon = require('../../googleDrive.svg');
const SAVE_TIMEOUT = 3000; const SAVE_TIMEOUT = 10000;
const EditPage = createClass({ const EditPage = createClass({
displayName : 'EditPage', displayName : 'EditPage',

View File

@@ -25,7 +25,8 @@ const SharePage = createClass({
getInitialState : function() { getInitialState : function() {
return { return {
themeBundle : {} themeBundle : {},
currentBrewRendererPageNum : 1
}; };
}, },
@@ -39,6 +40,10 @@ const SharePage = createClass({
document.removeEventListener('keydown', this.handleControlKeys); document.removeEventListener('keydown', this.handleControlKeys);
}, },
handleBrewRendererPageChange : function(pageNumber){
this.setState({ currentBrewRendererPageNum: pageNumber });
},
handleControlKeys : function(e){ handleControlKeys : function(e){
if(!(e.ctrlKey || e.metaKey)) return; if(!(e.ctrlKey || e.metaKey)) return;
const P_KEY = 80; const P_KEY = 80;
@@ -114,9 +119,12 @@ const SharePage = createClass({
<BrewRenderer <BrewRenderer
text={this.props.brew.text} text={this.props.brew.text}
style={this.props.brew.style} style={this.props.brew.style}
lang={this.props.brew.lang}
renderer={this.props.brew.renderer} renderer={this.props.brew.renderer}
theme={this.props.brew.theme} theme={this.props.brew.theme}
themeBundle={this.state.themeBundle} themeBundle={this.state.themeBundle}
onPageChange={this.handleBrewRendererPageChange}
currentBrewRendererPageNum={this.state.currentBrewRendererPageNum}
allowPrint={true} allowPrint={true}
/> />
</div> </div>

1356
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -85,10 +85,10 @@
] ]
}, },
"dependencies": { "dependencies": {
"@babel/core": "^7.25.2", "@babel/core": "^7.25.7",
"@babel/plugin-transform-runtime": "^7.25.4", "@babel/plugin-transform-runtime": "^7.25.7",
"@babel/preset-env": "^7.25.4", "@babel/preset-env": "^7.25.7",
"@babel/preset-react": "^7.24.7", "@babel/preset-react": "^7.25.7",
"@googleapis/drive": "^8.14.0", "@googleapis/drive": "^8.14.0",
"body-parser": "^1.20.2", "body-parser": "^1.20.2",
"classnames": "^2.5.1", "classnames": "^2.5.1",
@@ -96,7 +96,7 @@
"cookie-parser": "^1.4.6", "cookie-parser": "^1.4.6",
"create-react-class": "^15.7.0", "create-react-class": "^15.7.0",
"dedent-tabs": "^0.10.3", "dedent-tabs": "^0.10.3",
"dompurify": "^3.1.6", "dompurify": "^3.1.7",
"expr-eval": "^2.0.2", "expr-eval": "^2.0.2",
"express": "^4.21.0", "express": "^4.21.0",
"express-async-handler": "^1.2.0", "express-async-handler": "^1.2.0",
@@ -113,7 +113,7 @@
"marked-smartypants-lite": "^1.0.2", "marked-smartypants-lite": "^1.0.2",
"markedLegacy": "npm:marked@^0.3.19", "markedLegacy": "npm:marked@^0.3.19",
"moment": "^2.30.1", "moment": "^2.30.1",
"mongoose": "^8.6.2", "mongoose": "^8.7.0",
"nanoid": "3.3.4", "nanoid": "3.3.4",
"nconf": "^0.12.1", "nconf": "^0.12.1",
"react": "^18.3.1", "react": "^18.3.1",
@@ -125,16 +125,16 @@
"vitreum": "git+https://git@github.com/calculuschild/vitreum.git" "vitreum": "git+https://git@github.com/calculuschild/vitreum.git"
}, },
"devDependencies": { "devDependencies": {
"@stylistic/stylelint-plugin": "^3.0.1", "@stylistic/stylelint-plugin": "^3.1.0",
"eslint": "^9.10.0", "eslint": "^9.11.1",
"eslint-plugin-jest": "^28.8.3", "eslint-plugin-jest": "^28.8.3",
"eslint-plugin-react": "^7.36.1", "eslint-plugin-react": "^7.37.1",
"globals": "^15.9.0", "globals": "^15.10.0",
"jest": "^29.7.0", "jest": "^29.7.0",
"jest-expect-message": "^1.1.3", "jest-expect-message": "^1.1.3",
"postcss-less": "^6.0.0", "postcss-less": "^6.0.0",
"stylelint": "^16.9.0", "stylelint": "^16.9.0",
"stylelint-config-recess-order": "^5.1.0", "stylelint-config-recess-order": "^5.1.1",
"stylelint-config-recommended": "^14.0.1", "stylelint-config-recommended": "^14.0.1",
"supertest": "^7.0.0" "supertest": "^7.0.0"
} }

View File

@@ -520,7 +520,7 @@ app.use(async (err, req, res, next)=>{
err.originalUrl = req.originalUrl; err.originalUrl = req.originalUrl;
console.error(err); console.error(err);
if(err.originalUrl?.startsWith('/api/')) { if(err.originalUrl?.startsWith('/api')) {
// console.log('API error'); // console.log('API error');
res.status(err.status || err.response?.status || 500).send(err); res.status(err.status || err.response?.status || 500).send(err);
return; return;

View File

@@ -172,7 +172,6 @@ const GoogleActions = {
}) })
.catch((err)=>{ .catch((err)=>{
console.log('Error saving to google'); console.log('Error saving to google');
console.error(err);
throw (err); throw (err);
}); });
@@ -211,7 +210,6 @@ const GoogleActions = {
}) })
.catch((err)=>{ .catch((err)=>{
console.log('Error while creating new Google brew'); console.log('Error while creating new Google brew');
console.error(err);
throw (err); throw (err);
}); });

View File

@@ -242,11 +242,8 @@ const api = {
let googleId, saved; let googleId, saved;
if(saveToGoogle) { if(saveToGoogle) {
googleId = await api.newGoogleBrew(req.account, newHomebrew, res) googleId = await api.newGoogleBrew(req.account, newHomebrew, res);
.catch((err)=>{
console.error(err);
res.status(err?.status || err?.response?.status || 500).send(err?.message || err);
});
if(!googleId) return; if(!googleId) return;
api.excludeStubProps(newHomebrew); api.excludeStubProps(newHomebrew);
newHomebrew.googleId = googleId; newHomebrew.googleId = googleId;
@@ -351,19 +348,13 @@ const api = {
brew.googleId = undefined; brew.googleId = undefined;
} else if(!brew.googleId && saveToGoogle) { } else if(!brew.googleId && saveToGoogle) {
// If we don't have a google id and the user wants to save to google, create the google brew and set the google id on the brew // If we don't have a google id and the user wants to save to google, create the google brew and set the google id on the brew
brew.googleId = await api.newGoogleBrew(req.account, api.excludeGoogleProps(brew), res) brew.googleId = await api.newGoogleBrew(req.account, api.excludeGoogleProps(brew), res);
.catch((err)=>{
console.error(err);
res.status(err.status || err.response.status).send(err.message || err);
});
if(!brew.googleId) return; if(!brew.googleId) return;
} else if(brew.googleId) { } else if(brew.googleId) {
// If the google id exists and no other actions are being performed, update the google brew // If the google id exists and no other actions are being performed, update the google brew
const updated = await GoogleActions.updateGoogleBrew(api.excludeGoogleProps(brew)) const updated = await GoogleActions.updateGoogleBrew(api.excludeGoogleProps(brew));
.catch((err)=>{
console.error(err);
res.status(err?.response?.status || 500).send(err);
});
if(!updated) return; if(!updated) return;
} }

View File

@@ -560,16 +560,6 @@ brew`);
views : 0 views : 0
}); });
}); });
it('should handle google error', async()=>{
google.newGoogleBrew = jest.fn(()=>{
throw 'err';
});
await api.newBrew({ body: { text: 'asdf', title: '' }, query: { saveToGoogle: true }, account: { username: 'test user' } }, res);
expect(res.status).toHaveBeenCalledWith(500);
expect(res.send).toHaveBeenCalledWith('err');
});
}); });
describe('deleteGoogleBrew', ()=>{ describe('deleteGoogleBrew', ()=>{