/* ==UserStyle== @name Gruvbox for OneDev @namespace git.m3.fyi/Marsn3 @version 1.0.1 @description Gruvbox Theme for OneDev @author Marsn3 @homepageURL https://git.m3.fyi/Marsn3/userstyles @updateURL https://git.m3.fyi/Marsn3/userstyles/~raw/main/src/onedev.user.css @license MIT ==/UserStyle== */ @-moz-document domain("git.m3.fyi"), domain("code.onedev.io") { :root { --primary: var(--green); --gray-dark: var(--bg2); --success: var(--blue-dim); --danger: var(--red); --warning: var(--orange); --dark-mode-gray: var(--fg3); --dark-mode-light-dark: var(--bg2); --dark-mode-dark: var(--bg1); --dark-mode-darker: var(--bg); --dark-mode-light-gray: var(--fg2); --dark-mode-light-primary: var(--bg3); --light: var(--fg); --light-gray: var(--fg2); --dark-mode-lighter-dark: var(--bg3); --muted: var(--fg1); --info: var(--purple-dim); --teal: var(--aqua-dim); --cyan: var(--aqua); --white: var(--fg); --pink: var(--purple); --indigo: var(--purple-dim); --light-dark: var(--fg3); --dark-mode-light-info: var(--bg); --dark-mode-dark-gray: var(--bg3); } .CodeMirror { font-family: var(--monospaceFontFamily); } .nav .nav-link { color: var(--fg4); } .dark-mode .badge.badge-light-info { color: var(--fg1); background: var(--purple-dim); } .dark-mode li.feedbackPanelINFO { background-color: var(--bg); } input::placeholder, textarea::placeholder { color: var(--fg4) !important; } .dark-mode .blob-text-diff > tbody > tr > td.new.number, .dark-mode .text-diff > tbody > tr > td.new.content, .dark-mode .text-diff > tbody > tr > td.new.operation { background: #999c2654; border-color: var(--green-dim); } .dark-mode .blob-text-diff > tbody > tr > td.old.number, .dark-mode .text-diff > tbody > tr > td.old.content, .dark-mode .text-diff > tbody > tr > td.old.operation { background: #fb493457; border-color: var(--red-dim); } .dark-mode .text-diff > tbody > tr > td.new .insert { background-color: #689d6a5c; } .dark-mode .text-diff > tbody > tr > td.old .delete { background-color: #cc2412a8; } .sidebar-header { background: var(--bg_s); } .dark-mode .CodeMirror-simplescroll-vertical div { background: var(--bg1); } .dark-mode .blob-text-diff > tbody > tr.expander > td.skipped, .dark-mode .blob-text-diff > tbody > tr.expander > td.expander a { background: var(--bg1); } .dark-mode ::-webkit-scrollbar { background-color: var(--bg1); } .sidebar-menu .menu-body .menu-link:hover, .sidebar-menu .menu-body .menu-link:focus, .sidebar-menu .menu-body .menu-link.open, .sidebar-menu .menu-body .menu-link.active, .dark-mode .switch input:empty ~ span:after { background-color: var(--bg3); } .dark-mode .btn.btn-light-danger { color: var(--fg); background-color: var(--red); } .dark-mode a, .dark-mode a:not([href]):not([class]) { color: var(--blue); } .dark-mode ::-webkit-scrollbar-thumb, .dark-mode .CodeMirror-simplescroll-vertical div, .dark-mode .alert.alert-light { background-color: var(--bg2); } .sidebar-footer { background: var(--bg_s); } .sidebar-menu .menu-header-text { color: var(--fg2); } .dark-mode .btn.btn-outline-secondary, .dark-mode .form-control, .dark-mode .btn.btn-outline-secondary:hover:not(.disabled):not(:disabled):not( [disabled] ):not(.btn-text), .dark-mode .select2-container-active .select2-choice, .dark-mode li.selectable.active a, .dark-mode a.selectable.active, .dark-mode .select2-container .select2-choice, .dark-mode .select2-container .select2-choices { border-color: var(--bg4) !important; } .dark-mode a.link-primary:hover { color: var(--green-dim) !important; } .dark-mode .form-control:focus, .btn.btn-outline-secondary:focus:not(.disabled):not(:disabled):not( [disabled] ):not(.btn-text) { border-color: var(--fg4) !important; } .dark-mode .text-muted, .topbar-right a.topbar-link, .dark-mode .modal-content .modal-header .close, .sidebar-menu .menu-text { color: var(--fg3) !important; } .dark-mode .btn.btn-light-primary, .markdown-rendered a:hover { color: var(--green); } .sidebar-menu .menu-bullet, .dark-mode .badge-secondary { background-color: var(--bg4); } .dark-mode .select2-container-multi .select2-choices .select2-search-choice { color: var(--fg); border-color: var(--bg4); } .dark-mode a { color: var(--fg1); } .SimplePage.dark-mode:not(.force-ordinary-style) .main .form-control { color: var(--fg); } .dark-mode li.feedbackPanelERROR, li.feedbackPanelFATAL { background: var(--bg); } .commit-dot-color1, .commit-dot, .commit-line-color1 { fill: var(--blue); stroke: var(--blue); } .commit-dot-color2, .commit-line-color2 { stroke: var(--green); fill: var(--green); } .dark-mode .select2-results .select2-no-results { color: var(--orange); background-color: var(--bg2); } .websocket-error { color: var(--fg); } .btn.btn-primary:hover:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .btn.btn-primary:focus:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .btn.btn-primary:active:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .btn.btn-primary.active:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .show > .btn.btn-primary.dropdown-toggle, .show .btn.btn-primary.btn-dropdown, .btn.btn-primary { border-color: var(--green); color: var(--fg); background-color: var(--green-dim); } .dark-mode .alert.alert-light-warning { background-color: var(--bg_h); } .dark-mode a.link-success:hover { color: var(--blue) !important; } a[href*="/~issues?query=%22Project%22+is+current+and+%22State%22+is+%22Open%22"] { color: var(--yellow) !important; } a[href*="/~issues?query=%22Project%22+is+current+and+%22State%22+is+%22Closed%22"] { color: var(--green) !important; } /*red*/ img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/local_object"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/local_function"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.python.symbols.ui.icons.iconlocator/methpri_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/methpri_obj"] { filter: var(--fitler-reset) var(--filter-red); } /*blue*/ img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/object"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.python.symbols.ui.icons.iconlocator/imp_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/function-"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.python.symbols.ui.icons.iconlocator/field_public_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.python.symbols.ui.icons.iconlocator/class_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/methdef_obj"] { filter: var(--filter-reset) var(--filter-red); } /*yellow*/ img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/class"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.scss.symbols.icon.iconlocator/css"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/methpro_obj"] { filter: var(--filter-reset) var(--filter-yellow); } /*aqua*/ img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/method"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/class_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/annotation_obj"] { filter: var(--filter-reset) var(--filter-aqua); } /*green*/ img[src*="/wicket/resource/io.onedev.commons.jsymbol.python.symbols.ui.icons.iconlocator/methpub_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/exported_object"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.flowscript.symbols.ui.icon.iconlocator/exported_class"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/methpub_obj"] { filter: var(--filter-reset) var(--filter-green); } /*purple*/ img[src*="/wicket/resource/io.onedev.commons.jsymbol.python.symbols.ui.icons.iconlocator/field_private_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/field_private_obj"], img[src*="/wicket/resource/io.onedev.commons.jsymbol.java.symbols.ui.icon.iconlocator/int_obj"] { filter: var(--filter-reset) var(--filter-purple); } .dark-mode .select2-results .select2-result-label { color: var(--fg2); } code, .dark-mode .code { color: var(--blue); background-color: var(--bg) !important; } .select2-search input, .dark-mode .select2-search input, .dark-mode .btn.btn-light:hover:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ) { background: var(--bg1) !important; border-color: var(--bg4) !important; color: var(--fg2) !important; } .dark-mode .markdown-rendered table.table tr:nth-child(odd) td { background: var(--bg); } .dark-mode .btn.btn-light, .dark-mode .select2-drop-active, .dark-mode .btn.btn-secondary { background-color: var(--bg3); border-color: var(--bg4); } .project-contribs .top-contributors .head .total-contribution span.additions, .dark-mode .dropdown-item:hover, .dark-mode .select2-results .select2-highlighted .select2-result-label, .dark-mode .dropdown-item.active, .dark-mode .dropdown-item:active, .dark-mode .sidebar-help .dropdown-menu .dropdown-item:hover { color: var(--green) !important; } .project-contribs .top-contributors .head .total-contribution span.deletions { color: var(--red); } .sidebar a, .sidebar-menu .menu-link:hover .menu-text, .sidebar-menu .menu-link:focus .menu-text, .sidebar-menu .menu-link.active .menu-text, .sidebar-menu .menu-link.open .menu-text, .sidebar-menu .menu-link:hover .menu-arrow, .sidebar-menu .menu-link:focus .menu-arrow, .sidebar-menu .menu-link.active .menu-arrow, .sidebar-menu .menu-link.open .menu-arriw, .dark-mode .card > .card-header .card-title, .dark-mode .select2-container .select2-choice { color: var(--fg) !important; } .dark-mode .btn.btn-secondary:hover:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .dark-mode .btn.btn-secondary:active:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .dark-mode .btn.btn-secondary:hover:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .dark-mode .btn.btn-secondary:focus:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .dark-mode .btn.btn-secondary:active:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .dark-mode .btn.btn-secondary.active:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .dark-mode .show > .btn.btn-secondary.dropdown-toggle, .dark-mode .show .btn.btn-secondary.btn-dropdown, .dark-mode .btn.btn-active-secondary.active:not(.btn-text):not(:disabled):not( .disabled ):not([disabled]), .btn.btn-light:active:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ), .btn.btn-light:focus:not(.disabled):not(:disabled):not([disabled]):not( .btn-text ) { border-color: var(--bg3) !important; background-color: var(--bg1) !important; } .dark-mode a.link-info:hover, .dark-mode a.link-info:focus { color: var(--purple) !important; } .CodeMirror-mark { background: var(--green); } .dark-mode .cm-s-eclipse span.cm-comment, .dark-mode .cm-s-eclipse span.cm-type { color: var(--fg4); } .dark-mode .cm-s-eclipse span.cm-tag, .dark-mode .cm-s-eclipse span.cm-attribute { color: var(--blue); } .dark-mode .cm-s-eclipse span.cm-keyword, .dark-mode .cm-s-eclipse span.cm-error { color: var(--red); } .dark-mode .cm-s-eclipse span.cm-qualifier { color: var(--red); } .dark-mode .cm-s-eclipse span.cm-variable-2 { color: var(--fg); } .dark-mode .cm-s-eclipse span.cm-property, .dark-mode .cm-s-eclipse span.cm-def { color: var(--aqua); } .dark-mode .cm-s-eclipse span.cm-operator, .dark-mode .cm-s-eclipse span.cm-atom { color: var(--orange); } .dark-mode .cm-s-eclipse span.cm-variable-3, .dark-mode .cm-s-eclipse span.cm-meta, .dark-mode .cm-s-eclipse span.cm-string-2, .dark-mode .cm-s-eclipse span.cm-string, .dark-mode .cm-s-eclipse span.cm-number { color: var(--yellow); } .dark-mode .cm-s-eclipse span.cm-builtin, .dark-mode .cm-s-eclipse span.cm-variable { color: var(--green); } .CodeMirror-linenumber, .dark-mode .tree-theme-human span.tree-content a { color: var(--fg3) !important; } .dark-mode .cm-s-eclipse.CodeMirror { background: var(--bg); color: var(--fg); } }