From cc7fe99760ef15ff3c90bd91018b1f4b6f3214a5 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Thu, 29 Aug 2024 21:26:24 +1200 Subject: [PATCH 1/5] Initial functionality pass --- client/homebrew/brewRenderer/brewRenderer.jsx | 10 ++++++++-- client/homebrew/brewRenderer/brewRenderer.less | 3 +++ server/app.js | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index f3b284a93..7547adaf2 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -188,6 +188,12 @@ const BrewRenderer = (props)=>{ })); }; + const styleObject = { height: state.height }; + + if(global.config.deployment) { + styleObject.backgroundImage = `url("data:image/svg+xml;utf8,${global.config.deployment}")` + } + return ( <> {/*render dummy page while iFrame is mounting.*/} @@ -213,11 +219,11 @@ const BrewRenderer = (props)=>{ contentDidMount={frameDidMount} onClick={()=>{emitClick();}} > -
+ style={ styleObject }> {/* Apply CSS from Style tab and render pages from Markdown tab */} {state.isMounted diff --git a/client/homebrew/brewRenderer/brewRenderer.less b/client/homebrew/brewRenderer/brewRenderer.less index dca64c455..43a1d8698 100644 --- a/client/homebrew/brewRenderer/brewRenderer.less +++ b/client/homebrew/brewRenderer/brewRenderer.less @@ -4,6 +4,9 @@ overflow-y : scroll; will-change : transform; padding-top : 30px; + &.deployment { + background-color: darkred; + } :where(.pages) { margin : 30px 0px; & > :where(.page) { diff --git a/server/app.js b/server/app.js index 90d14aa5b..e1581dbf9 100644 --- a/server/app.js +++ b/server/app.js @@ -448,7 +448,8 @@ const renderPage = async (req, res)=>{ const configuration = { local : isLocalEnvironment, publicUrl : config.get('publicUrl') ?? '', - environment : nodeEnv + environment : nodeEnv, + deployment : config.get('heroku_app_name') ?? '' }; const props = { version : require('./../package.json').version, From 5d29d40c973113adb84ec43e0191458ca70f1ae7 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Fri, 11 Oct 2024 11:42:03 +1300 Subject: [PATCH 2/5] Implement suggested change --- client/homebrew/brewRenderer/brewRenderer.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 71e710599..67666ef82 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -187,7 +187,7 @@ const BrewRenderer = (props)=>{ })); }; - const styleObject = { height: state.height }; + const styleObject = { height: '100vh' }; if(global.config.deployment) { styleObject.backgroundImage = `url("data:image/svg+xml;utf8,${global.config.deployment}")`; From a9a8b4b9bbc60cb00bc08088ead6cd8c51b727cc Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Fri, 11 Oct 2024 11:55:51 +1300 Subject: [PATCH 3/5] Shift static height style to LESS file --- client/homebrew/brewRenderer/brewRenderer.jsx | 2 +- client/homebrew/brewRenderer/brewRenderer.less | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 67666ef82..3170d8e7a 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -187,7 +187,7 @@ const BrewRenderer = (props)=>{ })); }; - const styleObject = { height: '100vh' }; + const styleObject = {}; if(global.config.deployment) { styleObject.backgroundImage = `url("data:image/svg+xml;utf8,${global.config.deployment}")`; diff --git a/client/homebrew/brewRenderer/brewRenderer.less b/client/homebrew/brewRenderer/brewRenderer.less index d7b1b38cc..81e7e4f22 100644 --- a/client/homebrew/brewRenderer/brewRenderer.less +++ b/client/homebrew/brewRenderer/brewRenderer.less @@ -4,6 +4,7 @@ overflow-y : scroll; will-change : transform; padding-top : 30px; + height : 100vh; &.deployment { background-color: darkred; } From 9099db5ea1b4ef094236ebf0166c061ae615e506 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Fri, 11 Oct 2024 11:56:29 +1300 Subject: [PATCH 4/5] Remove obsolete state and event handlers --- client/homebrew/brewRenderer/brewRenderer.jsx | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 3170d8e7a..b67ece306 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -64,7 +64,6 @@ const BrewRenderer = (props)=>{ }; const [state, setState] = useState({ - height : PAGE_HEIGHT, isMounted : false, visibility : 'hidden', zoom : 100 @@ -78,17 +77,6 @@ const BrewRenderer = (props)=>{ rawPages = props.text.split(/^\\page$/gm); } - useEffect(()=>{ // Unmounting steps - return ()=>{window.removeEventListener('resize', updateSize);}; - }, []); - - const updateSize = ()=>{ - setState((prevState)=>({ - ...prevState, - height : mainRef.current.parentNode.clientHeight, - })); - }; - const updateCurrentPage = useCallback(_.throttle((e)=>{ const { scrollTop, clientHeight, scrollHeight } = e.target; const totalScrollableHeight = scrollHeight - clientHeight; @@ -163,8 +151,6 @@ const BrewRenderer = (props)=>{ const frameDidMount = ()=>{ //This triggers when iFrame finishes internal "componentDidMount" setTimeout(()=>{ //We still see a flicker where the style isn't applied yet, so wait 100ms before showing iFrame - updateSize(); - window.addEventListener('resize', updateSize); renderPages(); //Make sure page is renderable before showing setState((prevState)=>({ ...prevState, From d534eddb29926c7e8a51964cc8bb6de7a9ac1c09 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Fri, 11 Oct 2024 13:14:53 +1300 Subject: [PATCH 5/5] Remove unnecessary useEffect import --- client/homebrew/brewRenderer/brewRenderer.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index b67ece306..48f155820 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -1,7 +1,7 @@ /*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/ require('./brewRenderer.less'); const React = require('react'); -const { useState, useRef, useEffect, useCallback } = React; +const { useState, useRef, useCallback } = React; const _ = require('lodash'); const MarkdownLegacy = require('naturalcrit/markdownLegacy.js');