mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
382 lines
8.2 KiB
SCSS
382 lines
8.2 KiB
SCSS
$primary-dark-mode: #45973a;
|
|
$danger-dark-mode: #b71631;
|
|
$bg-dark-mode: #161618;
|
|
$bg-light-dark-mode: #1c1c1f;
|
|
$text-color-dark-mode: #abb2bf;
|
|
$text-color-dark-mode-accent: lighten($text-color-dark-mode, 10%);
|
|
$border-color-dark-mode: #47494f;
|
|
|
|
* {
|
|
transition: background-color 0.3s ease, border-color 0.3s ease;
|
|
}
|
|
|
|
@mixin dark-mode {
|
|
background-color: $bg-dark-mode !important;
|
|
color: $text-color-dark-mode;
|
|
|
|
.navbar-brand {
|
|
color: $text-color-dark-mode;
|
|
}
|
|
|
|
svg.logo {
|
|
.leaf {
|
|
color: $primary-dark-mode !important;
|
|
}
|
|
.text {
|
|
fill: $text-color-dark-mode !important;
|
|
}
|
|
}
|
|
|
|
.bg-light {
|
|
background-color: $bg-light-dark-mode !important;
|
|
|
|
a,
|
|
div {
|
|
color: $text-color-dark-mode;
|
|
}
|
|
}
|
|
|
|
.text-light {
|
|
color: $text-color-dark-mode !important;
|
|
}
|
|
|
|
.border {
|
|
border-color: $border-color-dark-mode !important;
|
|
}
|
|
|
|
.border-right {
|
|
border-right: 1px solid $border-color-dark-mode !important;
|
|
}
|
|
|
|
.border-left {
|
|
border-left: 1px solid $border-color-dark-mode !important;
|
|
}
|
|
|
|
.border-bottom {
|
|
border-bottom: 1px solid $border-color-dark-mode !important;
|
|
}
|
|
|
|
.nav-link {
|
|
color: $text-color-dark-mode !important;
|
|
|
|
&.active {
|
|
background-color: $bg-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
border-color: $border-color-dark-mode $border-color-dark-mode $bg-dark-mode;
|
|
}
|
|
|
|
&:hover {
|
|
color: $text-color-dark-mode-accent !important;
|
|
border-color: $border-color-dark-mode $border-color-dark-mode $bg-dark-mode;
|
|
}
|
|
}
|
|
|
|
.nav-tabs {
|
|
border-color: $border-color-dark-mode;
|
|
|
|
.nav-link {
|
|
color: $primary-dark-mode !important;
|
|
|
|
&.active {
|
|
color: $text-color-dark-mode !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.dropdown-menu {
|
|
background-color: $bg-light-dark-mode;
|
|
|
|
.dropdown-divider {
|
|
border-color: $border-color-dark-mode;
|
|
}
|
|
|
|
.dropdown-item {
|
|
color: $text-color-dark-mode;
|
|
|
|
&:hover {
|
|
background-color: $bg-light-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
}
|
|
}
|
|
|
|
.dropdown-item.disabled {
|
|
color: darken($text-color-dark-mode, 20%);
|
|
}
|
|
}
|
|
|
|
.card {
|
|
background-color: $bg-light-dark-mode;
|
|
|
|
.card-text {
|
|
color: $text-color-dark-mode;
|
|
}
|
|
}
|
|
|
|
.text-dark {
|
|
color: $text-color-dark-mode !important;
|
|
}
|
|
|
|
.modal-content, .modal-header, .modal-body, .modal-footer {
|
|
background-color: $bg-light-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
}
|
|
|
|
app-tag .badge {
|
|
filter: brightness(.8);
|
|
}
|
|
|
|
.badge-light {
|
|
background-color: darken($bg-dark-mode, 20%);
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
|
|
.doc-img-container {
|
|
border: none !important;
|
|
border-top-left-radius: .25rem;
|
|
border-top-right-radius: .25rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.doc-img {
|
|
mix-blend-mode: normal;
|
|
border-radius: 0;
|
|
border-color: $bg-dark-mode;
|
|
|
|
&.border-right {
|
|
border-right: none !important;
|
|
}
|
|
}
|
|
|
|
.doc-img.inverted {
|
|
filter: invert(95%) hue-rotate(180deg);
|
|
}
|
|
|
|
.card-selected .doc-img {
|
|
mix-blend-mode: luminosity;
|
|
}
|
|
|
|
.toast {
|
|
background-color: opacify($bg-light-dark-mode, .85);
|
|
}
|
|
|
|
.toast-header {
|
|
background-color: opacify($bg-dark-mode, .85);
|
|
}
|
|
|
|
a,
|
|
.card-title a {
|
|
color: $primary-dark-mode;
|
|
|
|
&:hover {
|
|
color: lighten($primary, 10%);
|
|
}
|
|
}
|
|
|
|
table {
|
|
background-color: $bg-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
|
|
.des,
|
|
.asc {
|
|
background-color: transparent !important;
|
|
color: $text-color-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
|
|
&::after {
|
|
filter: invert(0.8); /* arrow is a black inline png bkgd image (!) so use filter */
|
|
}
|
|
}
|
|
|
|
tr:hover {
|
|
background-color: $bg-light-dark-mode;
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
}
|
|
|
|
.table td,
|
|
.table th {
|
|
border-color: $border-color-dark-mode;
|
|
}
|
|
|
|
.table-row-selected {
|
|
background-color: $bg-light-dark-mode;
|
|
}
|
|
|
|
.close {
|
|
color: $text-color-dark-mode;
|
|
text-shadow: 0 1px 0 #666;
|
|
}
|
|
|
|
.btn-outline-primary {
|
|
border-color: $primary-dark-mode;
|
|
color: $primary-dark-mode;
|
|
|
|
&:not(:disabled):not(.disabled).active,
|
|
&:not(:disabled):not(.disabled):hover {
|
|
background-color: darken($primary-dark-mode, 10%);
|
|
border-color: darken($primary-dark-mode, 10%);
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
}
|
|
|
|
.btn-outline-secondary {
|
|
border-color: $text-color-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
|
|
&:not(:disabled):not(.disabled):hover {
|
|
background-color: $bg-dark-mode;
|
|
}
|
|
}
|
|
|
|
.btn-outline-danger {
|
|
border-color: $danger-dark-mode;
|
|
color: $danger-dark-mode;
|
|
|
|
&:not(:disabled):not(.disabled):hover {
|
|
background-color: darken($danger-dark-mode, 10%);
|
|
border-color: darken($danger-dark-mode, 10%);
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
}
|
|
|
|
.btn-outline-dark {
|
|
border-color: $border-color-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
|
|
&:not(:disabled):not(.disabled):hover {
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
}
|
|
|
|
.btn-link:not(:disabled):not(.disabled) {
|
|
color: $primary-dark-mode;
|
|
}
|
|
|
|
.btn-link:hover,
|
|
.btn-outline-primary:not(:disabled):not(.disabled).active,
|
|
.btn-outline-primary:not(:disabled):not(.disabled):active,
|
|
.show > .btn-outline-primary.dropdown-toggle {
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
|
|
button.bg-light:hover {
|
|
background-color: $bg-dark-mode !important;
|
|
}
|
|
|
|
.form-control:not(.is-invalid):not(.btn),
|
|
input:not(.is-invalid),
|
|
textarea:not(.is-invalid) {
|
|
border-color: $border-color-dark-mode; /* we dont want to override controls that get highlighting for errors */
|
|
}
|
|
|
|
.form-control:not(.btn),
|
|
input,
|
|
select,
|
|
textarea {
|
|
background-color: $bg-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
|
|
&::placeholder {
|
|
color: $text-color-dark-mode;
|
|
}
|
|
|
|
&:focus {
|
|
background-color: $bg-light-dark-mode !important;
|
|
color: darken($text-color-dark-mode, 10%) !important;
|
|
}
|
|
}
|
|
|
|
.ng-select-container,
|
|
.ng-select.ng-select-opened > .ng-select-container,
|
|
.ng-dropdown-panel,
|
|
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option {
|
|
background-color: $bg-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
|
|
input:focus {
|
|
background-color: transparent !important;
|
|
}
|
|
}
|
|
|
|
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover,
|
|
.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {
|
|
background-color: $bg-light-dark-mode;
|
|
}
|
|
|
|
.custom-control-label:before {
|
|
background-color: $bg-dark-mode;
|
|
color: $text-color-dark-mode;
|
|
}
|
|
|
|
.custom-control-input:checked ~ .custom-control-label::before {
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
|
|
.input-group-text {
|
|
color: $text-color-dark-mode;
|
|
background-color: $bg-light-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
}
|
|
|
|
.list-group-item {
|
|
color: $text-color-dark-mode;
|
|
background-color: $bg-light-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
}
|
|
|
|
.page-item.disabled .page-link {
|
|
background-color: $bg-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
}
|
|
|
|
.list-group-item,
|
|
.page-link {
|
|
background-color: $bg-light-dark-mode;
|
|
border-color: $border-color-dark-mode;
|
|
}
|
|
|
|
.page-item.active .page-link {
|
|
border-color: $border-color-dark-mode;
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
|
|
.progress {
|
|
background-color: $border-color-dark-mode;
|
|
}
|
|
|
|
.alert-danger {
|
|
color: $text-color-dark-mode-accent;
|
|
background-color: darken($danger-dark-mode, 20%);
|
|
border-color: darken($danger-dark-mode, 20%);
|
|
}
|
|
|
|
.bg-dark {
|
|
background-color: $bg-light-dark-mode !important;
|
|
}
|
|
|
|
.ngx-file-drop__drop-zone--over {
|
|
background-color: darken($primary-dark-mode, 35%) !important;
|
|
}
|
|
|
|
.alert-secondary {
|
|
background-color: $bg-light-dark-mode;
|
|
border-color: darken($bg-light-dark-mode, 10%);
|
|
color: $text-color-dark-mode-accent;
|
|
}
|
|
|
|
.progress-bar.bg-primary {
|
|
background-color: darken($primary-dark-mode, 5%) !important;
|
|
}
|
|
}
|
|
|
|
body.color-scheme-dark {
|
|
@include dark-mode;
|
|
}
|
|
body.color-scheme-system {
|
|
@media (prefers-color-scheme: dark) {
|
|
@include dark-mode;
|
|
}
|
|
}
|