Merge pull request #6943 from firefly-iii/dark-mode

Dark mode
This commit is contained in:
James Cole 2023-01-29 15:05:29 +01:00 committed by GitHub
commit 1cbb644d65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 1500 additions and 239 deletions

View File

@ -1 +1,80 @@
span.multiselect-native-select{position:relative}span.multiselect-native-select select{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px -1px -1px -3px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;left:50%;top:30px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0}.multiselect-container .input-group{margin:5px}.multiselect-container>li{padding:0}.multiselect-container>li>a.multiselect-all label{font-weight:700}.multiselect-container>li.multiselect-group label{margin:0;padding:3px 20px 3px 20px;height:100%;font-weight:700}.multiselect-container>li.multiselect-group-clickable label{cursor:pointer}.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px 20px 3px 40px}.multiselect-container>li>a>label.radio,.multiselect-container>li>a>label.checkbox{margin:0}.multiselect-container>li>a>label>input[type=checkbox]{margin-bottom:5px}.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.form-inline .multiselect-container label.checkbox,.form-inline .multiselect-container label.radio{padding:3px 20px 3px 40px}.form-inline .multiselect-container li a label.checkbox input[type=checkbox],.form-inline .multiselect-container li a label.radio input[type=radio]{margin-left:-20px;margin-right:0}
span.multiselect-native-select {
position: relative
}
span.multiselect-native-select select {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px -1px -1px -3px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
left: 50%;
top: 30px
}
.multiselect-container {
position: absolute;
list-style-type: none;
margin: 0;
padding: 0
}
.multiselect-container .input-group {
margin: 5px
}
.multiselect-container > li {
padding: 0
}
.multiselect-container > li > a.multiselect-all label {
font-weight: 700
}
.multiselect-container > li.multiselect-group label {
margin: 0;
padding: 3px 20px 3px 20px;
height: 100%;
font-weight: 700
}
.multiselect-container > li.multiselect-group-clickable label {
cursor: pointer
}
.multiselect-container > li > a {
padding: 0
}
.multiselect-container > li > a > label {
margin: 0;
height: 100%;
cursor: pointer;
font-weight: 400;
padding: 3px 20px 3px 40px
}
.multiselect-container > li > a > label.radio, .multiselect-container > li > a > label.checkbox {
margin: 0
}
.multiselect-container > li > a > label > input[type=checkbox] {
margin-bottom: 5px
}
.btn-group > .btn-group:nth-child(2) > .multiselect.btn {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px
}
.form-inline .multiselect-container label.checkbox, .form-inline .multiselect-container label.radio {
padding: 3px 20px 3px 40px
}
.form-inline .multiselect-container li a label.checkbox input[type=checkbox], .form-inline .multiselect-container li a label.radio input[type=radio] {
margin-left: -20px;
margin-right: 0
}

View File

