diff --git a/src/UI/Map/Icon.svelte b/src/UI/Map/Icon.svelte
index c81b599698..d9c16f6ca7 100644
--- a/src/UI/Map/Icon.svelte
+++ b/src/UI/Map/Icon.svelte
@@ -42,6 +42,7 @@
import BuildingOffice2 from "@babeard/svelte-heroicons/outline/BuildingOffice2"
import Train from "../../assets/svg/Train.svelte"
import Airport from "../../assets/svg/Airport.svelte"
+ import BuildingStorefront from "@babeard/svelte-heroicons/outline/BuildingStorefront"
/**
* Renders a single icon.
@@ -159,6 +160,8 @@
{:else if icon === "airport"}
+ {:else if icon === "building_storefront"}
+
{:else if Utils.isEmoji(icon)}
{icon}
diff --git a/src/UI/SpecialVisualization.ts b/src/UI/SpecialVisualization.ts
index 74f484426b..6f08ee4a85 100644
--- a/src/UI/SpecialVisualization.ts
+++ b/src/UI/SpecialVisualization.ts
@@ -4,7 +4,7 @@ import LayoutConfig, { MinimalLayoutInformation } from "../Models/ThemeConfig/La
import {
FeatureSource,
IndexedFeatureSource,
- WritableFeatureSource,
+ WritableFeatureSource
} from "../Logic/FeatureSource/FeatureSource"
import { OsmConnection } from "../Logic/Osm/OsmConnection"
import { Changes } from "../Logic/Osm/Changes"
@@ -97,8 +97,10 @@ export interface SpecialVisualizationState {
readonly geolocation: GeoLocationHandler
readonly recentlySearched: RecentSearch
+ getMatchingLayer(properties: Record);
showCurrentLocationOn(map: Store): ShowDataLayer
+
reportError(message: string): Promise
}
@@ -134,7 +136,7 @@ export interface SpecialVisualization {
export type RenderingSpecification =
| string
| {
- func: SpecialVisualization
- args: string[]
- style: string
- }
+ func: SpecialVisualization
+ args: string[]
+ style: string
+}
diff --git a/src/UI/ThemeViewGUI.svelte b/src/UI/ThemeViewGUI.svelte
index ae0b55cd94..75d0c24019 100644
--- a/src/UI/ThemeViewGUI.svelte
+++ b/src/UI/ThemeViewGUI.svelte
@@ -19,7 +19,7 @@
EyeIcon,
HeartIcon,
MenuIcon,
- XCircleIcon,
+ XCircleIcon
} from "@rgossiaux/svelte-heroicons/solid"
import Tr from "./Base/Tr.svelte"
import CommunityIndexView from "./BigComponents/CommunityIndexView.svelte"
@@ -72,6 +72,7 @@
import HotkeyTable from "./BigComponents/HotkeyTable.svelte"
import SelectedElementPanel from "./Base/SelectedElementPanel.svelte"
import type { LayerConfigJson } from "../Models/ThemeConfig/Json/LayerConfigJson"
+ import { GeocodingUtils } from "../Logic/Geocoding/GeocodingProvider"
export let state: ThemeViewState
let layout = state.layout
@@ -98,22 +99,10 @@
})
let selectedLayer: Store = state.selectedElement.mapD((element) => {
- const id = element.properties.id
- if (id.startsWith("current_view")) {
+ if (element.properties.id.startsWith("current_view")) {
return currentViewLayer
}
- if (id.startsWith("summary_")) {
- console.log("Not selecting a summary object. The summary object is", element)
- return undefined
- }
- if (id.startsWith(LastClickFeatureSource.newPointElementId)) {
- return layout.layers.find((l) => l.id === "last_click")
- }
- if (id === "location_track") {
- return layout.layers.find((l) => l.id === "gps_track")
- }
-
- return state.layout.getMatchingLayer(element.properties)
+ return state.getMatchingLayer(element.properties)
})
let currentZoom = state.mapProperties.zoom
let showCrosshair = state.userRelatedState.showCrosshair
@@ -144,7 +133,7 @@
const bottomRight = mlmap.unproject([rect.right, rect.bottom])
const bbox = new BBox([
[topLeft.lng, topLeft.lat],
- [bottomRight.lng, bottomRight.lat],
+ [bottomRight.lng, bottomRight.lat]
])
state.visualFeedbackViewportBounds.setData(bbox)
}