forked from forgejo/forgejo
Replace Less with CSS (#23508)
Backport https://github.com/go-gitea/gitea/pull/23481, https://github.com/go-gitea/gitea/pull/23504 and https://github.com/go-gitea/gitea/pull/23520 to 1.19, just so we have an easier time with future backports. Seems to work on a basic level. There was a merge conflict in `RepoActionView.vue`, otherwise it merged cleanly. --------- Co-authored-by: John Olheiser <john.olheiser@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
23a6fa9421
commit
8f8bd3c0cb
72 changed files with 8236 additions and 4176 deletions
110
web_src/css/admin.css
Normal file
110
web_src/css/admin.css
Normal file
|
@ -0,0 +1,110 @@
|
|||
.admin.hooks .list > .item:not(:first-child) {
|
||||
border-top: 1px solid var(--color-secondary);
|
||||
padding: 0.25rem 1rem;
|
||||
margin: 12px -1rem -1rem;
|
||||
}
|
||||
|
||||
.admin .table.segment {
|
||||
padding: 0;
|
||||
font-size: 13px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.admin .table.segment:not(.striped) thead th:last-child {
|
||||
padding-right: 5px !important;
|
||||
}
|
||||
|
||||
.admin .table.segment th {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.admin .table.segment:not(.select) th:first-of-type,
|
||||
.admin .table.segment:not(.select) td:first-of-type {
|
||||
padding-left: 15px !important;
|
||||
}
|
||||
|
||||
.admin .table.segment form tbody button[type="submit"] {
|
||||
padding: 5px 8px;
|
||||
}
|
||||
|
||||
.admin .settings .button.adopt,
|
||||
.admin .settings .button.delete {
|
||||
margin-top: -15px;
|
||||
margin-bottom: -15px;
|
||||
}
|
||||
|
||||
.admin .settings .button.adopt .label,
|
||||
.admin .settings .button.delete .label {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.admin.user .email {
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
.admin dl.admin-dl-horizontal {
|
||||
padding: 20px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.admin dl.admin-dl-horizontal dd {
|
||||
margin-left: 275px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.admin dl.admin-dl-horizontal dd {
|
||||
margin-left: 5%;
|
||||
}
|
||||
}
|
||||
|
||||
.admin dl.admin-dl-horizontal dt {
|
||||
font-weight: 600;
|
||||
float: left;
|
||||
width: 285px;
|
||||
clear: left;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.admin dl.admin-dl-horizontal dt {
|
||||
width: auto;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
.admin.config #test-mail-btn {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.admin code,
|
||||
.admin pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.admin #notice-table .notice-description {
|
||||
max-width: 80vw;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) and (max-width: 991px) {
|
||||
.admin #notice-table .notice-description {
|
||||
max-width: 360px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) and (max-width: 1200px) {
|
||||
.admin #notice-table .notice-description {
|
||||
max-width: 510px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1201px) {
|
||||
.admin #notice-table .notice-description {
|
||||
max-width: 640px;
|
||||
}
|
||||
}
|
81
web_src/css/animations.css
Normal file
81
web_src/css/animations.css
Normal file
|
@ -0,0 +1,81 @@
|
|||
@keyframes isloadingspin {
|
||||
0% { transform: translate(-50%, -50%) rotate(0deg); }
|
||||
100% { transform: translate(-50%, -50%) rotate(360deg); }
|
||||
}
|
||||
|
||||
.is-loading {
|
||||
background: transparent !important;
|
||||
color: transparent !important;
|
||||
border: transparent !important;
|
||||
pointer-events: none !important;
|
||||
position: relative !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.is-loading::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
animation: isloadingspin 500ms infinite linear;
|
||||
border-width: 4px;
|
||||
border-style: solid;
|
||||
border-color: var(--color-secondary) var(--color-secondary) var(--color-secondary-dark-8) var(--color-secondary-dark-8);
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.markup pre.is-loading,
|
||||
.editor-loading.is-loading {
|
||||
height: var(--height-loading);
|
||||
}
|
||||
|
||||
.btn-octicon.is-loading::after {
|
||||
border-width: 2px;
|
||||
height: 1.25rem;
|
||||
width: 1.25rem;
|
||||
}
|
||||
|
||||
code.language-math.is-loading::after {
|
||||
padding: 0;
|
||||
border-width: 2px;
|
||||
width: 1.25rem;
|
||||
height: 1.25rem;
|
||||
}
|
||||
|
||||
@keyframes fadein {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeout {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
transform: scale(1.8);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.pulse {
|
||||
animation: pulse 2s linear;
|
||||
}
|
2766
web_src/css/base.css
Normal file
2766
web_src/css/base.css
Normal file
File diff suppressed because it is too large
Load diff
50
web_src/css/chroma/base.css
Normal file
50
web_src/css/chroma/base.css
Normal file
|
@ -0,0 +1,50 @@
|
|||
.chroma {
|
||||
background-color: var(--color-code-bg);
|
||||
}
|
||||
|
||||
/* LineTableTD */
|
||||
.chroma .lntd {
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* LineTable */
|
||||
.chroma .lntable {
|
||||
border-spacing: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
width: auto;
|
||||
overflow: auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* LineHighlight */
|
||||
.chroma .hl {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* LineNumbersTable */
|
||||
.chroma .lnt {
|
||||
margin-right: 0.4em;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
/* LineNumbers */
|
||||
.chroma .ln {
|
||||
margin-right: 0.4em;
|
||||
padding: 0 0.4em;
|
||||
}
|
||||
|
||||
/* GenericStrong */
|
||||
.chroma .gs {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* GenericUnderline */
|
||||
.chroma .gl {
|
||||
text-decoration: underline;
|
||||
}
|
74
web_src/css/chroma/dark.css
Normal file
74
web_src/css/chroma/dark.css
Normal file
|
@ -0,0 +1,74 @@
|
|||
.chroma .bp { color: #fabd2f; } /* NameBuiltinPseudo */
|
||||
.chroma .c { color: #777e94; } /* Comment */
|
||||
.chroma .c1 { color: #777e94; } /* CommentSingle */
|
||||
.chroma .ch { color: #777e94; } /* CommentHashbang */
|
||||
.chroma .cm { color: #777e94; } /* CommentMultiline */
|
||||
.chroma .cp { color: #8ec07c; } /* CommentPreproc */
|
||||
.chroma .cpf { color: #649bc4; } /* CommentPreprocFile */
|
||||
.chroma .cs { color: #9075cd; } /* CommentSpecial */
|
||||
.chroma .dl { color: #649bc4; } /* LiteralStringDelimiter */
|
||||
.chroma .fm {} /* NameFunctionMagic */
|
||||
.chroma .g {} /* Generic */
|
||||
.chroma .gd { color: #ffffff; background-color: #5f3737; } /* GenericDeleted */
|
||||
.chroma .ge { color: #ddee30; } /* GenericEmph */
|
||||
.chroma .gh { color: #ffaa10; } /* GenericHeading */
|
||||
.chroma .gi { color: #ffffff; background-color: #3a523a; } /* GenericInserted */
|
||||
.chroma .gl {} /* GenericUnderline */
|
||||
.chroma .go { color: #777e94; } /* GenericOutput */
|
||||
.chroma .gp { color: #ebdbb2; } /* GenericPrompt */
|
||||
.chroma .gr { color: #ff4433; } /* GenericError */
|
||||
.chroma .gs { color: #ebdbb2; } /* GenericStrong */
|
||||
.chroma .gt { color: #ff7540; } /* GenericTraceback */
|
||||
.chroma .gu { color: #b8bb26; } /* GenericSubheading */
|
||||
.chroma .il { color: #649bc4; } /* LiteralNumberIntegerLong */
|
||||
.chroma .k { color: #ff7540; } /* Keyword */
|
||||
.chroma .kc { color: #649bc4; } /* KeywordConstant */
|
||||
.chroma .kd { color: #ff7540; } /* KeywordDeclaration */
|
||||
.chroma .kn { color: #ffaa10; } /* KeywordNamespace */
|
||||
.chroma .kp { color: #5f8700; } /* KeywordPseudo */
|
||||
.chroma .kr { color: #ff7540; } /* KeywordReserved */
|
||||
.chroma .kt { color: #ff7b72; } /* KeywordType */
|
||||
.chroma .l {} /* Literal */
|
||||
.chroma .ld {} /* LiteralDate */
|
||||
.chroma .m { color: #649bc4; } /* LiteralNumber */
|
||||
.chroma .mb { color: #649bc4; } /* LiteralNumberBin */
|
||||
.chroma .mf { color: #649bc4; } /* LiteralNumberFloat */
|
||||
.chroma .mh { color: #649bc4; } /* LiteralNumberHex */
|
||||
.chroma .mi { color: #649bc4; } /* LiteralNumberInteger */
|
||||
.chroma .mo { color: #649bc4; } /* LiteralNumberOct */
|
||||
.chroma .n { color: #c9d1d9; } /* Name */
|
||||
.chroma .na { color: #b8bb26; } /* NameAttribute */
|
||||
.chroma .nb { color: #fabd2f; } /* NameBuiltin */
|
||||
.chroma .nc { color: #ffaa10; } /* NameClass */
|
||||
.chroma .nd { color: #8ec07c; } /* NameDecorator */
|
||||
.chroma .ne { color: #ff7540; } /* NameException */
|
||||
.chroma .nf { color: #fabd2f; } /* NameFunction */
|
||||
.chroma .ni { color: #fabd2f; } /* NameEntity */
|
||||
.chroma .nl { color: #ff7540; } /* NameLabel */
|
||||
.chroma .nn { color: #ffaa10; } /* NameNamespace */
|
||||
.chroma .no { color: #649bc4; } /* NameConstant */
|
||||
.chroma .nt { color: #ff7540; } /* NameTag */
|
||||
.chroma .nv { color: #ebdbb2; } /* NameVariable */
|
||||
.chroma .nx { color: #b6bac5; } /* NameOther */
|
||||
.chroma .o { color: #ff7540; } /* Operator */
|
||||
.chroma .ow { color: #5f8700; } /* OperatorWord */
|
||||
.chroma .p { color: #d2d4db; } /* Punctuation */
|
||||
.chroma .py {} /* NameProperty */
|
||||
.chroma .s { color: #b8bb26; } /* LiteralString */
|
||||
.chroma .s1 { color: #b8bb26; } /* LiteralStringSingle */
|
||||
.chroma .s2 { color: #b8bb26; } /* LiteralStringDouble */
|
||||
.chroma .sa { color: #649bc4; } /* LiteralStringAffix */
|
||||
.chroma .sb { color: #b8bb26; } /* LiteralStringBacktick */
|
||||
.chroma .sc { color: #649bc4; } /* LiteralStringChar */
|
||||
.chroma .sd { color: #777e94; } /* LiteralStringDoc */
|
||||
.chroma .se { color: #ff7540; } /* LiteralStringEscape */
|
||||
.chroma .sh { color: #649bc4; } /* LiteralStringHeredoc */
|
||||
.chroma .si { color: #ffaa10; } /* LiteralStringInterpol */
|
||||
.chroma .sr { color: #9075cd; } /* LiteralStringRegex */
|
||||
.chroma .ss { color: #ff7540; } /* LiteralStringSymbol */
|
||||
.chroma .sx { color: #ffaa10; } /* LiteralStringOther */
|
||||
.chroma .vc { color: #ff7540; } /* NameVariableClass */
|
||||
.chroma .vg { color: #ffaa10; } /* NameVariableGlobal */
|
||||
.chroma .vi { color: #ffaa10; } /* NameVariableInstance */
|
||||
.chroma .vm {} /* NameVariableMagic */
|
||||
.chroma .w { color: #7f8699; } /* TextWhitespace */
|
74
web_src/css/chroma/light.css
Normal file
74
web_src/css/chroma/light.css
Normal file
|
@ -0,0 +1,74 @@
|
|||
.chroma .bp { color: #999999; } /* NameBuiltinPseudo */
|
||||
.chroma .c { color: #6a737d; } /* Comment */
|
||||
.chroma .c1 { color: #6a737d; } /* CommentSingle */
|
||||
.chroma .ch { color: #6a737d; } /* CommentHashbang */
|
||||
.chroma .cm { color: #999988; } /* CommentMultiline */
|
||||
.chroma .cp { color: #109295; } /* CommentPreproc */
|
||||
.chroma .cpf { color: #4c4dbc; } /* CommentPreprocFile */
|
||||
.chroma .cs { color: #999999; } /* CommentSpecial */
|
||||
.chroma .dl { color: #106303; } /* LiteralStringDelimiter */
|
||||
.chroma .fm {} /* NameFunctionMagic */
|
||||
.chroma .g {} /* Generic */
|
||||
.chroma .gd { color: #000000; background-color: #ffdddd; } /* GenericDeleted */
|
||||
.chroma .ge { color: #000000; } /* GenericEmph */
|
||||
.chroma .gh { color: #999999; } /* GenericHeading */
|
||||
.chroma .gi { color: #000000; background-color: #ddffdd; } /* GenericInserted */
|
||||
.chroma .gl {} /* GenericUnderline */
|
||||
.chroma .go { color: #888888; } /* GenericOutput */
|
||||
.chroma .gp { color: #555555; } /* GenericPrompt */
|
||||
.chroma .gr { color: #aa0000; } /* GenericError */
|
||||
.chroma .gs {} /* GenericStrong */
|
||||
.chroma .gt { color: #aa0000; } /* GenericTraceback */
|
||||
.chroma .gu { color: #aaaaaa; } /* GenericSubheading */
|
||||
.chroma .il { color: #009999; } /* LiteralNumberIntegerLong */
|
||||
.chroma .k { color: #d73a49; } /* Keyword */
|
||||
.chroma .kc { color: #d73a49; } /* KeywordConstant */
|
||||
.chroma .kd { color: #d73a49; } /* KeywordDeclaration */
|
||||
.chroma .kn { color: #d73a49; } /* KeywordNamespace */
|
||||
.chroma .kp { color: #d73a49; } /* KeywordPseudo */
|
||||
.chroma .kr { color: #d73a49; } /* KeywordReserved */
|
||||
.chroma .kt { color: #445588; } /* KeywordType */
|
||||
.chroma .l {} /* Literal */
|
||||
.chroma .ld {} /* LiteralDate */
|
||||
.chroma .m { color: #009999; } /* LiteralNumber */
|
||||
.chroma .mb { color: #009999; } /* LiteralNumberBin */
|
||||
.chroma .mf { color: #009999; } /* LiteralNumberFloat */
|
||||
.chroma .mh { color: #009999; } /* LiteralNumberHex */
|
||||
.chroma .mi { color: #009999; } /* LiteralNumberInteger */
|
||||
.chroma .mo { color: #009999; } /* LiteralNumberOct */
|
||||
.chroma .n {} /* Name */
|
||||
.chroma .na { color: #d73a49; } /* NameAttribute */
|
||||
.chroma .nb { color: #005cc5; } /* NameBuiltin */
|
||||
.chroma .nc { color: #445588; } /* NameClass */
|
||||
.chroma .nd { color: #3c5d5d; } /* NameDecorator */
|
||||
.chroma .ne { color: #990000; } /* NameException */
|
||||
.chroma .nf { color: #005cc5; } /* NameFunction */
|
||||
.chroma .ni { color: #6f42c1; } /* NameEntity */
|
||||
.chroma .nl { color: #990000; } /* NameLabel */
|
||||
.chroma .nn { color: #555555; } /* NameNamespace */
|
||||
.chroma .no { color: #008080; } /* NameConstant */
|
||||
.chroma .nt { color: #22863a; } /* NameTag */
|
||||
.chroma .nv { color: #008080; } /* NameVariable */
|
||||
.chroma .nx { color: #24292e; } /* NameOther */
|
||||
.chroma .o { color: #d73a49; } /* Operator */
|
||||
.chroma .ow { color: #d73a49; } /* OperatorWord */
|
||||
.chroma .p {} /* Punctuation */
|
||||
.chroma .py {} /* NameProperty */
|
||||
.chroma .s { color: #106303; } /* LiteralString */
|
||||
.chroma .s1 { color: #cc7a00; } /* LiteralStringSingle */
|
||||
.chroma .s2 { color: #106303; } /* LiteralStringDouble */
|
||||
.chroma .sa { color: #106303; } /* LiteralStringAffix */
|
||||
.chroma .sb { color: #106303; } /* LiteralStringBacktick */
|
||||
.chroma .sc { color: #106303; } /* LiteralStringChar */
|
||||
.chroma .sd { color: #106303; } /* LiteralStringDoc */
|
||||
.chroma .se { color: #106303; } /* LiteralStringEscape */
|
||||
.chroma .sh { color: #106303; } /* LiteralStringHeredoc */
|
||||
.chroma .si { color: #106303; } /* LiteralStringInterpol */
|
||||
.chroma .sr { color: #22863a; } /* LiteralStringRegex */
|
||||
.chroma .ss { color: #106303; } /* LiteralStringSymbol */
|
||||
.chroma .sx { color: #106303; } /* LiteralStringOther */
|
||||
.chroma .vc { color: #008080; } /* NameVariableClass */
|
||||
.chroma .vg { color: #008080; } /* NameVariableGlobal */
|
||||
.chroma .vi { color: #008080; } /* NameVariableInstance */
|
||||
.chroma .vm {} /* NameVariableMagic */
|
||||
.chroma .w { color: #bbbbbb; } /* TextWhitespace */
|
24
web_src/css/code/linebutton.css
Normal file
24
web_src/css/code/linebutton.css
Normal file
|
@ -0,0 +1,24 @@
|
|||
.code-view .lines-num:hover {
|
||||
color: var(--color-text-dark) !important;
|
||||
}
|
||||
|
||||
.code-line-menu {
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
.code-line-button {
|
||||
background-color: var(--color-menu);
|
||||
color: var(--color-text-light);
|
||||
border: 1px solid var(--color-secondary);
|
||||
border-radius: var(--border-radius);
|
||||
padding: 1px 10px;
|
||||
position: absolute;
|
||||
font-family: var(--fonts-regular);
|
||||
left: 0;
|
||||
transform: translateX(-70%);
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
color: var(--color-primary);
|
||||
}
|
||||
}
|
45
web_src/css/codemirror/base.css
Normal file
45
web_src/css/codemirror/base.css
Normal file
|
@ -0,0 +1,45 @@
|
|||
.ui .field:not(:last-child) .EasyMDEContainer .editor-statusbar {
|
||||
margin-bottom: -1em; /* when there is a statusbar, the "margin-bottom: 1em" of the "field" is not needed, because the statusbar is likely a blank line */
|
||||
}
|
||||
|
||||
.EasyMDEContainer .CodeMirror {
|
||||
color: var(--color-input-text);
|
||||
background-color: var(--color-input-background);
|
||||
border-color: var(--color-secondary);
|
||||
font: 14px var(--fonts-monospace);
|
||||
}
|
||||
|
||||
.EasyMDEContainer .CodeMirror.cm-s-default {
|
||||
border-radius: var(--border-radius);
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.EasyMDEContainer .CodeMirror.CodeMirror-fullscreen.CodeMirror-focused {
|
||||
border-right: 1px solid var(--color-primary) !important;
|
||||
}
|
||||
|
||||
.CodeMirror-cursor {
|
||||
border-color: var(--color-caret) !important;
|
||||
}
|
||||
|
||||
.CodeMirror .cm-comment {
|
||||
background: inherit !important;
|
||||
}
|
||||
|
||||
.CodeMirror .CodeMirror-code {
|
||||
font: 14px var(--fonts-monospace);
|
||||
}
|
||||
|
||||
.CodeMirror-selected {
|
||||
background: var(--color-primary-light-1) !important;
|
||||
color: var(--color-white) !important;
|
||||
}
|
||||
|
||||
.CodeMirror-placeholder {
|
||||
color: var(--color-placeholder-text) !important;
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
.CodeMirror-focused {
|
||||
border-color: var(--color-primary) !important;
|
||||
}
|
106
web_src/css/codemirror/dark.css
Normal file
106
web_src/css/codemirror/dark.css
Normal file
|
@ -0,0 +1,106 @@
|
|||
.CodeMirror.cm-s-default .cm-property,
|
||||
.CodeMirror.cm-s-paper .cm-property {
|
||||
color: #a0cc75;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-header,
|
||||
.CodeMirror.cm-s-paper .cm-header {
|
||||
color: #9daccc;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-quote,
|
||||
.CodeMirror.cm-s-paper .cm-quote {
|
||||
color: #009900;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-keyword,
|
||||
.CodeMirror.cm-s-paper .cm-keyword {
|
||||
color: #cc8a61;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-atom,
|
||||
.CodeMirror.cm-s-paper .cm-atom {
|
||||
color: #ef5e77;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-number,
|
||||
.CodeMirror.cm-s-paper .cm-number {
|
||||
color: #ff5656;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-def,
|
||||
.CodeMirror.cm-s-paper .cm-def {
|
||||
color: #e4e4e4;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-variable-2,
|
||||
.CodeMirror.cm-s-paper .cm-variable-2 {
|
||||
color: #00bdbf;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-variable-3,
|
||||
.CodeMirror.cm-s-paper .cm-variable-3 {
|
||||
color: #008855;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-comment,
|
||||
.CodeMirror.cm-s-paper .cm-comment {
|
||||
color: #8e9ab3;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-string,
|
||||
.CodeMirror.cm-s-paper .cm-string {
|
||||
color: #a77272;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-string-2,
|
||||
.CodeMirror.cm-s-paper .cm-string-2 {
|
||||
color: #ff5500;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-meta,
|
||||
.CodeMirror.cm-s-paper .cm-meta,
|
||||
.CodeMirror.cm-s-default .cm-qualifier,
|
||||
.CodeMirror.cm-s-paper .cm-qualifier {
|
||||
color: #ffb176;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-builtin,
|
||||
.CodeMirror.cm-s-paper .cm-builtin {
|
||||
color: #b7c951;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-bracket,
|
||||
.CodeMirror.cm-s-paper .cm-bracket {
|
||||
color: #999977;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-tag,
|
||||
.CodeMirror.cm-s-paper .cm-tag {
|
||||
color: #f1d273;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-attribute,
|
||||
.CodeMirror.cm-s-paper .cm-attribute {
|
||||
color: #bfcc70;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-hr,
|
||||
.CodeMirror.cm-s-paper .cm-hr {
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-url,
|
||||
.CodeMirror.cm-s-paper .cm-url {
|
||||
color: #c5cfd0;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-link,
|
||||
.CodeMirror.cm-s-paper .cm-link {
|
||||
color: #d8c792;
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-error,
|
||||
.CodeMirror.cm-s-paper .cm-error {
|
||||
color: #dbdbeb;
|
||||
}
|
1
web_src/css/codemirror/light.css
Normal file
1
web_src/css/codemirror/light.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Placeholder, there is no light theme, it uses CM defaults */
|
299
web_src/css/console/console.css
Normal file
299
web_src/css/console/console.css
Normal file
|
@ -0,0 +1,299 @@
|
|||
/* Based on https://github.com/buildkite/terminal-to-html/blob/697ff23bd8dc48b9d23f11f259f5256dae2455f0/assets/terminal.css */
|
||||
|
||||
.console {
|
||||
background: var(--color-console-bg);
|
||||
color: var(--color-console-fg);
|
||||
font-family: var(--fonts-monospace);
|
||||
border-radius: 5px;
|
||||
word-break: break-word;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
.console img { max-width: 100%; }
|
||||
|
||||
.console a {
|
||||
color: inherit;
|
||||
text-decoration: underline;
|
||||
text-decoration-style: dashed;
|
||||
}
|
||||
.console a:hover { color: var(--color-primary); }
|
||||
|
||||
@keyframes blink-animation {
|
||||
to {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.term-fg2 { color: #838887; } /* faint (decreased intensity) - same as gray really */
|
||||
.term-fg3 { font-style: italic; } /* italic */
|
||||
.term-fg4 { text-decoration: underline; } /* underline */
|
||||
.term-fg5 { animation: blink-animation 1s steps(3, start) infinite; } /* blink */
|
||||
.term-fg9 { text-decoration: line-through; } /* crossed-out */
|
||||
|
||||
.term-fg30 { color: #666666; } /* black (but we can't use black, so a diff color) */
|
||||
.term-fg31 { color: #ff7070; } /* red */
|
||||
.term-fg32 { color: #b0f986; } /* green */
|
||||
.term-fg33 { color: #c6c502; } /* yellow */
|
||||
.term-fg34 { color: #8db7e0; } /* blue */
|
||||
.term-fg35 { color: #f271fb; } /* magenta */
|
||||
.term-fg36 { color: #6bf7ff; } /* cyan */
|
||||
|
||||
/* high intense colors */
|
||||
.term-fgi1 { color: #5ef765; }
|
||||
.term-fgi90 { color: #838887; } /* grey */
|
||||
.term-fgi91 { color: #ff3333; } /* red */
|
||||
.term-fgi92 { color: #00ff00; } /* green */
|
||||
.term-fgi93 { color: #fffc67; } /* yellow */
|
||||
.term-fgi94 { color: #6871ff; } /* blue */
|
||||
.term-fgi95 { color: #ff76ff; } /* magenta */
|
||||
.term-fgi96 { color: #60fcff; } /* cyan */
|
||||
|
||||
/* background colors */
|
||||
.term-bg40 { background: #676767; } /* grey */
|
||||
.term-bg41 { background: #ff4343; } /* red */
|
||||
.term-bg42 { background: #99ff5f; } /* green */
|
||||
|
||||
/* custom foreground/background combos for readability */
|
||||
.term-fg31.term-bg40 { color: #f8a39f; }
|
||||
|
||||
/* xterm colors */
|
||||
.term-fgx16 { color: #000000; }
|
||||
.term-fgx17 { color: #00005f; }
|
||||
.term-fgx18 { color: #000087; }
|
||||
.term-fgx19 { color: #0000af; }
|
||||
.term-fgx20 { color: #0000d7; }
|
||||
.term-fgx21 { color: #0000ff; }
|
||||
.term-fgx22 { color: #005f00; }
|
||||
.term-fgx23 { color: #005f5f; }
|
||||
.term-fgx24 { color: #005f87; }
|
||||
.term-fgx25 { color: #005faf; }
|
||||
.term-fgx26 { color: #005fd7; }
|
||||
.term-fgx27 { color: #005fff; }
|
||||
.term-fgx28 { color: #008700; }
|
||||
.term-fgx29 { color: #00875f; }
|
||||
.term-fgx30 { color: #008787; }
|
||||
.term-fgx31 { color: #0087af; }
|
||||
.term-fgx32 { color: #0087d7; }
|
||||
.term-fgx33 { color: #0087ff; }
|
||||
.term-fgx34 { color: #00af00; }
|
||||
.term-fgx35 { color: #00af5f; }
|
||||
.term-fgx36 { color: #00af87; }
|
||||
.term-fgx37 { color: #00afaf; }
|
||||
.term-fgx38 { color: #00afd7; }
|
||||
.term-fgx39 { color: #00afff; }
|
||||
.term-fgx40 { color: #00d700; }
|
||||
.term-fgx41 { color: #00d75f; }
|
||||
.term-fgx42 { color: #00d787; }
|
||||
.term-fgx43 { color: #00d7af; }
|
||||
.term-fgx44 { color: #00d7d7; }
|
||||
.term-fgx45 { color: #00d7ff; }
|
||||
.term-fgx46 { color: #00ff00; }
|
||||
.term-fgx47 { color: #00ff5f; }
|
||||
.term-fgx48 { color: #00ff87; }
|
||||
.term-fgx49 { color: #00ffaf; }
|
||||
.term-fgx50 { color: #00ffd7; }
|
||||
.term-fgx51 { color: #00ffff; }
|
||||
.term-fgx52 { color: #5f0000; }
|
||||
.term-fgx53 { color: #5f005f; }
|
||||
.term-fgx54 { color: #5f0087; }
|
||||
.term-fgx55 { color: #5f00af; }
|
||||
.term-fgx56 { color: #5f00d7; }
|
||||
.term-fgx57 { color: #5f00ff; }
|
||||
.term-fgx58 { color: #5f5f00; }
|
||||
.term-fgx59 { color: #5f5f5f; }
|
||||
.term-fgx60 { color: #5f5f87; }
|
||||
.term-fgx61 { color: #5f5faf; }
|
||||
.term-fgx62 { color: #5f5fd7; }
|
||||
.term-fgx63 { color: #5f5fff; }
|
||||
.term-fgx64 { color: #5f8700; }
|
||||
.term-fgx65 { color: #5f875f; }
|
||||
.term-fgx66 { color: #5f8787; }
|
||||
.term-fgx67 { color: #5f87af; }
|
||||
.term-fgx68 { color: #5f87d7; }
|
||||
.term-fgx69 { color: #5f87ff; }
|
||||
.term-fgx70 { color: #5faf00; }
|
||||
.term-fgx71 { color: #5faf5f; }
|
||||
.term-fgx72 { color: #5faf87; }
|
||||
.term-fgx73 { color: #5fafaf; }
|
||||
.term-fgx74 { color: #5fafd7; }
|
||||
.term-fgx75 { color: #5fafff; }
|
||||
.term-fgx76 { color: #5fd700; }
|
||||
.term-fgx77 { color: #5fd75f; }
|
||||
.term-fgx78 { color: #5fd787; }
|
||||
.term-fgx79 { color: #5fd7af; }
|
||||
.term-fgx80 { color: #5fd7d7; }
|
||||
.term-fgx81 { color: #5fd7ff; }
|
||||
.term-fgx82 { color: #5fff00; }
|
||||
.term-fgx83 { color: #5fff5f; }
|
||||
.term-fgx84 { color: #5fff87; }
|
||||
.term-fgx85 { color: #5fffaf; }
|
||||
.term-fgx86 { color: #5fffd7; }
|
||||
.term-fgx87 { color: #5fffff; }
|
||||
.term-fgx88 { color: #870000; }
|
||||
.term-fgx89 { color: #87005f; }
|
||||
.term-fgx90 { color: #870087; }
|
||||
.term-fgx91 { color: #8700af; }
|
||||
.term-fgx92 { color: #8700d7; }
|
||||
.term-fgx93 { color: #8700ff; }
|
||||
.term-fgx94 { color: #875f00; }
|
||||
.term-fgx95 { color: #875f5f; }
|
||||
.term-fgx96 { color: #875f87; }
|
||||
.term-fgx97 { color: #875faf; }
|
||||
.term-fgx98 { color: #875fd7; }
|
||||
.term-fgx99 { color: #875fff; }
|
||||
.term-fgx100 { color: #878700; }
|
||||
.term-fgx101 { color: #87875f; }
|
||||
.term-fgx102 { color: #878787; }
|
||||
.term-fgx103 { color: #8787af; }
|
||||
.term-fgx104 { color: #8787d7; }
|
||||
.term-fgx105 { color: #8787ff; }
|
||||
.term-fgx106 { color: #87af00; }
|
||||
.term-fgx107 { color: #87af5f; }
|
||||
.term-fgx108 { color: #87af87; }
|
||||
.term-fgx109 { color: #87afaf; }
|
||||
.term-fgx110 { color: #87afd7; }
|
||||
.term-fgx111 { color: #87afff; }
|
||||
.term-fgx112 { color: #87d700; }
|
||||
.term-fgx113 { color: #87d75f; }
|
||||
.term-fgx114 { color: #87d787; }
|
||||
.term-fgx115 { color: #87d7af; }
|
||||
.term-fgx116 { color: #87d7d7; }
|
||||
.term-fgx117 { color: #87d7ff; }
|
||||
.term-fgx118 { color: #87ff00; }
|
||||
.term-fgx119 { color: #87ff5f; }
|
||||
.term-fgx120 { color: #87ff87; }
|
||||
.term-fgx121 { color: #87ffaf; }
|
||||
.term-fgx122 { color: #87ffd7; }
|
||||
.term-fgx123 { color: #87ffff; }
|
||||
.term-fgx124 { color: #af0000; }
|
||||
.term-fgx125 { color: #af005f; }
|
||||
.term-fgx126 { color: #af0087; }
|
||||
.term-fgx127 { color: #af00af; }
|
||||
.term-fgx128 { color: #af00d7; }
|
||||
.term-fgx129 { color: #af00ff; }
|
||||
.term-fgx130 { color: #af5f00; }
|
||||
.term-fgx131 { color: #af5f5f; }
|
||||
.term-fgx132 { color: #af5f87; }
|
||||
.term-fgx133 { color: #af5faf; }
|
||||
.term-fgx134 { color: #af5fd7; }
|
||||
.term-fgx135 { color: #af5fff; }
|
||||
.term-fgx136 { color: #af8700; }
|
||||
.term-fgx137 { color: #af875f; }
|
||||
.term-fgx138 { color: #af8787; }
|
||||
.term-fgx139 { color: #af87af; }
|
||||
.term-fgx140 { color: #af87d7; }
|
||||
.term-fgx141 { color: #af87ff; }
|
||||
.term-fgx142 { color: #afaf00; }
|
||||
.term-fgx143 { color: #afaf5f; }
|
||||
.term-fgx144 { color: #afaf87; }
|
||||
.term-fgx145 { color: #afafaf; }
|
||||
.term-fgx146 { color: #afafd7; }
|
||||
.term-fgx147 { color: #afafff; }
|
||||
.term-fgx148 { color: #afd700; }
|
||||
.term-fgx149 { color: #afd75f; }
|
||||
.term-fgx150 { color: #afd787; }
|
||||
.term-fgx151 { color: #afd7af; }
|
||||
.term-fgx152 { color: #afd7d7; }
|
||||
.term-fgx153 { color: #afd7ff; }
|
||||
.term-fgx154 { color: #afff00; }
|
||||
.term-fgx155 { color: #afff5f; }
|
||||
.term-fgx156 { color: #afff87; }
|
||||
.term-fgx157 { color: #afffaf; }
|
||||
.term-fgx158 { color: #afffd7; }
|
||||
.term-fgx159 { color: #afffff; }
|
||||
.term-fgx160 { color: #d70000; }
|
||||
.term-fgx161 { color: #d7005f; }
|
||||
.term-fgx162 { color: #d70087; }
|
||||
.term-fgx163 { color: #d700af; }
|
||||
.term-fgx164 { color: #d700d7; }
|
||||
.term-fgx165 { color: #d700ff; }
|
||||
.term-fgx166 { color: #d75f00; }
|
||||
.term-fgx167 { color: #d75f5f; }
|
||||
.term-fgx168 { color: #d75f87; }
|
||||
.term-fgx169 { color: #d75faf; }
|
||||
.term-fgx170 { color: #d75fd7; }
|
||||
.term-fgx171 { color: #d75fff; }
|
||||
.term-fgx172 { color: #d78700; }
|
||||
.term-fgx173 { color: #d7875f; }
|
||||
.term-fgx174 { color: #d78787; }
|
||||
.term-fgx175 { color: #d787af; }
|
||||
.term-fgx176 { color: #d787d7; }
|
||||
.term-fgx177 { color: #d787ff; }
|
||||
.term-fgx178 { color: #d7af00; }
|
||||
.term-fgx179 { color: #d7af5f; }
|
||||
.term-fgx180 { color: #d7af87; }
|
||||
.term-fgx181 { color: #d7afaf; }
|
||||
.term-fgx182 { color: #d7afd7; }
|
||||
.term-fgx183 { color: #d7afff; }
|
||||
.term-fgx184 { color: #d7d700; }
|
||||
.term-fgx185 { color: #d7d75f; }
|
||||
.term-fgx186 { color: #d7d787; }
|
||||
.term-fgx187 { color: #d7d7af; }
|
||||
.term-fgx188 { color: #d7d7d7; }
|
||||
.term-fgx189 { color: #d7d7ff; }
|
||||
.term-fgx190 { color: #d7ff00; }
|
||||
.term-fgx191 { color: #d7ff5f; }
|
||||
.term-fgx192 { color: #d7ff87; }
|
||||
.term-fgx193 { color: #d7ffaf; }
|
||||
.term-fgx194 { color: #d7ffd7; }
|
||||
.term-fgx195 { color: #d7ffff; }
|
||||
.term-fgx196 { color: #ff0000; }
|
||||
.term-fgx197 { color: #ff005f; }
|
||||
.term-fgx198 { color: #ff0087; }
|
||||
.term-fgx199 { color: #ff00af; }
|
||||
.term-fgx200 { color: #ff00d7; }
|
||||
.term-fgx201 { color: #ff00ff; }
|
||||
.term-fgx202 { color: #ff5f00; }
|
||||
.term-fgx203 { color: #ff5f5f; }
|
||||
.term-fgx204 { color: #ff5f87; }
|
||||
.term-fgx205 { color: #ff5faf; }
|
||||
.term-fgx206 { color: #ff5fd7; }
|
||||
.term-fgx207 { color: #ff5fff; }
|
||||
.term-fgx208 { color: #ff8700; }
|
||||
.term-fgx209 { color: #ff875f; }
|
||||
.term-fgx210 { color: #ff8787; }
|
||||
.term-fgx211 { color: #ff87af; }
|
||||
.term-fgx212 { color: #ff87d7; }
|
||||
.term-fgx213 { color: #ff87ff; }
|
||||
.term-fgx214 { color: #ffaf00; }
|
||||
.term-fgx215 { color: #ffaf5f; }
|
||||
.term-fgx216 { color: #ffaf87; }
|
||||
.term-fgx217 { color: #ffafaf; }
|
||||
.term-fgx218 { color: #ffafd7; }
|
||||
.term-fgx219 { color: #ffafff; }
|
||||
.term-fgx220 { color: #ffd700; }
|
||||
.term-fgx221 { color: #ffd75f; }
|
||||
.term-fgx222 { color: #ffd787; }
|
||||
.term-fgx223 { color: #ffd7af; }
|
||||
.term-fgx224 { color: #ffd7d7; }
|
||||
.term-fgx225 { color: #ffd7ff; }
|
||||
.term-fgx226 { color: #ffff00; }
|
||||
.term-fgx227 { color: #ffff5f; }
|
||||
.term-fgx228 { color: #ffff87; }
|
||||
.term-fgx229 { color: #ffffaf; }
|
||||
.term-fgx230 { color: #ffffd7; }
|
||||
.term-fgx231 { color: #ffffff; }
|
||||
.term-fgx232 { color: #080808; }
|
||||
.term-fgx233 { color: #121212; }
|
||||
.term-fgx234 { color: #1c1c1c; }
|
||||
.term-fgx235 { color: #262626; }
|
||||
.term-fgx236 { color: #303030; }
|
||||
.term-fgx237 { color: #3a3a3a; }
|
||||
.term-fgx238 { color: #444444; }
|
||||
.term-fgx239 { color: #4e4e4e; }
|
||||
.term-fgx240 { color: #585858; }
|
||||
.term-fgx241 { color: #626262; }
|
||||
.term-fgx242 { color: #6c6c6c; }
|
||||
.term-fgx243 { color: #767676; }
|
||||
.term-fgx244 { color: #808080; }
|
||||
.term-fgx245 { color: #8a8a8a; }
|
||||
.term-fgx246 { color: #949494; }
|
||||
.term-fgx247 { color: #9e9e9e; }
|
||||
.term-fgx248 { color: #a8a8a8; }
|
||||
.term-fgx249 { color: #b2b2b2; }
|
||||
.term-fgx250 { color: #bcbcbc; }
|
||||
.term-fgx251 { color: #c6c6c6; }
|
||||
.term-fgx252 { color: #d0d0d0; }
|
||||
.term-fgx253 { color: #dadada; }
|
||||
.term-fgx254 { color: #e4e4e4; }
|
||||
.term-fgx255 { color: #eeeeee; }
|
203
web_src/css/dashboard.css
Normal file
203
web_src/css/dashboard.css
Normal file
|
@ -0,0 +1,203 @@
|
|||
.dashboard.feeds .context.user.menu,
|
||||
.dashboard.issues .context.user.menu {
|
||||
z-index: 101;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.dashboard.feeds .context.user.menu .ui.header,
|
||||
.dashboard.issues .context.user.menu .ui.header {
|
||||
font-size: 1rem;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.dashboard.feeds .filter.menu,
|
||||
.dashboard.issues .filter.menu {
|
||||
width: initial;
|
||||
}
|
||||
|
||||
.dashboard.feeds .filter.menu .item,
|
||||
.dashboard.issues .filter.menu .item {
|
||||
text-align: left;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.dashboard.feeds .filter.menu .item .text,
|
||||
.dashboard.issues .filter.menu .item .text {
|
||||
height: 16px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.dashboard.feeds .filter.menu .item .text.truncate,
|
||||
.dashboard.issues .filter.menu .item .text.truncate {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.dashboard.feeds .filter.menu .item .floating.label,
|
||||
.dashboard.issues .filter.menu .item .floating.label {
|
||||
top: 7px;
|
||||
left: 90%;
|
||||
width: 15%;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.dashboard.feeds .filter.menu .item .floating.label,
|
||||
.dashboard.issues .filter.menu .item .floating.label {
|
||||
top: 10px;
|
||||
left: auto;
|
||||
width: auto;
|
||||
right: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Sort */
|
||||
.dashboard.feeds .filter.menu .jump.item,
|
||||
.dashboard.issues .filter.menu .jump.item {
|
||||
margin: 1px;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.dashboard.feeds .filter.menu .menu,
|
||||
.dashboard.issues .filter.menu .menu {
|
||||
max-height: 300px;
|
||||
overflow-x: auto;
|
||||
right: 0 !important;
|
||||
left: auto !important;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.dashboard.feeds .filter.menu,
|
||||
.dashboard.issues .filter.menu {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.dashboard.feeds .right.stackable.menu > .item.active,
|
||||
.dashboard.issues .right.stackable.menu > .item.active {
|
||||
color: var(--color-red);
|
||||
}
|
||||
|
||||
.dashboard .dashboard-repos,
|
||||
.dashboard .dashboard-orgs {
|
||||
margin: 0 1px; /* Accommodate for Semantic's 1px hacks on .attached elements */
|
||||
}
|
||||
|
||||
.dashboard .dashboard-navbar {
|
||||
width: 100vw;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
|
||||
.dashboard .dashboard-navbar .org-visibility .label {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.dashboard .dashboard-navbar .ui.dropdown {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.dashboard .dashboard-navbar .ui.dropdown > .menu {
|
||||
position: static;
|
||||
}
|
||||
}
|
||||
|
||||
.feeds .news li {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
margin-top: 0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.feeds .news li img {
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.feeds .news li > * + * {
|
||||
margin-left: 0.35rem;
|
||||
}
|
||||
|
||||
.feeds .news > .ui.grid {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.feeds .news .left .ui.avatar {
|
||||
margin-top: 13px;
|
||||
}
|
||||
|
||||
.feeds .news .time-since {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.feeds .news .issue.title {
|
||||
width: 80%;
|
||||
margin: 0 0 1em;
|
||||
}
|
||||
|
||||
.feeds .news .push.news .content ul {
|
||||
line-height: 18px;
|
||||
font-size: 13px;
|
||||
list-style: none;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.feeds .news .push.news .content ul .text.truncate {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.feeds .news .commit-id {
|
||||
font-family: var(--fonts-monospace);
|
||||
}
|
||||
|
||||
.feeds .news code {
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
background-color: var(--color-markup-code-block);
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.feeds .news:last-of-type .divider {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.feeds .list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.feeds .list ul li:not(:last-child) {
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.feeds .list ul li.private {
|
||||
background-color: var(--color-box-body-highlight);
|
||||
}
|
||||
|
||||
.feeds .list ul li .repo-list-link {
|
||||
padding: 6px 1em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.feeds .list ul li .repo-list-link .svg {
|
||||
color: var(--color-text-light-2);
|
||||
}
|
||||
|
||||
.feeds .list ul li .repo-list-link .star-num {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.feeds .list #privateFilterCheckbox .svg {
|
||||
color: var(--color-grey);
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
.feeds .list .repo-owner-name-list .item-name {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.feeds .list .repo-owner-name-list .item-name svg {
|
||||
min-width: 16px;
|
||||
}
|
82
web_src/css/editor.css
Normal file
82
web_src/css/editor.css
Normal file
|
@ -0,0 +1,82 @@
|
|||
.repository.file.editor .tab[data-tab="write"] {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.repository.file.editor .tab[data-tab="write"] .editor-toolbar {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.repository.file.editor .tab[data-tab="write"] .CodeMirror {
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.editor-toolbar {
|
||||
max-width: calc(100vw - 80px);
|
||||
border-color: var(--color-secondary);
|
||||
}
|
||||
|
||||
.editor-toolbar.fullscreen {
|
||||
background: var(--color-body);
|
||||
}
|
||||
|
||||
.editor-toolbar button {
|
||||
border: none !important;
|
||||
color: var(--color-text-light);
|
||||
}
|
||||
|
||||
.editor-toolbar button:not(:hover) {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.editor-toolbar i.separator {
|
||||
border-left: none;
|
||||
border-right-color: var(--color-secondary);
|
||||
}
|
||||
|
||||
.editor-toolbar button:hover {
|
||||
background: var(--color-hover);
|
||||
}
|
||||
|
||||
.editor-toolbar button.active {
|
||||
background: var(--color-active);
|
||||
}
|
||||
|
||||
/* hide preview button, we have the preview tab for this */
|
||||
.editor-toolbar:not(.fullscreen) .preview {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* hide revert button in fullscreen, it breaks the page */
|
||||
.editor-toolbar.fullscreen .revert-to-textarea {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.editor-preview {
|
||||
background-color: var(--color-body);
|
||||
}
|
||||
|
||||
.editor-preview-side {
|
||||
border-color: var(--color-secondary);
|
||||
}
|
||||
|
||||
.editor-statusbar {
|
||||
color: var(--color-text-light);
|
||||
}
|
||||
|
||||
.editor-loading {
|
||||
padding: 1rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.edit-diff {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.edit-diff > div > .ui.table {
|
||||
border-top: none !important;
|
||||
border-bottom: none !important;
|
||||
border-left: 1px solid var(--color-secondary) !important;
|
||||
border-right: 1px solid var(--color-secondary) !important;
|
||||
}
|
88
web_src/css/explore.css
Normal file
88
web_src/css/explore.css
Normal file
|
@ -0,0 +1,88 @@
|
|||
.explore .navbar {
|
||||
justify-content: center;
|
||||
margin-bottom: 15px !important;
|
||||
background-color: var(--color-navbar) !important;
|
||||
border-width: 1px !important;
|
||||
}
|
||||
|
||||
.explore .navbar .svg {
|
||||
width: 16px;
|
||||
text-align: center;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.ui.repository.list .item {
|
||||
padding-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.ui.repository.list .item:not(:first-child) {
|
||||
border-top: 1px solid var(--color-secondary);
|
||||
padding-top: 1.5rem;
|
||||
}
|
||||
|
||||
.ui.repository.list .item .ui.header {
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.ui.repository.list .item .ui.header .name {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.ui.repository.list .item .ui.header .metas {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.ui.repository.list .item .time {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.ui.repository.list .item .ui.tags {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.ui.repository.branches .info {
|
||||
font-size: 12px;
|
||||
color: var(--color-text-light);
|
||||
display: flex;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.ui.repository.branches .info .commit-message {
|
||||
max-width: 72em;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.ui.repository.branches .overflow-visible {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/* fix alignment of PR popup in branches table */
|
||||
.ui.repository.branches table .ui.popup {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.ui.user.list .item {
|
||||
padding-bottom: 25px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.ui.user.list .item:not(:first-child) {
|
||||
border-top: 1px solid var(--color-secondary);
|
||||
padding-top: 25px;
|
||||
}
|
||||
|
||||
.ui.user.list .item img.ui.avatar {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.ui.user.list .item .description {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.ui.user.list .item .description .svg:not(:first-child) {
|
||||
margin-left: 5px;
|
||||
}
|
33
web_src/css/features/codeeditor.css
Normal file
33
web_src/css/features/codeeditor.css
Normal file
|
@ -0,0 +1,33 @@
|
|||
.monaco-editor-container,
|
||||
.editor-loading.is-loading {
|
||||
width: 100%;
|
||||
min-height: 200px;
|
||||
height: 90vh;
|
||||
}
|
||||
|
||||
.edit.githook .monaco-editor-container {
|
||||
border: 1px solid var(--color-secondary);
|
||||
height: 70vh;
|
||||
}
|
||||
|
||||
/* overwrite conflicting styles from fomantic */
|
||||
.monaco-editor-container .inputarea {
|
||||
min-height: 0 !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
resize: none !important;
|
||||
border: none !important;
|
||||
color: transparent !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* these seem unthemeable */
|
||||
.monaco-scrollable-element > .scrollbar > .slider {
|
||||
background: var(--color-primary) !important;
|
||||
}
|
||||
.monaco-scrollable-element > .scrollbar > .slider:hover {
|
||||
background: var(--color-primary-dark-1) !important;
|
||||
}
|
||||
.monaco-scrollable-element > .scrollbar > .slider:active {
|
||||
background: var(--color-primary-dark-2) !important;
|
||||
}
|
53
web_src/css/features/dropzone.css
Normal file
53
web_src/css/features/dropzone.css
Normal file
|
@ -0,0 +1,53 @@
|
|||
.ui .field .dropzone {
|
||||
border: 2px dashed var(--color-secondary);
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
padding: 0;
|
||||
border-radius: 4px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.ui .field .dropzone .dz-message {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.dropzone .dz-button {
|
||||
color: var(--color-text-light) !important;
|
||||
}
|
||||
|
||||
.dropzone:hover .dz-button {
|
||||
color: var(--color-text) !important;
|
||||
}
|
||||
|
||||
.dropzone .dz-error-message {
|
||||
top: 145px !important;
|
||||
}
|
||||
|
||||
.dropzone .dz-image {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.dropzone .dz-image img {
|
||||
max-width: 100% !important;
|
||||
max-height: 100% !important;
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
.dropzone .dz-preview.dz-image-preview,
|
||||
.dropzone-attachments .thumbnails img {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.dropzone-attachments .thumbnails img {
|
||||
height: 120px !important;
|
||||
width: 120px !important;
|
||||
object-fit: contain !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.dropzone .dz-preview:hover .dz-image img {
|
||||
filter: opacity(0.5) !important;
|
||||
}
|
317
web_src/css/features/gitgraph.css
Normal file
317
web_src/css/features/gitgraph.css
Normal file
|
@ -0,0 +1,317 @@
|
|||
#git-graph-container {
|
||||
overflow-x: auto;
|
||||
width: 100%;
|
||||
min-height: 350px;
|
||||
}
|
||||
|
||||
#git-graph-container > .ui.segment.loading {
|
||||
border: 0;
|
||||
z-index: 1;
|
||||
min-height: 246px;
|
||||
}
|
||||
|
||||
#git-graph-container h2 {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#git-graph-container .color-buttons {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#git-graph-container .ui.header.dividing {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
#git-graph-container #flow-select-refs-dropdown {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
min-width: 250px;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
#git-graph-container #flow-select-refs-dropdown .ui.label {
|
||||
max-width: 180px;
|
||||
display: inline-flex !important;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#git-graph-container #flow-select-refs-dropdown .ui.label .truncate {
|
||||
display: inline-block;
|
||||
max-width: 140px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: top;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#git-graph-container #flow-select-refs-dropdown .dropdown.icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#git-graph-container #flow-select-refs-dropdown .default.text {
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
#git-graph-container #flow-select-refs-dropdown input.search {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
#git-graph-container li {
|
||||
list-style-type: none;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
white-space: nowrap;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#git-graph-container li .node-relation {
|
||||
font-family: var(--fonts-monospace);
|
||||
}
|
||||
|
||||
#git-graph-container li .author {
|
||||
color: var(--color-text-light);
|
||||
}
|
||||
|
||||
#git-graph-container li .time {
|
||||
color: var(--color-text-light-3);
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
#git-graph-container li a:not(.ui):hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#git-graph-container li a em {
|
||||
color: var(--color-red);
|
||||
border-bottom: 1px dotted var(--color-secondary);
|
||||
text-decoration: none;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
#git-graph-container #rel-container {
|
||||
max-width: 30%;
|
||||
overflow-x: auto;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-container {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list li.highlight.hover {
|
||||
background-color: var(--color-secondary-alpha-30);
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list .tags a.button {
|
||||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list .sha.label {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list .sha.label .shortsha {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list .sha.label .shortsha-pad {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list .sha.label .ui.detail.icon.button {
|
||||
padding-top: 3px;
|
||||
margin-top: -5px;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
#git-graph-container #rev-list .author img.ui.avatar {
|
||||
width: auto;
|
||||
height: 18px;
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
#git-graph-container #graph-raw-list {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#git-graph-container.monochrome #rel-container .flow-group {
|
||||
stroke: var(--color-secondary-dark-5);
|
||||
fill: var(--color-secondary-dark-5);
|
||||
}
|
||||
|
||||
#git-graph-container.monochrome #rel-container .flow-group.highlight {
|
||||
stroke: var(--color-secondary-dark-12);
|
||||
fill: var(--color-secondary-dark-12);
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-1 {
|
||||
stroke: #499a37;
|
||||
fill: #499a37;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-2 {
|
||||
stroke: #ce4751;
|
||||
fill: #ce4751;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-3 {
|
||||
stroke: #8f9121;
|
||||
fill: #8f9121;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-4 {
|
||||
stroke: #ac32a6;
|
||||
fill: #ac32a6;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-5 {
|
||||
stroke: #7445e9;
|
||||
fill: #7445e9;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-6 {
|
||||
stroke: #c67d28;
|
||||
fill: #c67d28;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-7 {
|
||||
stroke: #4db392;
|
||||
fill: #4db392;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-8 {
|
||||
stroke: #aa4d30;
|
||||
fill: #aa4d30;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-9 {
|
||||
stroke: #2a6f84;
|
||||
fill: #2a6f84;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-10 {
|
||||
stroke: #c45327;
|
||||
fill: #c45327;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-11 {
|
||||
stroke: #3d965c;
|
||||
fill: #3d965c;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-12 {
|
||||
stroke: #792a93;
|
||||
fill: #792a93;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-13 {
|
||||
stroke: #439d73;
|
||||
fill: #439d73;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-14 {
|
||||
stroke: #103aad;
|
||||
fill: #103aad;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-15 {
|
||||
stroke: #982e85;
|
||||
fill: #982e85;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-0 {
|
||||
stroke: #7db233;
|
||||
fill: #7db233;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-1 {
|
||||
stroke: #5ac144;
|
||||
fill: #5ac144;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-2 {
|
||||
stroke: #ed5a8b;
|
||||
fill: #ed5a8b;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-3 {
|
||||
stroke: #ced049;
|
||||
fill: #ced048;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-4 {
|
||||
stroke: #db61d7;
|
||||
fill: #db62d6;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-5 {
|
||||
stroke: #8455f9;
|
||||
fill: #8455f9;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-6 {
|
||||
stroke: #e6a151;
|
||||
fill: #e6a151;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-7 {
|
||||
stroke: #44daaa;
|
||||
fill: #44daaa;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-8 {
|
||||
stroke: #dd7a5c;
|
||||
fill: #dd7a5c;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-9 {
|
||||
stroke: #38859c;
|
||||
fill: #38859c;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-10 {
|
||||
stroke: #d95520;
|
||||
fill: #d95520;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-11 {
|
||||
stroke: #42ae68;
|
||||
fill: #42ae68;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-12 {
|
||||
stroke: #9126b5;
|
||||
fill: #9126b5;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-13 {
|
||||
stroke: #4ab080;
|
||||
fill: #4ab080;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-14 {
|
||||
stroke: #284fb8;
|
||||
fill: #284fb8;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-15 {
|
||||
stroke: #971c80;
|
||||
fill: #971c80;
|
||||
}
|
||||
|
||||
#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-0 {
|
||||
stroke: #87ca28;
|
||||
fill: #87ca28;
|
||||
}
|
68
web_src/css/features/heatmap.css
Normal file
68
web_src/css/features/heatmap.css
Normal file
|
@ -0,0 +1,68 @@
|
|||
#user-heatmap {
|
||||
width: 100%;
|
||||
font-size: 9px;
|
||||
position: relative;
|
||||
min-height: 125px;
|
||||
}
|
||||
|
||||
#user-heatmap text {
|
||||
fill: currentcolor !important;
|
||||
}
|
||||
|
||||
/* for the "Less" and "More" legend */
|
||||
#user-heatmap .vch__legend .vch__legend {
|
||||
display: flex;
|
||||
font-size: 11px;
|
||||
align-items: center;
|
||||
justify-content: right;
|
||||
}
|
||||
|
||||
#user-heatmap .vch__legend .vch__legend div:first-child,
|
||||
#user-heatmap .vch__legend .vch__legend div:last-child {
|
||||
display: inline-block;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
/* move the "? contributions in the last ? months" text from top to bottom */
|
||||
#user-heatmap .total-contributions {
|
||||
font-size: 11px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 25px;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
#user-heatmap {
|
||||
min-height: 105px;
|
||||
}
|
||||
#user-heatmap .total-contributions {
|
||||
left: 21px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
#user-heatmap {
|
||||
min-height: 80px;
|
||||
}
|
||||
#user-heatmap .total-contributions {
|
||||
font-size: 10px;
|
||||
left: 17px;
|
||||
bottom: -4px;
|
||||
}
|
||||
}
|
||||
|
||||
.user.profile #user-heatmap {
|
||||
min-height: 135px;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.user.profile #user-heatmap {
|
||||
min-height: 115px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
.user.profile #user-heatmap {
|
||||
min-height: 90px;
|
||||
}
|
||||
}
|
107
web_src/css/features/imagediff.css
Normal file
107
web_src/css/features/imagediff.css
Normal file
|
@ -0,0 +1,107 @@
|
|||
.image-diff-container {
|
||||
text-align: center;
|
||||
padding: 1em 0;
|
||||
}
|
||||
|
||||
.image-diff-container img {
|
||||
border: 1px solid var(--color-primary-light-7);
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAG0lEQVQYlWN4+vTpf3SMDTAMBYXYBLFpHgoKAeiOf0SGE9kbAAAAAElFTkSuQmCC") right bottom var(--color-primary-light-7);
|
||||
}
|
||||
|
||||
.image-diff-container .before-container {
|
||||
border: 1px solid var(--color-red);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.image-diff-container .after-container {
|
||||
border: 1px solid var(--color-green);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-side-by-side .side {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
vertical-align: top;
|
||||
margin: 0 1em;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-side-by-side .side .side-header {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe .swipe-frame {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe .swipe-frame .before-container {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe .swipe-frame .swipe-container {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
display: block;
|
||||
border-left: 2px solid var(--color-secondary-dark-8);
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.image-diff-container
|
||||
.diff-swipe
|
||||
.swipe-frame
|
||||
.swipe-container
|
||||
.after-container {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe .swipe-frame .swipe-bar {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe .swipe-frame .swipe-bar .handle {
|
||||
background: var(--color-secondary-dark-8);
|
||||
left: -5px;
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
position: absolute;
|
||||
transform: rotate(45deg);
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe .swipe-frame .swipe-bar .top-handle {
|
||||
top: -12px;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-swipe .swipe-frame .swipe-bar .bottom-handle {
|
||||
bottom: -14px;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-overlay {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-overlay .overlay-frame {
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-overlay .before-container,
|
||||
.image-diff-container .diff-overlay .after-container {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.image-diff-container .diff-overlay input {
|
||||
max-width: 300px;
|
||||
}
|
147
web_src/css/features/projects.css
Normal file
147
web_src/css/features/projects.css
Normal file
|
@ -0,0 +1,147 @@
|
|||
.board {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
overflow-x: auto;
|
||||
margin: 0 0.5em;
|
||||
}
|
||||
|
||||
.board-column {
|
||||
background-color: var(--color-project-board-bg) !important;
|
||||
border: 1px solid var(--color-secondary) !important;
|
||||
margin: 0 0.5rem !important;
|
||||
padding: 0.5rem !important;
|
||||
width: 320px;
|
||||
height: calc(100vh - 450px);
|
||||
min-height: 60vh;
|
||||
overflow-y: scroll;
|
||||
flex: 0 0 auto;
|
||||
overflow: visible;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.board-column-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.board-column-header.dark-label {
|
||||
color: var(--color-project-board-dark-label) !important;
|
||||
}
|
||||
|
||||
.board-column-header.dark-label .board-label {
|
||||
color: var(--color-project-board-dark-label) !important;
|
||||
}
|
||||
|
||||
.board-column-header.light-label {
|
||||
color: var(--color-project-board-light-label) !important;
|
||||
}
|
||||
|
||||
.board-column-header.light-label .board-label {
|
||||
color: var(--color-project-board-light-label) !important;
|
||||
}
|
||||
|
||||
.board-label {
|
||||
background: none !important;
|
||||
line-height: 1.25 !important;
|
||||
}
|
||||
|
||||
.board-column > .cards {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-content: baseline;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
flex-wrap: nowrap !important;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.project-board-title {
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.board-column > .divider {
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.board-column:first-child {
|
||||
margin-left: auto !important;
|
||||
}
|
||||
|
||||
.board-column:last-child {
|
||||
margin-right: auto !important;
|
||||
}
|
||||
|
||||
.board-column .ui.cards > .card > .content {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.board-card {
|
||||
margin: 4px 2px !important;
|
||||
border-radius: 5px !important;
|
||||
cursor: move;
|
||||
width: calc(100% - 4px) !important;
|
||||
padding: 0.5rem !important;
|
||||
min-height: auto !important;
|
||||
}
|
||||
|
||||
.board-card .meta * {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
.board-card .header {
|
||||
margin-top: 0 !important;
|
||||
font-size: 16px !important;
|
||||
}
|
||||
|
||||
.board-card .card-attachment-images {
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.board-card .card-attachment-images img {
|
||||
display: inline-block;
|
||||
max-height: 50px;
|
||||
border-radius: var(--border-radius);
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.board-card .card-attachment-images img:only-child {
|
||||
max-height: 90px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.card-ghost {
|
||||
border-style: dashed !important;
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.card-ghost * {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.color-field .minicolors.minicolors-theme-default {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.color-field .minicolors.minicolors-theme-default .minicolors-input {
|
||||
height: 38px;
|
||||
padding-left: 2rem;
|
||||
}
|
||||
|
||||
.color-field .minicolors.minicolors-theme-default .minicolors-swatch {
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
.edit-project-board .color.picker.column,
|
||||
.new-board-modal .color.picker.column {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.edit-project-board .color.picker.column .minicolors,
|
||||
.new-board-modal .color.picker.column .minicolors {
|
||||
flex: 1;
|
||||
}
|
393
web_src/css/font_i18n.css
Normal file
393
web_src/css/font_i18n.css
Normal file
|
@ -0,0 +1,393 @@
|
|||
:root :lang(ja) {
|
||||
--fonts-override: var(--fonts-default-override-ja);
|
||||
}
|
||||
|
||||
:root :lang(zh-CN) {
|
||||
--fonts-override: var(--fonts-default-override-zh-cn);
|
||||
}
|
||||
|
||||
:root :lang(zh-TW) {
|
||||
--fonts-override: var(--fonts-default-override-zh-tw);
|
||||
}
|
||||
|
||||
:root :lang(zh-HK) {
|
||||
--fonts-override: var(--fonts-default-override-zh-hk);
|
||||
}
|
||||
|
||||
:root :lang(ko) {
|
||||
--fonts-override: var(--fonts-default-override-ko);
|
||||
}
|
||||
|
||||
[lang] {
|
||||
font-family: var(--fonts-regular);
|
||||
}
|
||||
|
||||
:root {
|
||||
--fonts-default-override-ja: system-ui-ja, var(--fonts-proportional);
|
||||
--fonts-default-override-zh-cn: system-ui-zh-cn, var(--fonts-proportional);
|
||||
--fonts-default-override-zh-tw: system-ui-zh-tw, var(--fonts-proportional);
|
||||
--fonts-default-override-zh-hk: system-ui-zh-hk, var(--fonts-proportional);
|
||||
--fonts-default-override-ko: system-ui-ko, var(--fonts-proportional);
|
||||
}
|
||||
|
||||
/* Special handling for Firefox on Windows/Linux */
|
||||
@supports (-moz-appearance: none) {
|
||||
:root {
|
||||
--fonts-default-override-ja: var(--fonts-proportional), system-ui-ja;
|
||||
--fonts-default-override-zh-cn: var(--fonts-proportional), system-ui-zh-cn;
|
||||
--fonts-default-override-zh-tw: var(--fonts-proportional), system-ui-zh-tw;
|
||||
--fonts-default-override-zh-hk: var(--fonts-proportional), system-ui-zh-hk;
|
||||
--fonts-default-override-ko: var(--fonts-proportional), system-ui-ko;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ja;
|
||||
src: local("HiraKakuProN-W3"), local("Hiragino Kaku Gothic ProN W3"),
|
||||
local("HiraginoSans-W2"), local("Source Han Sans JP Light"),
|
||||
local("SourceHanSansJP-Light"), local("Source Han Sans J Light"),
|
||||
local("SourceHanSansJ-Light"), local("Noto Sans CJK JP Light"),
|
||||
local("NotoSansCJKJP-Light"), local("Source Han Sans Light"),
|
||||
local("SourceHanSans-Light"), local("Yu Gothic Regular"),
|
||||
local("YuGothic Regular"), local("Droid Sans Japanese"), local("Meiryo"),
|
||||
local("MS PGothic");
|
||||
font-weight: 300;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ja;
|
||||
src: local("HiraKakuProN-W3"), local("Hiragino Kaku Gothic ProN W3"),
|
||||
local("HiraginoSans-W4"), local("Source Han Sans JP Regular"),
|
||||
local("SourceHanSansJP-Regular"), local("Source Han Sans J Regular"),
|
||||
local("SourceHanSansJ-Regular"), local("Noto Sans CJK JP Regular"),
|
||||
local("NotoSansCJKJP-Regular"), local("Source Han Sans Regular"),
|
||||
local("SourceHanSans-Regular"), local("Yu Gothic Medium"),
|
||||
local("YuGothic Medium"), local("Droid Sans Japanese"), local("Meiryo"),
|
||||
local("MS PGothic");
|
||||
font-weight: 400;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ja;
|
||||
src: local("HiraKakuProN-W3"), local("Hiragino Kaku Gothic ProN W3"),
|
||||
local("HiraginoSans-W5"), local("Source Han Sans JP Medium"),
|
||||
local("SourceHanSansJP-Medium"), local("Source Han Sans J Medium"),
|
||||
local("SourceHanSansJ-Medium"), local("Noto Sans CJK JP Medium"),
|
||||
local("NotoSansCJKJP-Medium"), local("Source Han Sans Medium"),
|
||||
local("SourceHanSans-Medium"), local("Yu Gothic Medium"),
|
||||
local("YuGothic Medium"), local("Droid Sans Japanese"), local("Meiryo"),
|
||||
local("MS PGothic");
|
||||
font-weight: 500;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ja;
|
||||
src: local("HiraKakuProN-W6"), local("Hiragino Kaku Gothic ProN W6"),
|
||||
local("HiraginoSans-W6"), local("Source Han Sans JP Bold"),
|
||||
local("SourceHanSansJP-Bold"), local("Source Han Sans J Bold"),
|
||||
local("SourceHanSansJ-Bold"), local("Noto Sans CJK JP Bold"),
|
||||
local("NotoSansCJKJP-Bold"), local("Source Han Sans Bold"),
|
||||
local("SourceHanSans-Bold"), local("Yu Gothic Bold"), local("YuGothic Bold"),
|
||||
local("Droid Sans Japanese"), local("Meiryo Bold"), local("MS PGothic");
|
||||
font-weight: 700;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
/* Safari on macOS/iOS */
|
||||
@font-face {
|
||||
font-family: system-ui-ja;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+A0;
|
||||
}
|
||||
|
||||
/* Other browsers on macOS/iOS */
|
||||
@supports not (-webkit-hyphens: none) {
|
||||
@font-face {
|
||||
font-family: system-ui-ja;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+20;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-cn;
|
||||
src: local("PingFangSC-Light"), local("Source Han Sans CN Light"),
|
||||
local("SourceHanSansCN-Light"), local("Source Han Sans SC Light"),
|
||||
local("SourceHanSansSC-Light"), local("Noto Sans CJK SC Light"),
|
||||
local("NotoSansCJKSC-Light"), local("HiraginoSansGB-W3"),
|
||||
local("Hiragino Sans GB W3"), local("Microsoft YaHei Light"),
|
||||
local("Heiti SC Light"), local("SimHei");
|
||||
font-weight: 300;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-cn;
|
||||
src: local("PingFangSC-Regular"), local("Source Han Sans CN Regular"),
|
||||
local("SourceHanSansCN-Regular"), local("Source Han Sans SC Regular"),
|
||||
local("SourceHanSansSC-Regular"), local("Noto Sans CJK SC Regular"),
|
||||
local("NotoSansCJKSC-Regular"), local("HiraginoSansGB-W3"),
|
||||
local("Hiragino Sans GB W3"), local("Microsoft YaHei"),
|
||||
local("Heiti SC Light"), local("SimHei");
|
||||
font-weight: 400;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-cn;
|
||||
src: local("PingFangSC-Medium"), local("Source Han Sans CN Medium"),
|
||||
local("SourceHanSansCN-Medium"), local("Source Han Sans SC Medium"),
|
||||
local("SourceHanSansSC-Medium"), local("Noto Sans CJK SC Medium"),
|
||||
local("NotoSansCJKSC-Medium"), local("HiraginoSansGB-W3"),
|
||||
local("Hiragino Sans GB W3"), local("Microsoft YaHei"),
|
||||
local("Heiti SC Light"), local("SimHei");
|
||||
font-weight: 500;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-cn;
|
||||
src: local("PingFangSC-Semibold"), local("Source Han Sans CN Bold"),
|
||||
local("SourceHanSansCN-Bold"), local("Source Han Sans SC Bold"),
|
||||
local("SourceHanSansSC-Bold"), local("Noto Sans CJK SC Bold"),
|
||||
local("NotoSansCJKSC-Bold"), local("HiraginoSansGB-W6"),
|
||||
local("Hiragino Sans GB W6"), local("Microsoft YaHei Bold"),
|
||||
local("Heiti SC Medium"), local("SimHei");
|
||||
font-weight: 700;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
/* Safari on macOS/iOS */
|
||||
@font-face {
|
||||
font-family: system-ui-zh-cn;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+A0;
|
||||
}
|
||||
|
||||
/* Other browsers on macOS/iOS */
|
||||
@supports not (-webkit-hyphens: none) {
|
||||
@font-face {
|
||||
font-family: system-ui-zh-cn;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+20;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-tw;
|
||||
src: local("PingFangTC-Light"), local("Source Han Sans TW Light"),
|
||||
local("SourceHanSansTW-Light"), local("Source Han Sans TC Light"),
|
||||
local("SourceHanSansTC-Light"), local("Noto Sans CJK TC Light"),
|
||||
local("NotoSansCJKTC-Light"), local("HiraginoSansTC-W3"),
|
||||
local("Hiragino Sans TC W3"), local("Microsoft JhengHei Light"),
|
||||
local("Heiti TC Light"), local("PMingLiU");
|
||||
font-weight: 300;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-tw;
|
||||
src: local("PingFangTC-Regular"), local("Source Han Sans TW Regular"),
|
||||
local("SourceHanSansTW-Regular"), local("Source Han Sans TC Regular"),
|
||||
local("SourceHanSansTC-Regular"), local("Noto Sans CJK TC Regular"),
|
||||
local("NotoSansCJKTC-Regular"), local("HiraginoSansTC-W3"),
|
||||
local("Hiragino Sans TC W3"), local("Microsoft JhengHei"),
|
||||
local("Heiti TC Light"), local("PMingLiU");
|
||||
font-weight: 400;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-tw;
|
||||
src: local("PingFangTC-Medium"), local("Source Han Sans TW Medium"),
|
||||
local("SourceHanSansTW-Medium"), local("Source Han Sans TC Medium"),
|
||||
local("SourceHanSansTC-Medium"), local("Noto Sans CJK TC Medium"),
|
||||
local("NotoSansCJKTC-Medium"), local("HiraginoSansTC-W3"),
|
||||
local("Hiragino Sans TC W3"), local("Microsoft JhengHei"),
|
||||
local("Heiti TC Light"), local("PMingLiU");
|
||||
font-weight: 500;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-tw;
|
||||
src: local("PingFangTC-Semibold"), local("Source Han Sans TW Bold"),
|
||||
local("SourceHanSansTW-Bold"), local("Source Han Sans TC Bold"),
|
||||
local("SourceHanSansTC-Bold"), local("Noto Sans CJK TC Bold"),
|
||||
local("NotoSansCJKTC-Bold"), local("HiraginoSansTC-W6"),
|
||||
local("Hiragino Sans TC W6"), local("Microsoft JhengHei Bold"),
|
||||
local("Heiti TC Medium"), local("PMingLiU");
|
||||
font-weight: 700;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
/* Safari on macOS/iOS */
|
||||
@font-face {
|
||||
font-family: system-ui-zh-tw;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+A0;
|
||||
}
|
||||
|
||||
/* Other browsers on macOS/iOS */
|
||||
@supports not (-webkit-hyphens: none) {
|
||||
@font-face {
|
||||
font-family: system-ui-zh-tw;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+20;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-hk;
|
||||
src: local("PingFangHK-Light"), local("Source Han Sans HK Light"),
|
||||
local("SourceHanSansHK-Light"), local("Source Han Sans HC Light"),
|
||||
local("SourceHanSansHC-Light"), local("Noto Sans CJK HK Light"),
|
||||
local("NotoSansCJKHK-Light"), local("Source Han Sans TC Light"),
|
||||
local("SourceHanSansTC-Light"), local("Noto Sans CJK TC Light"),
|
||||
local("NotoSansCJKTC-Light"), local("HiraginoSansTC-W3"),
|
||||
local("Hiragino Sans TC W3"), local("Microsoft JhengHei Light"),
|
||||
local("Heiti TC Light"), local("PMingLiU_HKSCS"), local("PMingLiU");
|
||||
font-weight: 300;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-hk;
|
||||
src: local("PingFangHK-Regular"), local("Source Han Sans HK Regular"),
|
||||
local("SourceHanSansHK-Regular"), local("Source Han Sans HC Regular"),
|
||||
local("SourceHanSansHC-Regular"), local("Noto Sans CJK HK Regular"),
|
||||
local("NotoSansCJKHK-Regular"), local("Source Han Sans TC Regular"),
|
||||
local("SourceHanSansTC-Regular"), local("Noto Sans CJK TC Regular"),
|
||||
local("NotoSansCJKTC-Regular"), local("HiraginoSansTC-W3"),
|
||||
local("Hiragino Sans TC W3"), local("Microsoft JhengHei"),
|
||||
local("Heiti TC Light"), local("PMingLiU_HKSCS"), local("PMingLiU");
|
||||
font-weight: 400;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-hk;
|
||||
src: local("PingFangHK-Medium"), local("Source Han Sans HK Medium"),
|
||||
local("SourceHanSansHK-Medium"), local("Source Han Sans HC Medium"),
|
||||
local("SourceHanSansHC-Medium"), local("Noto Sans CJK HK Medium"),
|
||||
local("NotoSansCJKHK-Medium"), local("Source Han Sans TC Medium"),
|
||||
local("SourceHanSansTC-Medium"), local("Noto Sans CJK TC Medium"),
|
||||
local("NotoSansCJKTC-Medium"), local("HiraginoSansTC-W3"),
|
||||
local("Hiragino Sans TC W3"), local("Microsoft JhengHei"),
|
||||
local("Heiti TC Light"), local("PMingLiU_HKSCS"), local("PMingLiU");
|
||||
font-weight: 500;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-zh-hk;
|
||||
src: local("PingFangHK-Semibold"), local("Source Han Sans HK Bold"),
|
||||
local("SourceHanSansHK-Bold"), local("Source Han Sans HC Bold"),
|
||||
local("SourceHanSansHC-Bold"), local("Noto Sans CJK HK Bold"),
|
||||
local("NotoSansCJKHK-Bold"), local("Source Han Sans TC Bold"),
|
||||
local("SourceHanSansTC-Bold"), local("Noto Sans CJK TC Bold"),
|
||||
local("NotoSansCJKTC-Bold"), local("HiraginoSansTC-W6"),
|
||||
local("Hiragino Sans TC W6"), local("Microsoft JhengHei Bold"),
|
||||
local("Heiti TC Medium"), local("PMingLiU_HKSCS"), local("PMingLiU");
|
||||
font-weight: 700;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
/* Safari on macOS/iOS */
|
||||
@font-face {
|
||||
font-family: system-ui-zh-hk;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+A0;
|
||||
}
|
||||
|
||||
/* Other browsers on macOS/iOS */
|
||||
@supports not (-webkit-hyphens: none) {
|
||||
@font-face {
|
||||
font-family: system-ui-zh-hk;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+20;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ko;
|
||||
src: local("AppleSDGothicNeo-Light"), local("Source Han Sans KR Light"),
|
||||
local("SourceHanSansKR-Light"), local("Source Han Sans K Light"),
|
||||
local("SourceHanSansK-Light"), local("Noto Sans CJK KR Light"),
|
||||
local("NotoSansCJKKR-Light"), local("NanumBarunGothic Light"),
|
||||
local("Malgun Gothic Semilight"), local("Nanum Gothic"), local("Dotum");
|
||||
font-weight: 300;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ko;
|
||||
src: local("AppleSDGothicNeo-Regular"), local("Source Han Sans KR Regular"),
|
||||
local("SourceHanSansKR-Regular"), local("Source Han Sans K Regular"),
|
||||
local("SourceHanSansK-Regular"), local("Noto Sans CJK KR Regular"),
|
||||
local("NotoSansCJKKR-Regular"), local("NanumBarunGothic"),
|
||||
local("Malgun Gothic"), local("Nanum Gothic"), local("Dotum");
|
||||
font-weight: 400;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ko;
|
||||
src: local("AppleSDGothicNeo-Medium"), local("Source Han Sans KR Medium"),
|
||||
local("SourceHanSansKR-Medium"), local("Source Han Sans K Medium"),
|
||||
local("SourceHanSansK-Medium"), local("Noto Sans CJK KR Medium"),
|
||||
local("NotoSansCJKKR-Medium"), local("NanumBarunGothic"),
|
||||
local("Malgun Gothic"), local("Nanum Gothic"), local("Dotum");
|
||||
font-weight: 500;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: system-ui-ko;
|
||||
src: local("AppleSDGothicNeo-SemiBold"), local("Source Han Sans KR Bold"),
|
||||
local("SourceHanSansKR-Bold"), local("Source Han Sans K Bold"),
|
||||
local("SourceHanSansK-Bold"), local("Noto Sans CJK KR Bold"),
|
||||
local("NotoSansCJKKR-Bold"), local("NanumBarunGothic Bold"),
|
||||
local("Malgun Gothic Bold"), local("Nanum Gothic Bold"), local("Dotum");
|
||||
font-weight: 700;
|
||||
unicode-range: U+11??, U+2E80-4DBF, U+4E00-9FFF, U+A960-A97F, U+AC00-D7FF,
|
||||
U+F900-FAFF, U+FE00-FE6F, U+FF00-FFEF, U+1F2??, U+2????;
|
||||
}
|
||||
|
||||
/* Safari on macOS/iOS */
|
||||
@font-face {
|
||||
font-family: system-ui-ko;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+A0;
|
||||
}
|
||||
|
||||
/* Other browsers on macOS/iOS */
|
||||
@supports not (-webkit-hyphens: none) {
|
||||
@font-face {
|
||||
font-family: system-ui-ko;
|
||||
src: local("HelveticaNeue");
|
||||
unicode-range: U+20;
|
||||
}
|
||||
}
|
547
web_src/css/form.css
Normal file
547
web_src/css/form.css
Normal file
|
@ -0,0 +1,547 @@
|
|||
input,
|
||||
textarea,
|
||||
.ui.input > input,
|
||||
.ui.form input:not([type]),
|
||||
.ui.form select,
|
||||
.ui.form textarea,
|
||||
.ui.form input[type="date"],
|
||||
.ui.form input[type="datetime-local"],
|
||||
.ui.form input[type="email"],
|
||||
.ui.form input[type="file"],
|
||||
.ui.form input[type="number"],
|
||||
.ui.form input[type="password"],
|
||||
.ui.form input[type="search"],
|
||||
.ui.form input[type="tel"],
|
||||
.ui.form input[type="text"],
|
||||
.ui.form input[type="time"],
|
||||
.ui.form input[type="url"],
|
||||
.ui.selection.dropdown,
|
||||
.ui.checkbox label::before,
|
||||
.ui.checkbox input:checked ~ label::before,
|
||||
.ui.checkbox input:not([type="radio"]):indeterminate ~ label::before {
|
||||
background: var(--color-input-background);
|
||||
border-color: var(--color-input-border);
|
||||
color: var(--color-input-text);
|
||||
}
|
||||
|
||||
input:hover,
|
||||
textarea:hover,
|
||||
.ui.input input:hover,
|
||||
.ui.form input:not([type]):hover,
|
||||
.ui.form select:hover,
|
||||
.ui.form textarea:hover,
|
||||
.ui.form input[type="date"]:hover,
|
||||
.ui.form input[type="datetime-local"]:hover,
|
||||
.ui.form input[type="email"]:hover,
|
||||
.ui.form input[type="file"]:hover,
|
||||
.ui.form input[type="number"]:hover,
|
||||
.ui.form input[type="password"]:hover,
|
||||
.ui.form input[type="search"]:hover,
|
||||
.ui.form input[type="tel"]:hover,
|
||||
.ui.form input[type="text"]:hover,
|
||||
.ui.form input[type="time"]:hover,
|
||||
.ui.form input[type="url"]:hover,
|
||||
.ui.selection.dropdown:hover,
|
||||
.ui.checkbox label:hover::before,
|
||||
.ui.checkbox label:active::before,
|
||||
.ui.radio.checkbox label::after,
|
||||
.ui.radio.checkbox input:focus ~ label::before,
|
||||
.ui.radio.checkbox input:checked ~ label::before {
|
||||
background: var(--color-input-background);
|
||||
border-color: var(--color-input-border-hover);
|
||||
color: var(--color-input-text);
|
||||
}
|
||||
|
||||
input:focus,
|
||||
textarea:focus,
|
||||
.ui.input input:focus,
|
||||
.ui.form input:not([type]):focus,
|
||||
.ui.form select:focus,
|
||||
.ui.form textarea:focus,
|
||||
.ui.form input[type="date"]:focus,
|
||||
.ui.form input[type="datetime-local"]:focus,
|
||||
.ui.form input[type="email"]:focus,
|
||||
.ui.form input[type="file"]:focus,
|
||||
.ui.form input[type="number"]:focus,
|
||||
.ui.form input[type="password"]:focus,
|
||||
.ui.form input[type="search"]:focus,
|
||||
.ui.form input[type="tel"]:focus,
|
||||
.ui.form input[type="text"]:focus,
|
||||
.ui.form input[type="time"]:focus,
|
||||
.ui.form input[type="url"]:focus,
|
||||
.ui.selection.dropdown:focus,
|
||||
.ui.checkbox input:focus ~ label::before,
|
||||
.ui.checkbox input:not([type="radio"]):indeterminate:focus ~ label::before,
|
||||
.ui.checkbox input:checked:focus ~ label::before,
|
||||
.ui.radio.checkbox input:focus:checked ~ label::before {
|
||||
background: var(--color-input-background);
|
||||
border-color: var(--color-primary);
|
||||
color: var(--color-input-text);
|
||||
}
|
||||
|
||||
.ui.form .field > label,
|
||||
.ui.form .inline.fields > label,
|
||||
.ui.form .inline.fields .field > label,
|
||||
.ui.form .inline.fields .field > p,
|
||||
.ui.form .inline.field > label,
|
||||
.ui.form .inline.field > p,
|
||||
.ui.checkbox label,
|
||||
.ui.checkbox + label,
|
||||
.ui.checkbox label:hover,
|
||||
.ui.checkbox + label:hover,
|
||||
.ui.checkbox input:focus ~ label,
|
||||
.ui.checkbox input:active ~ label {
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.ui.input,
|
||||
.ui.checkbox input:focus ~ label::after,
|
||||
.ui.checkbox input:checked ~ label::after,
|
||||
.ui.checkbox label:active::after,
|
||||
.ui.checkbox input:not([type="radio"]):indeterminate ~ label::after,
|
||||
.ui.checkbox input:not([type="radio"]):indeterminate:focus ~ label::after,
|
||||
.ui.checkbox input:checked:focus ~ label::after,
|
||||
.ui.disabled.checkbox label,
|
||||
.ui.checkbox input[disabled] ~ label {
|
||||
color: var(--color-input-text);
|
||||
}
|
||||
|
||||
.ui.radio.checkbox input:focus ~ label::after,
|
||||
.ui.radio.checkbox input:checked ~ label::after,
|
||||
.ui.radio.checkbox input:focus:checked ~ label::after {
|
||||
background: var(--color-input-text);
|
||||
}
|
||||
|
||||
.ui.toggle.checkbox label::before {
|
||||
background: var(--color-input-toggle-background);
|
||||
}
|
||||
|
||||
.ui.toggle.checkbox label,
|
||||
.ui.toggle.checkbox input:checked ~ label,
|
||||
.ui.toggle.checkbox input:focus:checked ~ label {
|
||||
color: var(--color-text) !important;
|
||||
}
|
||||
|
||||
.ui.toggle.checkbox input:checked ~ label::before,
|
||||
.ui.toggle.checkbox input:focus:checked ~ label::before {
|
||||
background: var(--color-primary) !important;
|
||||
}
|
||||
|
||||
/* match <select> padding to <input> */
|
||||
.ui.form select {
|
||||
padding: 0.67857143em 1em;
|
||||
}
|
||||
|
||||
.form .help {
|
||||
color: var(--color-secondary-dark-5);
|
||||
padding-bottom: 0.6em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#create-page-form form {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#create-page-form form .ui.message {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
#create-page-form form {
|
||||
width: 800px !important;
|
||||
}
|
||||
#create-page-form form .header {
|
||||
padding-left: 280px !important;
|
||||
}
|
||||
#create-page-form form .inline.field > label,
|
||||
#create-page-form form .inline.field.captcha-field > span {
|
||||
text-align: right;
|
||||
width: 250px !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
#create-page-form form .help {
|
||||
margin-left: 265px !important;
|
||||
}
|
||||
#create-page-form form .optional .title {
|
||||
margin-left: 250px !important;
|
||||
}
|
||||
#create-page-form form .inline.field > input,
|
||||
#create-page-form form .inline.field > textarea {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
#create-page-form form .optional .title {
|
||||
margin-left: 15px;
|
||||
}
|
||||
#create-page-form form .inline.field > label {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.signin .oauth2 div {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.signin .oauth2 div p {
|
||||
margin: 10px 5px 0 0;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.signin .oauth2 a {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.signin .oauth2 a:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.signin .oauth2 img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.signin .oauth2 img.openidConnect {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.g-recaptcha-style,
|
||||
.h-captcha-style {
|
||||
margin: 0 auto !important;
|
||||
width: 304px;
|
||||
padding-left: 30px;
|
||||
}
|
||||
.g-recaptcha-style iframe,
|
||||
.h-captcha-style iframe {
|
||||
border-radius: 5px !important;
|
||||
width: 302px !important;
|
||||
height: 76px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-height: 575px) {
|
||||
#rc-imageselect,
|
||||
.g-recaptcha-style,
|
||||
.h-captcha-style {
|
||||
transform: scale(0.77);
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.user.activate form,
|
||||
.user.forgot.password form,
|
||||
.user.reset.password form,
|
||||
.user.link-account form,
|
||||
.user.signin form,
|
||||
.user.signup form {
|
||||
margin: auto;
|
||||
width: 700px !important;
|
||||
}
|
||||
|
||||
.user.activate form .ui.message,
|
||||
.user.forgot.password form .ui.message,
|
||||
.user.reset.password form .ui.message,
|
||||
.user.link-account form .ui.message,
|
||||
.user.signin form .ui.message,
|
||||
.user.signup form .ui.message {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.user.activate form,
|
||||
.user.forgot.password form,
|
||||
.user.reset.password form,
|
||||
.user.link-account form,
|
||||
.user.signin form,
|
||||
.user.signup form {
|
||||
width: 800px !important;
|
||||
}
|
||||
.user.activate form .header,
|
||||
.user.forgot.password form .header,
|
||||
.user.reset.password form .header,
|
||||
.user.link-account form .header,
|
||||
.user.signin form .header,
|
||||
.user.signup form .header {
|
||||
padding-left: 280px !important;
|
||||
}
|
||||
.user.activate form .inline.field > label,
|
||||
.user.forgot.password form .inline.field > label,
|
||||
.user.reset.password form .inline.field > label,
|
||||
.user.link-account form .inline.field > label,
|
||||
.user.signin form .inline.field > label,
|
||||
.user.signup form .inline.field > label,
|
||||
.user.activate form .inline.field.captcha-field > span,
|
||||
.user.forgot.password form .inline.field.captcha-field > span,
|
||||
.user.reset.password form .inline.field.captcha-field > span,
|
||||
.user.link-account form .inline.field.captcha-field > span,
|
||||
.user.signin form .inline.field.captcha-field > span,
|
||||
.user.signup form .inline.field.captcha-field > span {
|
||||
text-align: right;
|
||||
width: 250px !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.user.activate form .help,
|
||||
.user.forgot.password form .help,
|
||||
.user.reset.password form .help,
|
||||
.user.link-account form .help,
|
||||
.user.signin form .help,
|
||||
.user.signup form .help {
|
||||
margin-left: 265px !important;
|
||||
}
|
||||
.user.activate form .optional .title,
|
||||
.user.forgot.password form .optional .title,
|
||||
.user.reset.password form .optional .title,
|
||||
.user.link-account form .optional .title,
|
||||
.user.signin form .optional .title,
|
||||
.user.signup form .optional .title {
|
||||
margin-left: 250px !important;
|
||||
}
|
||||
.user.activate form .inline.field > input,
|
||||
.user.forgot.password form .inline.field > input,
|
||||
.user.reset.password form .inline.field > input,
|
||||
.user.link-account form .inline.field > input,
|
||||
.user.signin form .inline.field > input,
|
||||
.user.signup form .inline.field > input,
|
||||
.user.activate form .inline.field > textarea,
|
||||
.user.forgot.password form .inline.field > textarea,
|
||||
.user.reset.password form .inline.field > textarea,
|
||||
.user.link-account form .inline.field > textarea,
|
||||
.user.signin form .inline.field > textarea,
|
||||
.user.signup form .inline.field > textarea {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.user.activate form .optional .title,
|
||||
.user.forgot.password form .optional .title,
|
||||
.user.reset.password form .optional .title,
|
||||
.user.link-account form .optional .title,
|
||||
.user.signin form .optional .title,
|
||||
.user.signup form .optional .title {
|
||||
margin-left: 15px;
|
||||
}
|
||||
.user.activate form .inline.field > label,
|
||||
.user.forgot.password form .inline.field > label,
|
||||
.user.reset.password form .inline.field > label,
|
||||
.user.link-account form .inline.field > label,
|
||||
.user.signin form .inline.field > label,
|
||||
.user.signup form .inline.field > label {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.user.activate form .header,
|
||||
.user.forgot.password form .header,
|
||||
.user.reset.password form .header,
|
||||
.user.link-account form .header,
|
||||
.user.signin form .header,
|
||||
.user.signup form .header {
|
||||
padding-left: 0 !important;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.user.activate form .inline.field > label,
|
||||
.user.forgot.password form .inline.field > label,
|
||||
.user.reset.password form .inline.field > label,
|
||||
.user.link-account form .inline.field > label,
|
||||
.user.signin form .inline.field > label,
|
||||
.user.signup form .inline.field > label {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.user.activate form .inline.field > label,
|
||||
.user.forgot.password form .inline.field > label,
|
||||
.user.reset.password form .inline.field > label,
|
||||
.user.link-account form .inline.field > label,
|
||||
.user.signin form .inline.field > label,
|
||||
.user.signup form .inline.field > label,
|
||||
.user.activate form input,
|
||||
.user.forgot.password form input,
|
||||
.user.reset.password form input,
|
||||
.user.link-account form input,
|
||||
.user.signin form input,
|
||||
.user.signup form input {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
.user.activate form input[type="number"],
|
||||
.user.forgot.password form input[type="number"],
|
||||
.user.reset.password form input[type="number"],
|
||||
.user.link-account form input[type="number"],
|
||||
.user.signin form input[type="number"],
|
||||
.user.signup form input[type="number"] {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
|
||||
.user.activate form input::-webkit-outer-spin-button,
|
||||
.user.forgot.password form input::-webkit-outer-spin-button,
|
||||
.user.reset.password form input::-webkit-outer-spin-button,
|
||||
.user.link-account form input::-webkit-outer-spin-button,
|
||||
.user.signin form input::-webkit-outer-spin-button,
|
||||
.user.signup form input::-webkit-outer-spin-button,
|
||||
.user.activate form input::-webkit-inner-spin-button,
|
||||
.user.forgot.password form input::-webkit-inner-spin-button,
|
||||
.user.reset.password form input::-webkit-inner-spin-button,
|
||||
.user.link-account form input::-webkit-inner-spin-button,
|
||||
.user.signin form input::-webkit-inner-spin-button,
|
||||
.user.signup form input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.user.signin.webauthn-prompt {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.repository.new.repo form,
|
||||
.repository.new.migrate form,
|
||||
.repository.new.fork form {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.repository.new.repo form .ui.message,
|
||||
.repository.new.migrate form .ui.message,
|
||||
.repository.new.fork form .ui.message {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.repository.new.repo form,
|
||||
.repository.new.migrate form,
|
||||
.repository.new.fork form {
|
||||
width: 800px !important;
|
||||
}
|
||||
.repository.new.repo form .header,
|
||||
.repository.new.migrate form .header,
|
||||
.repository.new.fork form .header {
|
||||
padding-left: 280px !important;
|
||||
}
|
||||
.repository.new.repo form .inline.field > label,
|
||||
.repository.new.migrate form .inline.field > label,
|
||||
.repository.new.fork form .inline.field > label,
|
||||
.repository.new.repo form .inline.field.captcha-field > span,
|
||||
.repository.new.migrate form .inline.field.captcha-field > span,
|
||||
.repository.new.fork form .inline.field.captcha-field > span {
|
||||
text-align: right;
|
||||
width: 250px !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.repository.new.repo form .help,
|
||||
.repository.new.migrate form .help,
|
||||
.repository.new.fork form .help {
|
||||
margin-left: 265px !important;
|
||||
}
|
||||
.repository.new.repo form .optional .title,
|
||||
.repository.new.migrate form .optional .title,
|
||||
.repository.new.fork form .optional .title {
|
||||
margin-left: 250px !important;
|
||||
}
|
||||
.repository.new.repo form .inline.field > input,
|
||||
.repository.new.migrate form .inline.field > input,
|
||||
.repository.new.fork form .inline.field > input,
|
||||
.repository.new.repo form .inline.field > textarea,
|
||||
.repository.new.migrate form .inline.field > textarea,
|
||||
.repository.new.fork form .inline.field > textarea {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.repository.new.repo form .optional .title,
|
||||
.repository.new.migrate form .optional .title,
|
||||
.repository.new.fork form .optional .title {
|
||||
margin-left: 15px;
|
||||
}
|
||||
.repository.new.repo form .inline.field > label,
|
||||
.repository.new.migrate form .inline.field > label,
|
||||
.repository.new.fork form .inline.field > label {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.repository.new.repo form .dropdown .text,
|
||||
.repository.new.migrate form .dropdown .text,
|
||||
.repository.new.fork form .dropdown .text {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
.repository.new.repo form .header,
|
||||
.repository.new.migrate form .header,
|
||||
.repository.new.fork form .header {
|
||||
padding-left: 0 !important;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.repository.new.repo form .selection.dropdown,
|
||||
.repository.new.migrate form .selection.dropdown,
|
||||
.repository.new.fork form .selection.dropdown {
|
||||
vertical-align: middle;
|
||||
width: 50% !important;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.repository.new.repo form label,
|
||||
.repository.new.migrate form label,
|
||||
.repository.new.fork form label,
|
||||
.repository.new.repo form input,
|
||||
.repository.new.migrate form input,
|
||||
.repository.new.fork form input,
|
||||
.repository.new.repo form .selection.dropdown,
|
||||
.repository.new.migrate form .selection.dropdown,
|
||||
.repository.new.fork form .selection.dropdown {
|
||||
width: 100% !important;
|
||||
}
|
||||
.repository.new.repo form .field button,
|
||||
.repository.new.migrate form .field button,
|
||||
.repository.new.fork form .field button,
|
||||
.repository.new.repo form .field a,
|
||||
.repository.new.migrate form .field a,
|
||||
.repository.new.fork form .field a {
|
||||
margin-bottom: 1em;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.repository.new.repo .ui.form #auto-init {
|
||||
margin-left: 265px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.repository.new.repo .ui.form .selection.dropdown:not(.owner) {
|
||||
width: 50% !important;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.repository.new.repo .ui.form .selection.dropdown:not(.owner) {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
.new.webhook form .help {
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
.new.webhook .events.fields .column {
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
.githook textarea {
|
||||
font-family: var(--fonts-monospace);
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.new.org .ui.form .field button,
|
||||
.new.org .ui.form .field a {
|
||||
margin-bottom: 1em;
|
||||
width: 100%;
|
||||
}
|
||||
.new.org .ui.form .field input {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
216
web_src/css/helpers.css
Normal file
216
web_src/css/helpers.css
Normal file
|
@ -0,0 +1,216 @@
|
|||
.gt-df { display: flex !important; }
|
||||
.gt-di { display: inline !important; }
|
||||
.gt-dif { display: inline-flex !important; }
|
||||
.gt-dib { display: inline-block !important; }
|
||||
.gt-ac { align-items: center !important; }
|
||||
.gt-ab { align-items: baseline !important; }
|
||||
.gt-tc { text-align: center !important; }
|
||||
.gt-tl { text-align: left !important; }
|
||||
.gt-tdn { text-decoration: none !important; }
|
||||
.gt-jc { justify-content: center !important; }
|
||||
.gt-js { justify-content: flex-start !important; }
|
||||
.gt-je { justify-content: flex-end !important; }
|
||||
.gt-sb { justify-content: space-between !important; }
|
||||
.gt-fc { flex-direction: column !important; }
|
||||
.gt-f1 { flex: 1 !important; }
|
||||
.gt-fw { flex-wrap: wrap !important; }
|
||||
.gt-vm { vertical-align: middle !important; }
|
||||
.gt-w-100 { width: 100% !important; }
|
||||
.gt-h-100 { height: 100% !important; }
|
||||
.gt-br-0 { border-radius: 0 !important; }
|
||||
|
||||
/* below class names match Tailwind CSS */
|
||||
.gt-pointer-events-none { pointer-events: none !important; }
|
||||
.gt-relative { position: relative !important; }
|
||||
|
||||
.gt-mono {
|
||||
font-family: var(--fonts-monospace) !important;
|
||||
font-size: .9em !important; /* compensate for monospace fonts being usually slightly larger */
|
||||
}
|
||||
|
||||
.gt-bold { font-weight: 600 !important; }
|
||||
|
||||
.gt-word-break {
|
||||
word-wrap: break-word !important;
|
||||
word-break: break-word; /* compat: Safari */
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.gt-ellipsis {
|
||||
overflow: hidden !important;
|
||||
white-space: nowrap !important;
|
||||
text-overflow: ellipsis !important;
|
||||
}
|
||||
|
||||
.gt-full-screen-width { width: 100vw !important; }
|
||||
.gt-full-screen-height { height: 100vh !important; }
|
||||
|
||||
.gt-rounded { border-radius: var(--border-radius) !important; }
|
||||
.gt-rounded-top { border-radius: var(--border-radius) var(--border-radius) 0 0 !important; }
|
||||
.gt-rounded-bottom { border-radius: 0 0 var(--border-radius) var(--border-radius) !important; }
|
||||
.gt-rounded-left { border-radius: var(--border-radius) 0 0 var(--border-radius) !important; }
|
||||
.gt-rounded-right { border-radius: 0 var(--border-radius) var(--border-radius) 0 !important; }
|
||||
|
||||
.gt-border-secondary { border: 1px solid var(--color-secondary) !important; }
|
||||
.gt-border-secondary-top { border-top: 1px solid var(--color-secondary) !important; }
|
||||
.gt-border-secondary-bottom { border-bottom: 1px solid var(--color-secondary) !important; }
|
||||
.gt-border-secondary-left { border-left: 1px solid var(--color-secondary) !important; }
|
||||
.gt-border-secondary-right { border-right: 1px solid var(--color-secondary) !important; }
|
||||
|
||||
.gt-no-transition { transition: none !important; }
|
||||
|
||||
.gt-bg-red { background: var(--color-red) !important; }
|
||||
.gt-bg-orange { background: var(--color-orange) !important; }
|
||||
.gt-bg-yellow { background: var(--color-yellow) !important; }
|
||||
.gt-bg-olive { background: var(--color-olive) !important; }
|
||||
.gt-bg-green { background: var(--color-green) !important; }
|
||||
.gt-bg-teal { background: var(--color-teal) !important; }
|
||||
.gt-bg-blue { background: var(--color-blue) !important; }
|
||||
.gt-bg-violet { background: var(--color-violet) !important; }
|
||||
.gt-bg-purple { background: var(--color-purple) !important; }
|
||||
.gt-bg-pink { background: var(--color-pink) !important; }
|
||||
.gt-bg-brown { background: var(--color-brown) !important; }
|
||||
.gt-bg-grey { background: var(--color-grey) !important; }
|
||||
.gt-bg-gold { background: var(--color-gold) !important; }
|
||||
|
||||
.gt-text-white { color: var(--color-white) !important; }
|
||||
|
||||
.gt-m-0 { margin: 0 !important; }
|
||||
.gt-m-1 { margin: .125rem !important; }
|
||||
.gt-m-2 { margin: .25rem !important; }
|
||||
.gt-m-3 { margin: .5rem !important; }
|
||||
.gt-m-4 { margin: 1rem !important; }
|
||||
.gt-m-5 { margin: 2rem !important; }
|
||||
|
||||
.gt-ml-0 { margin-left: 0 !important; }
|
||||
.gt-ml-1 { margin-left: .125rem !important; }
|
||||
.gt-ml-2 { margin-left: .25rem !important; }
|
||||
.gt-ml-3 { margin-left: .5rem !important; }
|
||||
.gt-ml-4 { margin-left: 1rem !important; }
|
||||
.gt-ml-5 { margin-left: 2rem !important; }
|
||||
|
||||
.gt-mr-0 { margin-right: 0 !important; }
|
||||
.gt-mr-1 { margin-right: .125rem !important; }
|
||||
.gt-mr-2 { margin-right: .25rem !important; }
|
||||
.gt-mr-3 { margin-right: .5rem !important; }
|
||||
.gt-mr-4 { margin-right: 1rem !important; }
|
||||
.gt-mr-5 { margin-right: 2rem !important; }
|
||||
|
||||
.gt-mt-0 { margin-top: 0 !important; }
|
||||
.gt-mt-1 { margin-top: .125rem !important; }
|
||||
.gt-mt-2 { margin-top: .25rem !important; }
|
||||
.gt-mt-3 { margin-top: .5rem !important; }
|
||||
.gt-mt-4 { margin-top: 1rem !important; }
|
||||
.gt-mt-5 { margin-top: 2rem !important; }
|
||||
|
||||
.gt-mb-0 { margin-bottom: 0 !important; }
|
||||
.gt-mb-1 { margin-bottom: .125rem !important; }
|
||||
.gt-mb-2 { margin-bottom: .25rem !important; }
|
||||
.gt-mb-3 { margin-bottom: .5rem !important; }
|
||||
.gt-mb-4 { margin-bottom: 1rem !important; }
|
||||
.gt-mb-5 { margin-bottom: 2rem !important; }
|
||||
|
||||
.gt-mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
|
||||
.gt-mx-1 { margin-left: .125rem !important; margin-right: .125rem !important; }
|
||||
.gt-mx-2 { margin-left: .25rem !important; margin-right: .25rem !important; }
|
||||
.gt-mx-3 { margin-left: .5rem !important; margin-right: .5rem !important; }
|
||||
.gt-mx-4 { margin-left: 1rem !important; margin-right: 1rem !important; }
|
||||
.gt-mx-5 { margin-left: 2rem !important; margin-right: 2rem !important; }
|
||||
|
||||
.gt-my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
|
||||
.gt-my-1 { margin-top: .125rem !important; margin-bottom: .125rem !important; }
|
||||
.gt-my-2 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
|
||||
.gt-my-3 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
|
||||
.gt-my-4 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
|
||||
.gt-my-5 { margin-top: 2rem !important; margin-bottom: 2rem !important; }
|
||||
|
||||
.gt-p-0 { padding: 0 !important; }
|
||||
.gt-p-1 { padding: .125rem !important; }
|
||||
.gt-p-2 { padding: .25rem !important; }
|
||||
.gt-p-3 { padding: .5rem !important; }
|
||||
.gt-p-4 { padding: 1rem !important; }
|
||||
.gt-p-5 { padding: 2rem !important; }
|
||||
|
||||
.gt-pl-0 { padding-left: 0 !important; }
|
||||
.gt-pl-1 { padding-left: .125rem !important; }
|
||||
.gt-pl-2 { padding-left: .25rem !important; }
|
||||
.gt-pl-3 { padding-left: .5rem !important; }
|
||||
.gt-pl-4 { padding-left: 1rem !important; }
|
||||
.gt-pl-5 { padding-left: 2rem !important; }
|
||||
|
||||
.gt-pr-0 { padding-right: 0 !important; }
|
||||
.gt-pr-1 { padding-right: .125rem !important; }
|
||||
.gt-pr-2 { padding-right: .25rem !important; }
|
||||
.gt-pr-3 { padding-right: .5rem !important; }
|
||||
.gt-pr-4 { padding-right: 1rem !important; }
|
||||
.gt-pr-5 { padding-right: 2rem !important; }
|
||||
|
||||
.gt-pt-0 { padding-top: 0 !important; }
|
||||
.gt-pt-1 { padding-top: .125rem !important; }
|
||||
.gt-pt-2 { padding-top: .25rem !important; }
|
||||
.gt-pt-3 { padding-top: .5rem !important; }
|
||||
.gt-pt-4 { padding-top: 1rem !important; }
|
||||
.gt-pt-5 { padding-top: 2rem !important; }
|
||||
|
||||
.gt-pb-0 { padding-bottom: 0 !important; }
|
||||
.gt-pb-1 { padding-bottom: .125rem !important; }
|
||||
.gt-pb-2 { padding-bottom: .25rem !important; }
|
||||
.gt-pb-3 { padding-bottom: .5rem !important; }
|
||||
.gt-pb-4 { padding-bottom: 1rem !important; }
|
||||
.gt-pb-5 { padding-bottom: 2rem !important; }
|
||||
|
||||
.gt-px-0 { padding-left: 0 !important; padding-right: 0 !important; }
|
||||
.gt-px-1 { padding-left: .125rem !important; padding-right: .125rem !important; }
|
||||
.gt-px-2 { padding-left: .25rem !important; padding-right: .25rem !important; }
|
||||
.gt-px-3 { padding-left: .5rem !important; padding-right: .5rem !important; }
|
||||
.gt-px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
|
||||
.gt-px-5 { padding-left: 2rem !important; padding-right: 2rem !important; }
|
||||
|
||||
.gt-py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
|
||||
.gt-py-1 { padding-top: .125rem !important; padding-bottom: .125rem !important; }
|
||||
.gt-py-2 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
|
||||
.gt-py-3 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
|
||||
.gt-py-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
|
||||
.gt-py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
|
||||
|
||||
.gt-gap-0 { gap: 0 !important; }
|
||||
.gt-gap-1 { gap: .125rem !important; }
|
||||
.gt-gap-2 { gap: .25rem !important; }
|
||||
.gt-gap-3 { gap: .5rem !important; }
|
||||
.gt-gap-4 { gap: 1rem !important; }
|
||||
.gt-gap-5 { gap: 2rem !important; }
|
||||
|
||||
.gt-gap-x-0 { column-gap: 0 !important; }
|
||||
.gt-gap-x-1 { column-gap: .125rem !important; }
|
||||
.gt-gap-x-2 { column-gap: .25rem !important; }
|
||||
.gt-gap-x-3 { column-gap: .5rem !important; }
|
||||
.gt-gap-x-4 { column-gap: 1rem !important; }
|
||||
.gt-gap-x-5 { column-gap: 2rem !important; }
|
||||
|
||||
.gt-gap-y-0 { row-gap: 0 !important; }
|
||||
.gt-gap-y-1 { row-gap: .125rem !important; }
|
||||
.gt-gap-y-2 { row-gap: .25rem !important; }
|
||||
.gt-gap-y-3 { row-gap: .5rem !important; }
|
||||
.gt-gap-y-4 { row-gap: 1rem !important; }
|
||||
.gt-gap-y-5 { row-gap: 2rem !important; }
|
||||
|
||||
.gt-content-center { align-content: center !important; }
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.gt-db-small { display: block !important; }
|
||||
.gt-w-100-small { width: 100% !important; }
|
||||
.gt-js-small { justify-content: flex-start !important; }
|
||||
}
|
||||
|
||||
/*
|
||||
gt-hidden must be placed after all other "display: xxx !important" classes to win the chance
|
||||
do not use:
|
||||
* "[hidden]" attribute: it's too weak, can not be applied to an element with "display: flex"
|
||||
* ".hidden" class: it has been polluted by Fomantic UI in many cases
|
||||
* inline style="display: none": it's difficult to tweak
|
||||
* jQuery's show/hide/toggle: it can not show/hide elements with "display: xxx !important"
|
||||
only use:
|
||||
* this ".gt-hidden" class
|
||||
* showElem/hideElem/toggleElem functions in "utils/dom.js"
|
||||
*/
|
||||
.gt-hidden { display: none !important; }
|
53
web_src/css/home.css
Normal file
53
web_src/css/home.css
Normal file
|
@ -0,0 +1,53 @@
|
|||
.home .logo {
|
||||
max-width: 220px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.home .hero h1 {
|
||||
font-size: 3.5em;
|
||||
}
|
||||
.home .hero h2 {
|
||||
font-size: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.home .hero h1 {
|
||||
font-size: 5.5em;
|
||||
}
|
||||
.home .hero h2 {
|
||||
font-size: 3em;
|
||||
}
|
||||
}
|
||||
|
||||
.home .hero .svg {
|
||||
color: var(--color-green);
|
||||
height: 40px;
|
||||
width: 50px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.home .hero.header {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.home p.large {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.home .stackable {
|
||||
padding-top: 30px;
|
||||
}
|
||||
|
||||
.home a {
|
||||
color: var(--color-green);
|
||||
}
|
||||
|
||||
@media (max-width: 880px) {
|
||||
footer .ui.container .left,
|
||||
footer .ui.container .right {
|
||||
display: block;
|
||||
text-align: center;
|
||||
float: none;
|
||||
}
|
||||
}
|
40
web_src/css/index.css
Normal file
40
web_src/css/index.css
Normal file
|
@ -0,0 +1,40 @@
|
|||
@import "font-awesome/css/font-awesome.css";
|
||||
|
||||
@import "./animations.css";
|
||||
@import "./shared/issuelist.css";
|
||||
@import "./features/dropzone.css";
|
||||
@import "./features/gitgraph.css";
|
||||
@import "./features/heatmap.css";
|
||||
@import "./features/imagediff.css";
|
||||
@import "./features/codeeditor.css";
|
||||
@import "./features/projects.css";
|
||||
@import "./modules/tippy.css";
|
||||
@import "./code/linebutton.css";
|
||||
@import "./markup/content.css";
|
||||
@import "./markup/codecopy.css";
|
||||
@import "./markup/asciicast.css";
|
||||
|
||||
@import "./chroma/base.css";
|
||||
@import "./chroma/light.css";
|
||||
@import "./codemirror/base.css";
|
||||
@import "./codemirror/light.css";
|
||||
@import "./console/console.css";
|
||||
|
||||
@import "./svg.css";
|
||||
@import "./tribute.css";
|
||||
@import "./font_i18n.css";
|
||||
@import "./base.css";
|
||||
@import "./home.css";
|
||||
@import "./install.css";
|
||||
@import "./form.css";
|
||||
@import "./repository.css";
|
||||
@import "./editor.css";
|
||||
@import "./organization.css";
|
||||
@import "./user.css";
|
||||
@import "./dashboard.css";
|
||||
@import "./admin.css";
|
||||
@import "./explore.css";
|
||||
@import "./review.css";
|
||||
@import "./package.css";
|
||||
@import "./runner.css";
|
||||
@import "./helpers.css";
|
65
web_src/css/install.css
Normal file
65
web_src/css/install.css
Normal file
|
@ -0,0 +1,65 @@
|
|||
.page-content.install {
|
||||
padding-top: 45px;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form .inline.field > label {
|
||||
text-align: right;
|
||||
width: 30%;
|
||||
padding-right: 10px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form .inline.field > .ui.checkbox:first-child {
|
||||
margin-left: 30%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form .inline.field > .ui.checkbox:first-child label {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form .title {
|
||||
margin-left: 30%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form input {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form details.optional.field[open] {
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form details.optional.field[open] summary {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form details.optional.field * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form .field {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.page-content.install form.ui.form .field .help {
|
||||
margin-left: 30%;
|
||||
padding-left: 5px;
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.page-content.install .ui .reinstall-message {
|
||||
width: 70%;
|
||||
margin: 20px auto;
|
||||
color: var(--color-red);
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.page-content.install .ui .reinstall-confirm {
|
||||
width: 70%;
|
||||
text-align: left;
|
||||
margin: 10px auto;
|
||||
}
|
8
web_src/css/markup/asciicast.css
Normal file
8
web_src/css/markup/asciicast.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
.asciinema-player-container {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.asciinema-terminal {
|
||||
overflow: hidden !important;
|
||||
}
|
35
web_src/css/markup/codecopy.css
Normal file
35
web_src/css/markup/codecopy.css
Normal file
|
@ -0,0 +1,35 @@
|
|||
.markup .code-block,
|
||||
.markup .mermaid-block {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.markup .code-copy {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 6px;
|
||||
padding: 9px;
|
||||
visibility: hidden;
|
||||
animation: fadeout 0.2s both;
|
||||
}
|
||||
|
||||
/* adjustments for comment content having only 14px font size */
|
||||
.repository.view.issue .comment-list .comment .markup .code-copy {
|
||||
right: 5px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
/* can not use regular transparent button colors for hover and active states because
|
||||
we need opaque colors here as code can appear behind the button */
|
||||
.markup .code-copy:hover {
|
||||
background: var(--color-secondary) !important;
|
||||
}
|
||||
|
||||
.markup .code-copy:active {
|
||||
background: var(--color-secondary-dark-1) !important;
|
||||
}
|
||||
|
||||
.markup .code-block:hover .code-copy,
|
||||
.markup .mermaid-block:hover .code-copy {
|
||||
visibility: visible;
|
||||
animation: fadein 0.2s both;
|
||||
}
|
559
web_src/css/markup/content.css
Normal file
559
web_src/css/markup/content.css
Normal file
|
@ -0,0 +1,559 @@
|
|||
.markup {
|
||||
overflow: hidden;
|
||||
font-size: 16px;
|
||||
line-height: 1.5 !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.markup.ui.segment {
|
||||
padding: 3em;
|
||||
}
|
||||
|
||||
.markup.file-view {
|
||||
padding: 2em !important;
|
||||
}
|
||||
|
||||
.markup > *:first-child {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.markup > *:last-child {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.markup a:not([href]) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.markup .absent {
|
||||
color: var(--color-red);
|
||||
}
|
||||
|
||||
.markup .anchor {
|
||||
padding-right: 4px;
|
||||
margin-left: -20px;
|
||||
line-height: 1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.markup .anchor .svg {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.markup .anchor:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.markup h1 .anchor .svg,
|
||||
.markup h2 .anchor .svg,
|
||||
.markup h3 .anchor .svg,
|
||||
.markup h4 .anchor .svg,
|
||||
.markup h5 .anchor .svg,
|
||||
.markup h6 .anchor .svg {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.markup h1:hover .anchor .svg,
|
||||
.markup h2:hover .anchor .svg,
|
||||
.markup h3:hover .anchor .svg,
|
||||
.markup h4:hover .anchor .svg,
|
||||
.markup h5:hover .anchor .svg,
|
||||
.markup h6:hover .anchor .svg {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.markup h2 .anchor .svg,
|
||||
.markup h3 .anchor .svg,
|
||||
.markup h4 .anchor .svg {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.markup h1,
|
||||
.markup h2,
|
||||
.markup h3,
|
||||
.markup h4,
|
||||
.markup h5,
|
||||
.markup h6 {
|
||||
margin-top: 24px;
|
||||
margin-bottom: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 1.25;
|
||||
}
|
||||
|
||||
.markup h1 tt,
|
||||
.markup h1 code,
|
||||
.markup h2 tt,
|
||||
.markup h2 code,
|
||||
.markup h3 tt,
|
||||
.markup h3 code,
|
||||
.markup h4 tt,
|
||||
.markup h4 code,
|
||||
.markup h5 tt,
|
||||
.markup h5 code,
|
||||
.markup h6 tt,
|
||||
.markup h6 code {
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.markup h1 {
|
||||
padding-bottom: 0.3em;
|
||||
font-size: 2em;
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.markup h2 {
|
||||
padding-bottom: 0.3em;
|
||||
font-size: 1.5em;
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.markup h3 {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
.markup h4 {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.markup h5 {
|
||||
font-size: 0.875em;
|
||||
}
|
||||
|
||||
.markup h6 {
|
||||
font-size: 0.85em;
|
||||
color: var(--color-text-light-2);
|
||||
}
|
||||
|
||||
.markup p,
|
||||
.markup blockquote,
|
||||
.markup details,
|
||||
.markup ul,
|
||||
.markup ol,
|
||||
.markup dl,
|
||||
.markup table,
|
||||
.markup pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.markup hr {
|
||||
height: 4px;
|
||||
padding: 0;
|
||||
margin: 16px 0;
|
||||
background-color: var(--color-secondary);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.markup ul,
|
||||
.markup ol {
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.markup ul.no-list,
|
||||
.markup ol.no-list {
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.markup .task-list-item {
|
||||
list-style-type: none;
|
||||
position: relative;
|
||||
line-height: 1.5rem;
|
||||
min-height: 1.5rem; /* // to render a checkbox list without content `- [ ]`, we need this min-height to make sure the <li> can be visible */
|
||||
}
|
||||
|
||||
.markup .task-list-item input[type="checkbox"] {
|
||||
position: absolute;
|
||||
top: 0.25em;
|
||||
left: -1.6em;
|
||||
}
|
||||
|
||||
.markup .task-list-item p {
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
|
||||
.markup .task-list-item + .task-list-item {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.markup input[type="checkbox"] {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
position: relative;
|
||||
border: 1px solid var(--color-secondary);
|
||||
border-radius: 2px;
|
||||
background: var(--color-input-background);
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
opacity: 1 !important; /* override fomantic on edit preview */
|
||||
pointer-events: auto !important; /* override fomantic on edit preview */
|
||||
vertical-align: middle !important; /* override fomantic on edit preview */
|
||||
-webkit-print-color-adjust: exact;
|
||||
color-adjust: exact;
|
||||
}
|
||||
|
||||
.markup input[type="checkbox"]:not([disabled]):hover,
|
||||
.markup input[type="checkbox"]:not([disabled]):active {
|
||||
border-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.markup input[type="checkbox"]::after {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
pointer-events: none;
|
||||
background: var(--color-text);
|
||||
mask-size: cover;
|
||||
-webkit-mask-size: cover;
|
||||
}
|
||||
|
||||
.markup input[type="checkbox"]:checked::after {
|
||||
content: "";
|
||||
mask-image: var(--checkbox-mask-checked);
|
||||
-webkit-mask-image: var(--checkbox-mask-checked);
|
||||
-webkit-print-color-adjust: exact;
|
||||
color-adjust: exact;
|
||||
}
|
||||
|
||||
.markup input[type="checkbox"]:indeterminate::after {
|
||||
content: "";
|
||||
mask-image: var(--checkbox-mask-indeterminate);
|
||||
-webkit-mask-image: var(--checkbox-mask-indeterminate);
|
||||
}
|
||||
|
||||
.markup ul ul,
|
||||
.markup ul ol,
|
||||
.markup ol ol,
|
||||
.markup ol ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.markup ol ol,
|
||||
.markup ul ol {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
|
||||
.markup li > p {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.markup li + li {
|
||||
margin-top: 0.25em;
|
||||
}
|
||||
|
||||
.markup dl {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.markup dl dt {
|
||||
padding: 0;
|
||||
margin-top: 16px;
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markup dl dd {
|
||||
padding: 0 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.markup blockquote {
|
||||
margin-left: 0;
|
||||
padding: 0 15px;
|
||||
color: var(--color-text-light-2);
|
||||
border-left: 4px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.markup blockquote > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.markup blockquote > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.markup table {
|
||||
display: block;
|
||||
width: 100%;
|
||||
width: max-content;
|
||||
max-width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.markup table th {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markup table th,
|
||||
.markup table td {
|
||||
padding: 6px 13px !important;
|
||||
border: 1px solid var(--color-secondary) !important;
|
||||
}
|
||||
|
||||
.markup table tr {
|
||||
border-top: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.markup table tr:nth-child(2n) {
|
||||
background-color: var(--color-markup-table-row);
|
||||
}
|
||||
|
||||
.markup img {
|
||||
max-width: 100%;
|
||||
box-sizing: initial;
|
||||
}
|
||||
|
||||
.markup img[align="right"] {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.markup img[align="left"] {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.markup .emoji {
|
||||
max-width: none;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
.markup span.frame {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.markup span.frame > span {
|
||||
display: block;
|
||||
float: left;
|
||||
width: auto;
|
||||
padding: 7px;
|
||||
margin: 13px 0 0;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.markup span.frame span img {
|
||||
display: block;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.markup span.frame span span {
|
||||
display: block;
|
||||
padding: 5px 0 0;
|
||||
clear: both;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.markup span.align-center {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markup span.align-center > span {
|
||||
display: block;
|
||||
margin: 13px auto 0;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.markup span.align-center span img {
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.markup span.align-right {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markup span.align-right > span {
|
||||
display: block;
|
||||
margin: 13px 0 0;
|
||||
overflow: hidden;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.markup span.align-right span img {
|
||||
margin: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.markup span.float-left {
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 13px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.markup span.float-left span {
|
||||
margin: 13px 0 0;
|
||||
}
|
||||
|
||||
.markup span.float-right {
|
||||
display: block;
|
||||
float: right;
|
||||
margin-left: 13px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.markup span.float-right > span {
|
||||
display: block;
|
||||
margin: 13px auto 0;
|
||||
overflow: hidden;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.markup code,
|
||||
.markup tt {
|
||||
padding: 0.2em 0.4em;
|
||||
margin: 0;
|
||||
font-size: 85%;
|
||||
white-space: break-spaces;
|
||||
background-color: var(--color-markup-code-block);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.markup code br,
|
||||
.markup tt br {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.markup del code {
|
||||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
.markup pre > code {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-size: 100%;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
overflow-wrap: break-word;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.markup .highlight {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.markup .highlight pre,
|
||||
.markup pre {
|
||||
padding: 16px;
|
||||
font-size: 85%;
|
||||
line-height: 1.45;
|
||||
background-color: var(--color-markup-code-block);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.markup .highlight pre {
|
||||
margin-bottom: 0;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
.markup pre {
|
||||
word-wrap: normal;
|
||||
}
|
||||
|
||||
.markup pre code,
|
||||
.markup pre tt {
|
||||
display: inline;
|
||||
max-width: initial;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
overflow: initial;
|
||||
line-height: inherit;
|
||||
word-wrap: normal;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.markup pre code::before,
|
||||
.markup pre code::after,
|
||||
.markup pre tt::before,
|
||||
.markup pre tt::after {
|
||||
content: normal;
|
||||
}
|
||||
|
||||
.markup kbd {
|
||||
display: inline-block;
|
||||
padding: 3px 5px;
|
||||
font-size: 11px;
|
||||
line-height: 10px;
|
||||
color: var(--color-text-light);
|
||||
vertical-align: middle;
|
||||
background-color: var(--color-markup-code-block);
|
||||
border: 1px solid var(--color-secondary);
|
||||
border-radius: 3px;
|
||||
box-shadow: inset 0 -1px 0 var(--color-secondary);
|
||||
}
|
||||
|
||||
.markup .ui.list .list,
|
||||
.markup ol.ui.list ol,
|
||||
.markup ul.ui.list ul {
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.repository.wiki.revisions .ui.container > .ui.stackable.grid {
|
||||
-ms-flex-direction: row-reverse;
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
.repository.wiki.revisions .ui.container > .ui.stackable.grid > .header {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.repository.wiki.revisions .ui.container > .ui.stackable.grid > .header .sub.header {
|
||||
padding-left: 52px;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.file-revisions-btn {
|
||||
display: block;
|
||||
float: left;
|
||||
margin-bottom: 2px !important;
|
||||
padding: 11px !important;
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
|
||||
.file-revisions-btn i {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.markup-render {
|
||||
display: block;
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: var(--height-loading); /* actual height is set in JS after loading */
|
||||
overflow: hidden;
|
||||
color-scheme: normal; /* match the value inside the iframe to allow it to become transparent */
|
||||
}
|
||||
|
||||
.markup-block-error {
|
||||
border: 1px solid var(--color-error-border) !important;
|
||||
margin-bottom: 0 !important;
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
box-shadow: none !important;
|
||||
font-size: 85% !important;
|
||||
white-space: pre-wrap !important;
|
||||
padding: 0.5rem 1rem !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.markup-block-error + pre {
|
||||
border-top: none !important;
|
||||
margin-top: 0 !important;
|
||||
border-top-left-radius: 0 !important;
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
116
web_src/css/modules/tippy.css
Normal file
116
web_src/css/modules/tippy.css
Normal file
|
@ -0,0 +1,116 @@
|
|||
/* styles are based on node_modules/tippy.js/dist/tippy.css */
|
||||
|
||||
/* class to hide tippy target elements on page load */
|
||||
.tippy-target {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
[data-tippy-root] {
|
||||
max-width: calc(100vw - 10px);
|
||||
}
|
||||
|
||||
.tippy-box {
|
||||
position: relative;
|
||||
background-color: var(--color-body);
|
||||
color: var(--color-secondary-dark-6);
|
||||
border: 1px solid var(--color-secondary);
|
||||
border-radius: var(--border-radius);
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.tippy-box[data-theme="tooltip"] {
|
||||
background-color: var(--color-tooltip-bg);
|
||||
color: var(--color-tooltip-text);
|
||||
border: none;
|
||||
}
|
||||
|
||||
.tippy-box[data-theme="menu"] {
|
||||
background-color: transparent;
|
||||
color: var(--color-tooltip-text);
|
||||
}
|
||||
|
||||
.tippy-box[data-theme="menu"] .ui.menu {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.tippy-content {
|
||||
position: relative;
|
||||
padding: 1rem;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.tippy-box[data-theme="tooltip"] .tippy-content {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
.tippy-box[data-theme="menu"] .tippy-content {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="top"] > .tippy-svg-arrow {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="top"] > .tippy-svg-arrow::after,
|
||||
.tippy-box[data-placement^="top"] > .tippy-svg-arrow > svg {
|
||||
top: 16px;
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="bottom"] > .tippy-svg-arrow {
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="bottom"] > .tippy-svg-arrow > svg {
|
||||
bottom: 16px;
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="left"] > .tippy-svg-arrow {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="left"] > .tippy-svg-arrow::after,
|
||||
.tippy-box[data-placement^="left"] > .tippy-svg-arrow > svg {
|
||||
transform: rotate(90deg);
|
||||
top: calc(50% - 3px);
|
||||
left: 11px;
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="right"] > .tippy-svg-arrow {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.tippy-box[data-placement^="right"] > .tippy-svg-arrow::after,
|
||||
.tippy-box[data-placement^="right"] > .tippy-svg-arrow > svg {
|
||||
transform: rotate(-90deg);
|
||||
top: calc(50% - 3px);
|
||||
right: 11px;
|
||||
}
|
||||
|
||||
.tippy-svg-arrow {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
text-align: initial;
|
||||
}
|
||||
|
||||
.tippy-svg-arrow,
|
||||
.tippy-svg-arrow > svg {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.tippy-svg-arrow-outer {
|
||||
fill: var(--color-secondary);
|
||||
}
|
||||
|
||||
.tippy-svg-arrow-inner {
|
||||
fill: var(--color-body);
|
||||
}
|
||||
|
||||
.tippy-box[data-theme="tooltip"] .tippy-svg-arrow-inner,
|
||||
.tippy-box[data-theme="tooltip"] .tippy-svg-arrow-outer {
|
||||
fill: var(--color-tooltip-bg);
|
||||
}
|
||||
|
||||
.tippy-box[data-theme="menu"] .tippy-svg-arrow-inner {
|
||||
fill: var(--color-menu);
|
||||
}
|
250
web_src/css/organization.css
Normal file
250
web_src/css/organization.css
Normal file
|
@ -0,0 +1,250 @@
|
|||
#create-page-form form {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#create-page-form form .ui.message {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
#create-page-form form {
|
||||
width: 800px !important;
|
||||
}
|
||||
#create-page-form form .header {
|
||||
padding-left: 280px !important;
|
||||
}
|
||||
#create-page-form form .inline.field > label,
|
||||
#create-page-form form .inline.field.captcha-field > span {
|
||||
text-align: right;
|
||||
width: 250px !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
#create-page-form form .help {
|
||||
margin-left: 265px !important;
|
||||
}
|
||||
#create-page-form form .optional .title {
|
||||
margin-left: 250px !important;
|
||||
}
|
||||
#create-page-form form .inline.field > input,
|
||||
#create-page-form form .inline.field > textarea {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
#create-page-form form .optional .title {
|
||||
margin-left: 15px;
|
||||
}
|
||||
#create-page-form form .inline.field > label {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.organization .head .ui.header .text {
|
||||
vertical-align: middle;
|
||||
font-size: 1.6rem;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.organization .head .ui.header .org-visibility .label {
|
||||
margin-left: 5px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.organization .head .ui.header .ui.right {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.organization .ui.secondary.stackable.pointing.menu {
|
||||
flex-wrap: wrap;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.organization.new.org form {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.organization.new.org form .ui.message {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.organization.new.org form {
|
||||
width: 800px !important;
|
||||
}
|
||||
.organization.new.org form .header {
|
||||
padding-left: 280px !important;
|
||||
}
|
||||
.organization.new.org form .inline.field > label,
|
||||
.organization.new.org form .inline.field.captcha-field > span {
|
||||
text-align: right;
|
||||
width: 250px !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.organization.new.org form .help {
|
||||
margin-left: 265px !important;
|
||||
}
|
||||
.organization.new.org form .optional .title {
|
||||
margin-left: 250px !important;
|
||||
}
|
||||
.organization.new.org form .inline.field > input,
|
||||
.organization.new.org form .inline.field > textarea {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.organization.new.org form .optional .title {
|
||||
margin-left: 15px;
|
||||
}
|
||||
.organization.new.org form .inline.field > label {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.organization.new.org form .header {
|
||||
padding-left: 0 !important;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.organization.options input {
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
.organization.profile .org-avatar {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.organization.profile #org-info {
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.organization.profile #org-info .ui.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 36px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.organization.profile #org-info .ui.header .org-visibility .label {
|
||||
margin-left: 5px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.organization.profile #org-info .desc {
|
||||
font-size: 16px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.organization.profile #org-info .meta .item {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.organization.profile #org-info .meta .item .icon {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.organization.profile .ui.top.header .ui.right {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.organization.profile .teams .item {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
|
||||
.organization.teams .members a:hover,
|
||||
.organization.profile .members a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.organization.teams .members .ui.avatar,
|
||||
.organization.profile .members .ui.avatar {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin-right: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.organization.invite #invite-box {
|
||||
margin: 50px auto auto;
|
||||
width: 500px !important;
|
||||
}
|
||||
|
||||
.organization.invite #invite-box #search-user-box input {
|
||||
margin-left: 0;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.organization.invite #invite-box .ui.button {
|
||||
margin-left: 5px;
|
||||
margin-top: -3px;
|
||||
}
|
||||
|
||||
.organization.invite .ui.avatar {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.organization.members .list .item {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.organization.members .list .item .ui.avatar {
|
||||
width: 48px;
|
||||
height: auto;
|
||||
margin-right: 1rem;
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.organization.members .list .item .meta {
|
||||
line-height: 24px;
|
||||
word-break: break-word;
|
||||
min-width: 2em;
|
||||
}
|
||||
|
||||
.organization.teams .detail .item {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
|
||||
.organization.teams .detail .item:not(:last-child) {
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.organization.teams .repositories .item,
|
||||
.organization.teams .members .item {
|
||||
padding: 10px 20px;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.organization.teams .repositories .item:not(:last-child),
|
||||
.organization.teams .members .item:not(:last-child) {
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.organization.teams .repositories .item .button,
|
||||
.organization.teams .members .item .button {
|
||||
padding: 9px 10px;
|
||||
}
|
||||
|
||||
.organization.teams #add-repo-form input,
|
||||
.organization.teams #repo-multiple-form input,
|
||||
.organization.teams #add-member-form input {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.organization.teams #add-repo-form .ui.button,
|
||||
.organization.teams #repo-multiple-form .ui.button,
|
||||
.organization.teams #add-member-form .ui.button {
|
||||
margin-left: 5px;
|
||||
margin-top: -3px;
|
||||
}
|
||||
|
||||
.organization.teams #repo-top-segment {
|
||||
height: 60px;
|
||||
}
|
7
web_src/css/package.css
Normal file
7
web_src/css/package.css
Normal file
|
@ -0,0 +1,7 @@
|
|||
.container-labels td:nth-child(1) {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.container-labels td:nth-child(2) {
|
||||
overflow-wrap: anywhere;
|
||||
}
|
3629
web_src/css/repository.css
Normal file
3629
web_src/css/repository.css
Normal file
File diff suppressed because it is too large
Load diff
322
web_src/css/review.css
Normal file
322
web_src/css/review.css
Normal file
|
@ -0,0 +1,322 @@
|
|||
.show-outdated,
|
||||
.hide-outdated {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.ui.button.add-code-comment {
|
||||
padding: 2px;
|
||||
position: absolute;
|
||||
margin-left: -22px;
|
||||
z-index: 5;
|
||||
opacity: 0;
|
||||
transition: transform 0.1s ease-in-out;
|
||||
transform: scale(1);
|
||||
box-shadow: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.ui.button.add-code-comment:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.lines-escape a.toggle-escape-button::before {
|
||||
visibility: visible;
|
||||
content: "⚠️";
|
||||
font-family: var(--fonts-emoji);
|
||||
color: var(--color-red);
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff td.lines-escape {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.diff-file-box .lines-code:hover .ui.button.add-code-comment {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff .add-comment-left,
|
||||
.repository .diff-file-box .code-diff .add-comment-right,
|
||||
.repository .diff-file-box .code-diff .add-code-comment .add-comment-left,
|
||||
.repository .diff-file-box .code-diff .add-code-comment .add-comment-right,
|
||||
.repository .diff-file-box .code-diff .add-code-comment .lines-type-marker {
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.add-comment-left.add-comment-right .ui.attached.header {
|
||||
border: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.add-comment-left.add-comment-right .ui.attached.header:not(.top) {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.add-comment .lines-num,
|
||||
.add-comment .lines-escape,
|
||||
.add-comment .lines-type-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.show-outdated:hover,
|
||||
.hide-outdated:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.comment-code-cloud {
|
||||
padding: 0.5rem 1rem !important;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.comment-code-cloud {
|
||||
max-width: none;
|
||||
padding: 0.75rem !important;
|
||||
}
|
||||
.comment-code-cloud .code-comment-buttons {
|
||||
margin: 0.5rem 0 0.25rem !important;
|
||||
}
|
||||
.comment-code-cloud .code-comment-buttons .code-comment-buttons-buttons {
|
||||
width: 100%;
|
||||
}
|
||||
.comment-code-cloud .ui.buttons {
|
||||
width: 100%;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.comment-code-cloud .ui.buttons .button {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.comment-code-cloud .comments .comment {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.comment-code-cloud .comments .comment {
|
||||
display: flex;
|
||||
}
|
||||
.comment-code-cloud
|
||||
.comments
|
||||
.comment
|
||||
.comment-header-right.actions
|
||||
.ui.basic.label {
|
||||
display: none;
|
||||
}
|
||||
.comment-code-cloud .comments .comment .avatar {
|
||||
width: auto;
|
||||
float: none;
|
||||
margin: 0 0.5rem 0 0;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.comment-code-cloud .comments .comment .avatar ~ .content {
|
||||
margin-left: 1em;
|
||||
}
|
||||
.comment-code-cloud .comments .comment img.avatar {
|
||||
margin: 0 !important;
|
||||
}
|
||||
.comment-code-cloud .comments .comment .comment-content {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
.comment-code-cloud .comments .comment .comment-container {
|
||||
width: 100%;
|
||||
}
|
||||
.comment-code-cloud .comments .comment.code-comment {
|
||||
padding: 0 0 0.5rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
.comment-code-cloud .attached.tab {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.comment-code-cloud .attached.header {
|
||||
padding: 0.1rem 1rem;
|
||||
}
|
||||
|
||||
.comment-code-cloud .attached.header .text {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.comment-code-cloud .right.menu.options .item {
|
||||
padding: 0.85714286em 0.442857em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.comment-code-cloud .ui.active.tab {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
.comment-code-cloud .ui.active.tab.markup {
|
||||
padding: 1em;
|
||||
min-height: 168px;
|
||||
}
|
||||
|
||||
.comment-code-cloud .ui.tabular.menu {
|
||||
margin: 0.5em;
|
||||
}
|
||||
|
||||
.comment-code-cloud .footer {
|
||||
border-top: 1px solid var(--color-secondary);
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.comment-code-cloud .footer .markup-info {
|
||||
display: inline-block;
|
||||
margin: 5px 0;
|
||||
font-size: 12px;
|
||||
color: var(--color-text-light);
|
||||
}
|
||||
|
||||
.comment-code-cloud .footer .ui.right.floated {
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
.comment-code-cloud .footer::after {
|
||||
clear: both;
|
||||
content: "";
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.comment-code-cloud .button {
|
||||
width: 100%;
|
||||
margin: 0 !important;
|
||||
margin-bottom: 0.75rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
.diff-file-body .comment-form {
|
||||
margin: 0 0 0 3em;
|
||||
}
|
||||
|
||||
.file-comment {
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
a.blob-excerpt {
|
||||
color: var(--color-text-light);
|
||||
height: 28px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
background: var(--color-expand-button);
|
||||
}
|
||||
|
||||
a.blob-excerpt:hover {
|
||||
background: var(--color-primary);
|
||||
color: var(--color-primary-contrast);
|
||||
}
|
||||
|
||||
/* See the comment of createCommentEasyMDE() for the review editor */
|
||||
/* EasyMDE's options can not handle minHeight & maxHeight together correctly, we have to set minHeight in JS code */
|
||||
.review-box-panel .CodeMirror-scroll {
|
||||
min-height: 80px;
|
||||
max-height: calc(100vh - 360px);
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.review-box-panel .CodeMirror-scroll {
|
||||
max-width: calc(100vw - 70px);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) and (max-width: 991px) {
|
||||
.review-box-panel .CodeMirror-scroll {
|
||||
max-width: 700px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) and (max-width: 1200px) {
|
||||
.review-box-panel .CodeMirror-scroll {
|
||||
max-width: 800px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1201px) {
|
||||
.review-box-panel .CodeMirror-scroll {
|
||||
max-width: 900px;
|
||||
}
|
||||
}
|
||||
|
||||
#review-box {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.review-box-panel {
|
||||
position: absolute;
|
||||
min-width: max-content;
|
||||
top: 45px;
|
||||
right: -5px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#review-box .review-comments-counter {
|
||||
background-color: var(--color-primary-light-4);
|
||||
color: var(--color-primary-contrast);
|
||||
}
|
||||
|
||||
#review-box:hover .review-comments-counter {
|
||||
background-color: var(--color-primary-light-5);
|
||||
}
|
||||
|
||||
#review-box .review-comments-counter[data-pending-comment-number="0"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pull.files.diff [id] {
|
||||
scroll-margin-top: 99px;
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
.pull.files.diff [id] {
|
||||
scroll-margin-top: 130px;
|
||||
}
|
||||
}
|
||||
|
||||
.changed-since-last-review {
|
||||
border: 1px var(--color-accent) solid;
|
||||
background-color: var(--color-small-accent);
|
||||
border-radius: 15px;
|
||||
padding: 4px 8px;
|
||||
margin: -8px 0; /* just like other buttons in the diff box header */
|
||||
font-size: 0.857rem; /* just like .ui.tiny.button */
|
||||
}
|
||||
|
||||
.viewed-file-form {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 1px solid transparent;
|
||||
padding: 4px 8px;
|
||||
margin: -8px 0; /* just like other buttons in the diff box header */
|
||||
border-radius: 0.285rem; /* just like .ui.tiny.button */
|
||||
font-size: 0.857rem; /* just like .ui.tiny.button */
|
||||
}
|
||||
|
||||
.viewed-file-form input {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.viewed-file-checked-form {
|
||||
background-color: var(--color-small-accent);
|
||||
border-color: var(--color-accent);
|
||||
}
|
||||
|
||||
#viewed-files-summary {
|
||||
width: 72px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.diff-file-box {
|
||||
border-radius: 0.285rem; /* Just like ui.top.attached.header */
|
||||
}
|
||||
|
||||
.diff-file-box:target {
|
||||
box-shadow: 0 0 0 3px var(--color-accent);
|
||||
}
|
54
web_src/css/runner.css
Normal file
54
web_src/css/runner.css
Normal file
|
@ -0,0 +1,54 @@
|
|||
.runner-container {
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
|
||||
.runner-container .runner-ops > a {
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
.runner-container .runner-ops-delete {
|
||||
color: var(--color-red-light);
|
||||
}
|
||||
|
||||
.runner-container .runner-basic-info .gt-dib {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.runner-container .runner-status-online {
|
||||
padding: 0.3em 0.5em;
|
||||
background-color: var(--color-green);
|
||||
color: var(--color-white);
|
||||
}
|
||||
|
||||
.runner-container .runner-new-text {
|
||||
color: var(--color-white);
|
||||
}
|
||||
|
||||
.runner-container #runner-new:hover .runner-new-text {
|
||||
color: var(--color-white) !important;
|
||||
}
|
||||
|
||||
.runner-container .runner-new-menu {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.runner-container .task-status-success {
|
||||
background-color: var(--color-green);
|
||||
color: var(--color-white);
|
||||
}
|
||||
|
||||
.runner-container .task-status-failure {
|
||||
background-color: var(--color-red-light);
|
||||
color: var(--color-white);
|
||||
}
|
||||
|
||||
.runner-container .task-status-running {
|
||||
background-color: var(--color-blue);
|
||||
color: var(--color-white);
|
||||
}
|
||||
|
||||
.runner-container .task-status-cancelled,
|
||||
.runner-container .task-status-blocked {
|
||||
background-color: var(--color-yellow);
|
||||
color: var(--color-white);
|
||||
}
|
166
web_src/css/shared/issuelist.css
Normal file
166
web_src/css/shared/issuelist.css
Normal file
|
@ -0,0 +1,166 @@
|
|||
.issue.list {
|
||||
list-style: none;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.issue.list a:not(.label):hover {
|
||||
color: var(--color-primary) !important;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-checkbox {
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-icon svg {
|
||||
margin-right: 0.75rem;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-icons-right > * + * {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-main {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.issue.list > .item .action-item-main {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-right {
|
||||
width: 15%;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-top-row {
|
||||
max-width: 100%;
|
||||
color: var(--color-text);
|
||||
font-size: 16px;
|
||||
min-width: 0;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-top-row a.index {
|
||||
max-width: fit-content;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.issue.list > .item .labels-list {
|
||||
position: relative;
|
||||
top: -1.5px;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-bottom-row {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.issue.list > .item .title {
|
||||
color: var(--color-text);
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.issue.list > .item .issue-item-icon-right {
|
||||
min-width: 2rem;
|
||||
}
|
||||
|
||||
.issue.list > .item .assignee {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.issue.list > .item .assignee img {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc {
|
||||
color: var(--color-text-light-2);
|
||||
}
|
||||
|
||||
.issue.list > .item .desc a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .time-since,
|
||||
.issue.list > .item .desc a {
|
||||
margin-left: 0.25rem;
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .waiting,
|
||||
.issue.list > .item .desc .approvals,
|
||||
.issue.list > .item .desc .rejects {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .checklist {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .checklist progress {
|
||||
margin-left: 2px;
|
||||
width: 80px;
|
||||
height: 6px;
|
||||
display: inline-block;
|
||||
border-radius: 3px;
|
||||
vertical-align: 2px !important;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .checklist progress::-webkit-progress-value {
|
||||
background-color: var(--color-secondary-dark-4);
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .checklist progress::-moz-progress-bar {
|
||||
background-color: var(--color-secondary-dark-4);
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .conflicting {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .due-date {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc a.milestone,
|
||||
.issue.list > .item .desc a.project {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc a.ref {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc a.ref span {
|
||||
margin-right: -4px;
|
||||
}
|
||||
|
||||
.issue.list > .item .desc .overdue {
|
||||
color: var(--color-red);
|
||||
}
|
||||
|
||||
.issue.list .branches {
|
||||
display: inline-flex;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.issue.list .branches .branch {
|
||||
background-color: var(--color-secondary);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.issue.list .branches .truncated-name {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 10em;
|
||||
}
|
||||
|
||||
.issue.list > .item + .item {
|
||||
border-top: 1px solid var(--color-secondary);
|
||||
}
|
31
web_src/css/standalone/swagger.css
Normal file
31
web_src/css/standalone/swagger.css
Normal file
|
@ -0,0 +1,31 @@
|
|||
html {
|
||||
box-sizing: border-box;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.swagger-back-link {
|
||||
color: #1f69c0;
|
||||
text-decoration: none;
|
||||
position: absolute;
|
||||
top: 1rem;
|
||||
right: 1.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.swagger-back-link svg {
|
||||
color: inherit;
|
||||
fill: currentcolor;
|
||||
margin-right: 0.5rem;
|
||||
}
|
9
web_src/css/svg.css
Normal file
9
web_src/css/svg.css
Normal file
|
@ -0,0 +1,9 @@
|
|||
.svg {
|
||||
display: inline-block;
|
||||
vertical-align: text-top;
|
||||
fill: currentcolor;
|
||||
}
|
||||
|
||||
.middle .svg {
|
||||
vertical-align: middle;
|
||||
}
|
200
web_src/css/themes/theme-arc-green.css
Normal file
200
web_src/css/themes/theme-arc-green.css
Normal file
|
@ -0,0 +1,200 @@
|
|||
@import "../chroma/base.css";
|
||||
@import "../chroma/dark.css";
|
||||
@import "../codemirror/dark.css";
|
||||
|
||||
:root {
|
||||
--is-dark-theme: true;
|
||||
--color-primary: #87ab63;
|
||||
--color-primary-contrast: #ffffff;
|
||||
--color-primary-dark-1: #93b373;
|
||||
--color-primary-dark-2: #9fbc82;
|
||||
--color-primary-dark-3: #abc492;
|
||||
--color-primary-dark-4: #b7cda1;
|
||||
--color-primary-dark-5: #cfddc1;
|
||||
--color-primary-dark-6: #e7eee0;
|
||||
--color-primary-dark-7: #f8faf6;
|
||||
--color-primary-light-1: #7a9e55;
|
||||
--color-primary-light-2: #6c8c4c;
|
||||
--color-primary-light-3: #5f7b42;
|
||||
--color-primary-light-4: #516939;
|
||||
--color-primary-light-5: #364626;
|
||||
--color-primary-light-6: #1b2313;
|
||||
--color-primary-light-7: #080b06;
|
||||
--color-primary-alpha-10: #87ab6319;
|
||||
--color-primary-alpha-20: #87ab6333;
|
||||
--color-primary-alpha-30: #87ab634b;
|
||||
--color-primary-alpha-40: #87ab6366;
|
||||
--color-primary-alpha-50: #87ab6380;
|
||||
--color-primary-alpha-60: #87ab6399;
|
||||
--color-primary-alpha-70: #87ab63b3;
|
||||
--color-primary-alpha-80: #87ab63cc;
|
||||
--color-primary-alpha-90: #87ab63e1;
|
||||
--color-secondary: #454a57;
|
||||
--color-secondary-dark-1: #505665;
|
||||
--color-secondary-dark-2: #5b6273;
|
||||
--color-secondary-dark-3: #71798e;
|
||||
--color-secondary-dark-4: #7f8699;
|
||||
--color-secondary-dark-5: #8c93a4;
|
||||
--color-secondary-dark-6: #9aa0af;
|
||||
--color-secondary-dark-7: #a8adba;
|
||||
--color-secondary-dark-8: #b6bac5;
|
||||
--color-secondary-dark-9: #c4c7d0;
|
||||
--color-secondary-dark-10: #d2d4db;
|
||||
--color-secondary-dark-11: #dfe1e6;
|
||||
--color-secondary-dark-12: #edeef1;
|
||||
--color-secondary-dark-13: #fbfbfc;
|
||||
--color-secondary-light-1: #373b46;
|
||||
--color-secondary-light-2: #292c34;
|
||||
--color-secondary-light-3: #1c1e23;
|
||||
--color-secondary-light-4: #0e0f11;
|
||||
--color-secondary-alpha-10: #454a5719;
|
||||
--color-secondary-alpha-20: #454a5733;
|
||||
--color-secondary-alpha-30: #454a574b;
|
||||
--color-secondary-alpha-40: #454a5766;
|
||||
--color-secondary-alpha-50: #454a5780;
|
||||
--color-secondary-alpha-60: #454a5799;
|
||||
--color-secondary-alpha-70: #454a57b3;
|
||||
--color-secondary-alpha-80: #454a57cc;
|
||||
--color-secondary-alpha-90: #454a57e1;
|
||||
/* colors */
|
||||
--color-red: #cc4848;
|
||||
--color-orange: #cc580c;
|
||||
--color-yellow: #cc9903;
|
||||
--color-olive: #91a313;
|
||||
--color-green: #87ab63;
|
||||
--color-teal: #00918a;
|
||||
--color-blue: #3a8ac6;
|
||||
--color-violet: #906ae1;
|
||||
--color-purple: #b259d0;
|
||||
--color-pink: #d22e8b;
|
||||
--color-brown: #a47252;
|
||||
--color-grey: #9ea2aa;
|
||||
--color-black: #1e222e;
|
||||
/* light variants - produced via Sass scale-color(color, $lightness: -10%) */
|
||||
--color-red-light: #c23636;
|
||||
--color-orange-light: #b84f0b;
|
||||
--color-yellow-light: #b88a03;
|
||||
--color-olive-light: #839311;
|
||||
--color-green-light: #7a9e55;
|
||||
--color-teal-light: #00837c;
|
||||
--color-blue-light: #347cb3;
|
||||
--color-violet-light: #7b4edb;
|
||||
--color-purple-light: #a742c9;
|
||||
--color-pink-light: #be297d;
|
||||
--color-brown-light: #94674a;
|
||||
--color-grey-light: #8d919b;
|
||||
--color-black-light: #1b1f29;
|
||||
/* other colors */
|
||||
--color-gold: #b1983b;
|
||||
--color-white: #ffffff;
|
||||
--color-diff-removed-word-bg: #6f3333;
|
||||
--color-diff-added-word-bg: #3c653c;
|
||||
--color-diff-removed-row-bg: #3c2626;
|
||||
--color-diff-moved-row-bg: #818044;
|
||||
--color-diff-added-row-bg: #283e2d;
|
||||
--color-diff-removed-row-border: #634343;
|
||||
--color-diff-moved-row-border: #bcca6f;
|
||||
--color-diff-added-row-border: #314a37;
|
||||
--color-diff-inactive: #353846;
|
||||
--color-error-border: #a04141;
|
||||
--color-error-bg: #522;
|
||||
--color-error-bg-active: #744;
|
||||
--color-error-bg-hover: #633;
|
||||
--color-error-text: #f9cbcb;
|
||||
--color-success-border: #458a57;
|
||||
--color-success-bg: #284034;
|
||||
--color-success-text: #6cc664;
|
||||
--color-warning-border: #bb9d00;
|
||||
--color-warning-bg: #3a3a30;
|
||||
--color-warning-text: #fbbd08;
|
||||
--color-info-border: #306090;
|
||||
--color-info-bg: #26354c;
|
||||
--color-info-text: #38a8e8;
|
||||
--color-red-badge: #db2828;
|
||||
--color-red-badge-bg: #db28281a;
|
||||
--color-red-badge-hover-bg: #db28284d;
|
||||
--color-green-badge: #21ba45;
|
||||
--color-green-badge-bg: #21ba451a;
|
||||
--color-green-badge-hover-bg: #21ba454d;
|
||||
--color-yellow-badge: #fbbd08;
|
||||
--color-yellow-badge-bg: #fbbd081a;
|
||||
--color-yellow-badge-hover-bg: #fbbd084d;
|
||||
--color-orange-badge: #f2711c;
|
||||
--color-orange-badge-bg: #f2711c1a;
|
||||
--color-orange-badge-hover-bg: #f2711c4d;
|
||||
--color-git: #f05133;
|
||||
/* target-based colors */
|
||||
--color-body: #383c4a;
|
||||
--color-box-header: #404652;
|
||||
--color-box-body: #2a2e3a;
|
||||
--color-box-body-highlight: #353945;
|
||||
--color-text-dark: #dbe0ea;
|
||||
--color-text: #bbc0ca;
|
||||
--color-text-light: #a6aab5;
|
||||
--color-text-light-1: #979ba6;
|
||||
--color-text-light-2: #8a8e99;
|
||||
--color-text-light-3: #707687;
|
||||
--color-footer: #2e323e;
|
||||
--color-timeline: #4c525e;
|
||||
--color-input-text: #d5dbe6;
|
||||
--color-input-background: #232933;
|
||||
--color-input-toggle-background: #454a57;
|
||||
--color-input-border: #454a57;
|
||||
--color-input-border-hover: #505667;
|
||||
--color-navbar: #2a2e3a;
|
||||
--color-navbar-transparent: #2a2e3a00;
|
||||
--color-light: #00000028;
|
||||
--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
|
||||
--color-light-border: #ffffff28;
|
||||
--color-hover: #ffffff10;
|
||||
--color-active: #ffffff16;
|
||||
--color-menu: #2e323e;
|
||||
--color-card: #2e323e;
|
||||
--color-markup-table-row: #ffffff06;
|
||||
--color-markup-code-block: #ffffff0d;
|
||||
--color-button: #353846;
|
||||
--color-code-bg: #2a2e3a;
|
||||
--color-code-sidebar-bg: #2e323e;
|
||||
--color-shadow: #00000060;
|
||||
--color-secondary-bg: #2a2e3a;
|
||||
--color-text-focus: #fff;
|
||||
--color-expand-button: #3c404d;
|
||||
--color-placeholder-text: #6a737d;
|
||||
--color-editor-line-highlight: var(--color-primary-light-5);
|
||||
--color-project-board-bg: var(--color-secondary-light-2);
|
||||
--color-caret: var(--color-text); /* should ideally be --color-text-dark, see #15651 */
|
||||
--color-reaction-bg: #ffffff12;
|
||||
--color-reaction-active-bg: var(--color-primary-alpha-40);
|
||||
--color-header-bar: #2e323e;
|
||||
--color-label-active-bg: #4c525e;
|
||||
--color-accent: var(--color-primary-light-1);
|
||||
--color-small-accent: var(--color-primary-light-5);
|
||||
--color-active-line: #534d1b;
|
||||
|
||||
accent-color: var(--color-accent);
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
/* invert emojis that are hard to read otherwise */
|
||||
.emoji[aria-label="check mark"],
|
||||
.emoji[aria-label="currency exchange"],
|
||||
.emoji[aria-label="TOP arrow"],
|
||||
.emoji[aria-label="END arrow"],
|
||||
.emoji[aria-label="ON! arrow"],
|
||||
.emoji[aria-label="SOON arrow"],
|
||||
.emoji[aria-label="heavy dollar sign"],
|
||||
.emoji[aria-label="copyright"],
|
||||
.emoji[aria-label="registered"],
|
||||
.emoji[aria-label="trade mark"],
|
||||
.emoji[aria-label="multiply"],
|
||||
.emoji[aria-label="plus"],
|
||||
.emoji[aria-label="minus"],
|
||||
.emoji[aria-label="divide"],
|
||||
.emoji[aria-label="curly loop"],
|
||||
.emoji[aria-label="double curly loop"],
|
||||
.emoji[aria-label="wavy dash"],
|
||||
.emoji[aria-label="paw prints"],
|
||||
.emoji[aria-label="musical note"],
|
||||
.emoji[aria-label="musical notes"] {
|
||||
filter: invert(100%) hue-rotate(180deg);
|
||||
}
|
1
web_src/css/themes/theme-auto.css
Normal file
1
web_src/css/themes/theme-auto.css
Normal file
|
@ -0,0 +1 @@
|
|||
@import "./theme-arc-green.css" (prefers-color-scheme: dark);
|
42
web_src/css/tribute.css
Normal file
42
web_src/css/tribute.css
Normal file
|
@ -0,0 +1,42 @@
|
|||
@import "tributejs/dist/tribute.css";
|
||||
|
||||
.tribute-container {
|
||||
box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
|
||||
border-radius: 0.25rem;
|
||||
}
|
||||
|
||||
.tribute-container ul {
|
||||
margin-top: 0 !important;
|
||||
background: var(--color-body) !important;
|
||||
}
|
||||
|
||||
.tribute-container li {
|
||||
padding: 3px 0.5rem !important;
|
||||
}
|
||||
|
||||
.tribute-container li span.fullname {
|
||||
font-weight: normal;
|
||||
font-size: 0.8rem;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.tribute-container li.highlight,
|
||||
.tribute-container li:hover {
|
||||
background: var(--color-primary) !important;
|
||||
color: var(--color-primary-contrast) !important;
|
||||
}
|
||||
|
||||
.tribute-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.tribute-item .emoji,
|
||||
.tribute-item img[src*="/avatar/"] {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
.tribute-container img {
|
||||
width: 1.5rem !important;
|
||||
height: 1.5rem !important;
|
||||
}
|
173
web_src/css/user.css
Normal file
173
web_src/css/user.css
Normal file
|
@ -0,0 +1,173 @@
|
|||
.user.profile .ui.card .header {
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
font-size: 1.3rem;
|
||||
margin-top: -0.2rem;
|
||||
line-height: 1.3rem;
|
||||
}
|
||||
|
||||
.user.profile .ui.card .profile-avatar-name {
|
||||
border-top: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.user.profile .ui.card .extra.content {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.user.profile .ui.card .extra.content ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.user.profile .ui.card .extra.content ul li {
|
||||
padding: 10px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.user.profile .ui.card .extra.content ul li:not(:last-child) {
|
||||
border-bottom: 1px solid var(--color-secondary);
|
||||
}
|
||||
|
||||
.user.profile .ui.card .extra.content ul li .svg {
|
||||
margin-left: 1px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.user.profile .ui.card .extra.content ul li.follow .ui.button {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.user.profile .ui.card #profile-avatar {
|
||||
background: none;
|
||||
padding: 1rem 1rem 0.25rem;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.user.profile .ui.card #profile-avatar img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
object-fit: contain;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.user.profile .ui.card #profile-avatar img {
|
||||
width: 30vw;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.user.profile .ui.card {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.user.profile .ui.repository.list {
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
.user.profile #loading-heatmap {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.user.profile .ui.secondary.stackable.pointing.menu {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.user.followers .header.name {
|
||||
font-size: 20px;
|
||||
line-height: 24px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.user.followers .follow .ui.button {
|
||||
padding: 8px 15px;
|
||||
}
|
||||
|
||||
.user.notification .svg {
|
||||
float: left;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.user.notification .svg.green {
|
||||
color: var(--color-green);
|
||||
}
|
||||
|
||||
.user.notification .svg.red {
|
||||
color: var(--color-red);
|
||||
}
|
||||
|
||||
.user.notification .svg.purple {
|
||||
color: var(--color-purple);
|
||||
}
|
||||
|
||||
.user.notification .svg.blue {
|
||||
color: var(--color-blue);
|
||||
}
|
||||
|
||||
.user.notification .content {
|
||||
float: left;
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
.user.notification table form {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.user.notification table button {
|
||||
padding: 3px 3px 3px 5px;
|
||||
}
|
||||
|
||||
.user.notification table tr {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.user .button.adopt,
|
||||
.user .button.delete {
|
||||
margin-top: -15px;
|
||||
margin-bottom: -15px;
|
||||
}
|
||||
|
||||
.user .button.adopt .label,
|
||||
.user .button.delete .label {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.user.link-account:not(.icon) {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.user.settings .iconFloat {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.user-orgs {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
padding: 0;
|
||||
margin: -3px !important;
|
||||
}
|
||||
|
||||
.user-orgs li {
|
||||
display: flex;
|
||||
border-bottom: 0 !important;
|
||||
padding: 3px !important;
|
||||
width: 20%;
|
||||
max-width: 60px;
|
||||
}
|
||||
|
||||
.user-badges {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, 64px);
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
.user-badges img {
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
#notification_div .tab.segment {
|
||||
overflow-x: auto;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue