X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ebb993728376fc246682ab353b5cec0a9dd3b1c5..8ee3d678319062d4f2f27918d3f98d3465d9eb36:/app/assets/stylesheets/common.scss?ds=inline diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index abd696603..69e82666f 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1,4 +1,6 @@ +@use "sass:map"; @import "parameters"; +@import "browse"; @import "bootstrap"; @import "rails_bootstrap_forms"; @@ -10,26 +12,10 @@ body { font-size: $typeheight; } -p > img { - width: auto; - max-width: 100%; -} - -small, aside { - font-size: 12px; -} - time[title] { text-decoration: underline dotted; } -#container { position: relative; } - -.small_icon { - vertical-align: middle; - margin-right: $lineheight * 0.25; -} - /* Rules for icons */ .icon { @@ -62,7 +48,7 @@ time[title] { /* Utility for de-emphasizing content */ -.text-muted a { +.text-body-secondary a { color: $blue; } @@ -75,7 +61,10 @@ time[title] { .table-secondary { --bs-table-bg: rgb(var(--bs-secondary-rgb), .25); } - .table-primary, .table-secondary { + .table-success { + --bs-table-bg: rgb(var(--bs-success-rgb), .25); + } + .table-primary, .table-secondary, .table-success { --bs-table-color: initial; border-color: inherit; } @@ -88,7 +77,7 @@ time[title] { position: absolute; top: 0; right: 0; - background: image-url("menu-icon.png") no-repeat; + background: image-url("menu-icon.svg") no-repeat; background-size: 30px 30px; width: 30px; height: 30px; @@ -107,23 +96,13 @@ header { position: relative; font-size: 14px; - h1, nav, nav > ul, nav > ul > li { - display: inline-block; - } - > * { - height: 100%; padding: $lineheight * 0.5; } - img.logo { - margin-top: -2px; - } - h1 { + height: $headerHeight; font-size: 18px; - line-height: 1.2; - padding-top: 15px; } .btn { @@ -133,6 +112,10 @@ header { nav.primary { margin-right: auto; } + + .username { + max-width: 12em; + } } nav.primary { @@ -169,11 +152,7 @@ nav.primary { nav.secondary { .nav-link { - padding: 0.2rem; - } - - #inboxanchor { - background-color: lighten($grey, 10%); + padding: 0.3rem; } } @@ -210,7 +189,7 @@ body.small-nav { min-height: $headerHeight; &.closed nav { - display: none; + display: none !important; } .search_forms { @@ -235,6 +214,8 @@ body.small-nav { } nav.secondary { + flex-direction: column; + .user-menu, .login-menu { width: 100%; } @@ -414,7 +395,7 @@ body.small-nav { overflow-y: scroll; } - .overlay-sidebar { + .overlay-sidebar.overlay-right-sidebar { #sidebar { position: absolute; width: 350px; @@ -422,7 +403,7 @@ body.small-nav { overflow: hidden; } - #map, #map-ui { + #map { height: 100%; } } @@ -442,10 +423,6 @@ body.small-nav { } .overlay-layers { - p { - font-size: 13px; - margin-bottom: 8px; - } li.disabled { color: $darkgrey; } } } @@ -470,8 +447,27 @@ body.small-nav { border-top: 0px !important; } +.leaflet-popup-content-wrapper, .leaflet-popup-tip, +.leaflet-contextmenu, .leaflet-contextmenu-item, +.leaflet-control-attribution, .leaflet-control-scale-line { + @extend .bg-body, .text-body; +} + +.leaflet-control-attribution, .leaflet-control-scale-line { + @extend .bg-opacity-75; + text-shadow: none !important; +} + +.leaflet-contextmenu-item.over { + @extend .bg-body-secondary, .border-secondary, .border-opacity-10; +} + .leaflet-popup-content-wrapper { - border-radius: 4px !important; + @extend .rounded-1; + + a { + color: var(--bs-link-color) !important; + } } @include color-mode(dark) { @@ -479,22 +475,20 @@ body.small-nav { .mapkey-table-entry td:first-child > * { filter: brightness(.8); } + + .leaflet-control-attribution a { + color: var(--bs-link-color); + } + + .leaflet-control-scale-line { + @extend .border-light, .border-opacity-75; + } } /* Rules for attribution text under the main map shown on printouts */ .donate-attr { color: darken($green, 10%) !important; } -/* Rules for the sidebar */ - -#browse_status { - input { - display: block; - margin-left: auto; - margin-right: auto; - } -} - /* Temporary label size override until we remove site-wide font customisation */ form { @@ -544,10 +538,6 @@ header .search_forms, /* Rules for search sidebar */ #sidebar .search_results_entry { - ul li.selected { - background: $list-highlight; - } - .search_more .loader { display: none; } @@ -556,7 +546,7 @@ header .search_forms, /* Rules for routing */ div.direction { - background-image: image-url('routing-sprite.png'); + background-image: image-url('routing-sprite.svg'); width: 20px; height: 20px; background-repeat: no-repeat; @@ -578,18 +568,21 @@ tr.turn { cursor: pointer; } -.routing_marker { width: 15px; cursor: move; } +.routing_marker_column { + width: 15px; -.browse_status { - display: none; + img { + cursor: move; + } } /* Rules for the history sidebar */ #sidebar .changesets { li { - &.selected { background: $list-highlight; } - /* color is derived from changeset bbox fillColor in history.js */ + &.selected { + @extend :hover; + } a.stretched-link > span, a:not(.stretched-link), [title] { position: relative; @@ -623,41 +616,16 @@ tr.turn { .browse-tag-list { table-layout: fixed; white-space: pre-wrap; + word-wrap: break-word; + word-break: break-word; tr:last-child th, tr:last-child td { border-bottom: 0; } } - .note-description { - overflow: hidden; - margin: 0 0 10px 10px; - } - .query-results { display: none; - - ul { - li { - &.query-result { - cursor: pointer; - } - - &.selected { - background: $list-highlight; - } - } - } - } -} - -/* Bootstrap buttons don't have any vertical margin, so - they touch when adjacent buttons wrap onto a new line - e.g. wide form buttons on a narrow sidebar */ - -.btn-wrapper { - > .btn { - margin-bottom: $spacer * 0.25; } } @@ -709,7 +677,13 @@ tr.turn { padding: $lineheight; } -/* Overrides for pages that use new layout conventions */ +/* Rules for login and signup pages */ + +.sessions-new, .users-new, .users-create { + #content .content-inner { + max-width: 760px; + } +} .header-illustration { background-position: 0 0; @@ -722,6 +696,7 @@ tr.turn { &.new-user-main { background-image: image-url("sign-up-illustration.png"); + background-position-x: 50px; } &.confirm-main { @@ -731,17 +706,6 @@ tr.turn { &.new-user-terms { background-image: image-url("terms-illustration.png"); } - - &.new-user-arm { - height: 110px; - width: 130px; - left: 280px; - top: 180px; - background-image: image-url("sign-up-illustration-arm.png"); - position: absolute; - z-index: 100; - pointer-events: none; - } } [dir=rtl] .header-illustration { @@ -750,6 +714,10 @@ tr.turn { h1 { transform: scaleX(-1); } + + ul { + transform: scaleX(-1); + } } /* Rules for small maps in content areas */ @@ -775,7 +743,6 @@ tr.turn { /* Rules for user popups on maps */ .user_popup { - min-width: 200px; p { padding: 0 0 5px 0; margin: 0 0 0 60px; @@ -817,14 +784,6 @@ tr.turn { } } -/* Rules for messages pages */ - -.messages { - .inbox-row-unread td { - background: #CBEEA7; - } -} - /* Rules for user images */ img.user_image { @@ -905,57 +864,7 @@ div.secondary-actions { } } -/* Rules for the "Welcome" page */ -.site-welcome, .site-fixthemap { - .sprite { - background-image: image-url("welcome-sprite.png"); - background-size: 500px 250px; - display: block; - } - - .sprite.small { - width: 50px; - height: 50px; - } - - .sprite.x { - /*rtl:ignore*/ background-position: -50px 0; - } - - .sprite.term { - margin-right: 10px; - vertical-align: middle; - } - - .sprite.node { - /*rtl:ignore*/ background-position: -100px 0; - } - - .sprite.way { - /*rtl:ignore*/ background-position: -150px 0; - } - - .sprite.tag { - /*rtl:ignore*/ background-position: -200px 0; - } - - .sprite.editor { - /*rtl:ignore*/ background-position: -250px 0; - } - - .sprite.question { - /*rtl:ignore*/ background-position: -300px 0; - } - - .sprite.rules { - /*rtl:ignore*/ background-position: -350px 0; - } - - .icon.note { - background-color: #333; - border-radius: 4px; - } -} +/* Rules for the "About" page */ .site-about #content { .content-inner { @@ -990,37 +899,6 @@ div.secondary-actions { margin-left: -1em; } } - - .icon { - width: 30px; - height: 30px; - background: 40px 40px image-url('about/sprite.png') no-repeat; - - &.local { - /*rtl:ignore*/ - background-position: 0px 0px; - } - &.community { - /*rtl:ignore*/ - background-position: 0px -40px; - } - &.open { - /*rtl:ignore*/ - background-position: 0px -80px; - } - &.partners { - /*rtl:ignore*/ - background-position: 0px -120px; - } - &.infringement { - /*rtl:ignore*/ - background-position: 0px -160px; - } - &.legal { - /*rtl:ignore*/ - background-position: -45px -160px; - } - } } /* Rules for tabs inside secondary background sections */ @@ -1044,4 +922,32 @@ img.trace_image { } } -@import 'browse'; +/* Rules for map sidebar icons */ + +.browse-section { + .node::before, + .way::before, + .relation::before { + display: inline-block; + width: 25px; + margin-left: -25px; + } + + .node, .way, .relation { + margin-left: 25px; + } +} + +@each $class, $item in $map-sidebar-icons { + .browse-section #{$class}::before { + content: image-url('browse/#{map.get($item, "filename")}'); + } + + @if map.get($item, "invert") { + @include color-mode(dark) { + .browse-section #{$class}::before { + filter: invert(.8) hue-rotate(180deg); + } + } + } +}