@ -100,9 +100,15 @@ table.sortable > thead th:not([data-defaultsort=disabled]) {
top: 0;
left: 0;
}
table.sortable > thead th:hover:not([data-defaultsort=disabled]) {
background: #efefef;
@media (prefers-color-scheme: light) {
table.sortable > thead th:hover:not([data-defaultsort=disabled]) {
background: #efefef;
}
}
@media (prefers-color-scheme: dark) {
table.sortable > thead th:hover:not([data-defaultsort=disabled]) {
background: #2a2f34;
}
}
table.sortable > thead th div.mozilla {

View File

@ -1,20 +1,95 @@
.daterangepicker {
position: absolute;
color: inherit;
background-color: #fff;
border-radius: 4px;
border: 1px solid #ddd;
width: 278px;
max-width: none;
padding: 0;
margin-top: 7px;
top: 100px;
left: 20px;
z-index: 3001;
display: none;
font-family: sans-serif, Arial;
font-size: 15px;
line-height: 1em;
@media (prefers-color-scheme: light) {
.daterangepicker {
position: absolute;
color: inherit;
background-color: #fff;
border-radius: 4px;
border: 1px solid #ddd;
width: 278px;
max-width: none;
padding: 0;
margin-top: 7px;
top: 100px;
left: 20px;
z-index: 3001;
display: none;
font-family: sans-serif, Arial;
font-size: 15px;
line-height: 1em;
}
.daterangepicker .calendar-table {
border: 1px solid #fff;
border-radius: 4px;
background-color: #fff;
}
.daterangepicker td.available:hover, .daterangepicker th.available:hover {
background-color: #eee;
border-color: transparent;
color: inherit;
}
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
background-color: #fff;
border-color: transparent;
color: #999;
}
.daterangepicker td.in-range {
background-color: #ebf4f8;
border-color: transparent;
color: #000;
border-radius: 0;
}
}
@media (prefers-color-scheme: dark) {
/**
fff = 282d32
eee = 31373e
ddd = 3f4750
ebf4f8 = 4b4f50
*/
.daterangepicker {
position: absolute;
color: inherit;
background-color: #282d32;
border-radius: 4px;
border: 1px solid #3f4750;
width: 278px;
max-width: none;
padding: 0;
margin-top: 7px;
top: 100px;
left: 20px;
z-index: 3001;
display: none;
font-family: sans-serif, Arial;
font-size: 15px;
line-height: 1em;
}
.daterangepicker .calendar-table {
border: 1px solid #282d32;
border-radius: 4px;
background-color: #282d32;
}
.daterangepicker td.available:hover, .daterangepicker th.available:hover {
background-color: #31373e;
border-color: transparent;
color: inherit;
}
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
background-color: #282d32;
border-color: transparent;
color: #999;
}
.daterangepicker td.in-range {
background-color: #4b4f50;
border-color: transparent;
color: #000;
border-radius: 0;
}
}
.daterangepicker:before, .daterangepicker:after {
@ -158,12 +233,6 @@
cursor: pointer;
}
.daterangepicker .calendar-table {
border: 1px solid #fff;
border-radius: 4px;
background-color: #fff;
}
.daterangepicker .calendar-table table {
width: 100%;
margin: 0;
@ -171,29 +240,13 @@
border-collapse: collapse;
}
.daterangepicker td.available:hover, .daterangepicker th.available:hover {
background-color: #eee;
border-color: transparent;
color: inherit;
}
.daterangepicker td.week, .daterangepicker th.week {
font-size: 80%;
color: #ccc;
}
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
background-color: #fff;
border-color: transparent;
color: #999;
}
.daterangepicker td.in-range {
background-color: #ebf4f8;
border-color: transparent;
color: #000;
border-radius: 0;
}
.daterangepicker td.start-date {
border-radius: 4px 0 0 4px;

View File

@ -30,24 +30,6 @@ input.ti-new-tag-input {
font-family:"Source Sans Pro", "Helvetica Neue",Helvetica,Arial,sans-serif !important;
}
.split_amount_input {
width: 40%;
border-radius: 0;
height: 36px;
padding: 6px 12px;
background-color: #fff;
background-image: none;
border: 1px solid #ccd0d2;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
-webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
}
.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-selected { background: #F0F0F0; }
@ -55,13 +37,6 @@ input.ti-new-tag-input {
.autocomplete-group { padding: 2px 5px; font-weight: bold;}
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }
.split_amount_input:focus {
border-color: #98cbe8;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(152, 203, 232, .6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(152, 203, 232, .6);
}
#daterange {
cursor: pointer;
}

View File

@ -1,163 +0,0 @@
/*
* Skin: Blue
* ----------
*/
.skin-blue-light .main-header .navbar {
background-color: #3c8dbc;
}
.skin-blue-light .main-header .navbar .nav > li > a {
color: #ffffff;
}
.skin-blue-light .main-header .navbar .nav > li > a:hover,
.skin-blue-light .main-header .navbar .nav > li > a:active,
.skin-blue-light .main-header .navbar .nav > li > a:focus,
.skin-blue-light .main-header .navbar .nav .open > a,
.skin-blue-light .main-header .navbar .nav .open > a:hover,
.skin-blue-light .main-header .navbar .nav .open > a:focus,
.skin-blue-light .main-header .navbar .nav > .active > a {
background: rgba(0, 0, 0, 0.1);
color: #f6f6f6;
}
.skin-blue-light .main-header .navbar .sidebar-toggle {
color: #ffffff;
}
.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
color: #f6f6f6;
background: rgba(0, 0, 0, 0.1);
}
.skin-blue-light .main-header .navbar .sidebar-toggle {
color: #fff;
}
.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
background-color: #367fa9;
}
@media (max-width: 767px) {
.skin-blue-light .main-header .navbar .dropdown-menu li.divider {
background-color: rgba(255, 255, 255, 0.1);
}
.skin-blue-light .main-header .navbar .dropdown-menu li a {
color: #fff;
}
.skin-blue-light .main-header .navbar .dropdown-menu li a:hover {
background: #367fa9;
}
}
.skin-blue-light .main-header .logo {
background-color: #3c8dbc;
color: #ffffff;
border-bottom: 0 solid transparent;
}
.skin-blue-light .main-header .logo:hover {
background-color: #3b8ab8;
}
.skin-blue-light .main-header li.user-header {
background-color: #3c8dbc;
}
.skin-blue-light .content-header {
background: transparent;
}
.skin-blue-light .wrapper,
.skin-blue-light .main-sidebar,
.skin-blue-light .left-side {
background-color: #f9fafc;
}
.skin-blue-light .main-sidebar {
border-right: 1px solid #d2d6de;
}
.skin-blue-light .user-panel > .info,
.skin-blue-light .user-panel > .info > a {
color: #444444;
}
.skin-blue-light .sidebar-menu > li {
-webkit-transition: border-left-color 0.3s ease;
-o-transition: border-left-color 0.3s ease;
transition: border-left-color 0.3s ease;
}
.skin-blue-light .sidebar-menu > li.header {
color: #848484;
background: #f9fafc;
}
.skin-blue-light .sidebar-menu > li > a {
border-left: 3px solid transparent;
font-weight: 600;
}
.skin-blue-light .sidebar-menu > li:hover > a,
.skin-blue-light .sidebar-menu > li.active > a {
color: #000000;
background: #f4f4f5;
}
.skin-blue-light .sidebar-menu > li.active {
border-left-color: #3c8dbc;
}
.skin-blue-light .sidebar-menu > li.active > a {
font-weight: 600;
}
.skin-blue-light .sidebar-menu > li > .treeview-menu {
background: #f4f4f5;
}
.skin-blue-light .sidebar a {
color: #444444;
}
.skin-blue-light .sidebar a:hover {
text-decoration: none;
}
.skin-blue-light .sidebar-menu .treeview-menu > li > a {
color: #777777;
}
.skin-blue-light .sidebar-menu .treeview-menu > li.active > a,
.skin-blue-light .sidebar-menu .treeview-menu > li > a:hover {
color: #000000;
}
.skin-blue-light .sidebar-menu .treeview-menu > li.active > a {
font-weight: 600;
}
.skin-blue-light .sidebar-form {
border-radius: 3px;
border: 1px solid #d2d6de;
margin: 10px 10px;
}
.skin-blue-light .sidebar-form input[type="text"],
.skin-blue-light .sidebar-form .btn {
box-shadow: none;
background-color: #fff;
border: 1px solid transparent;
height: 35px;
}
.skin-blue-light .sidebar-form input[type="text"] {
color: #666;
border-top-left-radius: 2px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 2px;
}
.skin-blue-light .sidebar-form input[type="text"]:focus,
.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
background-color: #fff;
color: #666;
}
.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
border-left-color: #fff;
}
.skin-blue-light .sidebar-form .btn {
color: #999;
border-top-left-radius: 0;
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 0;
}
@media (min-width: 768px) {
.skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
border-left: 1px solid #d2d6de;
}
}
.skin-blue-light .main-footer {
border-top-color: #d2d6de;
}
.skin-blue.layout-top-nav .main-header > .logo {
background-color: #3c8dbc;
color: #ffffff;
border-bottom: 0 solid transparent;
}
.skin-blue.layout-top-nav .main-header > .logo:hover {
background-color: #3b8ab8;
}

