X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/d4344da2beeff6ed657c1a9970573acdad8563eb..7e7ede890e8e948236d3dbc48e24aca00cd01f62:/app/assets/stylesheets/common.scss?ds=inline diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index a1734682e..323f60e08 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1,6 +1,5 @@ @use "sass:map"; @import "parameters"; -@import "browse"; @import "bootstrap"; @import "rails_bootstrap_forms"; @@ -10,6 +9,7 @@ body { font-size: $typeheight; + --dark-mode-map-filter: brightness(.8); } time[title] { @@ -70,6 +70,28 @@ time[title] { } } +/* Utility for delayed loading spinner */ + +.delayed-fade-in { + animation: 300ms linear forwards delayed-fade-in; +} + +@keyframes delayed-fade-in { + 0% { opacity: 0 } + 66% { opacity: 0 } + 100% { opacity: 1 } +} + +/* Bootstrap close button overrides for nested light/dark themes */ + +[data-bs-theme="dark"] .btn-close { + filter: var(--bs-btn-close-white-filter); +} + +[data-bs-theme="light"] .btn-close { + filter: none; +} + /* Rules for the header */ #menu-icon { @@ -119,7 +141,7 @@ header { } nav.primary { - & > .btn-group .btn-outline-primary { + #edit_tab .btn-outline-primary { @include button-outline-variant($green, $color-hover: $white, $active-color: $white); } @@ -195,11 +217,13 @@ body.small-nav { .search_forms { display: block; } + + .username { + max-width: unset; + } } - #sidebar .search_forms, - #edit_tab, - #export_tab { + #sidebar .search_forms { display: none; } @@ -207,7 +231,7 @@ body.small-nav { margin-right: 0; padding: 0; - .btn-group { + #edit_tab { width: 100%; padding: 10px; } @@ -368,6 +392,14 @@ body.small-nav { .leaflet-marker-draggable { cursor: move; } + + .query-marker { + animation: 1500ms forwards query-marker-fade; + + @keyframes query-marker-fade { + to { opacity: 0 } + } + } } #map-ui { @@ -412,9 +444,12 @@ body.small-nav { .layers-ui { .base-layers > * { - height: 56px; + height: 3.5rem; > .btn { + box-sizing: content-box; + top: - map.get($border-widths, 4); + left: - map.get($border-widths, 4); --bs-btn-border-color: var(--bs-body-bg); } > .btn:hover { @@ -471,17 +506,33 @@ body.small-nav { } @include color-mode(dark) { + .leaflet-container .leaflet-control-attribution a { + color: var(--bs-link-color); + } + + .leaflet-control-scale-line { + border-color: rgba(var(--bs-light-rgb), .75) !important; + } +} + +@mixin dark-map-color-scheme { .leaflet-tile-container, .mapkey-table-entry td:first-child > * { - filter: brightness(.8); + filter: var(--dark-mode-map-filter); } - .leaflet-control-attribution a { - color: var(--bs-link-color); + .leaflet-tile-container .leaflet-tile { + filter: none; } +} - .leaflet-control-scale-line { - @extend .border-light, .border-opacity-75; +body[data-map-theme="dark"] { + @include dark-map-color-scheme; +} + +@include color-mode(dark) { + body:not([data-map-theme]) { + @include dark-map-color-scheme; } } @@ -901,7 +952,18 @@ div.secondary-actions { } } -/* Rules for tabs inside secondary background sections */ +/* Rules for tables with usernames */ + +.messages-table .username, +#block_list .username { + max-width: 20em; +} + +/* Rules for navigation tabs */ + +.nav-tabs .username { + max-width: 20em; +} .bg-body-secondary .nav-tabs { --bs-border-color: var(--bs-secondary-border-subtle); @@ -924,30 +986,20 @@ img.trace_image { /* Rules for map sidebar icons */ -.browse-section { - .node::before, - .way::before, - .relation::before { - display: inline-block; - width: 25px; - margin-left: -25px; - } +.browse-section .browse-element-list { + line-height: 1.25rem; - .node, .way, .relation { - margin-left: 25px; + .browse-icon { + height: 1.25rem; } -} -@each $class, $item in $map-sidebar-icons { - .browse-section #{$class}::before { - content: image-url('browse/#{map.get($item, "filename")}'); + .d-flex > .browse-icon { + height: max(20px, 1.25rem); } - @if map.get($item, "invert") { - @include color-mode(dark) { - .browse-section #{$class}::before { - filter: invert(.8) hue-rotate(180deg); - } + @include color-mode(dark) { + .browse-icon-invertible { + filter: invert(.8) hue-rotate(180deg); } } }