From c90ffa906e9351a9c35472e9079a38ddb9beb72b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6?= Date: Thu, 4 May 2023 09:57:29 +0200 Subject: [PATCH] fix(theming): ensure image background is not defined if admin disabled it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ --- apps/theming/lib/Themes/CommonThemeTrait.php | 21 ++++++++++---------- core/css/apps.scss | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/apps/theming/lib/Themes/CommonThemeTrait.php b/apps/theming/lib/Themes/CommonThemeTrait.php index e4afa892089..cd721026923 100644 --- a/apps/theming/lib/Themes/CommonThemeTrait.php +++ b/apps/theming/lib/Themes/CommonThemeTrait.php @@ -95,15 +95,6 @@ trait CommonThemeTrait { $variables['--image-background-default'] = "url('" . $this->themingDefaults->getBackground() . "')"; $variables['--color-background-plain'] = $this->defaultPrimaryColor; - // If primary as background has been request or if we have a custom primary colour - // let's not define the background image - if ($backgroundDeleted) { - $variables['--color-background-plain'] = $this->defaultPrimaryColor; - $variables['--image-background-plain'] = 'yes'; - // If no background image is set, we need to check against the shown primary colour - $variables['--background-image-invert-if-bright'] = $isDefaultPrimaryBright ? 'invert(100%)' : 'no'; - } - // Register image variables only if custom-defined foreach (ImageManager::SUPPORTED_IMAGE_KEYS as $image) { if ($this->imageManager->hasImage($image)) { @@ -113,8 +104,18 @@ trait CommonThemeTrait { } } + // If primary as background has been request or if we have a custom primary colour + // let's not define the background image + if ($backgroundDeleted) { + $variables['--color-background-plain'] = $this->defaultPrimaryColor; + $variables['--image-background-plain'] = 'yes'; + $variables['--image-background'] = 'no'; + // If no background image is set, we need to check against the shown primary colour + $variables['--background-image-invert-if-bright'] = $isDefaultPrimaryBright ? 'invert(100%)' : 'no'; + } + if ($hasCustomLogoHeader) { - $variables["--image-logoheader-custom"] = 'true'; + $variables['--image-logoheader-custom'] = 'true'; } return $variables; diff --git a/core/css/apps.scss b/core/css/apps.scss index 2b820b1ca2e..c837a66b568 100644 --- a/core/css/apps.scss +++ b/core/css/apps.scss @@ -46,7 +46,7 @@ html { body { // color-background-plain should always be defined. It is the primary user colour background-color: var(--color-background-plain, var(--color-main-background)); - // color-background-plain should always be defined. It is the primary user colour + // image-background-plain means the admin has disabled the background image background-image: var(--image-background, var(--image-background-default)); background-size: cover; background-position: center;