diff --git a/Models/ThemeConfig/PointRenderingConfig.ts b/Models/ThemeConfig/PointRenderingConfig.ts
index caab1507fc..9bffc3d260 100644
--- a/Models/ThemeConfig/PointRenderingConfig.ts
+++ b/Models/ThemeConfig/PointRenderingConfig.ts
@@ -96,6 +96,14 @@ export default class PointRenderingConfig extends WithContextLoader {
img.SetClass("badge")
}
return img
+ } else if (Svg.All[htmlSpec + ".svg"] !== undefined) {
+ const svg = (Svg.All[htmlSpec + ".svg"] as string)
+ const img = new Img(svg, true)
+ .SetStyle(style)
+ if (isBadge) {
+ img.SetClass("badge")
+ }
+ return img
} else {
return new FixedUiElement(`
`);
}
@@ -126,7 +134,7 @@ export default class PointRenderingConfig extends WithContextLoader {
}
return PointRenderingConfig.FromHtmlMulti(htmlDefs, rotation, false, defaultPin)
}
-
+
public GetSimpleIcon(tags: UIEventSource): BaseUIElement {
const self = this;
if (this.icon === undefined) {
@@ -192,10 +200,10 @@ export default class PointRenderingConfig extends WithContextLoader {
const icon = this.GetSimpleIcon(tags)
let badges = undefined;
- if( options?.includeBadges ?? true){
+ if (options?.includeBadges ?? true) {
badges = this.GetBadges(tags)
}
- const iconAndBadges = new Combine([icon,badges ])
+ const iconAndBadges = new Combine([icon, badges])
.SetClass("block relative")
if (!options?.noSize) {
diff --git a/assets/layers/bike_repair_station/bike_repair_station.json b/assets/layers/bike_repair_station/bike_repair_station.json
index 762ee69a14..28b5aba629 100644
--- a/assets/layers/bike_repair_station/bike_repair_station.json
+++ b/assets/layers/bike_repair_station/bike_repair_station.json
@@ -277,6 +277,54 @@
],
"id": "bike_repair_station-opening_hours"
},
+ {
+ "id": "access",
+ "question": {
+ "en": "Who is allowed to use this repair station?",
+ "nl": "Wie kan dit herstelpunt gebruiken?"
+ },
+ "mappings": [
+ {
+ "if": "access=yes",
+ "then": {
+ "en": "Publicly accessible",
+ "nl": "Publiek toegankelijk"
+ }
+ },
+ {
+ "if": "access=public",
+ "then": {
+ "en": "Publicly accessible",
+ "nl": "Publiek toegankelijk"
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "access=customers",
+ "then": {
+ "en": "Only for customers",
+ "nl": "Enkel voor klanten van de bijhorende zaak"
+ }
+ },
+ {
+ "if": "access=private",
+ "then": {
+ "en": "Not accessible to the general public",
+ "nl": "Niet publiek toegankelijk"
+ },
+ "icon": "./assets/svg/invalid.svg"
+ },
+ {
+ "if": "access=no",
+ "then": {
+ "en": "Not accessible to the general public",
+ "nl": "Niet publiek toegankelijk"
+ },
+ "icon": "./assets/svg/invalid.svg",
+ "hideInAnswer": true
+ }
+ ]
+ },
{
"labels": [
"operator-info"
@@ -753,7 +801,14 @@
{
"if": "operator=De Fietsambassade Gent",
"then": "./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg"
+ },
+ {
+ "if": {
+ "or": ["access=no","access=private"]
+ },
+ "then": "invalid"
}
+
],
"iconSize": {
"render": "50,50,bottom"
diff --git a/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json b/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json
index d9858479e7..93f9fc0b7b 100644
--- a/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json
+++ b/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json
@@ -169,10 +169,16 @@
}
]
},
- "badges": [
+ "iconBadges": [
{
"if": "service:bicycle:pump:operational_status=broken",
"then": "close:red"
+ },
+ {
+ "if": {
+ "or": ["access=no","access=private"]
+ },
+ "then": "invalid"
}
]
}