GL-Style: Schutzgebiete (park) als Umrandung statt Füllung + Wald dunkler

René: Ebersberger Forst in GL heller statt dunkler. Ursache: park-Layer (Naturpark/Schutzgebiet)
lag als flache hellgrüne Füllung ÜBER dem Wald → aufhellend. Jetzt dezente Füllung (0.18) +
grüne gestrichelte Umrandung (wie OSM), Wald-Farbe (landcover wood, dunkler #74b356) bleibt sichtbar.
This commit is contained in:
rene 2026-06-05 11:59:02 +02:00
parent 04b2d8aeb8
commit eaf7801e6b
6 changed files with 24 additions and 20 deletions

View file

@ -1 +1 @@
1192
1193

View file

@ -86,14 +86,14 @@
<title>Ban Yaro</title>
<!-- Theme + theme-color Statusleiste vor CSS setzen -->
<script src="/js/boot-early.js?v=1192"></script>
<script src="/js/boot-early.js?v=1193"></script>
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
<link rel="stylesheet" href="/css/design-system.css?v=1192">
<link rel="stylesheet" href="/css/layout.css?v=1192">
<link rel="stylesheet" href="/css/components.css?v=1192">
<link rel="stylesheet" href="/css/utilities.css?v=1192">
<link rel="stylesheet" href="/css/lists.css?v=1192">
<link rel="stylesheet" href="/css/design-system.css?v=1193">
<link rel="stylesheet" href="/css/layout.css?v=1193">
<link rel="stylesheet" href="/css/components.css?v=1193">
<link rel="stylesheet" href="/css/utilities.css?v=1193">
<link rel="stylesheet" href="/css/lists.css?v=1193">
</head>
<body>
@ -617,11 +617,11 @@
<div id="modal-container"></div>
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
<script src="/js/api.js?v=1192"></script>
<script src="/js/ui.js?v=1192"></script>
<script src="/js/app.js?v=1192"></script>
<script src="/js/worlds.js?v=1192"></script>
<script src="/js/offline-indicator.js?v=1192"></script>
<script src="/js/api.js?v=1193"></script>
<script src="/js/ui.js?v=1193"></script>
<script src="/js/app.js?v=1193"></script>
<script src="/js/worlds.js?v=1193"></script>
<script src="/js/offline-indicator.js?v=1193"></script>
<!-- Feature-Seiten werden lazy geladen -->
@ -631,7 +631,7 @@
<!-- Boot: Offline-Banner + SW-Registration (extrahiert für CSP) -->
<script src="/js/boot.js?v=1192"></script>
<script src="/js/boot.js?v=1193"></script>
</body>

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
const APP_VER = '1192'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VER = '1193'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
window.APP_VER = APP_VER; // global verfügbar für andere Module (z.B. offline-indicator)
window.APP_VERSION = APP_VERSION;

View file

@ -11,14 +11,14 @@
var THEMES = {
light: {
bg: '#f2efe8', land: '#cbe3a8', park: '#aedd88', water: '#7fbbe8',
forest: '#8fc36a', grass: '#cdeaa6', wetland: '#9ed2bc', farmland: '#e7eecb', sand: '#efe6c8',
forest: '#74b356', grass: '#cdeaa6', wetland: '#9ed2bc', farmland: '#e7eecb', sand: '#efe6c8', parkLine: '#4e9a3a',
road: '#ffffff', roadCasing: '#cdbfa9', building: '#e6d8bf',
buildingLine: '#cdbb9c', boundary: '#a06ec0', path: '#b08160', rail: '#9a9aa2',
label: '#2a2823', roadLabel: '#574f43', waterLabel: '#2f6aa0', poiLabel: '#4a4236', labelHalo: 'rgba(255,255,255,0.95)',
},
dark: {
bg: '#1a1d21', land: '#252e1d', park: '#2c3c1f', water: '#163242',
forest: '#31481f', grass: '#26361a', wetland: '#264039', farmland: '#222b18', sand: '#332f1f',
forest: '#33501f', grass: '#26361a', wetland: '#264039', farmland: '#222b18', sand: '#332f1f', parkLine: '#3f6e2a',
road: '#444a52', roadCasing: '#23282d', building: '#2a2f35',
buildingLine: '#373d44', boundary: '#8a63a0', path: '#6b5d52', rail: '#5e5e68',
label: '#e2e5e9', roadLabel: '#a6acb3', waterLabel: '#7db0dd', poiLabel: '#c3b9a8', labelHalo: 'rgba(0,0,0,0.85)',
@ -48,8 +48,12 @@
'farmland', t.farmland, 'sand', t.sand, t.land],
'fill-opacity': 0.85,
} },
{ id: 'park', type: 'fill', source: 'by', 'source-layer': 'park',
paint: { 'fill-color': t.park, 'fill-opacity': 0.75 } },
// Schutzgebiete/Naturparks: dezente Füllung + grüne gestrichelte Umrandung
// (NICHT aufhellend über den Wald legen → sonst wirkt z.B. der Ebersberger Forst heller).
{ id: 'park-fill', type: 'fill', source: 'by', 'source-layer': 'park',
paint: { 'fill-color': t.park, 'fill-opacity': 0.18 } },
{ id: 'park-outline', type: 'line', source: 'by', 'source-layer': 'park',
paint: { 'line-color': t.parkLine, 'line-width': 1.2, 'line-dasharray': [4, 2], 'line-opacity': 0.55 } },
{ id: 'water', type: 'fill', source: 'by', 'source-layer': 'water',
paint: { 'fill-color': t.water } },
{ id: 'waterway', type: 'line', source: 'by', 'source-layer': 'waterway',

View file

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="color-scheme" content="light dark">
<script src="/js/landing-init.js?v=1192"></script>
<script src="/js/landing-init.js?v=1193"></script>
<title>Ban Yaro — Die Hunde-App für Deutschland, Österreich & Schweiz</title>
<meta name="description" content="Ban Yaro: Die kostenlose All-in-One Hunde-App für DACH. Tagebuch, Giftköder-Alarm, Training mit KI, Forum, Wurfbörse, Stammbaum, Inzucht-Check — DSGVO-konform, offline-fähig, ohne App Store.">
<meta name="keywords" content="Hunde App, Hunde Community, Wurfbörse, Züchter, Welpen kaufen, Stammbaum Hund, Inzuchtkoeffizient, Hundezucht, Impfpass Hund, Giftköder Alarm, Gassi Community, Hundetraining App, Hunde Forum, Hunde KI, Hundefilm Datenbank, Welpen Marktplatz">

View file

@ -4,7 +4,7 @@
============================================================ */
// ← EINZIGE Stelle für die Version — STATIC_ASSETS und CACHE_VERSION leiten sich ab
const VER = '1192';
const VER = '1193';
const CACHE_VERSION = `by-v${VER}`;
const CACHE_STATIC = `${CACHE_VERSION}-static`;
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten