Merge pull request #21366 from nextcloud/feature/noid/respect-prefers-color-scheme

Respect "prefers-color-scheme" media selector for guests
This commit is contained in:
Joas Schilling 2020-06-22 15:56:11 +02:00 committed by GitHub
commit 64f5a20aea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View File

@ -78,6 +78,12 @@ class Application extends App implements IBootstrap {
$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'href' => $linkToCSS]);
}
} else {
$userValues = ['dark'];
$hash = md5(implode('-', $userValues));
$linkToCSS = $this->urlGenerator->linkToRoute(self::APP_NAME . '.accessibility.getCss', ['md5' => $hash]);
\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'media' => '(prefers-color-scheme: dark)', 'href' => $linkToCSS]);
}
}

View File

@ -130,7 +130,7 @@ class AccessibilityController extends Controller {
}
/**
* @NoAdminRequired
* @PublicPage
* @NoCSRFRequired
* @NoSameSiteCookieRequired
*
@ -139,7 +139,11 @@ class AccessibilityController extends Controller {
public function getCss(): DataDisplayResponse {
$css = '';
$imports = '';
$userValues = $this->getUserValues();
if ($this->userSession->isLoggedIn()) {
$userValues = $this->getUserValues();
} else {
$userValues = ['dark'];
}
foreach ($userValues as $key => $scssFile) {
if ($scssFile !== false) {
@ -198,7 +202,9 @@ class AccessibilityController extends Controller {
$response->addHeader('Pragma', 'cache');
// store current cache hash
$this->config->setUserValue($this->userSession->getUser()->getUID(), $this->appName, 'icons-css', md5($css));
if ($this->userSession->isLoggedIn()) {
$this->config->setUserValue($this->userSession->getUser()->getUID(), $this->appName, 'icons-css', md5($css));
}
return $response;
}