|
|
|
:root {
|
|
|
|
/* documented customizable variables */
|
|
|
|
--fonts-proportional: -apple-system, "Segoe UI", system-ui, "Roboto", "Helvetica Neue", "Arial";
|
|
|
|
--fonts-monospace: "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace, var(--fonts-emoji);
|
|
|
|
--fonts-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla";
|
|
|
|
/* other variables */
|
|
|
|
--border-radius: .28571429rem;
|
|
|
|
--opacity-disabled: .55;
|
|
|
|
--color-primary: #4183c4;
|
|
|
|
--color-primary-dark-1: #3876b3;
|
|
|
|
--color-primary-dark-2: #31699f;
|
|
|
|
--color-primary-dark-3: #2b5c8b;
|
|
|
|
--color-primary-dark-4: #254f77;
|
|
|
|
--color-primary-dark-5: #193450;
|
|
|
|
--color-primary-dark-6: #0c1a28;
|
|
|
|
--color-primary-dark-7: #04080c;
|
|
|
|
--color-primary-light-1: #548fca;
|
|
|
|
--color-primary-light-2: #679cd0;
|
|
|
|
--color-primary-light-3: #7aa8d6;
|
|
|
|
--color-primary-light-4: #8db5dc;
|
|
|
|
--color-primary-light-5: #b3cde7;
|
|
|
|
--color-primary-light-6: #d9e6f3;
|
|
|
|
--color-primary-light-7: #f4f8fb;
|
|
|
|
--color-primary-alpha-10: #4183c419;
|
|
|
|
--color-primary-alpha-20: #4183c433;
|
|
|
|
--color-primary-alpha-30: #4183c44b;
|
|
|
|
--color-primary-alpha-40: #4183c466;
|
|
|
|
--color-primary-alpha-50: #4183c480;
|
|
|
|
--color-primary-alpha-60: #4183c499;
|
|
|
|
--color-primary-alpha-70: #4183c4b3;
|
|
|
|
--color-primary-alpha-80: #4183c4cc;
|
|
|
|
--color-primary-alpha-90: #4183c4e1;
|
|
|
|
--color-secondary: #dedede;
|
|
|
|
--color-secondary-dark-1: #cecece;
|
|
|
|
--color-secondary-dark-2: #bfbfbf;
|
|
|
|
--color-secondary-dark-3: #a0a0a0;
|
|
|
|
--color-secondary-dark-4: #909090;
|
|
|
|
--color-secondary-dark-5: #818181;
|
|
|
|
--color-secondary-dark-6: #717171;
|
|
|
|
--color-secondary-dark-7: #626262;
|
|
|
|
--color-secondary-dark-8: #525252;
|
|
|
|
--color-secondary-dark-9: #434343;
|
|
|
|
--color-secondary-dark-10: #333333;
|
|
|
|
--color-secondary-dark-11: #242424;
|
|
|
|
--color-secondary-dark-12: #141414;
|
|
|
|
--color-secondary-dark-13: #040404;
|
|
|
|
--color-secondary-light-1: #e5e5e5;
|
|
|
|
--color-secondary-light-2: #ebebeb;
|
|
|
|
--color-secondary-light-3: #f2f2f2;
|
|
|
|
--color-secondary-light-4: #f8f8f8;
|
|
|
|
--color-secondary-alpha-10: #dedede19;
|
|
|
|
--color-secondary-alpha-20: #dedede33;
|
|
|
|
--color-secondary-alpha-30: #dedede4b;
|
|
|
|
--color-secondary-alpha-40: #dedede66;
|
|
|
|
--color-secondary-alpha-50: #dedede80;
|
|
|
|
--color-secondary-alpha-60: #dedede99;
|
|
|
|
--color-secondary-alpha-70: #dededeb3;
|
|
|
|
--color-secondary-alpha-80: #dededecc;
|
|
|
|
--color-secondary-alpha-90: #dededee1;
|
|
|
|
/* colors */
|
|
|
|
--color-red: #db2828;
|
|
|
|
--color-orange: #f2711c;
|
|
|
|
--color-yellow: #fbbd08;
|
|
|
|
--color-olive: #b5cc18;
|
|
|
|
--color-green: #21ba45;
|
|
|
|
--color-teal: #00b5ad;
|
|
|
|
--color-blue: #2185d0;
|
|
|
|
--color-violet: #6435c9;
|
|
|
|
--color-purple: #a333c8;
|
|
|
|
--color-pink: #e03997;
|
|
|
|
--color-brown: #a5673f;
|
|
|
|
--color-grey: #888888;
|
|
|
|
--color-black: #1b1c1d;
|
|
|
|
--color-gold: #a1882b;
|
|
|
|
--color-white: #ffffff;
|
|
|
|
--color-diff-removed-word-bg: #fdb8c0;
|
|
|
|
--color-diff-added-word-bg: #acf2bd;
|
|
|
|
--color-diff-removed-row-bg: #ffeef0;
|
Prevent NPE in CSV diff rendering when column removed (#17018)
Fixes #16837 if a column is deleted.
We were clobbering the columns that were added by looping through the aline (base) and then when bline (head) was looped through, it clobbered what was in the "cells" array that is show in the diff, and then left a nil cell because nothing was shifted.
This fix properly shifts the cells, and properly puts the b cell either at its location or after, according to what the aline placed in the cells.
This includes test, adding a new test function since adding/removing cells works best with three columns, not two, which results in 4 columns of the resulting cells because it has a deleted column and an added column. If you try this locally, you can try those cases and others, such as adding a column.
There was no need to do anything special for the rows when `aline == 0 || bline == 0` so that was removed. This allows the same code to be used for removed or added lines, with the bcell text always being the RightCell, acell text being the LeftCell.
I still added the patch zeripath gave at https://github.com/go-gitea/gitea/issues/16837#issuecomment-913007382 so that just in case for some reason a cell is nil (which shouldn't happen now) it doesn't throw a 500 error, so the user can at least view the raw diff.
Also fixes in the [view.go](https://github.com/go-gitea/gitea/pull/17018/files#diff-43a7f4747c7ba8bff888c9be11affaafd595fd55d27f3333840eb19df9fad393L521) file how if a CSV file is empty (either created empty or if you edit it and remove all contents) it throws a huge 500 error when you then save it (when you view the file). Since we allow creating, saving and pushing empty files, we shouldn't throw an error on an empty CSV file, but just show its empty contents. This doesn't happen if it is a Markdown file or other type of file that is empty.
EDIT: Now handled in the markup/csv renderer code
3 years ago
|
|
|
--color-diff-moved-row-bg: #f1f8d1;
|
|
|
|
--color-diff-added-row-bg: #e6ffed;
|
|
|
|
--color-diff-removed-row-border: #f1c0c0;
|
Prevent NPE in CSV diff rendering when column removed (#17018)
Fixes #16837 if a column is deleted.
We were clobbering the columns that were added by looping through the aline (base) and then when bline (head) was looped through, it clobbered what was in the "cells" array that is show in the diff, and then left a nil cell because nothing was shifted.
This fix properly shifts the cells, and properly puts the b cell either at its location or after, according to what the aline placed in the cells.
This includes test, adding a new test function since adding/removing cells works best with three columns, not two, which results in 4 columns of the resulting cells because it has a deleted column and an added column. If you try this locally, you can try those cases and others, such as adding a column.
There was no need to do anything special for the rows when `aline == 0 || bline == 0` so that was removed. This allows the same code to be used for removed or added lines, with the bcell text always being the RightCell, acell text being the LeftCell.
I still added the patch zeripath gave at https://github.com/go-gitea/gitea/issues/16837#issuecomment-913007382 so that just in case for some reason a cell is nil (which shouldn't happen now) it doesn't throw a 500 error, so the user can at least view the raw diff.
Also fixes in the [view.go](https://github.com/go-gitea/gitea/pull/17018/files#diff-43a7f4747c7ba8bff888c9be11affaafd595fd55d27f3333840eb19df9fad393L521) file how if a CSV file is empty (either created empty or if you edit it and remove all contents) it throws a huge 500 error when you then save it (when you view the file). Since we allow creating, saving and pushing empty files, we shouldn't throw an error on an empty CSV file, but just show its empty contents. This doesn't happen if it is a Markdown file or other type of file that is empty.
EDIT: Now handled in the markup/csv renderer code
3 years ago
|
|
|
--color-diff-moved-row-border: #d0e27f;
|
|
|
|
--color-diff-added-row-border: #e6ffed;
|
|
|
|
--color-diff-inactive: #f2f2f2;
|
|
|
|
--color-error-border: #e0b4b4;
|
|
|
|
--color-error-bg: #fff6f6;
|
|
|
|
--color-error-text: #9f3a38;
|
|
|
|
--color-success-border: #a3c293;
|
|
|
|
--color-success-bg: #fcfff5;
|
|
|
|
--color-success-text: #2c662d;
|
|
|
|
--color-warning-border: #c9ba9b;
|
|
|
|
--color-warning-bg: #fffaf3;
|
|
|
|
--color-warning-text: #573a08;
|
|
|
|
--color-info-border: #a9d5de;
|
|
|
|
--color-info-bg: #f8ffff;
|
|
|
|
--color-info-text: #276f86;
|
|
|
|
/* target-based colors */
|
|
|
|
--color-body: #ffffff;
|
|
|
|
--color-text-dark: #080808;
|
|
|
|
--color-text: #212121;
|
|
|
|
--color-text-light: #555555;
|
|
|
|
--color-text-light-2: #808080;
|
|
|
|
--color-text-light-3: #a0a0a0;
|
|
|
|
--color-box-header: #f7f7f7;
|
|
|
|
--color-box-body: #ffffff;
|
|
|
|
--color-footer: #ffffff;
|
|
|
|
--color-timeline: #ececec;
|
|
|
|
--color-input-text: #212121;
|
|
|
|
--color-input-background: #ffffff;
|
|
|
|
--color-input-border: #dedede;
|
|
|
|
--color-input-border-hover: #cecece;
|
|
|
|
--color-navbar: #f8f8f8;
|
|
|
|
--color-light: #00000006;
|
|
|
|
--color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));
|
|
|
|
--color-light-border: #0000001d;
|
|
|
|
--color-hover: #0000000f;
|
|
|
|
--color-active: #00000014;
|
|
|
|
--color-menu: #ffffff;
|
|
|
|
--color-card: #ffffff;
|
|
|
|
--color-markup-table-row: #00000008;
|
|
|
|
--color-markup-code-block: #00000010;
|
|
|
|
--color-button: #ffffff;
|
|
|
|
--color-code-bg: #ffffff;
|
|
|
|
--color-code-sidebar-bg: #f5f5f5;
|
|
|
|
--color-shadow: #00000030;
|
|
|
|
--color-secondary-bg: #f4f4f4;
|
|
|
|
--color-expand-button: #d8efff;
|
|
|
|
--color-placeholder-text: #aaa;
|
|
|
|
--color-editor-line-highlight: var(--color-primary-light-6);
|
|
|
|
--color-project-board-bg: var(--color-secondary-light-4);
|
|
|
|
--color-project-board-dark-label: #555555;
|
|
|
|
--color-project-board-light-label: #a6aab5;
|
|
|
|
--color-caret: var(--color-text-dark);
|
|
|
|
--color-reaction-bg: #0000000a;
|
|
|
|
--color-reaction-active-bg: var(--color-primary-alpha-20);
|
|
|
|
/* backgrounds */
|
|
|
|
--checkbox-mask-checked: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-1 -1 18 18" width="16" height="16"><path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>');
|
|
|
|
--checkbox-mask-indeterminate: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z"></path></svg>');
|
|
|
|
}
|
|
|
|
|
|
|
|
:root * {
|
|
|
|
--fonts-regular: var(--fonts-override, var(--fonts-proportional)), "Noto Sans", "Liberation Sans", sans-serif, var(--fonts-emoji);
|
|
|
|
}
|
|
|
|
|
|
|
|
textarea {
|
|
|
|
font-family: var(--fonts-regular);
|
|
|
|
}
|
|
|
|
|
|
|
|
pre,
|
|
|
|
code,
|
|
|
|
kbd,
|
|
|
|
samp {
|
|
|
|
font-size: .9em; /* compensate for monospace fonts being usually slightly larger */
|
|
|
|
font-family: var(--fonts-monospace);
|
|
|
|
}
|
|
|
|
|
|
|
|
b,
|
|
|
|
strong,
|
|
|
|
h1,
|
|
|
|
h2,
|
|
|
|
h3,
|
|
|
|
h4,
|
|
|
|
h5,
|
|
|
|
h6 {
|
|
|
|
font-weight: 600;
|
|
|
|
}
|
|
|
|
|
|
|
|
body {
|
|
|
|
color: var(--color-text);
|
|
|
|
background-color: var(--color-body);
|
|
|
|
overflow-y: auto;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
overflow-wrap: break-word;
|
|
|
|
}
|
|
|
|
|
|
|
|
img {
|
|
|
|
border-radius: 3px;
|
|
|
|
}
|
|
|
|
|
|
|
|
table {
|
|
|
|
border-collapse: collapse;
|
|
|
|
}
|
|
|
|
|
|
|
|
details summary {
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
details summary > * {
|
|
|
|
display: inline;
|
|
|
|
}
|
|
|
|
|
|
|
|
* {
|
|
|
|
scrollbar-color: var(--color-primary) transparent;
|
|
|
|
caret-color: var(--color-caret);
|
|
|
|
}
|
|
|
|
|
|
|
|
::-webkit-scrollbar {
|
|
|
|
width: 10px;
|
|
|
|
height: 10px;
|
|
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
|
|
box-shadow: inset 0 0 0 6px var(--color-primary);
|
|
|
|
border: 2px solid transparent;
|
|
|
|
border-radius: 5px !important;
|
|
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:window-inactive {
|
|
|
|
box-shadow: inset 0 0 0 6px var(--color-primary);
|
|
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
|
|
box-shadow: inset 0 0 0 6px var(--color-primary-dark-2);
|
|
|
|
}
|
|
|
|
::-webkit-scrollbar-corner {
|
|
|
|
background: transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.CodeMirror-cursor {
|
|
|
|
border-color: var(--color-caret) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
::selection,
|
|
|
|
.CodeMirror-selected {
|
|
|
|
background: var(--color-primary-light-1) !important;
|
|
|
|
color: var(--color-white) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
::placeholder,
|
|
|
|
.CodeMirror-placeholder,
|
|
|
|
.ui.dropdown:not(.button) > .default.text,
|
|
|
|
.ui.default.dropdown:not(.button) > .text {
|
|
|
|
color: var(--color-placeholder-text) !important;
|
|
|
|
opacity: 1 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
a,
|
|
|
|
.ui.breadcrumb a {
|
|
|
|
color: var(--color-primary);
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
a.muted {
|
|
|
|
color: inherit;
|
|
|
|
}
|
|
|
|
|
|
|
|
a:hover,
|
|
|
|
a.muted:hover,
|
|
|
|
.ui.breadcrumb a:hover {
|
|
|
|
color: var(--color-primary-dark-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.breadcrumb .divider {
|
|
|
|
color: var(--color-text-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-content {
|
|
|
|
margin-top: 15px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-content .header-wrapper,
|
|
|
|
.page-content .new-menu {
|
|
|
|
margin-top: -15px !important;
|
|
|
|
padding-top: 15px !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.input.focus > input,
|
|
|
|
.ui.input > input:focus {
|
|
|
|
border-color: var(--color-primary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.CodeMirror-focused {
|
|
|
|
border-color: var(--color-primary) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* currently used for search bar dropdowns in repo search and explore code */
|
|
|
|
.ui.action.input:not([class*="left action"]) > .ui.dropdown.selection {
|
|
|
|
min-width: 10em;
|
|
|
|
|
|
|
|
&:not(:focus):not(:hover) {
|
|
|
|
border-right-color: transparent;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.action.input:not([class*="left action"]) > input:focus {
|
|
|
|
border-right-color: var(--color-primary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu,
|
|
|
|
.ui.vertical.menu {
|
|
|
|
background: var(--color-menu);
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .item {
|
|
|
|
color: var(--color-text);
|
|
|
|
|
|
|
|
> .svg {
|
|
|
|
margin-right: .35em;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .item > .label {
|
|
|
|
background: var(--color-grey);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.link.menu .item:hover,
|
|
|
|
.ui.menu .dropdown.item:hover,
|
|
|
|
.ui.menu .link.item:hover,
|
|
|
|
.ui.menu a.item:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .active.item,
|
|
|
|
.ui.menu .active.item:hover,
|
|
|
|
.ui.vertical.menu .active.item,
|
|
|
|
.ui.vertical.menu .active.item:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-active);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.link.menu .item:active,
|
|
|
|
.ui.menu .link.item:active,
|
|
|
|
.ui.menu a.item:active {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.ui.menu .item.disabled {
|
|
|
|
color: var(--color-text-light-3);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* slightly more contrast for filters on issue list */
|
|
|
|
.ui.ui.menu .dropdown.item.disabled {
|
|
|
|
color: var(--color-text-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu {
|
|
|
|
background: var(--color-menu);
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu > .header:not(.ui) {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu > .item {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu > .item:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu .active.item {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-active);
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* fix misaligned images in webhook dropdown */
|
|
|
|
.ui.dropdown .menu > .item > img {
|
|
|
|
margin-top: -.25rem;
|
|
|
|
margin-bottom: -.25rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.selection.dropdown .menu > .item {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.selection.visible.dropdown > .text:not(.default) {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown.selected,
|
|
|
|
.ui.dropdown .menu .selected.item {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .ui.dropdown .menu > .selected.item {
|
|
|
|
color: var(--color-text) !important;
|
|
|
|
background: var(--color-hover) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu > .message:not(.ui) {
|
|
|
|
color: var(--color-text-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.menu .dropdown.item:hover,
|
|
|
|
.ui.secondary.menu .link.item:hover,
|
|
|
|
.ui.secondary.menu a.item:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.menu .active.item,
|
|
|
|
.ui.secondary.menu .active.item:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-active);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.menu.tight .item {
|
|
|
|
padding-left: .85714286em;
|
|
|
|
padding-right: .85714286em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .dropdown.item .menu {
|
|
|
|
background: var(--color-menu);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .ui.dropdown .menu > .item {
|
|
|
|
color: var(--color-text) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .ui.dropdown .menu > .item:hover {
|
|
|
|
color: var(--color-text) !important;
|
|
|
|
background: var(--color-hover) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu .ui.dropdown .menu > .active.item {
|
|
|
|
color: var(--color-text) !important;
|
|
|
|
background: var(--color-active) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.message {
|
|
|
|
background: var(--color-box-body);
|
|
|
|
color: var(--color-text);
|
|
|
|
box-shadow: none !important;
|
|
|
|
border: 1px solid var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.info.message,
|
|
|
|
.ui.attached.info.message,
|
|
|
|
.ui.blue.message,
|
|
|
|
.ui.attached.blue.message {
|
|
|
|
background: var(--color-info-bg);
|
|
|
|
color: var(--color-info-text);
|
|
|
|
border-color: var(--color-info-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.success.message,
|
|
|
|
.ui.attached.success.message,
|
|
|
|
.ui.positive.message,
|
|
|
|
.ui.attached.positive.message {
|
|
|
|
background: var(--color-success-bg);
|
|
|
|
color: var(--color-success-text);
|
|
|
|
border-color: var(--color-success-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.error.message,
|
|
|
|
.ui.attached.error.message,
|
|
|
|
.ui.red.message,
|
|
|
|
.ui.attached.red.message,
|
|
|
|
.ui.negative.message,
|
|
|
|
.ui.attached.negative.message {
|
|
|
|
background: var(--color-error-bg);
|
|
|
|
color: var(--color-error-text);
|
|
|
|
border-color: var(--color-error-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.warning.message,
|
|
|
|
.ui.attached.warning.message,
|
|
|
|
.ui.yellow.message,
|
|
|
|
.ui.attached.yellow.message {
|
|
|
|
background: var(--color-warning-bg);
|
|
|
|
color: var(--color-warning-text);
|
|
|
|
border-color: var(--color-warning-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.error.header {
|
|
|
|
background: var(--color-error-bg) !important;
|
|
|
|
color: var(--color-error-text) !important;
|
|
|
|
border-color: var(--color-error-border) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.error.segment {
|
|
|
|
border-color: var(--color-error-border) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.warning.header {
|
|
|
|
background: var(--color-warning-bg) !important;
|
|
|
|
color: var(--color-warning-text) !important;
|
|
|
|
border-color: var(--color-warning-border) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.warning.segment {
|
|
|
|
border-color: var(--color-warning-border) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.selection.active.dropdown,
|
|
|
|
.ui.selection.active.dropdown:hover,
|
|
|
|
.ui.selection.active.dropdown .menu,
|
|
|
|
.ui.selection.active.dropdown:hover .menu {
|
|
|
|
border-color: var(--color-primary-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.selection.dropdown .menu {
|
|
|
|
margin: 0 -1.25px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.pointing.dropdown > .menu:not(.hidden)::after {
|
|
|
|
background: var(--color-box-body);
|
|
|
|
box-shadow: -1px -1px 0 0 var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card,
|
|
|
|
.ui.card {
|
|
|
|
background: var(--color-card);
|
|
|
|
border: 1px solid var(--color-secondary);
|
|
|
|
box-shadow: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card > .content,
|
|
|
|
.ui.card > .content {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card > .extra,
|
|
|
|
.ui.card > .extra,
|
|
|
|
.ui.cards > .card > .extra a:not(.ui),
|
|
|
|
.ui.card > .extra a:not(.ui) {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card > .extra a:not(.ui):hover,
|
|
|
|
.ui.card > .extra a:not(.ui):hover {
|
|
|
|
color: var(--color-primary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card > .content > .header,
|
|
|
|
.ui.card > .content > .header {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card > .content > .description,
|
|
|
|
.ui.card > .content > .description {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card .meta > a:not(.ui),
|
|
|
|
.ui.card .meta > a:not(.ui) {
|
|
|
|
color: var(--color-text-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card .meta > a:not(.ui):hover,
|
|
|
|
.ui.card .meta > a:not(.ui):hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards a.card:hover,
|
|
|
|
.ui.link.cards .card:not(.icon):hover,
|
|
|
|
a.ui.card:hover,
|
|
|
|
.ui.link.card:hover {
|
|
|
|
border: 1px solid var(--color-secondary);
|
|
|
|
background: var(--color-card);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.cards > .card > .extra,
|
|
|
|
.ui.card > .extra {
|
|
|
|
color: var(--color-text);
|
|
|
|
border-top-color: var(--color-secondary-light-1) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.comments .comment .text {
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.comments .comment .text,
|
|
|
|
.ui.comments .comment .author {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.comments .comment a.author:hover {
|
|
|
|
color: var(--color-primary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.comments .comment .metadata {
|
|
|
|
color: var(--color-text-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.comments .comment .actions a {
|
|
|
|
color: var(--color-text-light);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.comments .comment .actions a.active,
|
|
|
|
.ui.comments .comment .actions a:hover {
|
|
|
|
color: var(--color-primary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.progress[data-percent="0"] .bar .progress {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.attached.table {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.table {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-body);
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.ui.selectable.table > tbody > tr:hover,
|
|
|
|
.ui.table tbody tr td.selectable:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background-color: var(--color-secondary-alpha-40);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.ui.ui.ui.table tr.grey:not(.marked),
|
|
|
|
.ui.ui.table td.grey:not(.marked) {
|
|
|
|
background: var(--color-body);
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.modal {
|
|
|
|
background: var(--color-body);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.modal > .header {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
border-top-left-radius: var(--border-radius);
|
|
|
|
border-top-right-radius: var(--border-radius);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.modal > .close.inside,
|
|
|
|
.ui.fullscreen.modal > .close {
|
|
|
|
top: 11px; /* align modal close icon, for example admin notices */
|
|
|
|
color: var(--body-color);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.table > tbody > tr {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.avatar.images .image,
|
|
|
|
.ui.avatar.images img,
|
|
|
|
.ui.avatar.images svg,
|
|
|
|
.ui.avatar.image img,
|
|
|
|
.ui.avatar.image svg,
|
|
|
|
.ui.avatar.image,
|
|
|
|
.ui.cards > .card img.avatar,
|
|
|
|
.ui.cards > .card .avatar img,
|
|
|
|
.ui.card img.avatar,
|
|
|
|
.ui.card .avatar img {
|
|
|
|
border-radius: var(--border-radius);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.divided.list > .item {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.link.list .item,
|
|
|
|
.ui.link.list a.item,
|
|
|
|
.ui.link.list .item a:not(.ui) {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.link.list.list a.item:hover,
|
|
|
|
.ui.link.list.list .item a:not(.ui):hover,
|
|
|
|
.ui.link.list.list a.item:active,
|
|
|
|
.ui.link.list.list .item a:not(.ui):active {
|
|
|
|
color: var(--color-text-dark);
|
|
|
|
}
|
|
|
|
|
|
|
|
.dont-break-out {
|
|
|
|
overflow-wrap: break-word;
|
|
|
|
word-wrap: break-word;
|
|
|
|
word-break: break-all;
|
|
|
|
hyphens: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.full.height {
|
|
|
|
flex-grow: 1;
|
|
|
|
padding-bottom: 80px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.following.bar {
|
|
|
|
z-index: 900;
|
|
|
|
left: 0;
|
|
|
|
margin: 0 !important;
|
|
|
|
|
|
|
|
&.light {
|
|
|
|
background: var(--color-body);
|
|
|
|
border-bottom: 1px solid var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.column .menu {
|
|
|
|
margin-top: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.top.menu a.item.brand {
|
|
|
|
padding-left: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.brand .ui.mini.image {
|
|
|
|
width: 30px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.top.menu a.item:hover,
|
|
|
|
.top.menu .dropdown.item:hover,
|
|
|
|
.top.menu .dropdown.item.active {
|
|
|
|
background-color: transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.top.menu a.item:hover {
|
|
|
|
color: rgba(0, 0, 0, .45);
|
|
|
|
}
|
|
|
|
|
|
|
|
.top.menu .menu {
|
|
|
|
z-index: 900;
|
|
|
|
}
|
|
|
|
|
|
|
|
.fitted .svg {
|
|
|
|
margin-right: 0;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
|
|
|
|
.searchbox {
|
|
|
|
background-color: #f4f4f4 !important;
|
|
|
|
|
|
|
|
&:focus {
|
|
|
|
background-color: #e9e9e9 !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.text .svg {
|
|
|
|
width: 16px;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
#navbar {
|
|
|
|
width: 100vw;
|
|
|
|
min-height: 52px;
|
|
|
|
padding: 0 .5rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
#navbar .brand {
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
#navbar .dropdown .avatar {
|
|
|
|
margin-right: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
@media @mediaSm {
|
|
|
|
#navbar:not(.shown) > *:not(:first-child) {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.right.stackable.menu {
|
|
|
|
// responsive fix: this makes sure that the right menu when the page
|
|
|
|
// is on mobile view will have elements stacked on top of each other.
|
|
|
|
// no, stackable won't work on right menus.
|
|
|
|
margin-left: auto;
|
|
|
|
display: flex;
|
|
|
|
align-items: inherit;
|
|
|
|
flex-direction: inherit;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.pagination.menu .active.item {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-active);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.form .field > .selection.dropdown > .dropdown.icon {
|
|
|
|
height: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.loading.segment::before,
|
|
|
|
.ui.loading.form::before {
|
|
|
|
background: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.loading.form > *,
|
|
|
|
.ui.loading.segment > * {
|
|
|
|
opacity: .35;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.loading.loading.input > i.icon svg {
|
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui {
|
|
|
|
&.left:not(.action) {
|
|
|
|
float: left;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.right:not(.action) {
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.button,
|
|
|
|
&.menu .item {
|
|
|
|
user-select: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.container {
|
|
|
|
&.fluid {
|
|
|
|
&.padded {
|
|
|
|
padding: 0 10px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.form {
|
|
|
|
.ui.button {
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.floating.label {
|
|
|
|
z-index: 10;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.transparent.label {
|
|
|
|
background-color: transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.menu,
|
|
|
|
&.vertical.menu,
|
|
|
|
&.segment {
|
|
|
|
box-shadow: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Override semantic selector '.ui.menu:not(.vertical) .item > .button' */
|
|
|
|
/* This fixes the commit graph button on the commits page */
|
|
|
|
|
|
|
|
.menu:not(.vertical) .item > .button.compact {
|
|
|
|
padding: .58928571em 1.125em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.menu:not(.vertical) .item > .button.small {
|
|
|
|
font-size: .92857143rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.menu .ui.dropdown.item .menu .item {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.dropdown .menu > .item > .floating.label {
|
|
|
|
z-index: 11;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.dropdown .menu .menu > .item > .floating.label {
|
|
|
|
z-index: 21;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.dropdown .menu > .header {
|
|
|
|
font-size: .8em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.text {
|
|
|
|
&.red {
|
|
|
|
color: var(--color-red) !important;
|
|
|
|
|
|
|
|
a {
|
|
|
|
color: inherit !important;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: #e67777 !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.blue {
|
|
|
|
color: var(--color-primary) !important;
|
|
|
|
|
|
|
|
a {
|
|
|
|
color: inherit !important;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(--color-primary-dark-1) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.black {
|
|
|
|
color: var(--color-text);
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(--color-text-dark);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.grey {
|
|
|
|
color: var(--color-text-light) !important;
|
|
|
|
|
|
|
|
a {
|
|
|
|
color: var(--color-text) !important;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(--color-primary) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.light.grey {
|
|
|
|
color: var(--color-text-light-2) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.green {
|
|
|
|
color: var(--color-green) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.purple {
|
|
|
|
color: var(--color-purple) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.yellow {
|
|
|
|
color: var(--color-yellow) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.orange {
|
|
|
|
color: var(--color-orange) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.gold {
|
|
|
|
color: var(--color-gold) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.left {
|
|
|
|
text-align: left !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.right {
|
|
|
|
text-align: right !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.small {
|
|
|
|
font-size: .75em;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.normal {
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.italic {
|
|
|
|
font-style: italic;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.truncate {
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
display: inline-block;
|
|
|
|
}
|
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
5 years ago
|
|
|
|
|
|
|
&.thin {
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
5 years ago
|
|
|
|
|
|
|
&.middle {
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.message {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.message > ul {
|
|
|
|
margin-left: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
display: table;
|
|
|
|
text-align: left;
|
|
|
|
}
|
|
|
|
|
|
|
|
.header > i + .content {
|
|
|
|
padding-left: .75rem;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
|
|
|
|
.info {
|
|
|
|
&.segment {
|
|
|
|
&.top {
|
|
|
|
h3,
|
|
|
|
h4 {
|
|
|
|
margin-top: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
h3:last-child {
|
|
|
|
margin-top: 4px;
|
|
|
|
}
|
|
|
|
|
|
|
|
> :last-child {
|
|
|
|
margin-bottom: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.normal.header {
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
|
|
|
|
.form {
|
|
|
|
.autofill-dummy {
|
|
|
|
position: absolute;
|
|
|
|
width: 1px;
|
|
|
|
height: 1px;
|
|
|
|
overflow: hidden;
|
|
|
|
z-index: -10000;
|
|
|
|
}
|
|
|
|
.sub.field {
|
|
|
|
margin-left: 25px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.sha.label {
|
|
|
|
font-family: var(--fonts-monospace);
|
|
|
|
font-size: 13px;
|
|
|
|
padding: 6px 10px 4px;
|
|
|
|
font-weight: normal;
|
|
|
|
margin: 0 6px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.button.copy-commit-sha {
|
|
|
|
border: 1px solid var(--color-light-border);
|
|
|
|
margin-right: 3px;
|
|
|
|
padding: 6px 6px 4px;
|
|
|
|
background: var(--color-light);
|
|
|
|
}
|
|
|
|
|
|
|
|
.button.truncate {
|
|
|
|
display: inline-block;
|
|
|
|
max-width: 100%;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
vertical-align: top;
|
|
|
|
white-space: nowrap;
|
|
|
|
margin-right: 6px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.status.buttons {
|
|
|
|
.svg {
|
|
|
|
margin-right: 4px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.inline.delete-button {
|
|
|
|
padding: 8px 15px;
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
|
|
|
|
.background {
|
|
|
|
&.red {
|
|
|
|
background-color: var(--color-red) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.blue {
|
|
|
|
background-color: var(--color-primary) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.black {
|
|
|
|
background-color: #444444;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.grey {
|
|
|
|
background-color: var(--color-grey) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.light.grey {
|
|
|
|
background-color: var(--color-grey) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.green {
|
|
|
|
background-color: var(--color-green) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.purple {
|
|
|
|
background-color: var(--color-purple) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.yellow {
|
|
|
|
background-color: var(--color-yellow) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.orange {
|
|
|
|
background-color: var(--color-orange) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.gold {
|
|
|
|
background-color: var(--color-gold) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.migrate {
|
|
|
|
color: var(--color-text-light-2) !important;
|
|
|
|
|
|
|
|
a {
|
|
|
|
color: var(--color-text-light) !important;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(--color-text) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.border {
|
|
|
|
border: 1px solid;
|
|
|
|
&.red {
|
|
|
|
border-color: var(--color-red) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.blue {
|
|
|
|
border-color: var(--color-primary) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.black {
|
|
|
|
border-color: #444444;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.grey {
|
|
|
|
border-color: var(--color-grey) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.light.grey {
|
|
|
|
border-color: var(--color-grey) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.green {
|
|
|
|
border-color: var(--color-green) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.purple {
|
|
|
|
border-color: var(--color-purple) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.yellow {
|
|
|
|
border-color: var(--color-yellow) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.orange {
|
|
|
|
border-color: var(--color-orange) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.gold {
|
|
|
|
border-color: var(--color-gold) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.branch-tag-choice {
|
|
|
|
line-height: 20px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.pagination.menu {
|
|
|
|
@media @mediaSm {
|
|
|
|
.item:not(.active):not(.navigation),
|
|
|
|
.item.navigation span.navigation_label {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
&.narrow .item {
|
|
|
|
padding-left: 8px;
|
|
|
|
padding-right: 8px;
|
|
|
|
min-width: 1em;
|
|
|
|
text-align: center;
|
|
|
|
.icon {
|
|
|
|
margin-right: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* modal svg icons, copied from fomantic except width and height */
|
|
|
|
&.icon.header svg {
|
|
|
|
width: 3em;
|
|
|
|
height: 3em;
|
|
|
|
float: none;
|
|
|
|
display: block;
|
|
|
|
line-height: 1;
|
|
|
|
padding: 0;
|
|
|
|
margin: 0 auto .5rem;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* center text in fomantic modal dialogs */
|
|
|
|
&.modal > .content {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.floating.dropdown {
|
|
|
|
.overflow.menu {
|
|
|
|
.scrolling.menu.items {
|
|
|
|
border-radius: 0 !important;
|
|
|
|
box-shadow: none !important;
|
|
|
|
border-bottom: 1px solid var(--color-secondary);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.user-menu > .item {
|
|
|
|
width: 100%;
|
|
|
|
border-radius: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.scrolling.menu {
|
|
|
|
.item.selected {
|
|
|
|
font-weight: 600 !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .scrolling.menu {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
footer {
|
|
|
|
background-color: var(--color-footer);
|
|
|
|
border-top: 1px solid var(--color-secondary);
|
|
|
|
width: 100%;
|
|
|
|
flex-basis: 40px;
|
|
|
|
color: var(--color-text-light);
|
|
|
|
|
|
|
|
.container {
|
|
|
|
width: 100vw !important;
|
|
|
|
padding: 0 .5rem;
|
|
|
|
max-width: calc(100vw - 1rem) !important;
|
|
|
|
|
|
|
|
.links > * {
|
|
|
|
border-left: 1px solid var(--color-secondary);
|
|
|
|
padding-left: 8px;
|
|
|
|
margin-left: 5px;
|
|
|
|
|
|
|
|
&:first-child {
|
|
|
|
border-left: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.language {
|
|
|
|
.menu {
|
|
|
|
max-height: 500px;
|
|
|
|
overflow-y: auto;
|
|
|
|
margin-bottom: 7px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.svg {
|
|
|
|
margin-right: .15em;
|
|
|
|
vertical-align: top;
|
|
|
|
margin-top: calc(2em - 16px);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui {
|
|
|
|
&.left,
|
|
|
|
&.right {
|
|
|
|
line-height: 40px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.hide {
|
|
|
|
display: none;
|
|
|
|
|
|
|
|
&.show-outdated {
|
|
|
|
display: none !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.hide-outdated {
|
|
|
|
display: none !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.center:not(.popup) {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Conditional display
|
|
|
|
@media @mediaMdAndUp {
|
|
|
|
.mobile-only,
|
|
|
|
.ui.button.mobile-only {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
// has the same behaviour of sr-only, hiding the content for
|
|
|
|
// non-screenreaders, but is shown on mobile devices.
|
|
|
|
.sr-mobile-only {
|
|
|
|
.sr-only();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@media @mediaSm {
|
|
|
|
.not-mobile {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Accessibility
|
|
|
|
.sr-only {
|
|
|
|
position: absolute;
|
|
|
|
width: 1px;
|
|
|
|
height: 1px;
|
|
|
|
padding: 0;
|
|
|
|
margin: -1px;
|
|
|
|
overflow: hidden;
|
|
|
|
clip: rect(0, 0, 0, 0);
|
|
|
|
border: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sr-only-focusable:active,
|
|
|
|
.sr-only-focusable:focus {
|
|
|
|
position: static;
|
|
|
|
width: auto;
|
|
|
|
height: auto;
|
|
|
|
margin: 0;
|
|
|
|
overflow: visible;
|
|
|
|
clip: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
@media @mediaMd {
|
|
|
|
.ui.container {
|
|
|
|
width: 95%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu {
|
|
|
|
margin-bottom: 15px;
|
|
|
|
background: var(--color-navbar);
|
|
|
|
border-bottom: 1px solid var(--color-secondary) !important;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
@media @mediaSm {
|
|
|
|
.ui.menu.new-menu {
|
|
|
|
overflow: visible !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu .new-menu-inner {
|
|
|
|
display: flex;
|
|
|
|
margin-left: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
overflow-x: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
@media @mediaSm {
|
|
|
|
.ui.menu.new-menu .new-menu-inner {
|
|
|
|
flex-wrap: wrap;
|
|
|
|
margin-left: 0;
|
|
|
|
margin-right: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu::after {
|
|
|
|
position: absolute;
|
|
|
|
display: block;
|
|
|
|
background: linear-gradient(to right, transparent, var(--color-navbar) 100%);
|
|
|
|
content: '';
|
|
|
|
right: 0;
|
|
|
|
height: 39px;
|
|
|
|
width: 60px;
|
|
|
|
visibility: visible;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu.shadow-body::after {
|
|
|
|
background: linear-gradient(to right, transparent, var(--color-body) 100%);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu .item {
|
|
|
|
margin: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
@media @mediaSm {
|
|
|
|
.ui.menu.new-menu .item {
|
|
|
|
width: auto !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu .item:last-child {
|
|
|
|
padding-right: 30px !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu::-webkit-scrollbar {
|
|
|
|
height: 6px;
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu::-webkit-scrollbar-track {
|
|
|
|
background: none !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu::-webkit-scrollbar-thumb {
|
|
|
|
box-shadow: none !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.menu.new-menu:hover::-webkit-scrollbar {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
|
|
|
|
[v-cloak] {
|
|
|
|
display: none !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.repos-search {
|
|
|
|
padding-bottom: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.repos-filter {
|
|
|
|
margin-top: 0 !important;
|
|
|
|
border-bottom-width: 0 !important;
|
|
|
|
margin-bottom: 2px !important;
|
|
|
|
justify-content: space-evenly;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.pointing.menu.repos-filter .item {
|
|
|
|
padding-left: 4.5px;
|
|
|
|
padding-right: 4.5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.repo-title {
|
|
|
|
font-size: 1.5rem;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
flex: 1;
|
|
|
|
word-break: break-all;
|
|
|
|
color: var(--color-text-light);
|
|
|
|
|
|
|
|
.avatar {
|
|
|
|
width: 32px !important;
|
|
|
|
height: 32px !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.labels {
|
|
|
|
margin-left: .5rem;
|
|
|
|
|
|
|
|
> * + * {
|
|
|
|
margin-left: .5rem;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.repo-icon {
|
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
|
|
|
|
.activity-bar-graph {
|
|
|
|
background-color: var(--color-primary);
|
|
|
|
color: #fff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.activity-bar-graph-alt {
|
|
|
|
color: #fff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.archived-icon {
|
|
|
|
color: lighten(#000000, 70%) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.oauth2-authorize-application-box {
|
|
|
|
margin-top: 3em !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* multiple radio or checkboxes as inline element */
|
|
|
|
.inline-grouped-list {
|
|
|
|
display: inline-block;
|
|
|
|
vertical-align: top;
|
|
|
|
|
|
|
|
> .ui {
|
|
|
|
display: block;
|
|
|
|
margin-top: 5px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
|
|
|
&:first-child {
|
|
|
|
margin-top: 1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
i.icons .icon:first-child {
|
|
|
|
margin-right: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
i.icon.centerlock {
|
|
|
|
top: 1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.label {
|
|
|
|
padding: .3em .5em;
|
|
|
|
background: var(--color-light);
|
|
|
|
color: var(--color-text-light);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.labels a.label:hover,
|
|
|
|
a.ui.label:hover {
|
|
|
|
background: var(--color-hover);
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.label > .detail .icons {
|
|
|
|
margin-right: .25em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.label > .detail .icons .icon {
|
|
|
|
margin-right: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-blame-btn {
|
|
|
|
padding-left: 10px;
|
|
|
|
padding-right: 10px;
|
|
|
|
text-align: right !important;
|
|
|
|
background-color: var(--color-code-sidebar-bg);
|
|
|
|
width: 2%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-num {
|
|
|
|
padding-left: 10px;
|
|
|
|
padding-right: 10px;
|
|
|
|
text-align: right !important;
|
|
|
|
color: rgba(27, 31, 35, .3);
|
|
|
|
width: 1%;
|
|
|
|
user-select: none;
|
|
|
|
font-family: var(--fonts-monospace);
|
|
|
|
|
|
|
|
span {
|
|
|
|
&.bottom-line {
|
|
|
|
&::after {
|
|
|
|
border-bottom: 1px solid var(--color-secondary);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&::after {
|
|
|
|
content: attr(data-line-number);
|
|
|
|
line-height: 20px !important;
|
|
|
|
padding: 0 10px;
|
|
|
|
cursor: pointer;
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-type-marker {
|
|
|
|
vertical-align: top;
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-num,
|
|
|
|
.lines-code {
|
|
|
|
font-size: 12px;
|
|
|
|
font-family: var(--fonts-monospace);
|
|
|
|
line-height: 20px;
|
|
|
|
padding-top: 0;
|
|
|
|
padding-bottom: 0;
|
|
|
|
vertical-align: top;
|
|
|
|
|
|
|
|
pre,
|
|
|
|
ol {
|
|
|
|
background-color: inherit;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0 !important;
|
|
|
|
|
|
|
|
li {
|
|
|
|
display: block;
|
|
|
|
width: calc(100% - 1ch);
|
|
|
|
padding-left: 1ch;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-code {
|
|
|
|
background-color: var(--color-code-bg);
|
|
|
|
padding-left: 5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-code.active,
|
|
|
|
.lines-code .active {
|
|
|
|
background: #fffbdd !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.blame .lines-num {
|
|
|
|
padding: 0 !important;
|
|
|
|
background-color: var(--color-code-sidebar-bg);
|
|
|
|
}
|
|
|
|
|
|
|
|
.blame .lines-code {
|
|
|
|
padding: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.code-inner {
|
|
|
|
font: 12px var(--fonts-monospace);
|
|
|
|
white-space: pre-wrap;
|
|
|
|
word-break: break-all;
|
|
|
|
overflow-wrap: break-word;
|
|
|
|
word-wrap: break-word;
|
|
|
|
}
|
|
|
|
|
|
|
|
.blame .code-inner {
|
|
|
|
white-space: pre;
|
|
|
|
word-break: normal;
|
|
|
|
word-wrap: normal; /* not using overflow-wrap because safari does not treat is an an alias */
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-commit {
|
|
|
|
vertical-align: top;
|
|
|
|
color: #999999;
|
|
|
|
padding: 0 !important;
|
|
|
|
background: var(--color-code-sidebar-bg);
|
|
|
|
width: 1%;
|
|
|
|
-moz-user-select: none;
|
|
|
|
-ms-user-select: none;
|
|
|
|
-webkit-user-select: none;
|
|
|
|
user-select: none;
|
|
|
|
|
|
|
|
.blame-info {
|
|
|
|
width: 350px;
|
|
|
|
max-width: 350px;
|
|
|
|
display: block;
|
|
|
|
user-select: none;
|
|
|
|
padding: 0 0 0 10px;
|
|
|
|
line-height: 20px;
|
|
|
|
box-sizing: content-box;
|
|
|
|
|
|
|
|
.blame-data {
|
|
|
|
display: flex;
|
|
|
|
font-family: var(--fonts-regular);
|
|
|
|
|
|
|
|
.blame-message {
|
|
|
|
flex-grow: 2;
|
|
|
|
overflow: hidden;
|
|
|
|
white-space: nowrap;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
|
|
|
|
.blame-time,
|
|
|
|
.blame-avatar {
|
|
|
|
flex-shrink: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.avatar.image {
|
|
|
|
height: 18px;
|
|
|
|
width: 18px;
|
|
|
|
display: block;
|
|
|
|
margin-top: 1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.top-line-blame {
|
|
|
|
border-top: 1px solid var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.lines-code,
|
|
|
|
.lines-commit {
|
|
|
|
.bottom-line {
|
|
|
|
border-bottom: 1px solid var(--color-secondary);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.code-view table {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.octicon-tiny {
|
|
|
|
font-size: .85714286rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.button {
|
|
|
|
background: var(--color-button);
|
|
|
|
border: 1px solid var(--color-light-border);
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-content .ui.button {
|
|
|
|
box-shadow: none !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.button:focus,
|
|
|
|
.ui.button:hover {
|
|
|
|
background: var(--color-hover);
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.button:active,
|
|
|
|
.ui.active.button:active,
|
|
|
|
.ui.active.button:hover {
|
|
|
|
background: var(--color-active);
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.button.no-text .icon {
|
|
|
|
margin: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.buttons .button:first-child {
|
|
|
|
border-left: 1px solid var(--color-light-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.buttons .button + .button {
|
|
|
|
border-left: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.two-toggle-buttons .button:not(.active):first-of-type {
|
|
|
|
border-right: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.two-toggle-buttons .button.active:last-of-type {
|
|
|
|
border-left: 1px solid var(--color-light-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.labeled.button.disabled > .button,
|
|
|
|
.ui.basic.buttons .button,
|
|
|
|
.ui.basic.button {
|
|
|
|
color: var(--color-text-light);
|
|
|
|
background: var(--color-light);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.buttons .button:hover,
|
|
|
|
.ui.basic.button:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.buttons .button:focus,
|
|
|
|
.ui.basic.button:focus,
|
|
|
|
.ui.basic.buttons .button:active,
|
|
|
|
.ui.basic.button:active,
|
|
|
|
.ui.basic.buttons .active.button,
|
|
|
|
.ui.basic.active.button,
|
|
|
|
.ui.basic.buttons .active.button:hover,
|
|
|
|
.ui.basic.active.button:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
background: var(--color-active);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.labeled.button > .label {
|
|
|
|
border-color: var(--color-light-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.labeled.icon.buttons > .button > .icon,
|
|
|
|
.ui.labeled.icon.button > .icon {
|
|
|
|
background: var(--color-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.blue.button,
|
|
|
|
.ui.blue.buttons .button,
|
|
|
|
.ui.primary.button,
|
|
|
|
.ui.primary.buttons .button {
|
|
|
|
background-color: var(--color-primary) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.blue.button:hover,
|
|
|
|
.ui.blue.buttons .button:hover,
|
|
|
|
.ui.primary.button:hover,
|
|
|
|
.ui.primary.buttons .button:hover {
|
|
|
|
background-color: var(--color-primary-dark-2) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.blue.button:focus,
|
|
|
|
.ui.blue.buttons .button:focus,
|
|
|
|
.ui.primary.button:focus,
|
|
|
|
.ui.primary.buttons .button:focus {
|
|
|
|
background-color: var(--color-primary-dark-3) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.blue.button,
|
|
|
|
.ui.basic.blue.buttons .button,
|
|
|
|
.ui.basic.primary.button,
|
|
|
|
.ui.basic.primary.buttons .button {
|
|
|
|
box-shadow: inset 0 0 0 1px var(--color-primary) !important;
|
|
|
|
color: #fff !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.blue.button:hover,
|
|
|
|
.ui.basic.blue.buttons .button:hover,
|
|
|
|
.ui.basic.primary.button:hover,
|
|
|
|
.ui.basic.primary.buttons .button:hover {
|
|
|
|
box-shadow: inset 0 0 0 1px var(--color-primary-dark-2) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.blue.button:focus,
|
|
|
|
.ui.basic.blue.buttons .button:focus,
|
|
|
|
.ui.basic.primary.button:focus,
|
|
|
|
.ui.basic.primary.buttons .button:focus {
|
|
|
|
box-shadow: inset 0 0 0 1px var(--color-primary-dark-3) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.blue.label,
|
|
|
|
.ui.blue.labels .label,
|
|
|
|
.ui.primary.label,
|
|
|
|
.ui.primary.labels .label {
|
|
|
|
background-color: var(--color-primary) !important;
|
|
|
|
border-color: var(--color-primary-dark-2) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.labels .blue.label,
|
|
|
|
.ui.ui.ui.basic.blue.label,
|
|
|
|
.ui.basic.labels .primary.label,
|
|
|
|
.ui.ui.ui.basic.primary.label {
|
|
|
|
background: transparent !important;
|
|
|
|
border-color: var(--color-primary) !important;
|
|
|
|
color: var(--color-primary) !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.labels .label,
|
|
|
|
.ui.basic.label {
|
|
|
|
background: var(--color-light);
|
|
|
|
border-color: var(--color-light-border);
|
|
|
|
color: var(--color-text-light);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.basic.labels a.label:hover,
|
|
|
|
a.ui.basic.label:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
border-color: var(--color-light-border);
|
|
|
|
background: var(--color-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.label > img {
|
|
|
|
width: auto !important;
|
|
|
|
vertical-align: middle;
|
|
|
|
height: 2.1666em !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.svg {
|
|
|
|
span.green & {
|
|
|
|
color: var(--color-green);
|
|
|
|
}
|
|
|
|
span.red & {
|
|
|
|
color: var(--color-red);
|
|
|
|
}
|
|
|
|
span.purple & {
|
|
|
|
color: var(--color-purple);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.migrate .svg.gitea-git {
|
|
|
|
color: #f05133; /* from https://upload.wikimedia.org/wikipedia/commons/e/e0/Git-logo.svg */
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.popup {
|
|
|
|
background-color: var(--color-body);
|
|
|
|
color: var(--color-secondary-dark-6);
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.popup::before {
|
|
|
|
box-shadow: 1px 1px 0 0 var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.bottom.popup::before,
|
|
|
|
.ui.top.popup::before,
|
|
|
|
.ui.right.center.popup::before,
|
|
|
|
.ui.left.center.popup::before {
|
|
|
|
background-color: var(--color-body);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.bottom.left.popup::before,
|
|
|
|
.ui.bottom.right.popup::before,
|
|
|
|
.ui.bottom.center.popup::before {
|
|
|
|
box-shadow: -1px -1px 0 0 var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.left.center.popup::before {
|
|
|
|
box-shadow: 1px -1px 0 0 var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.right.center.popup::before {
|
|
|
|
box-shadow: -1px 1px 0 0 var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.popup .ui.label {
|
|
|
|
margin-bottom: .4em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.color-icon {
|
|
|
|
display: inline-block;
|
|
|
|
border-radius: 100%;
|
|
|
|
height: 14px;
|
|
|
|
width: 14px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.label > .color-icon {
|
|
|
|
margin-left: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.invisible {
|
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.segment,
|
|
|
|
.ui.segments,
|
|
|
|
.ui.attached.segment {
|
|
|
|
background: var(--color-box-body);
|
|
|
|
color: var(--color-text);
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.segments > .segment {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.segment {
|
|
|
|
background: var(--color-secondary-bg);
|
|
|
|
color: var(--color-text-light);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.attached.header {
|
|
|
|
position: relative;
|
|
|
|
background: var(--color-box-header);
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
|
|
|
|
.right .button {
|
|
|
|
padding: 8px 10px;
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* fix misaligned right buttons on box headers */
|
|
|
|
.ui.attached.header .right:not(.dropdown) {
|
|
|
|
position: absolute;
|
|
|
|
right: .78571429rem;
|
|
|
|
top: 0;
|
|
|
|
bottom: 0;
|
|
|
|
height: 30px;
|
|
|
|
margin-top: auto;
|
|
|
|
margin-bottom: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* https://github.com/go-gitea/gitea/issues/10210 */
|
|
|
|
.ui.attached.segment ~ .ui.top.attached.header {
|
|
|
|
margin-top: 1rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
table th[data-sortt-asc],
|
|
|
|
table th[data-sortt-desc] {
|
|
|
|
&:hover {
|
|
|
|
background: rgba(0, 0, 0, .1) !important;
|
|
|
|
cursor: pointer !important;
|
|
|
|
}
|
|
|
|
.svg {
|
|
|
|
margin-left: .25rem;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* fix up SVG dropdown triangles because fomantic thinks they are icon fonts */
|
|
|
|
/* see https://github.com/go-gitea/gitea/issues/14014 */
|
|
|
|
.ui.dropdown > .dropdown.icon,
|
|
|
|
.btn-review > .dropdown.icon {
|
|
|
|
height: auto !important;
|
|
|
|
margin-left: .5rem !important;
|
|
|
|
margin-top: -1px !important;
|
|
|
|
margin-bottom: -1px !important;
|
|
|
|
margin-right: -.5rem !important;
|
|
|
|
}
|
|
|
|
.ui.button.dropdown > .dropdown.icon,
|
|
|
|
.btn-review > .dropdown.icon {
|
|
|
|
float: right !important;
|
|
|
|
|
|
|
|
@media (max-width: 480px) {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.ui.selection.dropdown > .search.icon,
|
|
|
|
.ui.selection.dropdown > .delete.icon,
|
|
|
|
.ui.selection.dropdown > .dropdown.icon {
|
|
|
|
top: 0 !important;
|
|
|
|
}
|
|
|
|
.ui.dropdown.no-text > .dropdown.icon {
|
|
|
|
margin-left: 0 !important;
|
|
|
|
margin-right: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* limit width of all direct dropdown menu children */
|
|
|
|
/* https://github.com/go-gitea/gitea/pull/10835 */
|
|
|
|
.dropdown:not(.selection) > .menu:not(.review-box) > *:not(.header) {
|
|
|
|
max-width: 300px;
|
|
|
|
overflow-x: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
|
|
|
|
.dropdown:not(.selection) > .menu.review-box > * {
|
|
|
|
@media (max-height: 700px) {
|
|
|
|
.CodeMirror,
|
|
|
|
.CodeMirror-scroll {
|
|
|
|
min-height: 100px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu .item {
|
|
|
|
border-radius: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu .item:first-of-type {
|
|
|
|
border-radius: var(--border-radius) var(--border-radius) 0 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.dropdown .menu .item:last-of-type {
|
|
|
|
border-radius: 0 0 var(--border-radius) var(--border-radius);
|
|
|
|
}
|
|
|
|
|
|
|
|
.text-label {
|
|
|
|
display: inline-flex !important;
|
|
|
|
align-items: center !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.emoji,
|
|
|
|
.reaction {
|
|
|
|
font-size: 1.25em;
|
|
|
|
line-height: 1;
|
|
|
|
font-style: normal !important;
|
|
|
|
font-weight: normal !important;
|
|
|
|
vertical-align: -.075em;
|
|
|
|
|
|
|
|
@supports (-webkit-hyphens:none) {
|
|
|
|
body:not(.safari-above125) & {
|
|
|
|
font-size: inherit;
|
|
|
|
vertical-align: inherit;
|
|
|
|
img {
|
|
|
|
font-size: 1.25em;
|
|
|
|
vertical-align: -.225em !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.emoji img,
|
|
|
|
.reaction img {
|
|
|
|
border-width: 0 !important;
|
|
|
|
margin: 0 !important;
|
|
|
|
width: 1em !important;
|
|
|
|
height: 1em !important;
|
|
|
|
vertical-align: -.15em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.labelspage {
|
|
|
|
list-style: none;
|
|
|
|
padding-top: 0;
|
|
|
|
|
|
|
|
.item {
|
|
|
|
margin-top: 0;
|
|
|
|
margin-right: -14px;
|
|
|
|
margin-left: -14px;
|
|
|
|
padding: 10px;
|
|
|
|
border-bottom: 1px solid var(--color-secondary);
|
|
|
|
border-top: none;
|
|
|
|
|
|
|
|
a {
|
|
|
|
font-size: 15px;
|
|
|
|
padding-top: 5px;
|
|
|
|
padding-right: 10px;
|
|
|
|
color: var(--color-text-light);
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(--color-primary-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
&.open-issues {
|
|
|
|
margin-right: 30px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.label {
|
|
|
|
font-size: 1em;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.item:last-child {
|
|
|
|
border-bottom: none;
|
|
|
|
padding-bottom: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.orglabel {
|
|
|
|
opacity: .7;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* https://github.com/go-gitea/gitea/pull/11486 */
|
|
|
|
.ui.sub.header {
|
|
|
|
text-transform: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.tabular.menu {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.tabular.menu .item {
|
|
|
|
padding: 11px 12px;
|
|
|
|
color: var(--color-text-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.tabular.menu .item:hover {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.tabular.menu .active.item,
|
|
|
|
.ui.tabular.menu .active.item:hover {
|
|
|
|
background: var(--color-body);
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
color: var(--color-text);
|
|
|
|
margin-top: 1px; /* offset fomantic's margin-bottom: -1px */
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.segment .ui.tabular.menu .active.item,
|
|
|
|
.ui.segment .ui.tabular.menu .active.item:hover {
|
|
|
|
background: var(--color-box-body);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.pointing.menu {
|
|
|
|
border-color: var(--color-secondary);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.pointing.menu .item {
|
|
|
|
color: var(--color-text-light-2);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.secondary.pointing.menu .active.item,
|
|
|
|
.ui.secondary.pointing.menu .active.item:hover,
|
|
|
|
.ui.secondary.pointing.menu .dropdown.item:hover,
|
|
|
|
.ui.secondary.pointing.menu .link.item:hover,
|
|
|
|
.ui.secondary.pointing.menu a.item:hover {
|
|
|
|
color: var(--color-text-dark);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.header {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.header .ui.label {
|
|
|
|
margin-left: .25rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui.header > .ui.label.compact {
|
|
|
|
margin-top: inherit;
|
|
|
|
}
|
|
|
|
|
|
|
|
.flash-error details code {
|
|
|
|
display: block;
|
|
|
|
text-align: left;
|
|
|
|
}
|
|
|
|
|
|
|
|
.truncated-item-container {
|
|
|
|
display: flex !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ellipsis-button {
|
|
|
|
padding: 0 5px 8px !important;
|
|
|
|
display: inline-block !important;
|
|
|
|
user-select: none !important;
|
|
|
|
font-weight: 600 !important;
|
|
|
|
line-height: 6px !important;
|
|
|
|
vertical-align: middle !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.truncated-item-name {
|
|
|
|
line-height: 2em;
|
|
|
|
white-space: nowrap;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
margin-top: -.5em;
|
|
|
|
margin-bottom: -.5em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.precolors {
|
|
|
|
padding-left: 0 !important;
|
|
|
|
padding-right: 0 !important;
|
|
|
|
margin: 3px 10px auto !important;
|
|
|
|
width: 120px !important;
|
|
|
|
|
|
|
|
.color {
|
|
|
|
float: left;
|
|
|
|
width: 15px;
|
|
|
|
height: 15px;
|
|
|
|
}
|
|
|
|
}
|