From ec3b8440265ba8c85e872b65eee24c7bafa60825 Mon Sep 17 00:00:00 2001 From: Abitofevrything <54505189+abitofevrything@users.noreply.github.com> Date: Sun, 3 Oct 2021 20:54:20 +0200 Subject: [PATCH] Fix "Theme defined" option not working in font overrride (#2197) --- src/routes/api/fonts.js | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/routes/api/fonts.js b/src/routes/api/fonts.js index 3f6cdd740..f1cdd6306 100644 --- a/src/routes/api/fonts.js +++ b/src/routes/api/fonts.js @@ -11,21 +11,27 @@ function getFontCss(req, res) { const optionsMap = optionService.getOptionsMap(); + const mainFontFamilyOverridden = optionsMap.mainFontFamily != 'theme'; + const treeFontFamilyOverridden = optionsMap.treeFontFamily != 'theme'; + const detailFontFamilyOverridden = optionsMap.detailFontFamily != 'theme'; + const monospaceFontFamilyOverridden = optionsMap.monospaceFontFamily != 'theme'; + // using body to be more specific than themes' :root - res.send(` -body { - --main-font-family: ${optionsMap.mainFontFamily}; - --main-font-size: ${optionsMap.mainFontSize}%; - - --tree-font-family: ${optionsMap.treeFontFamily}; - --tree-font-size: ${optionsMap.treeFontSize}%; - - --detail-font-family: ${optionsMap.detailFontFamily}; - --detail-font-size: ${optionsMap.detailFontSize}%; - - --monospace-font-family: ${optionsMap.monospaceFontFamily}; - --monospace-font-size: ${optionsMap.monospaceFontSize}; -}`); + let style = 'body {'; + + if (mainFontFamilyOverridden) style += `--main-font-family: ${optionsMap.mainFontFamily};`; + if (treeFontFamilyOverridden) style += `--tree-font-family: ${optionsMap.treeFontFamily};`; + if (detailFontFamilyOverridden) style += `--detail-font-family: ${optionsMap.detailFontFamily};`; + if (monospaceFontFamilyOverridden) style += `--monospace-font-family: ${optionsMap.monospaceFontFamily};`; + + style += `--main-font-size: ${optionsMap.mainFontSize}%;`; + style += `--tree-font-size: ${optionsMap.treeFontSize}%;`; + style += `--detail-font-size: ${optionsMap.detailFontSize}%;`; + style += `--monospace-font-size: ${optionsMap.monospaceFontSize};`; + + style += '}'; + + res.send(style); } module.exports = {