Skip to content

Commit c87f05a

Browse files
authored
Merge pull request #33610 from nextcloud/enh/background-blur-vars
2 parents 71065f5 + 5e55082 commit c87f05a

8 files changed

Lines changed: 33 additions & 15 deletions

File tree

apps/dashboard/src/DashboardApp.vue

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,9 @@ export default {
170170
|| this.background.match(/#[0-9A-Fa-f]{6}/g)) {
171171
return null
172172
}
173+
173174
return {
174-
backgroundImage: `url(${this.backgroundImage})`,
175+
backgroundImage: this.background === 'default' ? 'var(--image-main-background)' : `url(${this.backgroundImage})`,
175176
}
176177
},
177178
@@ -426,8 +427,6 @@ export default {
426427
background-repeat: no-repeat;
427428
background-attachment: fixed;
428429
background-color: var(--color-primary);
429-
--color-background-translucent: rgba(var(--color-main-background-rgb), 0.8);
430-
--background-blur: blur(10px);
431430
432431
> h2 {
433432
color: var(--color-primary-text);
@@ -453,9 +452,9 @@ export default {
453452
width: 320px;
454453
max-width: 100%;
455454
margin: 16px;
456-
background-color: var(--color-background-translucent);
457-
-webkit-backdrop-filter: var(--background-blur);
458-
backdrop-filter: var(--background-blur);
455+
background-color: var(--color-main-background-blur);
456+
-webkit-backdrop-filter: var(--filter-background-blur);
457+
backdrop-filter: var(--filter-background-blur);
459458
border-radius: var(--border-radius-large);
460459
461460
#body-user.theme--highcontrast & {
@@ -556,9 +555,9 @@ export default {
556555
.edit-panels,
557556
.statuses ::v-deep .action-item .action-item__menutoggle,
558557
.statuses ::v-deep .action-item.action-item--open .action-item__menutoggle {
559-
background-color: var(--color-background-translucent);
560-
-webkit-backdrop-filter: var(--background-blur);
561-
backdrop-filter: var(--background-blur);
558+
background-color: var(--color-main-background-blur);
559+
-webkit-backdrop-filter: var(--filter-background-blur);
560+
backdrop-filter: var(--filter-background-blur);
562561
opacity: 1 !important;
563562
564563
&:hover,

apps/theming/css/default.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
--color-main-background: #ffffff;
33
--color-main-background-rgb: 255,255,255;
44
--color-main-background-translucent: rgba(var(--color-main-background-rgb), .97);
5+
--color-main-background-blur: rgba(var(--color-main-background-rgb), .8);
6+
--filter-background-blur: blur(25px);
57
--gradient-main-background: var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%;
68
--color-background-hover: #f5f5f5;
79
--color-background-dark: #ededed;
@@ -59,4 +61,5 @@
5961
--primary-invert-if-bright: no;
6062
--background-invert-if-dark: no;
6163
--background-invert-if-bright: invert(100%);
64+
--image-main-background: url('/core/img/app-background.jpg');
6265
}

apps/theming/lib/Themes/DefaultTheme.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ public function getCSSVariables(): array {
9797
'--color-main-background' => $colorMainBackground,
9898
'--color-main-background-rgb' => $colorMainBackgroundRGB,
9999
'--color-main-background-translucent' => 'rgba(var(--color-main-background-rgb), .97)',
100+
'--color-main-background-blur' => 'rgba(var(--color-main-background-rgb), .8)',
101+
'--filter-background-blur' => 'blur(25px)',
100102

101103
// to use like this: background-image: linear-gradient(0, var('--gradient-main-background));
102104
'--gradient-main-background' => 'var(--color-main-background) 0%, var(--color-main-background-translucent) 85%, transparent 100%',
@@ -190,26 +192,30 @@ public function getCSSVariables(): array {
190192
'--primary-invert-if-bright' => $this->util->invertTextColor($this->primaryColor) ? 'invert(100%)' : 'no',
191193
'--background-invert-if-dark' => 'no',
192194
'--background-invert-if-bright' => 'invert(100%)',
195+
196+
'--image-main-background' => "url('" . $this->urlGenerator->imagePath('core', 'app-background.jpg') . "')",
193197
];
194198

195199
$backgroundDeleted = $this->config->getAppValue('theming', 'backgroundMime', '') === 'backgroundColor';
196200
// If primary as background has been request or if we have a custom primary colour
197201
// let's not define the background image
198202
if ($backgroundDeleted || $hasCustomPrimaryColour) {
199203
$variables["--image-background-plain"] = 'true';
200-
}
204+
}
201205

202206
// Register image variables only if custom-defined
203207
foreach(['logo', 'logoheader', 'favicon', 'background'] as $image) {
204208
if ($this->imageManager->hasImage($image)) {
209+
$imageUrl = $this->imageManager->getImageUrl($image);
205210
if ($image === 'background') {
206211
// If background deleted is set, ignoring variable
207212
if ($backgroundDeleted) {
208213
continue;
209-
}
214+
}
210215
$variables['--image-background-size'] = 'cover';
216+
$variables['--image-main-background'] = "url('" . $imageUrl . "')";
211217
}
212-
$variables["--image-$image"] = "url('".$this->imageManager->getImageUrl($image)."')";
218+
$variables["--image-$image"] = "url('" . $imageUrl . "')";
213219
}
214220
}
215221

apps/theming/lib/Themes/HighContrastTheme.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public function getCSSVariables(): array {
5959
$variables['--color-background-dark'] = $this->util->darken($colorMainBackground, 30);
6060
$variables['--color-background-darker'] = $this->util->darken($colorMainBackground, 30);
6161

62+
$variables['--color-main-background-blur'] = $colorMainBackground;
63+
$variables['--filter-background-blur'] = 'none';
64+
6265
$variables['--color-placeholder-light'] = $this->util->darken($colorMainBackground, 30);
6366
$variables['--color-placeholder-dark'] = $this->util->darken($colorMainBackground, 45);
6467

apps/theming/tests/Themes/DefaultThemeTest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,13 @@ protected function setUp(): void {
7575
return vsprintf($text, $parameters);
7676
});
7777

78+
$this->urlGenerator
79+
->expects($this->any())
80+
->method('imagePath')
81+
->willReturnCallback(function ($app = 'core', $filename = '') {
82+
return "/$app/img/$filename";
83+
});
84+
7885
$this->defaultTheme = new DefaultTheme(
7986
$util,
8087
$this->themingDefaults,

core/img/app-background.jpg

186 KB
Loading

dist/dashboard-main.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/dashboard-main.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)