From 6a1c5fec976562e624822fa720aa3e8ea5e1708e Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 17 Apr 2025 02:33:49 +0200 Subject: [PATCH] Themes: reintroduce check for defaultBackgroundID: make sure it _does_ exist as global layer --- assets/themes/surveillance/surveillance.json | 1 - src/Models/ThemeConfig/Conversion/ValidateTheme.ts | 12 +++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/assets/themes/surveillance/surveillance.json b/assets/themes/surveillance/surveillance.json index ae85e6560f..1563708486 100644 --- a/assets/themes/surveillance/surveillance.json +++ b/assets/themes/surveillance/surveillance.json @@ -58,7 +58,6 @@ "ko": "감시 카메라 및 기타 감시 수단" }, "icon": "./assets/themes/surveillance/logo.svg", - "defaultBackgroundId": "maptiler.carto", "layers": [ "surveillance_camera", { diff --git a/src/Models/ThemeConfig/Conversion/ValidateTheme.ts b/src/Models/ThemeConfig/Conversion/ValidateTheme.ts index dc89de0296..db39dc18cc 100644 --- a/src/Models/ThemeConfig/Conversion/ValidateTheme.ts +++ b/src/Models/ThemeConfig/Conversion/ValidateTheme.ts @@ -149,16 +149,14 @@ export class ValidateTheme extends DesugaringStep { } if (json.defaultBackgroundId) { - /* - TODO re-enable this check const backgroundId = json.defaultBackgroundId - const isCategory = backgroundId === "photo" || backgroundId === "map" || backgroundId === "osmbasedmap" - if (!isCategory && !ValidateTheme._availableLayers.has(backgroundId)) { - const options = Array.from(ValidateTheme._availableLayers) - const nearby = Utils.sortedByLevenshteinDistance(backgroundId, options, (t) => t) + const knownIds = Array.from(AvailableRasterLayers.allAvailableGlobalLayers).map(l => l.properties.id) + const available = new Set(knownIds) + if (!isCategory && !available.has(backgroundId)) { + const nearby = Utils.sortedByLevenshteinDistance(backgroundId, knownIds, (t) => t) context .enter("defaultBackgroundId") .err( @@ -166,7 +164,7 @@ export class ValidateTheme extends DesugaringStep { .slice(0, 5) .join(", ")}`, ) - }*/ + } } for (let i = 0; i < theme.layers.length; i++) {