Theming: fix primary button for bright colors
This commit is contained in:
parent
402feb9e13
commit
d43c9b9e79
|
@ -304,6 +304,13 @@ class ThemingController extends Controller {
|
||||||
$responseCss = '';
|
$responseCss = '';
|
||||||
$color = $this->config->getAppValue($this->appName, 'color');
|
$color = $this->config->getAppValue($this->appName, 'color');
|
||||||
$elementColor = $this->util->elementColor($color);
|
$elementColor = $this->util->elementColor($color);
|
||||||
|
|
||||||
|
if($this->util->invertTextColor($color)) {
|
||||||
|
$textColor = '#000000';
|
||||||
|
} else {
|
||||||
|
$textColor = '#ffffff';
|
||||||
|
}
|
||||||
|
|
||||||
if($color !== '') {
|
if($color !== '') {
|
||||||
$responseCss .= sprintf(
|
$responseCss .= sprintf(
|
||||||
'#body-user #header,#body-settings #header,#body-public #header,#body-login,.searchbox input[type="search"]:focus,.searchbox input[type="search"]:active,.searchbox input[type="search"]:valid {background-color: %s}' . "\n",
|
'#body-user #header,#body-settings #header,#body-public #header,#body-login,.searchbox input[type="search"]:focus,.searchbox input[type="search"]:active,.searchbox input[type="search"]:valid {background-color: %s}' . "\n",
|
||||||
|
@ -321,19 +328,26 @@ class ThemingController extends Controller {
|
||||||
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton($elementColor).'\');' .
|
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton($elementColor).'\');' .
|
||||||
"}\n";
|
"}\n";
|
||||||
$responseCss .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
$responseCss .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
||||||
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active,' .
|
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active {' .
|
||||||
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
|
||||||
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
|
||||||
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
|
||||||
'border: 1px solid '.$elementColor.';'.
|
'border: 1px solid '.$elementColor.';'.
|
||||||
'background-color: '.$elementColor.';'.
|
'background-color: '.$elementColor.';'.
|
||||||
'opacity: 0.8' .
|
'opacity: 0.8;' .
|
||||||
|
'color: ' . $textColor . ';'.
|
||||||
"}\n" .
|
"}\n" .
|
||||||
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
||||||
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
||||||
'border: 1px solid '.$elementColor.';'.
|
'border: 1px solid '.$elementColor.';'.
|
||||||
'background-color: '.$elementColor.';'.
|
'background-color: '.$elementColor.';'.
|
||||||
'opacity: 1.0;' .
|
'opacity: 1.0;' .
|
||||||
|
'color: ' . $textColor . ';'.
|
||||||
|
"}\n" .
|
||||||
|
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
||||||
|
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
||||||
|
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
||||||
|
'border: 1px solid '.$elementColor.';'.
|
||||||
|
'background-color: '.$elementColor.';'.
|
||||||
|
'opacity: 0.4;' .
|
||||||
|
'color: '.$textColor.';'.
|
||||||
"}\n";
|
"}\n";
|
||||||
$responseCss .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
$responseCss .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
||||||
$responseCss .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
$responseCss .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
||||||
|
|
|
@ -437,19 +437,26 @@ class ThemingControllerTest extends TestCase {
|
||||||
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton($color).'\');' .
|
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton($color).'\');' .
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
||||||
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active,' .
|
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active {' .
|
||||||
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
'border: 1px solid '.$color.';'.
|
||||||
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
|
||||||
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
|
||||||
'border: 1px solid '.$color .';'.
|
|
||||||
'background-color: '.$color.';'.
|
'background-color: '.$color.';'.
|
||||||
'opacity: 0.8' .
|
'opacity: 0.8;' .
|
||||||
|
'color: #ffffff;'.
|
||||||
"}\n" .
|
"}\n" .
|
||||||
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
||||||
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
||||||
'border: 1px solid '.$color.';'.
|
'border: 1px solid '.$color.';'.
|
||||||
'background-color: '.$color.';'.
|
'background-color: '.$color.';'.
|
||||||
'opacity: 1.0;' .
|
'opacity: 1.0;' .
|
||||||
|
'color: #ffffff;'.
|
||||||
|
"}\n" .
|
||||||
|
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
||||||
|
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
||||||
|
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
||||||
|
'border: 1px solid '.$color.';'.
|
||||||
|
'background-color: '.$color.';'.
|
||||||
|
'opacity: 0.4;' .
|
||||||
|
'color: #ffffff;'.
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
||||||
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
||||||
|
@ -520,19 +527,26 @@ class ThemingControllerTest extends TestCase {
|
||||||
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton('#555555').'\');' .
|
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton('#555555').'\');' .
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
||||||
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active,' .
|
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active {' .
|
||||||
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
'border: 1px solid '.$elementColor.';'.
|
||||||
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
'background-color: '.$elementColor.';'.
|
||||||
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
'opacity: 0.8;' .
|
||||||
'border: 1px solid #555555;'.
|
'color: #000000;'.
|
||||||
'background-color: #555555;'.
|
|
||||||
'opacity: 0.8' .
|
|
||||||
"}\n" .
|
"}\n" .
|
||||||
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
||||||
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
||||||
'border: 1px solid #555555;'.
|
'border: 1px solid '.$elementColor.';'.
|
||||||
'background-color: #555555;'.
|
'background-color: '.$elementColor.';'.
|
||||||
'opacity: 1.0;' .
|
'opacity: 1.0;' .
|
||||||
|
'color: #000000;'.
|
||||||
|
"}\n" .
|
||||||
|
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
||||||
|
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
||||||
|
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
||||||
|
'border: 1px solid '.$elementColor.';'.
|
||||||
|
'background-color: '.$elementColor.';'.
|
||||||
|
'opacity: 0.4;' .
|
||||||
|
'color: #000000;'.
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
||||||
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
||||||
|
@ -689,19 +703,26 @@ class ThemingControllerTest extends TestCase {
|
||||||
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton($color).'\');' .
|
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton($color).'\');' .
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
||||||
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active,' .
|
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active {' .
|
||||||
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
'border: 1px solid '.$color.';'.
|
||||||
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
|
||||||
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
|
||||||
'border: 1px solid '.$color .';'.
|
|
||||||
'background-color: '.$color.';'.
|
'background-color: '.$color.';'.
|
||||||
'opacity: 0.8' .
|
'opacity: 0.8;' .
|
||||||
|
'color: #ffffff;'.
|
||||||
"}\n" .
|
"}\n" .
|
||||||
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
||||||
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
||||||
'border: 1px solid '.$color.';'.
|
'border: 1px solid '.$color.';'.
|
||||||
'background-color: '.$color.';'.
|
'background-color: '.$color.';'.
|
||||||
'opacity: 1.0;' .
|
'opacity: 1.0;' .
|
||||||
|
'color: #ffffff;'.
|
||||||
|
"}\n" .
|
||||||
|
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
||||||
|
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
||||||
|
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
||||||
|
'border: 1px solid '.$color.';'.
|
||||||
|
'background-color: '.$color.';'.
|
||||||
|
'opacity: 0.4;' .
|
||||||
|
'color: #ffffff;'.
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
||||||
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
||||||
|
@ -789,19 +810,26 @@ class ThemingControllerTest extends TestCase {
|
||||||
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton('#555555').'\');' .
|
'background-image: url(\'data:image/svg+xml;base64,'.$this->util->generateRadioButton('#555555').'\');' .
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
$expectedData .= '.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary,' .
|
||||||
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active,' .
|
'.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active {' .
|
||||||
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
'border: 1px solid '.$elementColor.';'.
|
||||||
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
'background-color: '.$elementColor.';'.
|
||||||
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
'opacity: 0.8;' .
|
||||||
'border: 1px solid #555555;'.
|
'color: #000000;'.
|
||||||
'background-color: #555555;'.
|
|
||||||
'opacity: 0.8' .
|
|
||||||
"}\n" .
|
"}\n" .
|
||||||
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
'.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,' .
|
||||||
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
'.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {' .
|
||||||
'border: 1px solid #555555;'.
|
'border: 1px solid '.$elementColor.';'.
|
||||||
'background-color: #555555;'.
|
'background-color: '.$elementColor.';'.
|
||||||
'opacity: 1.0;' .
|
'opacity: 1.0;' .
|
||||||
|
'color: #000000;'.
|
||||||
|
"}\n" .
|
||||||
|
'.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled,' .
|
||||||
|
'.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover,' .
|
||||||
|
'.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus {' .
|
||||||
|
'border: 1px solid '.$elementColor.';'.
|
||||||
|
'background-color: '.$elementColor.';'.
|
||||||
|
'opacity: 0.4;' .
|
||||||
|
'color: #000000;'.
|
||||||
"}\n";
|
"}\n";
|
||||||
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
$expectedData .= '.ui-widget-header { border: 1px solid ' . $color . '; background: '. $color . '; color: #ffffff;' . "}\n";
|
||||||
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
$expectedData .= '.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {' .
|
||||||
|
|
Loading…
Reference in New Issue