From 805fc69281ff2a14938f0e85be6dfb4bfd875716 Mon Sep 17 00:00:00 2001 From: Smittix Date: Wed, 4 Feb 2026 22:31:02 +0000 Subject: [PATCH] Set cyan-tinted map tiles as default --- app.py | 2 +- routes/offline.py | 2 +- static/css/settings.css | 5 +++++ static/js/core/settings-manager.js | 16 +++++++++++++--- static/js/modes/meshtastic.js | 13 +++++++------ static/js/modes/sstv.js | 9 +++++---- templates/adsb_dashboard.html | 3 ++- templates/ais_dashboard.html | 3 ++- templates/index.html | 6 ++++-- templates/partials/settings-modal.html | 1 + templates/satellite_dashboard.html | 3 ++- 11 files changed, 43 insertions(+), 20 deletions(-) diff --git a/app.py b/app.py index 2dfb167..373b368 100644 --- a/app.py +++ b/app.py @@ -105,7 +105,7 @@ def inject_offline_settings(): 'enabled': get_setting('offline.enabled', False), 'assets_source': get_setting('offline.assets_source', 'cdn'), 'fonts_source': get_setting('offline.fonts_source', 'cdn'), - 'tile_provider': get_setting('offline.tile_provider', 'openstreetmap'), + 'tile_provider': get_setting('offline.tile_provider', 'cartodb_dark_cyan'), 'tile_server_url': get_setting('offline.tile_server_url', '') } } diff --git a/routes/offline.py b/routes/offline.py index 04e31d4..a35b6e9 100644 --- a/routes/offline.py +++ b/routes/offline.py @@ -13,7 +13,7 @@ OFFLINE_DEFAULTS = { 'offline.enabled': False, 'offline.assets_source': 'cdn', 'offline.fonts_source': 'cdn', - 'offline.tile_provider': 'openstreetmap', + 'offline.tile_provider': 'cartodb_dark_cyan', 'offline.tile_server_url': '' } diff --git a/static/css/settings.css b/static/css/settings.css index ac3d2e7..9641b2b 100644 --- a/static/css/settings.css +++ b/static/css/settings.css @@ -421,6 +421,11 @@ color: var(--accent-cyan, #00d4ff); } +/* Map tile variants */ +.tile-layer-cyan { + filter: sepia(0.35) hue-rotate(185deg) saturate(1.75) brightness(1.06) contrast(1.05); +} + /* Responsive */ @media (max-width: 640px) { .settings-modal.active { diff --git a/static/js/core/settings-manager.js b/static/js/core/settings-manager.js index 11fae2d..f5c8b9d 100644 --- a/static/js/core/settings-manager.js +++ b/static/js/core/settings-manager.js @@ -8,7 +8,7 @@ const Settings = { 'offline.enabled': false, 'offline.assets_source': 'cdn', 'offline.fonts_source': 'cdn', - 'offline.tile_provider': 'cartodb_dark', + 'offline.tile_provider': 'cartodb_dark_cyan', 'offline.tile_server_url': '' }, @@ -24,6 +24,14 @@ const Settings = { attribution: '© OSM © CARTO', subdomains: 'abcd' }, + cartodb_dark_cyan: { + url: 'https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', + attribution: '© OSM © CARTO', + subdomains: 'abcd', + options: { + className: 'tile-layer-cyan' + } + }, cartodb_light: { url: 'https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png', attribution: '© OSM © CARTO', @@ -213,7 +221,8 @@ const Settings = { const config = this.getTileConfig(); const options = { attribution: config.attribution, - maxZoom: 19 + maxZoom: 19, + ...(config.options || {}) }; if (config.subdomains) { options.subdomains = config.subdomains; @@ -351,7 +360,8 @@ const Settings = { // Add new tile layer const options = { attribution: config.attribution, - maxZoom: 19 + maxZoom: 19, + ...(config.options || {}) }; if (config.subdomains) { options.subdomains = config.subdomains; diff --git a/static/js/modes/meshtastic.js b/static/js/modes/meshtastic.js index 1e3387f..ee98fe7 100644 --- a/static/js/modes/meshtastic.js +++ b/static/js/modes/meshtastic.js @@ -117,12 +117,13 @@ const Meshtastic = (function() { Settings.createTileLayer().addTo(meshMap); Settings.registerMap(meshMap); } else { - L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', { - attribution: '© OSM © CARTO', - maxZoom: 19, - subdomains: 'abcd' - }).addTo(meshMap); - } + L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', { + attribution: '© OSM © CARTO', + maxZoom: 19, + subdomains: 'abcd', + className: 'tile-layer-cyan' + }).addTo(meshMap); + } // Handle resize setTimeout(() => { diff --git a/static/js/modes/sstv.js b/static/js/modes/sstv.js index 2392afc..fa28af2 100644 --- a/static/js/modes/sstv.js +++ b/static/js/modes/sstv.js @@ -183,10 +183,11 @@ const SSTV = (function() { Settings.registerMap(issMap); } else { // Fallback to dark theme tiles - L.tileLayer('https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png', { - maxZoom: 19 - }).addTo(issMap); - } + L.tileLayer('https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png', { + maxZoom: 19, + className: 'tile-layer-cyan' + }).addTo(issMap); + } // Create ISS icon const issIcon = L.divIcon({ diff --git a/templates/adsb_dashboard.html b/templates/adsb_dashboard.html index 7f690e0..9a12a1c 100644 --- a/templates/adsb_dashboard.html +++ b/templates/adsb_dashboard.html @@ -2391,7 +2391,8 @@ sudo make install L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', { attribution: '© OSM © CARTO', maxZoom: 19, - subdomains: 'abcd' + subdomains: 'abcd', + className: 'tile-layer-cyan' }).addTo(radarMap); } diff --git a/templates/ais_dashboard.html b/templates/ais_dashboard.html index 86d0d5d..492ac68 100644 --- a/templates/ais_dashboard.html +++ b/templates/ais_dashboard.html @@ -413,7 +413,8 @@ L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', { attribution: '© OSM © CARTO', maxZoom: 19, - subdomains: 'abcd' + subdomains: 'abcd', + className: 'tile-layer-cyan' }).addTo(vesselMap); } diff --git a/templates/index.html b/templates/index.html index a230e89..1127c12 100644 --- a/templates/index.html +++ b/templates/index.html @@ -7969,7 +7969,8 @@ L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', { attribution: '© OSM © CARTO', maxZoom: 19, - subdomains: 'abcd' + subdomains: 'abcd', + className: 'tile-layer-cyan' }).addTo(aprsMap); } @@ -8892,7 +8893,8 @@ L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', { attribution: '© OSM © CARTO', maxZoom: 19, - subdomains: 'abcd' + subdomains: 'abcd', + className: 'tile-layer-cyan' }).addTo(groundTrackMap); } diff --git a/templates/partials/settings-modal.html b/templates/partials/settings-modal.html index ece566a..3448563 100644 --- a/templates/partials/settings-modal.html +++ b/templates/partials/settings-modal.html @@ -72,6 +72,7 @@