Compare commits

...

22 Commits

Author SHA1 Message Date
mrliptontea
942f23f2cb Release v2.10.1 2020-04-06 18:53:33 +01:00
Grzegorz Rajchman
3fc4660203 Merge pull request #163 from mrliptontea/issue-160-checklist-menu-hover
Fix #160 checklist plugin menu highlight color
2020-04-06 18:52:50 +01:00
mrliptontea
1fa4a87da7 Fix #160 checklist plugin menu highlight color 2020-04-06 18:49:52 +01:00
mrliptontea
07a08db560 Release v2.10.0 2020-04-05 22:17:14 +01:00
Grzegorz Rajchman
2eb5d83f59 Merge pull request #174 from mrliptontea/issues-169-170-171-172
* 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.
* Change rouge syntax highlighter color scheme.
2020-04-05 22:15:01 +01:00
mrliptontea
1bdfab795a Change rouge syntax highlighter color scheme 2020-04-05 22:10:20 +01:00
mrliptontea
aa4c59a48c 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.
2020-04-05 18:53:53 +01:00
Grzegorz Rajchman
aaddd2e10b Merge pull request #168 from mrliptontea/issues-148-150-dashboard-agile-plugins
Fix styling issues in Dashboard and Agile plugins
2020-03-28 13:10:05 +00:00
mrliptontea
5c14dbbf62 Simpler workflow trigger 2020-03-28 13:04:59 +00:00
mrliptontea
f8609cbbbb Fix styling issues in Dashboard and Agile plugins
- Fix #150 styling for query totals and expander in Agile plugin.
- Fix #148 full screen view for Dashboard plugin.
2020-03-28 13:01:29 +00:00
Grzegorz Rajchman
6443eba8c2 Merge pull request #166 from mrliptontea/issue-164-responsive-theme-not-applied
Fix #164 Apply responsive override more generally
2020-03-28 11:37:00 +00:00
mrliptontea
70c88722fb Fix #164 Apply responsive override more generally 2020-03-27 18:15:12 +00:00
Grzegorz Rajchman
4b10532cea Upgrade packages and improve linter action (#167) 2020-03-27 18:14:49 +00:00
Grzegorz Rajchman
77a9633984 Merge pull request #162 from mrliptontea/issue-159/long-text-wrapping
Fix #159 wrapping long text in issue attributes
2020-03-15 21:35:01 +00:00
mrliptontea
92e92e75b9 Fix #159 wrapping long text in issue attributes 2020-03-15 21:29:40 +00:00
Grzegorz Rajchman
e4c69d5d86 Merge pull request #161 from mrliptontea/dependabot/npm_and_yarn/acorn-7.1.1
Bump acorn from 7.1.0 to 7.1.1
2020-03-15 21:25:34 +00:00
dependabot[bot]
4d82879d90 Bump acorn from 7.1.0 to 7.1.1
Bumps [acorn](https://github.com/acornjs/acorn) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/7.1.0...7.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-13 21:27:39 +00:00
mrliptontea
a2b49b6ff1 Release v2.9.1 2020-02-22 14:55:25 +00:00
mrliptontea
205109ac30 Fix roadmap badge positioning 2020-02-22 14:54:33 +00:00
mrliptontea
e981dc4ec0 Merge branch '1resu-patch-1' 2020-02-22 14:45:55 +00:00
mrliptontea
955aca022e Build updated JS 2020-02-22 14:41:40 +00:00
1resu
164391c6c2 Fix url.indexOf is Not a Function Error
The sidebar toogler isn't working with newer jquery versions (https://jquery.com/upgrade-guide/3.0/#breaking-change-load-unload-and-error-removed)
2020-02-20 22:20:12 +01:00
30 changed files with 1255 additions and 1342 deletions

10
.eslintrc.js Normal file
View File

@@ -0,0 +1,10 @@
module.exports = {
"extends": "standard",
"globals": {
"$": "readonly",
"localStorage": "readonly",
},
"ignorePatterns": [
"/javascripts/",
],
};

View File

@@ -1,11 +1,6 @@
name: Run linters
on:
push:
paths:
- src/*
- svg/*
- package*.json
on: push
jobs:
lint:
@@ -23,11 +18,14 @@ jobs:
- name: Install npm dependencies
run: npm ci
- name: Lint JavaScript
run: npm run lint:js
- name: Lint Sass
run: npm run lint:sass
- name: Run linters
uses: samuelmeuli/lint-action@v1
with:
github_token: ${{ secrets.github_token }}
eslint: true
eslint_dir: "src/javascripts"
stylelint: true
stylelint_dir: "src/sass"
- name: Check build
run: npm run build

View File

@@ -56,6 +56,30 @@ If you need to customize styles for [Redmine Backlogs][redmine_backlogs] remembe
## Changelog
v2.10.1 (2020-04-06):
* Fixed #160: highlight color in jQuery UI menu, most notably in checklist plugin.
v2.10.0 (2020-04-05):
* 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 #159: wrapping long text in issue attributes.
* Fixed #150: styling for query totals and expander in Agile plugin.
* Fixed #148: full screen view for Dashboard plugin.
* Fixed a "timeline" positioning in issue notes/changes.
* Changed lightness of shades 50 and 950.
* Changed loader styles.
* Changed rouge syntax highlighter color scheme.
v2.9.1 (2020-02-22):
* Merged fix #155: $.load function removed from jQuery.
* Fixed badge positioning in roadmap screen.
v2.9.0 (2020-01-30):
* Fixed #141: improved styling for issue edit form.

File diff suppressed because one or more lines are too long

1787
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -20,13 +20,13 @@
"scripts": {
"build": "grunt",
"watch": "grunt watch",
"lint:js": "standard",
"lint:js": "eslint src/javascripts/",
"lint:sass": "stylelint src/sass/**/*.scss",
"lint": "npm run -S lint:js && npm run -S lint:sass"
},
"dependencies": {
"autoprefixer": "^9.7.4",
"grunt": "^1.0.4",
"autoprefixer": "^9.7.5",
"grunt": "^1.1.0",
"grunt-contrib-uglify": "^4.0.1",
"grunt-contrib-watch": "^1.1.0",
"grunt-postcss": "^0.9.0",
@@ -35,19 +35,15 @@
"sass-inline-svg": "^1.2.3"
},
"devDependencies": {
"standard": "^13.1.0",
"eslint": "^6.8.0",
"eslint-config-standard": "^14.1.1",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-node": "^11.0.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
"stylelint": "^10.1.0",
"stylelint-order": "^3.1.1",
"stylelint-scss": "^3.14.2"
},
"standard": {
"globals": [
"$",
"localStorage"
],
"ignore": [
"/javascripts"
]
"stylelint-scss": "^3.16.0"
},
"browserslist": [
"last 2 versions",

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

@@ -44,7 +44,7 @@ PurpleMine.SidebarToggler = (function () {
// Fix issue with context menu position
if (this.$main.css('position') === 'relative') {
$(window).load(function () {
$(window).on('load', function () {
$('#context-menu').appendTo('#wrapper3')
})
}

View File

@@ -43,7 +43,7 @@ $black: #000 !default;
$gray: hsl(hue($indigo), 20%, 85%) !default;
$shade-map: (
50: 90%,
50: 87.5%,
100: 80%,
200: 65%,
300: 40%,
@@ -53,7 +53,7 @@ $shade-map: (
700: 40%,
800: 65%,
900: 80%,
950: 90%
950: 87.5%
) !default;
@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-horizontal: 15px !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-border: $gray-400 !default;
$panel-border-radius: $border-radius-base !default;
@@ -648,10 +648,15 @@ $issue-attribute-padding-h: 5px !default;
//== Speech "bubbles"
//
$bubble-bg: $issue-bg !default;
$bubble-border: $issue-border !default;
$bubble-text: $issue-text !default;
$bubble-gravatar-size: 24px !default;
$bubble-gravatar-space: 12px !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

View File

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

View File

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

View File

@@ -7,27 +7,29 @@
//
a.collapsible,
a.collapsible.icon,
.collapsible > legend {
color: $link-color;
cursor: pointer;
user-select: none;
&:hover {
&:hover,
&:focus {
color: $link-hover-color;
text-decoration: none;
}
&::before {
content: "";
display: inline-block;
@include fa-icon;
content: $fa-var-chevron-down;
position: relative;
top: -1px;
width: 0;
height: 0;
top: -.1em;
width: 1em;
height: 1em;
margin-right: 3px;
transform: rotate(0);
border-top: 6px solid;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
color: $gray-600;
font-size: 12px;
vertical-align: middle;
@if $collapsible-animation-time > 0 {
@@ -37,6 +39,7 @@ a.collapsible,
}
a.collapsible.collapsed,
a.collapsible.icon-collapsed,
.collapsible.collapsed > legend {
&::before {
transform: rotate(-90deg);
@@ -609,6 +612,14 @@ div#roadmap {
}
}
header {
display: block;
> h3 {
display: inline-block;
}
}
header > h3,
h3.version {
margin-bottom: 0;
@@ -661,16 +672,22 @@ div#version-summary {
//== Ajax indicator
//
@keyframes spin {
to { transform: rotate(360deg); }
}
#ajax-indicator {
@include nice-shadow(3);
position: fixed;
z-index: 100;
top: 50%;
left: 50%;
box-sizing: border-box;
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;
border: 1px solid $highlight-border;
border-radius: $border-radius-base;
opacity: .9;
background-color: $highlight-bg;
color: $highlight-text;
@@ -678,11 +695,21 @@ div#version-summary {
text-align: center;
span {
padding-left: 26px;
background-image: url("../../../images/loading.gif");
background-repeat: no-repeat;
background-position: 0% 40%;
vertical-align: bottom;
line-height: $line-height-computed;
&::before {
content: "";
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;
}
}
}
@@ -746,15 +773,14 @@ div.table-list.boards {
}
.message {
border: 1px solid $gray-400;
border: 1px solid $bubble-border;
border-radius: $panel-border-radius;
background: $gray-100;
background: $bubble-bg;
> h4,
> p {
margin-bottom: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal;
border-bottom: 1px solid mix($gray-400, $gray-100, 50%);
color: $gray-700;
font-size: $font-size-list;
@@ -768,7 +794,8 @@ div.table-list.boards {
}
.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;
background: $body-bg;
}
@@ -786,7 +813,7 @@ div.table-list.boards {
.attachments {
padding: $bubble-padding-horizontal;
border-top-color: mix($gray-400, $gray-100, 50%);
border-top-color: $bubble-border;
}
}
@@ -820,12 +847,12 @@ div.table-list.boards {
margin-top: 1px;
margin-left: 2px;
border-width: 6px;
border-right-color: $panel-bg;
border-right-color: $bubble-bg;
}
&::before {
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 {
line-height: $line-height-base;
@@ -121,7 +123,7 @@ input[type="search"] {
input[type="radio"],
input[type="checkbox"] {
margin: 4px 1px 0 0;
margin: 4px 3px 0 5px;
margin-top: 1px \9; // IE8-9
line-height: normal;
vertical-align: top;
@@ -264,6 +266,7 @@ em.info {
color: $gray-700;
font-size: $font-size-small;
font-style: normal;
line-height: $line-height-base;
}
@@ -307,6 +310,11 @@ em.info {
display: block;
padding-top: $input-padding-vertical + 1px;
line-height: $line-height-base;
> input[type="checkbox"],
> input[type="radio"] {
margin-left: 0;
}
}
}
@@ -350,6 +358,12 @@ em.info {
float: none;
text-align: left;
cursor: pointer;
> input[type="checkbox"],
> input[type="radio"] {
margin-left: -$check-input-gutter;
float: left;
}
}
&.inline {
@@ -363,11 +377,13 @@ em.info {
> input[type="checkbox"],
> input[type="radio"] {
margin-top: $check-input-margin-vertical;
margin-left: 0;
}
~ input[type="checkbox"],
~ input[type="radio"] {
margin-top: $check-input-margin-btn-v;
margin-left: 0;
}
}
}
@@ -386,6 +402,10 @@ label.inline {
margin-left: -$check-input-gutter;
float: left;
}
input + & {
padding-left: 0;
}
}
label.block {

View File

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

View File

@@ -88,7 +88,8 @@
margin-bottom: $line-height-computed;
}
> hr {
> hr,
.attribute > hr {
@if $clean-issues {
margin: $issue-padding 0;
} @else {
@@ -126,7 +127,42 @@
}
}
.attributes {
@if $color-status {
.attributes td.status,
.attributes .attribute.status .value {
display: inline-block;
width: auto;
min-width: 1em;
margin-top: $issue-attribute-padding-v;
padding: 1px $table-cell-padding;
border-radius: $border-radius-base;
background-color: $status-default-bg;
color: $status-default-color;
font-size: $font-size-small;
font-weight: $font-weight-bold;
text-align: center;
text-transform: uppercase;
}
@each $status, $status-colors in $status-colors-map {
&.#{$status} {
.attributes td.status,
.attributes .attribute.status .value {
background-color: map-get($status-colors, background);
color: map-get($status-colors, color);
}
}
}
}
@if $priority-icon {
.attributes td.priority,
.attribute.priority .value {
@include priority-icon-base;
}
}
table.attributes {
width: 100%;
th,
@@ -148,71 +184,70 @@
}
@media screen and (min-width: $screen-md-min) {
> tbody > tr {
> th,
> td {
width: 25%;
}
}
}
@media screen and (min-width: $screen-lg-min) {
width: auto;
> tbody > tr {
> th {
width: 14em;
width: $label-width;
}
> td {
min-width: $label-width;
}
}
}
}
div.attributes {
@if $css-grid-layout {
display: grid;
grid-gap: 0 $padding-side;
grid-template-columns: auto;
@media screen and (min-width: $screen-lg-min) {
grid-template-columns: repeat(2, minmax(auto, max-content));
.attribute .value {
min-width: $label-width;
}
}
.splitcontent {
display: contents;
&::after {
content: none;
}
}
.splitcontentleft {
width: auto;
padding-right: 0;
padding-left: 0;
float: none;
}
} @else {
@media screen and (min-width: $screen-lg-min) {
.splitcontentleft {
width: auto;
min-width: 16em;
}
.attribute .value {
min-width: $label-width;
}
}
}
}
@if $color-status {
.attributes td.status,
.attribute.status .value {
display: inline-block;
width: auto;
min-width: 1em;
margin-top: $issue-attribute-padding-v;
padding: 1px $table-cell-padding;
border-radius: $border-radius-base;
background-color: $status-default-bg;
color: $status-default-color;
font-size: $font-size-small;
font-weight: $font-weight-bold;
text-align: center;
text-transform: uppercase;
}
.splitcontent {
.attribute {
padding-left: $label-width;
@each $status, $status-colors in $status-colors-map {
&.#{$status} {
.attributes td.status,
.attribute.status .value {
background-color: map-get($status-colors, background);
color: map-get($status-colors, color);
}
.label {
width: $label-width;
margin-left: -$label-width;
}
}
}
@if $priority-icon {
.attributes td.priority,
.attribute.priority .value {
@include priority-icon-base;
}
}
.splitcontentleft {
@media screen and (min-width: $screen-lg-min) {
width: auto;
}
}
.attribute {
@extend %clearfix;
@@ -222,21 +257,20 @@
}
.label {
width: 25%;
box-sizing: border-box;
float: left;
color: $gray-700;
@media screen and (min-width: $screen-lg-min) {
width: 14em;
}
}
.value {
color: $gray-950;
@media screen and (min-width: $screen-lg-min) {
width: auto;
min-width: 14em + 16em;
&:empty::after {
content: "-";
}
*:last-child {
margin-bottom: 0;
}
}
}
@@ -256,6 +290,11 @@
padding: $issue-padding;
border-top: 1px solid $issue-border;
}
// Restore margin below buttons in reverse chronological mode
+ div[style] + .contextual {
margin-bottom: $line-height-computed;
}
}
div.fileover {
@@ -323,6 +362,7 @@ div.thumbnails {
top: 0;
margin: 3px;
border-radius: $border-radius-base - 1;
vertical-align: middle;
}
}
@@ -354,6 +394,10 @@ div.thumbnails {
td.buttons {
width: 3em;
vertical-align: middle;
a:not(:first-child) {
margin-left: 2px;
}
}
}
}
@@ -390,8 +434,6 @@ div.thumbnails {
}
#history {
overflow: auto;
> .tabs {
margin-bottom: $line-height-computed + 2px * 2;
}
@@ -423,64 +465,86 @@ div.thumbnails {
.journal {
position: relative;
margin-bottom: $line-height-computed + 2px * 2;
margin-bottom: $line-height-computed;
border: 1px solid $bubble-border;
border-radius: $panel-border-radius;
@if $use-gravatars {
margin-left: $bubble-gravatar-size + $bubble-gravatar-space;
}
&::before {
content: "";
display: block;
position: absolute;
z-index: -1;
top: -($line-height-computed + 2px);
left: 22px;
width: 4px;
height: $line-height-computed;
background-color: darken($body-bg, 5%);
}
&.changeset {
h4 + p {
margin-bottom: 0;
padding-bottom: $bubble-padding-vertical;
background-color: $bubble-bg;
font-size: $font-size-list;
.tabs + &::before {
display: none;
> a:first-child {
font-family: $font-family-monospace;
font-weight: $font-weight-bold;
}
}
}
> div {
border: 1px solid $issue-border;
border-radius: $panel-border-radius;
&: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 {
h4::before {
border-right-color: darken($issue-border, 25%);
> h4::before {
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+
> div > .contextual {
> div > .contextual,
> .contextual {
position: relative;
z-index: 1;
margin: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal;
font-size: $font-size-list;
> .journal-actions {
padding-right: $issue-attribute-padding-h;
a {
opacity: $icon-opacity;
> a {
opacity: $icon-opacity;
&:hover {
opacity: $icon-hover-opacity;
}
&:hover {
opacity: $icon-hover-opacity;
}
}
> a.journal-link {
padding-left: $issue-attribute-padding-h;
opacity: 1;
color: $gray-700;
&::before {
@@ -489,13 +553,15 @@ div.thumbnails {
}
}
> div > h4 {
> div > h4,
> h4 {
margin: 0;
padding: $bubble-padding-vertical $bubble-padding-horizontal;
border-radius: $panel-border-radius $panel-border-radius 0 0;
background-color: $issue-bg;
background-color: $bubble-bg;
color: $gray-700;
font-size: $font-size-list;
font-weight: $font-weight-normal;
a {
color: $gray-900;
@@ -511,7 +577,8 @@ div.thumbnails {
}
@if $use-gravatars {
> div > h4 {
> div > h4,
> h4 {
position: relative;
&::before,
@@ -533,12 +600,12 @@ div.thumbnails {
margin-top: 1px;
margin-left: 2px;
border-width: 6px;
border-right-color: $issue-bg;
border-right-color: $bubble-bg;
}
&::before {
border-width: 7px;
border-right-color: $issue-border;
border-right-color: $bubble-border;
}
> .gravatar {
@@ -550,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 {
margin: 0;
padding: $bubble-padding-vertical 0;
padding-left: $bubble-padding-horizontal * 2.5;
list-style: none;
border-top: 1px solid mix($body-bg, $issue-border, 50%);
padding-left: $bubble-padding-horizontal + 20px;
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 {
margin: 0 0 -3px 4px;
}
@@ -593,15 +652,13 @@ div.thumbnails {
}
}
.wiki,
form {
.wiki {
padding: $issue-padding;
border-top: 1px solid $issue-border;
}
form {
padding-top: 5px;
background-color: $gray-100;
padding: $bubble-padding-vertical $bubble-padding-horizontal $bubble-padding-horizontal;
background-color: $bubble-bg;
> p {
margin-bottom: $issue-padding;
@@ -645,12 +702,10 @@ div.thumbnails {
}
.private-notes {
> div {
border-left-color: $brand-warning;
border-left-color: $brand-warning;
h4::before {
border-right-color: $brand-warning;
}
> div > h4::before {
border-right-color: $brand-warning;
}
}
@@ -678,22 +733,29 @@ span.private {
@media screen and (min-width: $screen-md-min) {
width: 45%;
margin-left: $padding-side;
float: right;
+ #history {
margin-right: 45%;
padding-right: $padding-side;
}
}
@media screen and (min-width: $screen-lg-min) {
width: 33%;
min-width: 28em;
+ #history {
margin-right: 33%;
}
}
div.changeset {
margin-top: $line-height-computed / 2 + 2px * 2;
padding: 0;
overflow: hidden;
border: 1px solid $issue-border;
border: 1px solid $bubble-border;
border-radius: $panel-border-radius;
background-color: $issue-bg;
background-color: $bubble-bg;
font-size: $font-size-list;
&:first-of-type {
@@ -706,7 +768,7 @@ span.private {
padding: $padding-base-vertical $padding-base-horizontal;
color: $gray-700;
> a {
> a:first-child {
font-family: $font-family-monospace;
font-weight: $font-weight-bold;
}
@@ -726,7 +788,7 @@ span.private {
> .wiki {
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;
}
}

View File

@@ -138,6 +138,23 @@
@include nice-shadow(2);
padding: 3px;
border-radius: $panel-border-radius;
.ui-menu-item {
&.ui-state-focus,
&.ui-state-active {
border-color: $pagination-hover-border;
background-color: $pagination-hover-bg;
color: $pagination-hover-color;
a {
color: $pagination-hover-color;
}
.ui-icon {
background-image: url("../../../stylesheets/jquery/images/ui-icons_222222_256x240.png");
}
}
}
}
.ui-menu-item {
@@ -298,3 +315,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;
vertical-align: bottom;
@if $table-list-header-bg == $body-bg {
@at-root .box & {
background-color: $panel-bg;
}
}
a {
color: $gray-900;
}
@@ -80,6 +86,10 @@ table.list {
padding-right: $table-cell-padding;
padding-left: $table-cell-padding;
&:first-child {
padding-right: 0;
}
input {
margin: 2px 0 0;
}
@@ -255,7 +265,7 @@ tr.issue {
}
tr {
span.expander {
span.expander:not(.icon) {
margin-left: 0;
padding-left: 8px;
background-image: inline-svg("plus.svg", (path: (fill: $btn-default-icon-color)));
@@ -265,7 +275,7 @@ tr {
user-select: none;
}
&.open span.expander {
&.open span.expander:not(.icon) {
background-image: inline-svg("minus.svg", (path: (fill: $btn-default-icon-color)));
}
}
@@ -682,6 +692,15 @@ table.list.enumerations {
//
.query-totals {
#content & {
margin-top: 0;
@media screen and (min-width: $redmine-responsive-min) {
margin-top: -($line-height-computed * 2 + $btn-padding-vertical);
text-align: right;
}
}
> span {
margin-right: $padding-base-horizontal;

View File

@@ -300,6 +300,12 @@
}
}
#checklist-menu.ui-menu {
a {
padding: 2px 0 2px 24px;
}
}
//
// Redmine custom menu

View File

@@ -4,7 +4,7 @@
}
// stylelint-disable selector-max-compound-selectors
.theme-Purplemine2 {
body {
@media screen and (max-width: $redmine-responsive-max) {
.flyout-menu + div {
#header {
@@ -83,6 +83,11 @@
overflow: auto;
}
#ajax-indicator {
left: 50%;
width: 200px;
}
.mobile-toggle-button {
width: $responsive-header-height;
height: $responsive-header-height;
@@ -412,7 +417,7 @@
}
}
#issue-changesets {
div#issue-changesets {
div.changeset {
padding: 0;
}

View File

@@ -1,9 +1,5 @@
//
// Syntax highlight - Rouge
// --------------------------------------------------
.syntaxhl {
background: #fafafa;
color: #24292e;
.hll {
background-color: #ffc;
@@ -11,92 +7,59 @@
// Comment
.c {
color: #888;
}
// Error
.err {
background-color: #faa;
color: #f00;
color: #6a737d;
}
// Keyword
.k {
color: #080;
font-weight: bold;
}
// Operator
.o {
color: #333;
color: #d73a49;
}
// Comment.Hashbang
.ch {
color: #888;
color: #6a737d;
}
// Comment.Multiline
.cm {
color: #888;
color: #6a737d;
}
// Comment.Preproc
.cp {
color: #579;
color: #d73a49;
}
// Comment.PreprocFile
.cpf {
color: #888;
color: #032f62;
}
// Comment.Single
.c1 {
color: #888;
color: #6a737d;
}
// Comment.Special
.cs {
color: #c00;
font-weight: bold;
color: #6a737d;
}
// Generic.Deleted
.gd {
color: #a00000;
}
// Generic.Emph
.ge {
font-style: italic;
}
// Generic.Error
.gr {
color: #f00;
background-color: #ffeef0;
color: #b31d28;
}
// Generic.Heading
.gh {
color: #000080;
font-weight: bold;
color: #005cc5;
}
// Generic.Inserted
.gi {
color: #00a000;
}
// Generic.Output
.go {
color: #888;
}
// Generic.Prompt
.gp {
color: #c65d09;
font-weight: bold;
background-color: #f0fff4;
color: #22863a;
}
// Generic.Strong
@@ -106,7 +69,7 @@
// Generic.Subheading
.gu {
color: #800080;
color: #6f42c1;
font-weight: bold;
}
@@ -117,123 +80,112 @@
// Keyword.Constant
.kc {
color: #080;
font-weight: bold;
color: #005cc5;
}
// Keyword.Declaration
.kd {
color: #080;
font-weight: bold;
color: #d73a49;
}
// Keyword.Namespace
.kn {
color: #080;
font-weight: bold;
color: #d73a49;
}
// Keyword.Pseudo
.kp {
color: #038;
font-weight: bold;
color: #d73a49;
}
// Keyword.Reserved
.kr {
color: #080;
font-weight: bold;
color: #d73a49;
}
// Keyword.Type
.kt {
color: #339;
font-weight: bold;
color: #d73a49;
}
// Literal.Number
.m {
color: #60e;
font-weight: bold;
color: #005cc5;
}
// Literal.String
.s {
background-color: #fff0f0;
color: #032f62;
}
// Name.Attribute
.na {
color: #00c;
color: #005cc5;
}
// Name.Builtin
.nb {
color: #007020;
color: #005cc5;
}
// Name.Class
.nc {
color: #b06;
font-weight: bold;
color: #6f42c1;
}
// Name.Constant
.no {
color: #036;
font-weight: bold;
color: #005cc5;
}
// Name.Decorator
.nd {
color: #555;
font-weight: bold;
color: #6f42c1;
}
// Name.Entity
.ni {
color: #800;
font-weight: bold;
color: #005cc5;
}
// Name.Exception
.ne {
color: #f00;
font-weight: bold;
color: #005cc5;
}
// Name.Function
.nf {
color: #06b;
font-weight: bold;
color: #6f42c1;
}
// Name.Label
.nl {
color: #970;
font-weight: bold;
color: #005cc5;
}
// Name.Namespace
.nn {
color: #0e84b5;
font-weight: bold;
color: #6f42c1;
}
// Name.Tag
.nt {
color: #070;
color: #22863a;
}
// Name.Variable
.nv {
color: #963;
color: #24292e;
}
// Operator
.o {
color: #d73a49;
}
// Operator.Word
.ow {
color: #000;
font-weight: bold;
color: #d73a49;
}
// Text.Whitespace
@@ -243,138 +195,126 @@
// Literal.Number.Bin
.mb {
color: #60e;
font-weight: bold;
color: #005cc5;
}
// Literal.Number.Float
.mf {
color: #60e;
font-weight: bold;
color: #005cc5;
}
// Literal.Number.Hex
.mh {
color: #058;
font-weight: bold;
color: #005cc5;
}
// Literal.Number.Integer
.mi {
color: #00d;
font-weight: bold;
color: #005cc5;
}
// Literal.Number.Oct
.mo {
color: #40e;
font-weight: bold;
color: #005cc5;
}
// Literal.String.Affix
.sa {
background-color: #fff0f0;
color: #d73a49;
}
// Literal.String.Backtick
.sb {
background-color: #fff0f0;
color: #032f62;
}
// Literal.String.Char
.sc {
color: #04d;
color: #032f62;
}
// Literal.String.Delimiter
.dl {
background-color: #fff0f0;
color: #d73a49;
}
// Literal.String.Doc
.sd {
color: #d42;
color: #032f62;
}
// Literal.String.Double
.s2 {
background-color: #fff0f0;
color: #032f62;
}
// Literal.String.Escape
.se {
background-color: #fff0f0;
color: #666;
font-weight: bold;
color: #032f62;
}
// Literal.String.Heredoc
.sh {
background-color: #fff0f0;
color: #032f62;
}
// Literal.String.Interpol
.si {
background-color: #eee;
color: #005cc5;
}
// Literal.String.Other
.sx {
background-color: #fff0f0;
color: #d20;
color: #032f62;
}
// Literal.String.Regex
.sr {
background-color: #fff0ff;
color: #000;
color: #032f62;
}
// Literal.String.Single
.s1 {
background-color: #fff0f0;
color: #032f62;
}
// Literal.String.Symbol
.ss {
color: #a60;
color: #005cc5;
}
// Name.Builtin.Pseudo
.bp {
color: #007020;
color: #005cc5;
}
// Name.Function.Magic
.fm {
color: #06b;
font-weight: bold;
color: #005cc5;
}
// Name.Variable.Class
.vc {
color: #369;
color: #24292e;
}
// Name.Variable.Global
.vg {
color: #d70;
font-weight: bold;
color: #24292e;
}
// Name.Variable.Instance
.vi {
color: #33b;
color: #24292e;
}
// Name.Variable.Magic
.vm {
color: #963;
color: #005cc5;
}
// Literal.Number.Integer.Long
.il {
color: #00d;
font-weight: bold;
color: #005cc5;
}
}

View File

@@ -116,6 +116,8 @@ div.wiki {
}
blockquote {
margin-bottom: 1em;
> :first-child {
margin-top: 0;
}
@@ -157,7 +159,8 @@ div.wiki {
}
li > p {
margin-top: ($line-height-computed / 2);
margin-top: .25em;
margin-bottom: 0;
}
table {
@@ -203,10 +206,9 @@ div.wiki {
pre {
width: auto;
margin-bottom: 1.15em;
padding: 4px 8px;
padding: 12px 15px;
overflow-x: auto;
overflow-y: hidden;
border: 1px solid rgba($gray-500, .45);
border-radius: $border-radius-base;
background-color: rgba($gray-500, .15);
font-size: $font-size-small;

View File

@@ -1,6 +1,12 @@
@if $enable-sidebar-toggler {
#main {
position: relative;
// Fix full screen view for dashboard plugin
// https://github.com/jgraichen/redmine_dashboard
@at-root .controller-rdb_taskboard & {
position: static;
}
}
#sidebar {

File diff suppressed because one or more lines are too long