Fix illegible text color in columns Size and Modified on dark theme: rework after review
Signed-off-by: Alexey Pyltsyn <lex61rus@gmail.com>
This commit is contained in:
parent
5911367a18
commit
30cbd137e8
6 changed files with 44 additions and 6 deletions
|
@ -28,3 +28,4 @@ $app = new \OCA\Accessibility\AppInfo\Application();
|
||||||
// 1. create the app
|
// 1. create the app
|
||||||
// 2. generate css route and inject
|
// 2. generate css route and inject
|
||||||
$app->injectCss();
|
$app->injectCss();
|
||||||
|
$app->injectJavascript();
|
|
@ -22,8 +22,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'routes' => [
|
'routes' => [
|
||||||
['name' => 'accessibility#getCss', 'url' => '/css/user-{md5}.css', 'verb' => 'GET'],
|
['name' => 'accessibility#getCss', 'url' => '/css/user-{md5}.css', 'verb' => 'GET'],
|
||||||
|
['name' => 'accessibility#getJavascript', 'url' => '/js/accessibility', 'verb' => 'GET'],
|
||||||
],
|
],
|
||||||
'ocs' => [
|
'ocs' => [
|
||||||
[
|
[
|
||||||
|
|
|
@ -60,4 +60,22 @@ class Application extends App {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function injectJavascript() {
|
||||||
|
$linkToJs = $this->urlGenerator->linkToRoute(
|
||||||
|
$this->appName . '.accessibility.getJavascript',
|
||||||
|
[
|
||||||
|
'v' => \OC::$server->getConfig()->getAppValue('accessibility', 'cachebuster', '0'),
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
\OCP\Util::addHeader(
|
||||||
|
'script',
|
||||||
|
[
|
||||||
|
'src' => $linkToJs,
|
||||||
|
'nonce' => \OC::$server->getContentSecurityPolicyNonceManager()->getNonce()
|
||||||
|
],
|
||||||
|
''
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ use Leafo\ScssPhp\Formatter\Crunched;
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataDisplayResponse;
|
use OCP\AppFramework\Http\DataDisplayResponse;
|
||||||
|
use OCP\AppFramework\Http\DataDownloadResponse;
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
use OCP\App\IAppManager;
|
use OCP\App\IAppManager;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
@ -184,6 +185,24 @@ class AccessibilityController extends Controller {
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @NoCSRFRequired
|
||||||
|
* @PublicPage
|
||||||
|
*
|
||||||
|
* @return DataDownloadResponse
|
||||||
|
*/
|
||||||
|
public function getJavascript(): DataDownloadResponse {
|
||||||
|
$responseJS = '(function() {
|
||||||
|
OCA.Accessibility = {
|
||||||
|
theme: ' . json_encode($this->config->getUserValue($this->userSession->getUser()->getUID(), $this->appName, 'theme', false)) . ',
|
||||||
|
|
||||||
|
};
|
||||||
|
})();';
|
||||||
|
$response = new DataDownloadResponse($responseJS, 'javascript', 'text/javascript');
|
||||||
|
$response->cacheFor(3600);
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return an array with the user theme & font settings
|
* Return an array with the user theme & font settings
|
||||||
*
|
*
|
||||||
|
|
|
@ -1385,7 +1385,7 @@
|
||||||
// min. color contrast for normal text on white background according to WCAG AA
|
// min. color contrast for normal text on white background according to WCAG AA
|
||||||
sizeColor = Math.round(118-Math.pow((fileData.size/(1024*1024)),2));
|
sizeColor = Math.round(118-Math.pow((fileData.size/(1024*1024)),2));
|
||||||
|
|
||||||
if (oc_defaults.themeName === 'themedark') {
|
if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
|
||||||
sizeColor = Math.abs(sizeColor);
|
sizeColor = Math.abs(sizeColor);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1407,7 +1407,7 @@
|
||||||
if (modifiedColor >= '118') {
|
if (modifiedColor >= '118') {
|
||||||
modifiedColor = 118;
|
modifiedColor = 118;
|
||||||
}
|
}
|
||||||
if (oc_defaults.themeName === 'themedark') {
|
if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
|
||||||
modifiedColor = Math.abs(modifiedColor);
|
modifiedColor = Math.abs(modifiedColor);
|
||||||
|
|
||||||
// ensure that the dimmest color is still readable
|
// ensure that the dimmest color is still readable
|
||||||
|
|
|
@ -260,7 +260,6 @@ class JSConfigHelper {
|
||||||
'shortFooter' => $this->defaults->getShortFooter(),
|
'shortFooter' => $this->defaults->getShortFooter(),
|
||||||
'longFooter' => $this->defaults->getLongFooter(),
|
'longFooter' => $this->defaults->getLongFooter(),
|
||||||
'folder' => \OC_Util::getTheme(),
|
'folder' => \OC_Util::getTheme(),
|
||||||
'themeName' => $this->config->getUserValue($uid, 'accessibility', 'theme', false),
|
|
||||||
]),
|
]),
|
||||||
"oc_capabilities" => json_encode($capabilities),
|
"oc_capabilities" => json_encode($capabilities),
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in a new issue