From: Tom Hughes Date: Sat, 18 Jan 2025 12:06:58 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/5507' X-Git-Tag: live~419 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/09aa3ccc78be0bf164b085d1f806f26fc6112cb6?hp=8312ddfe0c79275355f5e5969ec714aac1f4af6a Merge remote-tracking branch 'upstream/pull/5507' --- diff --git a/app/assets/javascripts/leaflet.map.js b/app/assets/javascripts/leaflet.map.js index e0c2ee60b..7929ea0ac 100644 --- a/app/assets/javascripts/leaflet.map.js +++ b/app/assets/javascripts/leaflet.map.js @@ -32,6 +32,8 @@ L.OSM.Map = L.Map.extend({ layerOptions.apikey = OSM[value]; } else if (property === "leafletOsmId") { layerConstructor = L.OSM[value]; + } else if (property === "leafletOsmDarkId" && OSM.isDarkMap() && L.OSM[value]) { + layerConstructor = L.OSM[value]; } else { layerOptions[property] = value; } @@ -386,6 +388,14 @@ L.extend(L.Icon.Default.prototype, { } }); +OSM.isDarkMap = function () { + var mapTheme = $("body").attr("data-map-theme"); + if (mapTheme) return mapTheme === "dark"; + var siteTheme = $("html").attr("data-bs-theme"); + if (siteTheme) return siteTheme === "dark"; + return window.matchMedia("(prefers-color-scheme: dark)").matches; +}; + OSM.getUserIcon = function (url) { return L.icon({ iconUrl: url || OSM.MARKER_RED, diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index 9ce6aec34..098370689 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -9,7 +9,7 @@ body { font-size: $typeheight; - --dark-mode-map-filter: brightness(.8); + --dark-mode-map-filter: none; } time[title] { diff --git a/config/layers.yml b/config/layers.yml index 98ef2e691..30cf29d29 100644 --- a/config/layers.yml +++ b/config/layers.yml @@ -39,6 +39,7 @@ href: "https://www.thunderforest.com/" - leafletOsmId: "TransportMap" + leafletOsmDarkId: "TransportDarkMap" code: "T" layerId: "transportmap" nameId: "transport_map"