diff options
| author | Henry Jameson <me@hjkos.com> | 2024-07-16 21:01:20 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2024-07-16 21:01:20 +0300 |
| commit | a378c999b78c9138abb8ea1982dca2f976381f10 (patch) | |
| tree | 61ececd98ae1cf0f520a48cdfcc25edcb7ed9e9f /src/modules/interface.js | |
| parent | e029732021f67e13ca20c1b80c1315c4935b9f2b (diff) | |
add ability to override underlay color/opacity regardless of theme
Diffstat (limited to 'src/modules/interface.js')
| -rw-r--r-- | src/modules/interface.js | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/src/modules/interface.js b/src/modules/interface.js index 6a749bc3..a9cd70e5 100644 --- a/src/modules/interface.js +++ b/src/modules/interface.js @@ -221,7 +221,8 @@ const interfaceMod = { customTheme: userThemeSnapshot, customThemeSource: userThemeSource, forceThemeRecompilation, - themeDebug + themeDebug, + theme3hacks } = rootState.config const forceRecompile = forceThemeRecompilation || recompile @@ -275,7 +276,36 @@ const interfaceMod = { promise .then(realThemeData => { - const ruleset = convertTheme2To3(realThemeData) + const theme2ruleset = convertTheme2To3(realThemeData) + const hacks = [] + + Object.entries(theme3hacks).forEach(([key, value]) => { + switch (key) { + case 'underlay': { + if (value !== 'none') { + const newRule = { + component: 'Underlay', + directives: {} + } + if (value === 'opaque') { + newRule.directives.opacity = 1 + newRule.directives.background = '--wallpaper' + } + if (value === 'transparent') { + newRule.directives.opacity = 0 + } + console.log('NEW RULE', newRule) + hacks.push(newRule) + } + break + } + } + }) + + const ruleset = [ + ...theme2ruleset, + ...hacks + ] applyTheme( ruleset, |
