diff --git a/web/src/lib/components/trail/map_with_elevation_maplibre.svelte b/web/src/lib/components/trail/map_with_elevation_maplibre.svelte index ea76eaa5..b6721326 100644 --- a/web/src/lib/components/trail/map_with_elevation_maplibre.svelte +++ b/web/src/lib/components/trail/map_with_elevation_maplibre.svelte @@ -464,9 +464,7 @@ }, layout: { "text-field": "{point_count_abbreviated}", - "text-font": [ - "Noto Sans Regular", - ], + "text-font": ["Noto Sans Regular"], "text-size": 12, }, }); @@ -1013,7 +1011,7 @@ ); } - if (showTerrain) { + if (showTerrain && page.data.settings?.terrain?.terrain) { map!.addControl( new M.TerrainControl({ source: "terrain", diff --git a/web/src/lib/models/api/settings_schema.ts b/web/src/lib/models/api/settings_schema.ts index 293261c8..62be0f75 100644 --- a/web/src/lib/models/api/settings_schema.ts +++ b/web/src/lib/models/api/settings_schema.ts @@ -14,7 +14,7 @@ const SettingsCreateSchema = z.object({ }).optional().nullable(), category: z.string().optional(), tilesets: z.array(z.object({ name: z.string(), url: z.string().url() })).optional().nullable(), - terrain: z.object({ terrain: z.string().url(), hillshading: z.string().url() }).optional().nullable(), + terrain: z.object({ terrain: z.string().url().or(z.literal('')).optional(), hillshading: z.string().url().or(z.literal('')).optional() }).optional().nullable(), user: z.string().optional(), privacy: z.object({ account: z.enum(["public", "private"]), diff --git a/web/src/lib/models/settings.ts b/web/src/lib/models/settings.ts index 427d6a5f..34e093c5 100644 --- a/web/src/lib/models/settings.ts +++ b/web/src/lib/models/settings.ts @@ -22,7 +22,7 @@ class Settings { location?: { name: string, lat: number, lon: number } | null; category?: string; tilesets?: ({ name: string, url: string }[]) | null - terrain?: { terrain: string, hillshading: string } | null; + terrain?: { terrain?: string, hillshading?: string } | null; user?: string; privacy?: { account: "public" | "private", trails: "public" | "private", lists: "public" | "private" } | null notifications?: Record | null