Fix some styling issues in Redmine 4.

* Fix #172 Collapsed/expended icons for completed versions.
* Fix #171 "Display" label in Gantt option.
* Fix #170 radio buttons in projects options.
* Fix #169 styles in the spent time tab.
* Change lightness of shades 50 and 950.
* Change loader styles.
This commit is contained in:
mrliptontea
2020-04-05 18:53:53 +01:00
parent aaddd2e10b
commit aa4c59a48c
21 changed files with 225 additions and 108 deletions

View File

@@ -58,11 +58,17 @@ If you need to customize styles for [Redmine Backlogs][redmine_backlogs] remembe
Latest (master): Latest (master):
* Fixed #172 Collapsed/expended icons for completed versions.
* Fixed #171 "Display" label in Gantt option.
* Fixed #170 radio buttons in projects options.
* Fixed #169 styles in the spent time tab.
* Fixed #164: apply responsive overrides more generally * Fixed #164: apply responsive overrides more generally
* Fixed #159: wrapping long text in issue attributes. * Fixed #159: wrapping long text in issue attributes.
* Fixed #150: styling for query totals and expander in Agile plugin. * Fixed #150: styling for query totals and expander in Agile plugin.
* Fixed #148: full screen view for Dashboard plugin. * Fixed #148: full screen view for Dashboard plugin.
* Fixed a "timeline" positioning in issue notes/changes. * Fixed a "timeline" positioning in issue notes/changes.
* Changed lightness of shades 50 and 950.
* Changed loader styles.
v2.9.1 (2020-02-22): v2.9.1 (2020-02-22):

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -43,7 +43,7 @@ $black: #000 !default;
$gray: hsl(hue($indigo), 20%, 85%) !default; $gray: hsl(hue($indigo), 20%, 85%) !default;
$shade-map: ( $shade-map: (
50: 90%, 50: 87.5%,
100: 80%, 100: 80%,
200: 65%, 200: 65%,
300: 40%, 300: 40%,
@@ -53,7 +53,7 @@ $shade-map: (
700: 40%, 700: 40%,
800: 65%, 800: 65%,
900: 80%, 900: 80%,
950: 90% 950: 87.5%
) !default; ) !default;
@function shade($color, $shade: 500) { @function shade($color, $shade: 500) {
@@ -612,7 +612,7 @@ $progress-bar-info-bg: $brand-info !default;
$panel-body-padding-vertical: 15px !default; $panel-body-padding-vertical: 15px !default;
$panel-body-padding-horizontal: 15px !default; $panel-body-padding-horizontal: 15px !default;
$panel-body-padding: $panel-body-padding-vertical $panel-body-padding-horizontal !default; $panel-body-padding: $panel-body-padding-vertical $panel-body-padding-horizontal !default;
$panel-color: $gray-900 !default; $panel-color: $text-color !default;
$panel-bg: $gray-50 !default; $panel-bg: $gray-50 !default;
$panel-border: $gray-400 !default; $panel-border: $gray-400 !default;
$panel-border-radius: $border-radius-base !default; $panel-border-radius: $border-radius-base !default;
@@ -648,10 +648,15 @@ $issue-attribute-padding-h: 5px !default;
//== Speech "bubbles" //== Speech "bubbles"
// //
$bubble-bg: $issue-bg !default;
$bubble-border: $issue-border !default;
$bubble-text: $issue-text !default;
$bubble-gravatar-size: 24px !default; $bubble-gravatar-size: 24px !default;
$bubble-gravatar-space: 12px !default; $bubble-gravatar-space: 12px !default;
$bubble-padding-vertical: 8px !default; $bubble-padding-vertical: 8px !default;
$bubble-padding-horizontal: 15px !default; $bubble-padding-horizontal: 12px !default;
$bubble-target-border: saturate($brand-primary, 25%) !default;
$bubble-target-shadow-alpha: .2 !default;
//== Badges //== Badges

View File

@@ -61,6 +61,13 @@ table.permissions {
//== Workflows //== Workflows
// //
.controller-workflows {
table.list,
fieldset.collapsible {
margin-bottom: $line-height-computed;
}
}
table.transitions { table.transitions {
td.enabled { td.enabled {
background: $state-success; background: $state-success;

View File

@@ -187,6 +187,10 @@ p.buttons {
min-width: 130px; min-width: 130px;
} }
label + & {
margin-left: $padding-side;
}
@at-root span#{&} { @at-root span#{&} {
> span { > span {
display: inline-block; display: inline-block;

View File

@@ -7,27 +7,29 @@
// //
a.collapsible, a.collapsible,
a.collapsible.icon,
.collapsible > legend { .collapsible > legend {
color: $link-color; color: $link-color;
cursor: pointer; cursor: pointer;
user-select: none; user-select: none;
&:hover { &:hover,
&:focus {
color: $link-hover-color; color: $link-hover-color;
text-decoration: none;
} }
&::before { &::before {
content: ""; @include fa-icon;
display: inline-block; content: $fa-var-chevron-down;
position: relative; position: relative;
top: -1px; top: -.1em;
width: 0; width: 1em;
height: 0; height: 1em;
margin-right: 3px; margin-right: 3px;
transform: rotate(0); transform: rotate(0);
border-top: 6px solid; color: $gray-600;
border-right: 4px solid transparent; font-size: 12px;
border-left: 4px solid transparent;
vertical-align: middle; vertical-align: middle;
@if $collapsible-animation-time > 0 { @if $collapsible-animation-time > 0 {
@@ -37,6 +39,7 @@ a.collapsible,
} }
a.collapsible.collapsed, a.collapsible.collapsed,
a.collapsible.icon-collapsed,
.collapsible.collapsed > legend { .collapsible.collapsed > legend {
&::before { &::before {
transform: rotate(-90deg); transform: rotate(-90deg);
@@ -669,16 +672,22 @@ div#version-summary {
//== Ajax indicator //== Ajax indicator
// //
@keyframes spin {
to { transform: rotate(360deg); }
}
#ajax-indicator { #ajax-indicator {
@include nice-shadow(3); @include nice-shadow(3);
position: fixed; position: fixed;
z-index: 100; z-index: 100;
top: 50%; top: 50%;
left: 50%; left: 50%;
box-sizing: border-box;
width: 200px; width: 200px;
margin: (($line-height-computed + $padding-large-vertical * 2 + 1px * 2) / -2) ((200px + $padding-large-horizontal * 2 + 1px * 2) / -2); margin: (($padding-large-vertical * 2 + 1px * 2 + $line-height-computed) / -2) (200px / -2);
padding: $padding-large-vertical $padding-large-horizontal; padding: $padding-large-vertical $padding-large-horizontal;
border: 1px solid $highlight-border; border: 1px solid $highlight-border;
border-radius: $border-radius-base;
opacity: .9; opacity: .9;
background-color: $highlight-bg; background-color: $highlight-bg;
color: $highlight-text; color: $highlight-text;
@@ -686,11 +695,21 @@ div#version-summary {
text-align: center; text-align: center;
span { span {
padding-left: 26px; line-height: $line-height-computed;
background-image: url("../../../images/loading.gif");
background-repeat: no-repeat; &::before {
background-position: 0% 40%; content: "";
vertical-align: bottom; display: inline-block;
box-sizing: border-box;
width: $line-height-computed;
height: $line-height-computed;
margin-right: $line-height-computed / 2;
animation: spin 1s linear infinite;
border: 3px solid rgba($highlight-text, .3);
border-radius: 50%;
border-top-color: $highlight-text;
vertical-align: bottom;
}
} }
} }
@@ -754,15 +773,14 @@ div.table-list.boards {
} }
.message { .message {
border: 1px solid $gray-400; border: 1px solid $bubble-border;
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
background: $gray-100; background: $bubble-bg;
> h4, > h4,
> p { > p {
margin-bottom: 0; margin-bottom: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal; padding: $bubble-padding-vertical $bubble-padding-horizontal;
border-bottom: 1px solid mix($gray-400, $gray-100, 50%);
color: $gray-700; color: $gray-700;
font-size: $font-size-list; font-size: $font-size-list;
@@ -776,7 +794,8 @@ div.table-list.boards {
} }
.wiki { .wiki {
padding: $bubble-padding-horizontal; padding: $panel-body-padding;
border-top: 1px solid $bubble-border;
border-radius: 0 0 $panel-border-radius $panel-border-radius; border-radius: 0 0 $panel-border-radius $panel-border-radius;
background: $body-bg; background: $body-bg;
} }
@@ -794,7 +813,7 @@ div.table-list.boards {
.attachments { .attachments {
padding: $bubble-padding-horizontal; padding: $bubble-padding-horizontal;
border-top-color: mix($gray-400, $gray-100, 50%); border-top-color: $bubble-border;
} }
} }
@@ -828,12 +847,12 @@ div.table-list.boards {
margin-top: 1px; margin-top: 1px;
margin-left: 2px; margin-left: 2px;
border-width: 6px; border-width: 6px;
border-right-color: $panel-bg; border-right-color: $bubble-bg;
} }
&::before { &::before {
border-width: 7px; border-width: 7px;
border-right-color: $panel-border; border-right-color: $bubble-border;
} }
} }

View File

@@ -26,6 +26,8 @@ form {
} }
} }
span.field label,
span.field ~ label,
.box label { .box label {
line-height: $line-height-base; line-height: $line-height-base;
@@ -121,7 +123,7 @@ input[type="search"] {
input[type="radio"], input[type="radio"],
input[type="checkbox"] { input[type="checkbox"] {
margin: 4px 1px 0 0; margin: 4px 3px 0 5px;
margin-top: 1px \9; // IE8-9 margin-top: 1px \9; // IE8-9
line-height: normal; line-height: normal;
vertical-align: top; vertical-align: top;
@@ -264,6 +266,7 @@ em.info {
color: $gray-700; color: $gray-700;
font-size: $font-size-small; font-size: $font-size-small;
font-style: normal; font-style: normal;
line-height: $line-height-base;
} }
@@ -307,6 +310,11 @@ em.info {
display: block; display: block;
padding-top: $input-padding-vertical + 1px; padding-top: $input-padding-vertical + 1px;
line-height: $line-height-base; line-height: $line-height-base;
> input[type="checkbox"],
> input[type="radio"] {
margin-left: 0;
}
} }
} }
@@ -350,6 +358,12 @@ em.info {
float: none; float: none;
text-align: left; text-align: left;
cursor: pointer; cursor: pointer;
> input[type="checkbox"],
> input[type="radio"] {
margin-left: -$check-input-gutter;
float: left;
}
} }
&.inline { &.inline {
@@ -363,11 +377,13 @@ em.info {
> input[type="checkbox"], > input[type="checkbox"],
> input[type="radio"] { > input[type="radio"] {
margin-top: $check-input-margin-vertical; margin-top: $check-input-margin-vertical;
margin-left: 0;
} }
~ input[type="checkbox"], ~ input[type="checkbox"],
~ input[type="radio"] { ~ input[type="radio"] {
margin-top: $check-input-margin-btn-v; margin-top: $check-input-margin-btn-v;
margin-left: 0;
} }
} }
} }
@@ -386,6 +402,10 @@ label.inline {
margin-left: -$check-input-gutter; margin-left: -$check-input-gutter;
float: left; float: left;
} }
input + & {
padding-left: 0;
}
} }
label.block { label.block {

View File

@@ -266,6 +266,10 @@ a.icon-del {
} }
} }
.icon-zoom-in + .icon-zoom-out {
margin-left: 5px;
}
//== Administration menu sections //== Administration menu sections
// //

View File

@@ -290,6 +290,11 @@
padding: $issue-padding; padding: $issue-padding;
border-top: 1px solid $issue-border; border-top: 1px solid $issue-border;
} }
// Restore margin below buttons in reverse chronological mode
+ div[style] + .contextual {
margin-bottom: $line-height-computed;
}
} }
div.fileover { div.fileover {
@@ -357,6 +362,7 @@ div.thumbnails {
top: 0; top: 0;
margin: 3px; margin: 3px;
border-radius: $border-radius-base - 1; border-radius: $border-radius-base - 1;
vertical-align: middle;
} }
} }
@@ -388,6 +394,10 @@ div.thumbnails {
td.buttons { td.buttons {
width: 3em; width: 3em;
vertical-align: middle; vertical-align: middle;
a:not(:first-child) {
margin-left: 2px;
}
} }
} }
} }
@@ -424,8 +434,6 @@ div.thumbnails {
} }
#history { #history {
overflow: auto;
> .tabs { > .tabs {
margin-bottom: $line-height-computed + 2px * 2; margin-bottom: $line-height-computed + 2px * 2;
} }
@@ -458,63 +466,85 @@ div.thumbnails {
.journal { .journal {
position: relative; position: relative;
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
border: 1px solid $bubble-border;
border-radius: $panel-border-radius;
@if $use-gravatars { @if $use-gravatars {
margin-left: $bubble-gravatar-size + $bubble-gravatar-space; margin-left: $bubble-gravatar-size + $bubble-gravatar-space;
} }
&::before { &.changeset {
content: ""; h4 + p {
display: block; margin-bottom: 0;
position: absolute; padding-bottom: $bubble-padding-vertical;
z-index: -1; background-color: $bubble-bg;
top: -($line-height-computed - 1px); font-size: $font-size-list;
left: 22px;
width: 4px;
height: $line-height-computed - 2px;
background-color: darken($body-bg, 5%);
}
.tabs + &::before { > a:first-child {
display: none; font-family: $font-family-monospace;
font-weight: $font-weight-bold;
}
}
} }
> div { > div {
border: 1px solid $issue-border;
border-radius: $panel-border-radius;
&:target { &:target {
border-color: darken($issue-border, 25%); $border: $bubble-target-border;
$shadow: rgba($bubble-target-border, $bubble-target-shadow-alpha);
position: relative;
margin-top: -($responsive-header-height + 4px);
padding-top: ($responsive-header-height + 4px);
&::before {
content: "";
display: block;
position: absolute;
top: ($responsive-header-height + 4px);
right: 0;
bottom: 0;
left: 0;
border-radius: $panel-border-radius - 1px;
box-shadow: 0 0 0 1px $border, 0 0 0 4px $shadow;
}
@if $use-gravatars { @if $use-gravatars {
h4::before { > h4::before {
border-right-color: darken($issue-border, 25%); border-right-color: $border;
filter: drop-shadow(-4px 0 0 $shadow);
}
}
@media screen and (min-width: $redmine-responsive-min) {
margin-top: -$line-height-computed;
padding-top: $line-height-computed;
&::before {
top: $line-height-computed;
} }
} }
} }
} }
// For Redmine 4.0+ // For Redmine 4.0+
> div > .contextual { > div > .contextual,
> .contextual {
position: relative; position: relative;
z-index: 1; z-index: 1;
margin: 0; margin: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal; padding: $bubble-padding-vertical $bubble-padding-horizontal;
font-size: $font-size-list; font-size: $font-size-list;
> .journal-actions { a {
padding-right: $issue-attribute-padding-h; opacity: $icon-opacity;
> a { &:hover {
opacity: $icon-opacity; opacity: $icon-hover-opacity;
&:hover {
opacity: $icon-hover-opacity;
}
} }
} }
> a.journal-link { > a.journal-link {
padding-left: $issue-attribute-padding-h;
opacity: 1;
color: $gray-700; color: $gray-700;
&::before { &::before {
@@ -523,13 +553,15 @@ div.thumbnails {
} }
} }
> div > h4 { > div > h4,
> h4 {
margin: 0; margin: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal; padding: $bubble-padding-vertical $bubble-padding-horizontal;
border-radius: $panel-border-radius $panel-border-radius 0 0; border-radius: $panel-border-radius $panel-border-radius 0 0;
background-color: $issue-bg; background-color: $bubble-bg;
color: $gray-700; color: $gray-700;
font-size: $font-size-list; font-size: $font-size-list;
font-weight: $font-weight-normal;
a { a {
color: $gray-900; color: $gray-900;
@@ -545,7 +577,8 @@ div.thumbnails {
} }
@if $use-gravatars { @if $use-gravatars {
> div > h4 { > div > h4,
> h4 {
position: relative; position: relative;
&::before, &::before,
@@ -567,12 +600,12 @@ div.thumbnails {
margin-top: 1px; margin-top: 1px;
margin-left: 2px; margin-left: 2px;
border-width: 6px; border-width: 6px;
border-right-color: $issue-bg; border-right-color: $bubble-bg;
} }
&::before { &::before {
border-width: 7px; border-width: 7px;
border-right-color: $issue-border; border-right-color: $bubble-border;
} }
> .gravatar { > .gravatar {
@@ -584,35 +617,27 @@ div.thumbnails {
} }
} }
> p {
padding-right: $bubble-padding-horizontal;
padding-left: $bubble-padding-horizontal;
&:empty {
margin-bottom: 0;
}
}
form,
.wiki,
.details {
border-top: 1px solid $bubble-border;
}
.details { .details {
margin: 0; margin: 0;
padding: $bubble-padding-vertical 0; padding: $bubble-padding-vertical 0;
padding-left: $bubble-padding-horizontal * 2.5; padding-left: $bubble-padding-horizontal + 20px;
list-style: none;
border-top: 1px solid mix($body-bg, $issue-border, 50%);
font-size: $font-size-list; font-size: $font-size-list;
li {
position: relative;
margin-bottom: $bubble-padding-vertical / 2;
&:last-child {
margin-bottom: 0;
}
&::before {
content: "";
display: block;
position: absolute;
top: 5px;
left: -($bubble-padding-horizontal + 6px / 2);
width: 6px;
height: 6px;
border-radius: 50%;
background-color: $gray-600;
}
}
img { img {
margin: 0 0 -3px 4px; margin: 0 0 -3px 4px;
} }
@@ -627,15 +652,13 @@ div.thumbnails {
} }
} }
.wiki, .wiki {
form {
padding: $issue-padding; padding: $issue-padding;
border-top: 1px solid $issue-border;
} }
form { form {
padding-top: 5px; padding: $bubble-padding-vertical $bubble-padding-horizontal $bubble-padding-horizontal;
background-color: $gray-100; background-color: $bubble-bg;
> p { > p {
margin-bottom: $issue-padding; margin-bottom: $issue-padding;
@@ -679,12 +702,10 @@ div.thumbnails {
} }
.private-notes { .private-notes {
> div { border-left-color: $brand-warning;
border-left-color: $brand-warning;
h4::before { > div > h4::before {
border-right-color: $brand-warning; border-right-color: $brand-warning;
}
} }
} }
@@ -712,22 +733,29 @@ span.private {
@media screen and (min-width: $screen-md-min) { @media screen and (min-width: $screen-md-min) {
width: 45%; width: 45%;
margin-left: $padding-side;
float: right; float: right;
+ #history {
margin-right: 45%;
padding-right: $padding-side;
}
} }
@media screen and (min-width: $screen-lg-min) { @media screen and (min-width: $screen-lg-min) {
width: 33%; width: 33%;
min-width: 28em;
+ #history {
margin-right: 33%;
}
} }
div.changeset { div.changeset {
margin-top: $line-height-computed / 2 + 2px * 2; margin-top: $line-height-computed / 2 + 2px * 2;
padding: 0; padding: 0;
overflow: hidden; overflow: hidden;
border: 1px solid $issue-border; border: 1px solid $bubble-border;
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
background-color: $issue-bg; background-color: $bubble-bg;
font-size: $font-size-list; font-size: $font-size-list;
&:first-of-type { &:first-of-type {
@@ -740,7 +768,7 @@ span.private {
padding: $padding-base-vertical $padding-base-horizontal; padding: $padding-base-vertical $padding-base-horizontal;
color: $gray-700; color: $gray-700;
> a { > a:first-child {
font-family: $font-family-monospace; font-family: $font-family-monospace;
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
} }
@@ -760,7 +788,7 @@ span.private {
> .wiki { > .wiki {
padding: $padding-base-vertical $padding-base-horizontal; padding: $padding-base-vertical $padding-base-horizontal;
border-top: 1px solid mix($body-bg, $issue-border, 50%); border-top: 1px solid $bubble-border;
background-color: $body-bg; background-color: $body-bg;
} }
} }

View File

@@ -298,3 +298,9 @@ img.ui-datepicker-trigger {
} }
} }
} }
.ui-tooltip {
@include nice-shadow(1);
padding: $padding-small-vertical $padding-small-horizontal;
border: 0 none;
}

View File

@@ -29,6 +29,12 @@ table.list {
color: $gray-700; color: $gray-700;
vertical-align: bottom; vertical-align: bottom;
@if $table-list-header-bg == $body-bg {
@at-root .box & {
background-color: $panel-bg;
}
}
a { a {
color: $gray-900; color: $gray-900;
} }
@@ -80,6 +86,10 @@ table.list {
padding-right: $table-cell-padding; padding-right: $table-cell-padding;
padding-left: $table-cell-padding; padding-left: $table-cell-padding;
&:first-child {
padding-right: 0;
}
input { input {
margin: 2px 0 0; margin: 2px 0 0;
} }

View File

@@ -83,6 +83,11 @@ body {
overflow: auto; overflow: auto;
} }
#ajax-indicator {
left: 50%;
width: 200px;
}
.mobile-toggle-button { .mobile-toggle-button {
width: $responsive-header-height; width: $responsive-header-height;
height: $responsive-header-height; height: $responsive-header-height;
@@ -412,7 +417,7 @@ body {
} }
} }
#issue-changesets { div#issue-changesets {
div.changeset { div.changeset {
padding: 0; padding: 0;
} }

View File

@@ -116,6 +116,8 @@ div.wiki {
} }
blockquote { blockquote {
margin-bottom: 1em;
> :first-child { > :first-child {
margin-top: 0; margin-top: 0;
} }
@@ -157,7 +159,8 @@ div.wiki {
} }
li > p { li > p {
margin-top: ($line-height-computed / 2); margin-top: .25em;
margin-bottom: 0;
} }
table { table {

File diff suppressed because one or more lines are too long