mirror of
https://github.com/grocy/grocy.git
synced 2025-04-28 17:23:56 +00:00
- Only refresh contextual number/datetime info/formatting where needed (closes #513) - Also refresh correlated stock journal entries on undo (closes #471) - Prefill "New amount" with the current stock amount on the inventory page (closes #434) - Ensure that the location_id of the stock and stock_log tables is never empty after migration 95 (references #421) - Load initial values of the /stockedit form server side to improve loading performance (references #421) - Use more or less the same input ordering as on the purchase page for the /stockedit page (references #421) - Also display the "Compact view" button on the shopping list page when FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS is disabled (references #453) - Ensure that the currently active sidebar menu item is visible - Optimized sidebar menu item grouping/spacing - Properly order the API documentation route groups and put the "by-barcode" routes into a separate group - Updated dependencies - Pulled translations from Transifex - Prepared changelog for next release
344 lines
6.0 KiB
CSS
344 lines
6.0 KiB
CSS
/* Main style customizations */
|
|
body {
|
|
font-family: 'Noto Sans', sans-serif;
|
|
}
|
|
|
|
.content-text {
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
.responsive-button {
|
|
white-space: normal;
|
|
}
|
|
|
|
.timeago-contextual {
|
|
font-style: italic;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
a.discrete-link {
|
|
color: inherit !important;
|
|
transition: all 0.3s !important;
|
|
}
|
|
|
|
a.discrete-link:hover {
|
|
color: #337ab7 !important;
|
|
text-decoration: none !important;
|
|
}
|
|
|
|
a.discrete-link:focus {
|
|
color: #ab2230 !important;
|
|
text-decoration: none !important;
|
|
}
|
|
|
|
.card {
|
|
border: 2px solid;
|
|
border-color: #d6d6d6;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.card-header {
|
|
background-color: #e5e5e5;
|
|
}
|
|
|
|
.card-body {
|
|
flex-grow: 0;
|
|
}
|
|
|
|
.content-text .invalid-feedback {
|
|
font-size: 95%;
|
|
}
|
|
|
|
.fullscreen {
|
|
z-index: 8888;
|
|
width: 100%;
|
|
height: 100%;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
overflow: auto;
|
|
background-color: #ffffff;
|
|
}
|
|
|
|
/* Fixes smooth scrolling on iOS */
|
|
#sidebarResponsive,
|
|
.fullscreen {
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.fullscreen-card .card-header-fullscreen {
|
|
z-index: 9999;
|
|
width: 100%;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
body.fullscreen-card {
|
|
overflow: hidden;
|
|
}
|
|
|
|
.fullscreen-card .hide-on-fullscreen-card {
|
|
display: none;
|
|
}
|
|
|
|
.form-check-input.is-valid ~ .form-check-label,
|
|
.was-validated .form-check-input:valid ~ .form-check-label {
|
|
color: inherit;
|
|
}
|
|
|
|
.text-strike-through {
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
button.disabled {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.embedded .hide-when-embedded {
|
|
display: none;
|
|
}
|
|
body.embedded.fixed-nav {
|
|
padding-top: 0;
|
|
}
|
|
.embedded .content-wrapper {
|
|
margin-left: 0;
|
|
}
|
|
|
|
iframe {
|
|
border: 0;
|
|
}
|
|
|
|
/* Hide the default up/down arrow buttons for number inputs because we use our own buttons in numberpicker */
|
|
input[type='number'] {
|
|
-moz-appearance: textfield;
|
|
}
|
|
input::-webkit-outer-spin-button,
|
|
input::-webkit-inner-spin-button {
|
|
-webkit-appearance: none;
|
|
}
|
|
|
|
/* Navigation style customizations */
|
|
#mainNav {
|
|
background-color: #e5e5e5 !important;
|
|
border-bottom: 2px solid !important;
|
|
border-color: #d6d6d6 !important;
|
|
}
|
|
|
|
.navbar-sidenav {
|
|
overflow-x: hidden;
|
|
overflow-y: overlay;
|
|
border-top: 2px solid !important;
|
|
}
|
|
|
|
.navbar-sidenav,
|
|
.sidenav-second-level {
|
|
background-color: #e5e5e5 !important;
|
|
border-right: 2px solid !important;
|
|
border-color: #d6d6d6 !important;
|
|
}
|
|
|
|
.navbar-nav .dropdown-menu {
|
|
background-color: #e5e5e5 !important;
|
|
border: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.navbar-nav .dropdown-divider,
|
|
.nav-item-divider {
|
|
border-top: 2px solid !important;
|
|
border-color: #d6d6d6 !important;
|
|
}
|
|
|
|
.sidenav-toggler {
|
|
background-color: #d6d6d6 !important;
|
|
border-right: 2px solid !important;
|
|
border-color: #d6d6d6 !important;
|
|
}
|
|
|
|
.navbar-sidenav > li,
|
|
.sidenav-second-level > li {
|
|
transition: all 0.3s !important;
|
|
}
|
|
|
|
.navbar-sidenav > li:hover,
|
|
.sidenav-second-level > li:hover,
|
|
.navbar-nav .dropdown-item:hover {
|
|
box-shadow: inset 5px 0 0 #337ab7 !important;
|
|
background-color: #d6d6d6 !important;
|
|
}
|
|
|
|
.navbar-sidenav > li > a:focus,
|
|
.sidenav-second-level > li > a:focus,
|
|
.navbar-nav .dropdown-item:focus {
|
|
box-shadow: inset 5px 0 0 #ab2230 !important;
|
|
background-color: #d6d6d6 !important;
|
|
}
|
|
|
|
.active-page {
|
|
box-shadow: inset 5px 0 0 #ab2230 !important;
|
|
background-color: #d6d6d6 !important;
|
|
}
|
|
|
|
.navbar-brand {
|
|
margin-right: 0;
|
|
}
|
|
|
|
.cursor-link {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.cursor-busy {
|
|
cursor: wait;
|
|
}
|
|
|
|
.expandable-text .collapse, .module .collapsing {
|
|
height: 2.4rem;
|
|
}
|
|
|
|
.expandable-text .collapse {
|
|
position: relative;
|
|
display: block;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.expandable-text .collapse:before {
|
|
position: absolute;
|
|
right: 0;
|
|
bottom: 0;
|
|
}
|
|
|
|
.expandable-text .collapse.show {
|
|
height: auto;
|
|
}
|
|
|
|
.expandable-text .collapse.show:before {
|
|
display: none;
|
|
}
|
|
|
|
/* Third party component customizations - Bootstrap */
|
|
|
|
/* Hide the form validation feedback icons introduced in Bootstrap 4.2.0 - a colored border is enough */
|
|
.form-control.is-invalid,
|
|
.was-validated .form-control:invalid,
|
|
.form-control.is-valid,
|
|
.was-validated .form-control:valid {
|
|
background-size: 0 0;
|
|
}
|
|
|
|
/* There is a little too much padding on form inputs */
|
|
.form-control {
|
|
padding-right: 0.75rem !important;
|
|
}
|
|
|
|
.btn-group-xs > .btn, .btn-xs {
|
|
padding : 0.25rem 0.4rem;
|
|
font-size : 0.875rem;
|
|
line-height : 0.5;
|
|
border-radius: 0.2rem;
|
|
}
|
|
|
|
.text-larger {
|
|
font-size: 125%;
|
|
}
|
|
|
|
.input-group > .form-control:focus {
|
|
z-index: inherit;
|
|
}
|
|
|
|
.list-group {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Third party component customizations - DataTables */
|
|
.dataTable td {
|
|
vertical-align: middle !important;
|
|
}
|
|
|
|
.table td.fit-content,
|
|
.table th.fit-content {
|
|
white-space: nowrap;
|
|
width: 1%;
|
|
}
|
|
|
|
.dataTables_filter,
|
|
.dataTables_info {
|
|
display: none;
|
|
}
|
|
|
|
.dataTables_scrollBody {
|
|
overflow: visible !important;
|
|
}
|
|
|
|
/* Third party component customizations - toastr */
|
|
#toast-container > div {
|
|
opacity: 1;
|
|
filter: alpha(opacity=100);
|
|
}
|
|
|
|
.toast-success {
|
|
background-color: #28a745;
|
|
}
|
|
|
|
.toast-error {
|
|
background-color: #dc3545;
|
|
}
|
|
|
|
#toast-container > div {
|
|
box-shadow: none;
|
|
}
|
|
|
|
/* Third party component customizations - Font Awesome */
|
|
.fa-custom-sigma-sign:before {
|
|
content: "\03a3";
|
|
font-family: sans-serif;
|
|
}
|
|
|
|
/* Third party component customizations - SB Admin 2 */
|
|
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after,
|
|
#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
|
|
font-family: 'Font Awesome 5 Free';
|
|
font-weight: 900;
|
|
}
|
|
|
|
@media (max-width:992px) {
|
|
#mainNav .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
|
|
padding: 0.8em;
|
|
}
|
|
}
|
|
|
|
html {
|
|
min-height: inherit;
|
|
}
|
|
|
|
.dropdown-toggle::after {
|
|
margin-left: -0.15em !important;
|
|
}
|
|
|
|
#mainNav .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
|
|
padding-right: 1.25em !important;
|
|
}
|
|
|
|
/* Third party component customizations - Tempus Dominus */
|
|
.bootstrap-datetimepicker-widget.dropdown-menu {
|
|
width: auto !important;
|
|
}
|
|
|
|
/* Third party component customizations - Bootstrap Combobox */
|
|
.typeahead .active {
|
|
background-color: #e5e5e5;
|
|
}
|
|
|
|
/* Third party component customizations - Popper.js */
|
|
.tooltip {
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* Third party component customizations - QuaggaJS */
|
|
canvas.drawing,
|
|
canvas.drawingBuffer {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
}
|