diff --git a/Logic/DetermineLayout.ts b/Logic/DetermineLayout.ts index 6f76cdbe68..df6ea07e1b 100644 --- a/Logic/DetermineLayout.ts +++ b/Logic/DetermineLayout.ts @@ -17,6 +17,8 @@ import * as known_layers from "../assets/generated/known_layers.json" import {LayoutConfigJson} from "../Models/ThemeConfig/Json/LayoutConfigJson"; import {PrepareTheme} from "../Models/ThemeConfig/Conversion/PrepareTheme"; import * as licenses from "../assets/generated/license_info.json" +import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig"; + export default class DetermineLayout { private static readonly _knownImages =new Set( Array.from(licenses).map(l => l.path)) @@ -135,6 +137,23 @@ export default class DetermineLayout { } private static prepCustomTheme(json: any): LayoutConfigJson { + + if(json.layers === undefined && json.tagRenderings !== undefined){ + const iconTr = json.mapRendering.map(mr => mr.icon).find(icon => icon !== undefined) + const icon = new TagRenderingConfig(iconTr).render.txt + json = { + id: json.id, + description: json.description, + descriptionTail: { + en: "
Layer only mode.
The loaded custom theme actually isn't a custom theme, but only contains a layer." + }, + icon, + title: json.name, + layers: [json], + } + } + + const knownLayersDict = new Map() for (const key in known_layers.layers) { const layer = known_layers.layers[key] diff --git a/Models/ThemeConfig/Conversion/Conversion.ts b/Models/ThemeConfig/Conversion/Conversion.ts index 15b5153438..a5e9df2c8c 100644 --- a/Models/ThemeConfig/Conversion/Conversion.ts +++ b/Models/ThemeConfig/Conversion/Conversion.ts @@ -64,7 +64,7 @@ export class OnEvery extends DesugaringStep { private readonly step: DesugaringStep; constructor(key: string, step: DesugaringStep) { - super("Applies " + step.constructor.name + " onto every object of the list `key`", [key]); + super("Applies " + step.name + " onto every object of the list `key`", [key], "OnEvery("+step.name+")"); this.step = step; this.key = key; }