diff --git a/Customizations/JSON/LayerConfig.ts b/Customizations/JSON/LayerConfig.ts
index 61bd898..e10214e 100644
--- a/Customizations/JSON/LayerConfig.ts
+++ b/Customizations/JSON/LayerConfig.ts
@@ -100,8 +100,20 @@ export default class LayerConfig {
}
this.tagRenderings = trs(json.tagRenderings).concat(roamingRenderings);
- this.titleIcons = trs(json.titleIcons ?? ["phonelink","wikipedialink","osmlink", "sharelink"]);
-
+
+
+ const titleIcons = [];
+ const defaultIcons = ["phonelink", "emaillink", "wikipedialink", "osmlink", "sharelink"];
+ for (const icon of (json.titleIcons ?? defaultIcons)) {
+ if (icon === "defaults") {
+ titleIcons.push(...defaultIcons);
+ } else {
+ titleIcons.push(icon);
+ }
+ }
+
+ this.titleIcons = trs(titleIcons);
+
function tr(key, deflt) {
const v = json[key];
diff --git a/State.ts b/State.ts
index 3cb9060..fa2dfd9 100644
--- a/State.ts
+++ b/State.ts
@@ -23,7 +23,7 @@ export default class State {
// The singleton of the global state
public static state: State;
- public static vNumber = "0.2.2c";
+ public static vNumber = "0.2.2d";
// The user journey states thresholds when a new feature gets unlocked
public static userJourney = {
diff --git a/Svg.ts b/Svg.ts
index 1f72d01..e11a62f 100644
--- a/Svg.ts
+++ b/Svg.ts
@@ -44,7 +44,7 @@ export default class Svg {
public static checkmark_svg() { return new FixedUiElement(Svg.checkmark);}
public static checkmark_ui() { return new FixedUiElement(Svg.checkmark_img);}
- public static close = " "
+ public static close = "e "
public static close_img = Img.AsImageElement(Svg.close)
public static close_svg() { return new FixedUiElement(Svg.close);}
public static close_ui() { return new FixedUiElement(Svg.close_img);}
@@ -194,6 +194,11 @@ export default class Svg {
public static search_svg() { return new FixedUiElement(Svg.search);}
public static search_ui() { return new FixedUiElement(Svg.search_img);}
+ public static send_email = " "
+ public static send_email_img = Img.AsImageElement(Svg.send_email)
+ public static send_email_svg() { return new FixedUiElement(Svg.send_email);}
+ public static send_email_ui() { return new FixedUiElement(Svg.send_email_img);}
+
public static share = " "
public static share_img = Img.AsImageElement(Svg.share)
public static share_svg() { return new FixedUiElement(Svg.share);}
@@ -224,4 +229,4 @@ export default class Svg {
public static wikipedia_svg() { return new FixedUiElement(Svg.wikipedia);}
public static wikipedia_ui() { return new FixedUiElement(Svg.wikipedia_img);}
-public static All = {"add.svg": Svg.add,"addSmall.svg": Svg.addSmall,"ampersand.svg": Svg.ampersand,"arrow-left-smooth.svg": Svg.arrow_left_smooth,"arrow-right-smooth.svg": Svg.arrow_right_smooth,"bug.svg": Svg.bug,"camera-plus.svg": Svg.camera_plus,"checkmark.svg": Svg.checkmark,"close.svg": Svg.close,"compass.svg": Svg.compass,"crosshair-blue-center.svg": Svg.crosshair_blue_center,"crosshair-blue.svg": Svg.crosshair_blue,"crosshair.svg": Svg.crosshair,"delete_icon.svg": Svg.delete_icon,"direction.svg": Svg.direction,"direction_gradient.svg": Svg.direction_gradient,"down.svg": Svg.down,"envelope.svg": Svg.envelope,"floppy.svg": Svg.floppy,"gear.svg": Svg.gear,"help.svg": Svg.help,"home.svg": Svg.home,"home_white_bg.svg": Svg.home_white_bg,"josm_logo.svg": Svg.josm_logo,"layers.svg": Svg.layers,"layersAdd.svg": Svg.layersAdd,"logo.svg": Svg.logo,"logout.svg": Svg.logout,"mapillary.svg": Svg.mapillary,"no_checkmark.svg": Svg.no_checkmark,"or.svg": Svg.or,"osm-logo-us.svg": Svg.osm_logo_us,"osm-logo.svg": Svg.osm_logo,"pencil.svg": Svg.pencil,"phone.svg": Svg.phone,"pop-out.svg": Svg.pop_out,"reload.svg": Svg.reload,"search.svg": Svg.search,"share.svg": Svg.share,"star.svg": Svg.star,"statistics.svg": Svg.statistics,"up.svg": Svg.up,"wikimedia-commons-white.svg": Svg.wikimedia_commons_white,"wikipedia.svg": Svg.wikipedia};}
+public static All = {"add.svg": Svg.add,"addSmall.svg": Svg.addSmall,"ampersand.svg": Svg.ampersand,"arrow-left-smooth.svg": Svg.arrow_left_smooth,"arrow-right-smooth.svg": Svg.arrow_right_smooth,"bug.svg": Svg.bug,"camera-plus.svg": Svg.camera_plus,"checkmark.svg": Svg.checkmark,"close.svg": Svg.close,"compass.svg": Svg.compass,"crosshair-blue-center.svg": Svg.crosshair_blue_center,"crosshair-blue.svg": Svg.crosshair_blue,"crosshair.svg": Svg.crosshair,"delete_icon.svg": Svg.delete_icon,"direction.svg": Svg.direction,"direction_gradient.svg": Svg.direction_gradient,"down.svg": Svg.down,"envelope.svg": Svg.envelope,"floppy.svg": Svg.floppy,"gear.svg": Svg.gear,"help.svg": Svg.help,"home.svg": Svg.home,"home_white_bg.svg": Svg.home_white_bg,"josm_logo.svg": Svg.josm_logo,"layers.svg": Svg.layers,"layersAdd.svg": Svg.layersAdd,"logo.svg": Svg.logo,"logout.svg": Svg.logout,"mapillary.svg": Svg.mapillary,"no_checkmark.svg": Svg.no_checkmark,"or.svg": Svg.or,"osm-logo-us.svg": Svg.osm_logo_us,"osm-logo.svg": Svg.osm_logo,"pencil.svg": Svg.pencil,"phone.svg": Svg.phone,"pop-out.svg": Svg.pop_out,"reload.svg": Svg.reload,"search.svg": Svg.search,"send_email.svg": Svg.send_email,"share.svg": Svg.share,"star.svg": Svg.star,"statistics.svg": Svg.statistics,"up.svg": Svg.up,"wikimedia-commons-white.svg": Svg.wikimedia_commons_white,"wikipedia.svg": Svg.wikipedia};}
diff --git a/UI/SpecialVisualizations.ts b/UI/SpecialVisualizations.ts
index 4e4cfc1..89d6b42 100644
--- a/UI/SpecialVisualizations.ts
+++ b/UI/SpecialVisualizations.ts
@@ -197,7 +197,7 @@ export default class SpecialVisualizations {
}
],
constr: (tagSource: UIEventSource, args) => {
- if (window.navigator.share || true) {
+ if (window.navigator.share) {
const title = State.state.layoutToUse.data.title.txt;
let name = tagSource.data.name;
if (name) {
diff --git a/assets/layers/bike_repair_station/bike_repair_station.json b/assets/layers/bike_repair_station/bike_repair_station.json
index 431c664..7662c22 100644
--- a/assets/layers/bike_repair_station/bike_repair_station.json
+++ b/assets/layers/bike_repair_station/bike_repair_station.json
@@ -94,9 +94,7 @@
"render": "",
"condition": "operator=De Fietsambassade Gent"
},
- "wikipedialink",
- "osmlink",
- "sharelink"
+ "defaults"
],
"tagRenderings": [
"images",
diff --git a/assets/layers/bike_shop/bike_shop.json b/assets/layers/bike_shop/bike_shop.json
index 3d1d6c9..619ee69 100644
--- a/assets/layers/bike_shop/bike_shop.json
+++ b/assets/layers/bike_shop/bike_shop.json
@@ -195,10 +195,7 @@
},
"render": ""
},
- "phonelink",
- "wikipedialink",
- "osmlink",
- "sharelink"
+ "defaults"
],
"description": {
"en": "A shop specifically selling bicycles or related items",
diff --git a/assets/svg/send_email.svg b/assets/svg/send_email.svg
new file mode 100644
index 0000000..ff77a56
--- /dev/null
+++ b/assets/svg/send_email.svg
@@ -0,0 +1,89 @@
+
+
diff --git a/assets/tagRenderings/icons.json b/assets/tagRenderings/icons.json
index 054d8df..ac56aea 100644
--- a/assets/tagRenderings/icons.json
+++ b/assets/tagRenderings/icons.json
@@ -1,4 +1,16 @@
{
+ "wikipedialink": {
+ "render": "",
+ "condition": "wikipedia~*"
+ },
+ "phonelink": {
+ "render": "",
+ "condition": "phone~*"
+ },
+ "emaillink": {
+ "render": "",
+ "condition": "email~*"
+ },
"osmlink": {
"render": "",
"mappings": [
@@ -8,14 +20,6 @@
}
]
},
- "wikipedialink": {
- "render": "",
- "condition": "wikipedia~*"
- },
- "phonelink": {
- "render": "",
- "condition": "phone~*"
- },
"sharelink": {
"render": "{share_link()}"
}