Browse Source

Respect "prefers-color-scheme" media selector for guests

Signed-off-by: Joas Schilling <coding@schilljs.com>
tags/v20.0.0beta1
Joas Schilling 4 years ago
parent
commit
291640273d
No account linked to committer's email address

+ 6
- 0
apps/accessibility/lib/AppInfo/Application.php View File

@@ -63,6 +63,12 @@ class Application extends App {
$linkToCSS = $this->urlGenerator->linkToRoute(self::APP_NAME . '.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]);
}
}


+ 9
- 3
apps/accessibility/lib/Controller/AccessibilityController.php View File

@@ -131,7 +131,7 @@ class AccessibilityController extends Controller {
}

/**
* @NoAdminRequired
* @PublicPage
* @NoCSRFRequired
* @NoSameSiteCookieRequired
*
@@ -140,7 +140,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) {
@@ -199,7 +203,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;
}

Loading…
Cancel
Save