mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-06 16:32:40 +00:00
My god it works
This commit is contained in:
@@ -7,7 +7,7 @@ const { Meta } = require('vitreum/headtags');
|
|||||||
const MarkdownLegacy = require('naturalcrit/markdownLegacy.js');
|
const MarkdownLegacy = require('naturalcrit/markdownLegacy.js');
|
||||||
const Markdown = require('naturalcrit/markdown.js');
|
const Markdown = require('naturalcrit/markdown.js');
|
||||||
|
|
||||||
const Themes = require('themes/themes.json');
|
const staticThemes = require('themes/themes.json');
|
||||||
|
|
||||||
const BREWKEY = 'homebrewery-new';
|
const BREWKEY = 'homebrewery-new';
|
||||||
const STYLEKEY = 'homebrewery-new-style';
|
const STYLEKEY = 'homebrewery-new-style';
|
||||||
@@ -30,11 +30,12 @@ const PrintPage = createClass({
|
|||||||
getInitialState : function() {
|
getInitialState : function() {
|
||||||
return {
|
return {
|
||||||
brew : {
|
brew : {
|
||||||
text : this.props.brew.text || '',
|
text : this.props.brew.text || '',
|
||||||
style : this.props.brew.style || undefined,
|
style : this.props.brew.style || undefined,
|
||||||
renderer : this.props.brew.renderer || 'legacy',
|
renderer : this.props.brew.renderer || 'legacy',
|
||||||
theme : this.props.brew.theme || '5ePHB',
|
theme : this.props.brew.theme || '5ePHB',
|
||||||
lang : this.props.brew.lang || 'en'
|
lang : this.props.brew.lang || 'en',
|
||||||
|
userThemes : this.props.brew.userThemes
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -90,17 +91,43 @@ const PrintPage = createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
render : function(){
|
render : function(){
|
||||||
const rendererPath = this.state.brew.renderer == 'V3' ? 'V3' : 'Legacy';
|
let rendererPath = this.state.brew.renderer == 'V3' ? 'V3' : 'Legacy';
|
||||||
const themePath = this.state.brew.theme ?? '5ePHB';
|
let baseRendererPath = this.state.brew.renderer == 'V3' ? 'V3' : 'Legacy';
|
||||||
const baseThemePath = Themes[rendererPath][themePath].baseTheme;
|
const blankRendererPath = this.state.brew.renderer == 'V3' ? 'V3' : 'Legacy';
|
||||||
|
if(this.state.brew.theme[0] === '#') {
|
||||||
|
rendererPath = 'Brew';
|
||||||
|
}
|
||||||
|
let themePath = this.state.brew.theme ?? '5ePHB';
|
||||||
|
console.log(`this.state.brew.userThemes`);
|
||||||
|
console.log(this.state.brew);
|
||||||
|
console.log(`this.state.brew.userThemes`);
|
||||||
|
const Themes = { ...staticThemes, ...this.state.brew.userThemes };
|
||||||
|
let baseThemePath = Themes[rendererPath][themePath]?.baseTheme;
|
||||||
|
|
||||||
|
// Override static theme values if a Brew theme.
|
||||||
|
|
||||||
|
if(themePath[0] == '#') {
|
||||||
|
themePath = themePath.slice(1);
|
||||||
|
rendererPath = '';
|
||||||
|
} else {
|
||||||
|
rendererPath += '/';
|
||||||
|
}
|
||||||
|
|
||||||
|
if(baseThemePath && baseThemePath[0] == '#') {
|
||||||
|
baseThemePath = baseThemePath.slice(1);
|
||||||
|
baseRendererPath = '';
|
||||||
|
} else {
|
||||||
|
baseRendererPath += '/';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return <div>
|
return <div>
|
||||||
<Meta name='robots' content='noindex, nofollow' />
|
<Meta name='robots' content='noindex, nofollow' />
|
||||||
<link href={`/themes/${rendererPath}/Blank/style.css`} rel='stylesheet'/>
|
<link href={`/css/${blankRendererPath}/Blank`} rel='stylesheet'/>
|
||||||
{baseThemePath &&
|
{baseThemePath &&
|
||||||
<link href={`/themes/${rendererPath}/${baseThemePath}/style.css`} rel='stylesheet'/>
|
<link href={`/css/${baseRendererPath}${baseThemePath}`} rel='stylesheet'/>
|
||||||
}
|
}
|
||||||
<link href={`/themes/${rendererPath}/${themePath}/style.css`} rel='stylesheet'/>
|
<link href={`/css/${rendererPath}${themePath}`} rel='stylesheet'/>
|
||||||
{/* Apply CSS from Style tab */}
|
{/* Apply CSS from Style tab */}
|
||||||
{this.renderStyle()}
|
{this.renderStyle()}
|
||||||
<div className='pages' ref='pages' lang={this.state.brew.lang}>
|
<div className='pages' ref='pages' lang={this.state.brew.lang}>
|
||||||
|
|||||||
@@ -348,7 +348,6 @@ app.get('/share/:id', asyncHandler(getBrew('share')), asyncHandler(async (req, r
|
|||||||
await HomebrewModel.increaseView({ shareId: brew.shareId });
|
await HomebrewModel.increaseView({ shareId: brew.shareId });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
req.brew.userThemes = await getUsersBrewThemes(req.account.username, req.brew.editId);
|
|
||||||
sanitizeBrew(req.brew, 'share');
|
sanitizeBrew(req.brew, 'share');
|
||||||
splitTextStyleAndMetadata(req.brew);
|
splitTextStyleAndMetadata(req.brew);
|
||||||
return next();
|
return next();
|
||||||
@@ -356,7 +355,6 @@ app.get('/share/:id', asyncHandler(getBrew('share')), asyncHandler(async (req, r
|
|||||||
|
|
||||||
//Print Page
|
//Print Page
|
||||||
app.get('/print/:id', asyncHandler(getBrew('share')), async (req, res, next)=>{
|
app.get('/print/:id', asyncHandler(getBrew('share')), async (req, res, next)=>{
|
||||||
req.brew.userThemes = await getUsersBrewThemes(req.account.username, req.brew.editId);
|
|
||||||
sanitizeBrew(req.brew, 'share');
|
sanitizeBrew(req.brew, 'share');
|
||||||
splitTextStyleAndMetadata(req.brew);
|
splitTextStyleAndMetadata(req.brew);
|
||||||
next();
|
next();
|
||||||
|
|||||||
@@ -158,7 +158,11 @@ const api = {
|
|||||||
throw { name: 'BrewLoad Error', message: 'Brew not found', status: 404, HBErrorCode: '05', accessType: accessType, brewId: id };
|
throw { name: 'BrewLoad Error', message: 'Brew not found', status: 404, HBErrorCode: '05', accessType: accessType, brewId: id };
|
||||||
}
|
}
|
||||||
|
|
||||||
const userID = accessType === 'edit' ? req.account.username : stub.authors.split(',')[0];
|
console.log(`print`);
|
||||||
|
console.log(accessType);
|
||||||
|
console.log(stub);
|
||||||
|
console.log(`print`);
|
||||||
|
const userID = accessType === 'edit' ? req.account.username : stub.authors[0];
|
||||||
|
|
||||||
// Clean up brew: fill in missing fields with defaults / fix old invalid values
|
// Clean up brew: fill in missing fields with defaults / fix old invalid values
|
||||||
const userThemes = await getUsersBrewThemes(userID, id);
|
const userThemes = await getUsersBrewThemes(userID, id);
|
||||||
|
|||||||
Reference in New Issue
Block a user