fix(theming): ensure image background is not defined if admin disabled it

Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
This commit is contained in:
John Molakvoæ 2023-05-04 09:57:29 +02:00 committed by Julius Härtl
parent b6a5e353bf
commit c90ffa906e
No known key found for this signature in database
GPG key ID: 4C614C6ED2CDE6DF
2 changed files with 12 additions and 11 deletions

View file

@ -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;

View file

@ -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;