Skip to content

Commit 2916402

Browse files
committed
Respect "prefers-color-scheme" media selector for guests
Signed-off-by: Joas Schilling <coding@schilljs.com>
1 parent 9806dec commit 2916402

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

apps/accessibility/lib/AppInfo/Application.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ public function injectCss() {
6363
$linkToCSS = $this->urlGenerator->linkToRoute(self::APP_NAME . '.accessibility.getCss', ['md5' => $hash]);
6464
\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'href' => $linkToCSS]);
6565
}
66+
} else {
67+
$userValues = ['dark'];
68+
69+
$hash = md5(implode('-', $userValues));
70+
$linkToCSS = $this->urlGenerator->linkToRoute(self::APP_NAME . '.accessibility.getCss', ['md5' => $hash]);
71+
\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'media' => '(prefers-color-scheme: dark)', 'href' => $linkToCSS]);
6672
}
6773
}
6874

apps/accessibility/lib/Controller/AccessibilityController.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public function __construct(string $appName,
131131
}
132132

133133
/**
134-
* @NoAdminRequired
134+
* @PublicPage
135135
* @NoCSRFRequired
136136
* @NoSameSiteCookieRequired
137137
*
@@ -140,7 +140,11 @@ public function __construct(string $appName,
140140
public function getCss(): DataDisplayResponse {
141141
$css = '';
142142
$imports = '';
143-
$userValues = $this->getUserValues();
143+
if ($this->userSession->isLoggedIn()) {
144+
$userValues = $this->getUserValues();
145+
} else {
146+
$userValues = ['dark'];
147+
}
144148

145149
foreach ($userValues as $key => $scssFile) {
146150
if ($scssFile !== false) {
@@ -199,7 +203,9 @@ public function getCss(): DataDisplayResponse {
199203
$response->addHeader('Pragma', 'cache');
200204

201205
// store current cache hash
202-
$this->config->setUserValue($this->userSession->getUser()->getUID(), $this->appName, 'icons-css', md5($css));
206+
if ($this->userSession->isLoggedIn()) {
207+
$this->config->setUserValue($this->userSession->getUser()->getUID(), $this->appName, 'icons-css', md5($css));
208+
}
203209

204210
return $response;
205211
}

0 commit comments

Comments
 (0)