View File

@ -1 +0,0 @@
.skin-blue-light .main-header .navbar{background-color:#3c8dbc}.skin-blue-light .main-header .navbar .nav>li>a{color:#fff}.skin-blue-light .main-header .navbar .nav>li>a:hover,.skin-blue-light .main-header .navbar .nav>li>a:active,.skin-blue-light .main-header .navbar .nav>li>a:focus,.skin-blue-light .main-header .navbar .nav .open>a,.skin-blue-light .main-header .navbar .nav .open>a:hover,.skin-blue-light .main-header .navbar .nav .open>a:focus,.skin-blue-light .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-blue-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue-light .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue-light .main-header .logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue-light .main-header .logo:hover{background-color:#3b8ab8}.skin-blue-light .main-header li.user-header{background-color:#3c8dbc}.skin-blue-light .content-header{background:transparent}.skin-blue-light .wrapper,.skin-blue-light .main-sidebar,.skin-blue-light .left-side{background-color:#f9fafc}.skin-blue-light .main-sidebar{border-right:1px solid #d2d6de}.skin-blue-light .user-panel>.info,.skin-blue-light .user-panel>.info>a{color:#444}.skin-blue-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-blue-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-blue-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-blue-light .sidebar-menu>li:hover>a,.skin-blue-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-blue-light .sidebar-menu>li.active{border-left-color:#3c8dbc}.skin-blue-light .sidebar-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-blue-light .sidebar a{color:#444}.skin-blue-light .sidebar a:hover{text-decoration:none}.skin-blue-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-blue-light .sidebar-menu .treeview-menu>li.active>a,.skin-blue-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-blue-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-blue-light .sidebar-form input[type="text"],.skin-blue-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-blue-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue-light .sidebar-form input[type="text"]:focus,.skin-blue-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-blue-light .main-footer{border-top-color:#d2d6de}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}

View File

@ -0,0 +1,484 @@
/*
* Skin: Firefly III (dark)
* ------------
*/
@media (prefers-color-scheme: dark) {
.skin-firefly-iii {
color: #bec5cb;
}
.skin-firefly-iii h4 {
color: #44def1;
}
.skin-firefly-iii .content-header > .breadcrumb > li > a {
color: #bec5cb;
}
.skin-firefly-iii .table > thead > tr > th,
.skin-firefly-iii .table > tbody > tr > th,
.skin-firefly-iii .table > tfoot > tr > th,
.skin-firefly-iii .table > thead > tr > td,
.skin-firefly-iii .table > tbody > tr > td,
.skin-firefly-iii .table > tfoot > tr > td {
color: #bec5cb;
border-top: 0;
}
.skin-firefly-iii .table > thead > tr.odd,
.skin-firefly-iii .table > tbody > tr.odd,
.skin-firefly-iii .table > tfoot > tr.odd {
background-color: #2a2f34;
}
.skin-firefly-iii .table > thead > tr.odd:hover,
.skin-firefly-iii .table > tbody > tr.odd:hover,
.skin-firefly-iii .table > tfoot > tr.odd:hover,
.skin-firefly-iii .table > thead > tr.even:hover,
.skin-firefly-iii .table > tbody > tr.even:hover,
.skin-firefly-iii .table > tfoot > tr.even:hover {
background-color: #1e2226;
}
.skin-firefly-iii .table-bordered > thead > tr > th,
.skin-firefly-iii .table-bordered > tbody > tr > th,
.skin-firefly-iii .table-bordered > tfoot > tr > th,
.skin-firefly-iii .table-bordered > thead > tr > td,
.skin-firefly-iii .table-bordered > tbody > tr > td,
.skin-firefly-iii .table-bordered > tfoot > tr > td {
border: 1px solid #353c42;
}
.skin-firefly-iii .dataTables_wrapper input[type='search'] {
border-radius: 4px;
background-color: #353c42;
border: 0;
color: #bec5cb;
}
.skin-firefly-iii .dataTables_paginate .pagination li > a {
background-color: transparent !important;
border: 0;
}
.skin-firefly-iii .wrapper,
.skin-firefly-iii .main-sidebar,
.skin-firefly-iii .left-side {
background-color: #272c30;
/* 454d55 */
}
.skin-firefly-iii .user-panel > .info,
.skin-firefly-iii .user-panel > .info > a {
color: #fff;
}
.skin-firefly-iii .sidebar-menu > li.header {
color: #556068;
background: #1e2225;
}
.skin-firefly-iii .sidebar-menu > li > a {
border-left: 3px solid transparent;
}
.skin-firefly-iii .sidebar-menu > li:hover > a,
.skin-firefly-iii .sidebar-menu > li.active > a {
color: #ffffff;
background: #22272a;
border-left-color: #272c30;
}
.skin-firefly-iii .sidebar-menu > li > .treeview-menu {
margin: 0 1px;
background: #32393e;
}
.skin-firefly-iii .sidebar a {
color: #bec5cb;
}
.skin-firefly-iii .sidebar a:hover {
text-decoration: none;
}
.skin-firefly-iii .treeview-menu > li > a {
color: #949fa8;
}
.skin-firefly-iii .treeview-menu > li.active > a,
.skin-firefly-iii .treeview-menu > li > a:hover {
color: #ffffff;
}
.skin-firefly-iii .sidebar-form {
border-radius: 3px;
border: 1px solid #3e464c;
margin: 10px 10px;
}
.skin-firefly-iii .sidebar-form input[type="text"],
.skin-firefly-iii .sidebar-form .btn {
box-shadow: none;
background-color: #3e464c;
border: 1px solid transparent;
height: 35px;
}
.skin-firefly-iii .sidebar-form input[type="text"] {
color: #666;
border-top-left-radius: 2px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 2px;
}
.skin-firefly-iii .sidebar-form input[type="text"]:focus,
.skin-firefly-iii .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
background-color: #fff;
color: #666;
}
.skin-firefly-iii .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
border-left-color: #fff;
}
.skin-firefly-iii .sidebar-form .btn {
color: #999;
border-top-left-radius: 0;
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 0;
}
.skin-firefly-iii .box,
.skin-firefly-iii .box-footer,
.skin-firefly-iii .info-box,
.skin-firefly-iii .box-comment,
.skin-firefly-iii .comment-text,
.skin-firefly-iii .comment-text .username {
color: #bec5cb;
background-color: #272c30;
}
.skin-firefly-iii .box-comments .box-comment {
border-bottom-color: #353c42;
}
.skin-firefly-iii .box-footer {
border-top: 1px solid #353c42;
}
.skin-firefly-iii .box-header.with-border {
border-bottom: 1px solid #353c42;
}
.skin-firefly-iii .box-solid,
.skin-firefly-iii .box {
border: 1px solid #272c30;
}
.skin-firefly-iii .box-solid > .box-header,
.skin-firefly-iii .box > .box-header {
color: #bec5cb;
background-color: #272c30;
}
.skin-firefly-iii .box-solid > .box-header a,
.skin-firefly-iii .box > .box-header a,
.skin-firefly-iii .box-solid > .box-header .btn,
.skin-firefly-iii .box > .box-header .btn {
color: #bec5cb;
}
.skin-firefly-iii .box.box-info,
.skin-firefly-iii .box.box-primary,
.skin-firefly-iii .box.box-success,
.skin-firefly-iii .box.box-warning,
.skin-firefly-iii .box.box-danger {
border-top-width: 3px;
}
.skin-firefly-iii .box.box-info {
border-top-color: #004d60;
}
.skin-firefly-iii .box.box-primary {
border-top-color: #075383;
}
.skin-firefly-iii .box.box-success {
border-top-color: #006738;
}
.skin-firefly-iii .box.box-warning {
border-top-color: #ff851b;
}
.skin-firefly-iii .box.box-danger {
border-top-color: #dd4b39;
}
.skin-firefly-iii .main-header .navbar {
background-color: #272c30;
}
.skin-firefly-iii .main-header .navbar .nav > li > a {
color: #bec5cb;
}
.skin-firefly-iii .main-header .navbar .nav > li > a:hover,
.skin-firefly-iii .main-header .navbar .nav > li > a:active,
.skin-firefly-iii .main-header .navbar .nav > li > a:focus,
.skin-firefly-iii .main-header .navbar .nav .open > a,
.skin-firefly-iii .main-header .navbar .nav .open > a:hover,
.skin-firefly-iii .main-header .navbar .nav .open > a:focus,
.skin-firefly-iii .main-header .navbar .nav > .active > a {
background: rgba(0, 0, 0, 0.1);
color: #f6f6f6;
}
.skin-firefly-iii .main-header .navbar .sidebar-toggle {
color: #bec5cb;
}
.skin-firefly-iii .main-header .navbar .sidebar-toggle:hover {
color: #f6f6f6;
background: rgba(0, 0, 0, 0.1);
}
.skin-firefly-iii .timeline li .timeline-item {
color: #bec5cb;
background-color: #272c30;
border-color: #353c42;
}
.skin-firefly-iii .timeline li .timeline-header {
border-bottom-color: #353c42;
}
.skin-firefly-iii .nav-stacked > li > a {
color: #bec5cb;
}
.skin-firefly-iii .nav-stacked > li > a:hover {
color: white;
background-color: #1e2226;
}
.skin-firefly-iii .content-wrapper,
.skin-firefly-iii .right-side {
background-color: #353c42;
}
.skin-firefly-iii .main-footer,
.skin-firefly-iii .nav-tabs-custom {
background-color: #272c30;
border-top-color: #353c42;
color: #bec5cb;
}
.skin-firefly-iii .main-footer .nav-tabs,
.skin-firefly-iii .nav-tabs-custom .nav-tabs {
border-bottom-color: #353c42;
}
.skin-firefly-iii .main-footer .tab-content,
.skin-firefly-iii .nav-tabs-custom .tab-content {
background-color: #272c30;
}
.skin-firefly-iii .nav-tabs-custom > .nav-tabs > li.active > a {
border-left-color: #353c42;
border-right-color: #353c42;
}
.skin-firefly-iii .nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type.active > a {
border-left-color: #353c42;
}
.skin-firefly-iii .nav-tabs-custom > .nav-tabs > li {
color: #bec5cb;
}
.skin-firefly-iii .nav-tabs-custom > .nav-tabs > li.active > a {
background-color: #272c30;
}
.skin-firefly-iii .nav-tabs-custom > .nav-tabs > li > a {
color: #bec5cb;
}
.skin-firefly-iii .form-group .input-group-addon,
.skin-firefly-iii .input-group .input-group-addon,
.skin-firefly-iii .form-group input,
.skin-firefly-iii .input-group input,
.skin-firefly-iii .form-group textarea,
.skin-firefly-iii .input-group textarea {
background-color: #353c42;
color: #bec5cb;
border: 1px solid #353c42;
}
.skin-firefly-iii .list-group {
color: #bec5cb;
background-color: #272c30;
}
.skin-firefly-iii .list-group .list-group-item {
border-color: #353c42;
background-color: #272c30;
}
.skin-firefly-iii .input-group .input-group-addon {
border-right: 1px solid #272c30;
}
.skin-firefly-iii .form-control {
border-color: #272c30;
background-color: #353c42;
}
.skin-firefly-iii .select2 .select2-selection {
background-color: #353c42;
color: #bec5cb;
border: 1px solid #353c42;
}
.skin-firefly-iii .select2 .select2-selection .select2-container--default,
.skin-firefly-iii .select2 .select2-selection .select2-selection--single,
.skin-firefly-iii .select2 .select2-selection .select2-selection--multiple,
.skin-firefly-iii .select2 .select2-selection .select2-selection__rendered {
color: #bec5cb;
}
.skin-firefly-iii .select2-dropdown {
background-color: #353c42;
color: #bec5cb;
border: 1px solid #353c42;
}
.skin-firefly-iii .select2-dropdown .select2-search__field {
background-color: #272c30;
color: #bec5cb;
border: 1px solid #353c42;
}
.skin-firefly-iii .select2-container--default.select2-container--open {
background-color: #272c30;
}
/**
Overrule colors to make them darker
Move to second box
*/
.bg-aqua-gradient {
background: #004d60 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #004d60), color-stop(1, #075164)) !important;
background: -ms-linear-gradient(bottom, #004d60, #075164) !important;
background: -moz-linear-gradient(center bottom, #004d60 0%, #075164 100%) !important;
background: -o-linear-gradient(#075164, #004d60) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#075164', endColorstr='#004d60', GradientType=0) !important;
color: #fff;
}
.bg-teal-gradient {
background: #1a5d5d !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #1a5d5d), color-stop(1, #376464)) !important;
background: -ms-linear-gradient(bottom, #1a5d5d, #376464) !important;
background: -moz-linear-gradient(center bottom, #1a5d5d 0%, #376464 100%) !important;
background: -o-linear-gradient(#376464, #1a5d5d) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#376464', endColorstr='#1a5d5d', GradientType=0) !important;
color: #fff;
}
.bg-green-gradient {
background: #006738 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #006738), color-stop(1, #005f34)) !important;
background: -ms-linear-gradient(bottom, #006738, #005f34) !important;
background: -moz-linear-gradient(center bottom, #006738 0%, #005f34 100%) !important;
background: -o-linear-gradient(#005f34, #006738) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005f34', endColorstr='#006738', GradientType=0) !important;
color: #fff;
}
.bg-blue-gradient {
background: #003e62 !important;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #003e62), color-stop(1, #004065)) !important;
background: -ms-linear-gradient(bottom, #003e62, #004065) !important;
background: -moz-linear-gradient(center bottom, #003e62 0%, #004065 100%) !important;
background: -o-linear-gradient(#004065, #003e62) !important;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#004065', endColorstr='#003e62', GradientType=0) !important;
color: #fff;
}
/*
Fix modals
*/
.modal-content {
background-color: #272c30;
}
.btn-default {
background: #343a40;
color: #bec5cb;
border-color: #282d32;
}
.btn-default:hover,
.btn-default:active,
.btn-default.hover {
background: #282d32;
color: #bec5cb;
border-color: #343a40;
}
.open > .dropdown-toggle.btn-default:focus, .open > .dropdown-toggle.btn-default:hover,
.open > .dropdown-toggle.btn-default {
background: #343a40;
color: #bec5cb;
}
/*
1 box darker
*/
.btn-success {
background-color: #007741;
}
a.list-group-item, button.list-group-item {
color: #bec5cb;
}
.progress {
background: #696c71
}
.progress-bar {
background-color: #1b4365;
}
.dropdown-menu {
background-color: #343a40;
border-color: #262a2f;
}
.dropdown-menu > li > a:hover {
background-color: #505963;
color: #333;
}
/**
dropdown menu, color #dee2e6, bg #343a40
*/
/**
Table (odd)
*/
.table-striped > tbody > tr:nth-of-type(2n+1) {
background-color: #2a2f34;
}
.table-hover > tbody > tr:hover {
background-color: #2a2f34;
}
.ti-autocomplete {background: #353c42 !important;color:#fff;}
.ti-input {border: 1px solid #353c42 !important;}
.vue-tags-input {background: #353c42 !important;}
}

View File

@ -0,0 +1,202 @@
/*
* Skin: Firefly III light
* ----------
*/
@media (prefers-color-scheme: light) {
.skin-firefly-iii .main-header .navbar {
background-color: #3c8dbc;
}
.skin-firefly-iii .main-header .navbar .nav > li > a {
color: #ffffff;
}
.skin-firefly-iii .main-header .navbar .nav > li > a:hover,
.skin-firefly-iii .main-header .navbar .nav > li > a:active,
.skin-firefly-iii .main-header .navbar .nav > li > a:focus,
.skin-firefly-iii .main-header .navbar .nav .open > a,
.skin-firefly-iii .main-header .navbar .nav .open > a:hover,
.skin-firefly-iii .main-header .navbar .nav .open > a:focus,
.skin-firefly-iii .main-header .navbar .nav > .active > a {
background: rgba(0, 0, 0, 0.1);
color: #f6f6f6;
}
.skin-firefly-iii .main-header .navbar .sidebar-toggle {
color: #ffffff;
}
.skin-firefly-iii .main-header .navbar .sidebar-toggle:hover {
color: #f6f6f6;
background: rgba(0, 0, 0, 0.1);
}
.skin-firefly-iii .main-header .navbar .sidebar-toggle {
color: #fff;
}
.skin-firefly-iii .main-header .navbar .sidebar-toggle:hover {
background-color: #367fa9;
}
@media (max-width: 767px) {
.skin-firefly-iii .main-header .navbar .dropdown-menu li.divider {
background-color: rgba(255, 255, 255, 0.1);
}
.skin-firefly-iii .main-header .navbar .dropdown-menu li a {
color: #fff;
}
.skin-firefly-iii .main-header .navbar .dropdown-menu li a:hover {
background: #367fa9;
}
}
.skin-firefly-iii .main-header .logo {
background-color: #3c8dbc;
color: #ffffff;
border-bottom: 0 solid transparent;
}
.skin-firefly-iii .main-header .logo:hover {
background-color: #3b8ab8;
}
.skin-firefly-iii .main-header li.user-header {
background-color: #3c8dbc;
}
.skin-firefly-iii .content-header {
background: transparent;
}
.skin-firefly-iii .wrapper,
.skin-firefly-iii .main-sidebar,
.skin-firefly-iii .left-side {
background-color: #f9fafc;
}
.skin-firefly-iii .main-sidebar {
border-right: 1px solid #d2d6de;
}
.skin-firefly-iii .user-panel > .info,
.skin-firefly-iii .user-panel > .info > a {
color: #444444;
}
.skin-firefly-iii .sidebar-menu > li {
-webkit-transition: border-left-color 0.3s ease;
-o-transition: border-left-color 0.3s ease;
transition: border-left-color 0.3s ease;
}
.skin-firefly-iii .sidebar-menu > li.header {
color: #848484;
background: #f9fafc;
}
.skin-firefly-iii .sidebar-menu > li > a {
border-left: 3px solid transparent;
font-weight: 600;
}
.skin-firefly-iii .sidebar-menu > li:hover > a,
.skin-firefly-iii .sidebar-menu > li.active > a {
color: #000000;
background: #f4f4f5;
}
.skin-firefly-iii .sidebar-menu > li.active {
border-left-color: #3c8dbc;
}
.skin-firefly-iii .sidebar-menu > li.active > a {
font-weight: 600;
}
.skin-firefly-iii .sidebar-menu > li > .treeview-menu {
background: #f4f4f5;
}
.skin-firefly-iii .sidebar a {
color: #444444;
}
.skin-firefly-iii .sidebar a:hover {
text-decoration: none;
}
.skin-firefly-iii .sidebar-menu .treeview-menu > li > a {
color: #777777;
}
.skin-firefly-iii .sidebar-menu .treeview-menu > li.active > a,
.skin-firefly-iii .sidebar-menu .treeview-menu > li > a:hover {
color: #000000;
}
.skin-firefly-iii .sidebar-menu .treeview-menu > li.active > a {
font-weight: 600;
}
.skin-firefly-iii .sidebar-form {
border-radius: 3px;
border: 1px solid #d2d6de;
margin: 10px 10px;
}
.skin-firefly-iii .sidebar-form input[type="text"],
.skin-firefly-iii .sidebar-form .btn {
box-shadow: none;
background-color: #fff;
border: 1px solid transparent;
height: 35px;
}
.skin-firefly-iii .sidebar-form input[type="text"] {
color: #666;
border-top-left-radius: 2px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 2px;
}
.skin-firefly-iii .sidebar-form input[type="text"]:focus,
.skin-firefly-iii .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
background-color: #fff;
color: #666;
}
.skin-firefly-iii .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
border-left-color: #fff;
}
.skin-firefly-iii .sidebar-form .btn {
color: #999;
border-top-left-radius: 0;
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 0;
}
@media (min-width: 768px) {
.skin-firefly-iii.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
border-left: 1px solid #d2d6de;
}
}
.skin-firefly-iii .main-footer {
border-top-color: #d2d6de;
}
.skin-firefly-iii.layout-top-nav .main-header > .logo {
background-color: #3c8dbc;
color: #ffffff;
border-bottom: 0 solid transparent;
}
.skin-firefly-iii.layout-top-nav .main-header > .logo:hover {
background-color: #3b8ab8;
}
}

File diff suppressed because one or more lines are too long

View File

@ -7,6 +7,7 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="color-scheme" content="light dark">
<title>
{% if subTitle %}
@ -21,14 +22,26 @@
</title>
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
{# CSS things #}
{# libraries #}
<link href="v1/lib/bs/css/bootstrap.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<link href="v1/lib/fa/css/font-awesome.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<link href="v1/css/daterangepicker.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
{# the theme #}
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<link href="v1/lib/adminlte/css/skins/skin-blue-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<script nonce="{{ JS_NONCE }}">
// If `prefers-color-scheme` is not supported, fall back to light mode.
// In this case, light.css will be downloaded with `highest` priority.
if (window.matchMedia('(prefers-color-scheme: dark)').media === 'not all') {
document.documentElement.style.display = 'none';
document.head.insertAdjacentHTML(
'beforeend',
'<link rel="stylesheet" href="v1/lib/adminlte/css/skins/skin-light.css?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}" onload="document.documentElement.style.display = \'\'">',
);
}
</script>
<link href="v1/lib/adminlte/css/skins/skin-light.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)">
<link href="v1/lib/adminlte/css/skins/skin-dark.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: dark)">
{# Firefly III customisations #}
<link href="v1/css/firefly.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
@ -52,7 +65,7 @@
{% include 'partials.favicons' %}
</head>
<body class="skin-blue-light sidebar-mini hold-transition">
<body class="skin-firefly-iii sidebar-mini hold-transition">
<div class="wrapper" id="app">
<header class="main-header">

View File

@ -9,6 +9,7 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="color-scheme" content="light dark">
{# CSS things #}
@ -19,7 +20,19 @@
{# the theme #}
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<link href="v1/lib/adminlte/css/skins/skin-blue-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<script nonce="{{ JS_NONCE }}">
// If `prefers-color-scheme` is not supported, fall back to light mode.
// In this case, light.css will be downloaded with `highest` priority.
if (window.matchMedia('(prefers-color-scheme: dark)').media === 'not all') {
document.documentElement.style.display = 'none';
document.head.insertAdjacentHTML(
'beforeend',
'<link rel="stylesheet" href="v1/lib/adminlte/css/skins/skin-light.css?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}" onload="document.documentElement.style.display = \'\'">',
);
}
</script>
<link href="v1/lib/adminlte/css/skins/skin-light.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)">
<link href="v1/lib/adminlte/css/skins/skin-dark.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: dark)">
{# Firefly III customisations #}
<link href="v1/css/firefly.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">

View File

@ -5,6 +5,7 @@
<meta charset="UTF-8">
<meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="color-scheme" content="light dark">
<title>Firefly III
@ -29,7 +30,19 @@
{# the theme #}
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<link href="v1/lib/adminlte/css/skins/skin-blue-light.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">
<script nonce="{{ JS_NONCE }}">
// If `prefers-color-scheme` is not supported, fall back to light mode.
// In this case, light.css will be downloaded with `highest` priority.
if (window.matchMedia('(prefers-color-scheme: dark)').media === 'not all') {
document.documentElement.style.display = 'none';
document.head.insertAdjacentHTML(
'beforeend',
'<link rel="stylesheet" href="v1/lib/adminlte/css/skins/skin-light.css?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}" onload="document.documentElement.style.display = \'\'">',
);
}
</script>
<link href="v1/lib/adminlte/css/skins/skin-light.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: light)">
<link href="v1/lib/adminlte/css/skins/skin-dark.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}" media="(prefers-color-scheme: dark)">
{# Firefly III customisations #}
<link href="v1/css/firefly.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">

View File

@ -9,6 +9,7 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="color-scheme" content="light dark">
{# libraries #}
<link href="v1/lib/bs/css/bootstrap.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css" nonce="{{ JS_NONCE }}">