diff --git a/.vscode/settings.json b/.vscode/settings.json
index 26b59e8818..8e1ede94ea 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -17,5 +17,6 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[svelte]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
- }
+ },
+ "editor.formatOnSave": true
}
diff --git a/assets/layers/artwork/artwork.json b/assets/layers/artwork/artwork.json
index 78d3140d0e..d6356ca776 100644
--- a/assets/layers/artwork/artwork.json
+++ b/assets/layers/artwork/artwork.json
@@ -728,7 +728,7 @@
},
"mapRendering": [
{
- "icon": "./assets/themes/artwork/artwork.svg",
+ "icon": "circle:white;./assets/themes/artwork/artwork.svg",
"location": [
"point",
"centroid"
diff --git a/assets/layers/artwork/artwork.svg b/assets/layers/artwork/artwork.svg
new file mode 100644
index 0000000000..205d17a74f
--- /dev/null
+++ b/assets/layers/artwork/artwork.svg
@@ -0,0 +1,38 @@
+
+
diff --git a/assets/layers/artwork/license_info.json b/assets/layers/artwork/license_info.json
new file mode 100644
index 0000000000..1de90de4e4
--- /dev/null
+++ b/assets/layers/artwork/license_info.json
@@ -0,0 +1,10 @@
+[
+ {
+ "path": "artwork.svg",
+ "license": "CC0",
+ "authors": [],
+ "sources": [
+ "https://wiki.openstreetmap.org/wiki/File:Statue-14.svg"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/assets/layers/bench/bench.json b/assets/layers/bench/bench.json
index 81650ad355..5e517f9d1a 100644
--- a/assets/layers/bench/bench.json
+++ b/assets/layers/bench/bench.json
@@ -996,12 +996,12 @@
},
"mapRendering": [
{
- "icon": "circle:white;./assets/layers/bench/bench.svg",
+ "icon": "circle:99bd54;./assets/layers/bench/bench.svg",
"iconSize": "35,35",
"iconBadges": [
{
"if": "tourism=artwork",
- "then": "./assets/themes/artwork/artwork.svg"
+ "then": "circle:white;./assets/layers/artwork/artwork.svg"
}
],
"location": [
diff --git a/assets/layers/vending_machine/cow.svg b/assets/layers/vending_machine/cow.svg
new file mode 100644
index 0000000000..8c5ff35c12
--- /dev/null
+++ b/assets/layers/vending_machine/cow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/layers/vending_machine/egg.svg b/assets/layers/vending_machine/egg.svg
new file mode 100644
index 0000000000..2b943ee853
--- /dev/null
+++ b/assets/layers/vending_machine/egg.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/layers/vending_machine/honey.svg b/assets/layers/vending_machine/honey.svg
new file mode 100644
index 0000000000..3b9e34ba4b
--- /dev/null
+++ b/assets/layers/vending_machine/honey.svg
@@ -0,0 +1,272 @@
+
+
+
\ No newline at end of file
diff --git a/assets/layers/vending_machine/license_info.json b/assets/layers/vending_machine/license_info.json
new file mode 100644
index 0000000000..cfcba1515d
--- /dev/null
+++ b/assets/layers/vending_machine/license_info.json
@@ -0,0 +1,83 @@
+[
+ {
+ "path": "cow.svg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Font Awesome"
+ ],
+ "sources": [
+ "https://fontawesome.com/icons/cow?f=classic&s=solid"
+ ]
+ },
+ {
+ "path": "egg.svg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Font Awesome"
+ ],
+ "sources": [
+ "https://fontawesome.com/icons/egg?f=classic&s=solid"
+ ]
+ },
+ {
+ "path": "honey.svg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Mushki Brichta"
+ ],
+ "sources": [
+ "https://commons.wikimedia.org/wiki/File:Honey_icon_black_01.svg"
+ ]
+ },
+ {
+ "path": "mug-saucer.svg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Font Awesome"
+ ],
+ "sources": [
+ "https://fontawesome.com/icons/mug-saucer?f=regular&s=solid"
+ ]
+ },
+ {
+ "path": "potato.svg",
+ "license": "CC-BY 3.0",
+ "authors": [
+ "Pavel Melnikov",
+ "The Noun Project"
+ ],
+ "sources": [
+ "https://thenounproject.com/icon/potatoes-663495/"
+ ]
+ },
+ {
+ "path": "smoking.svg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Font Awesome"
+ ],
+ "sources": [
+ "https://fontawesome.com/icons/smoking?f=classic&s=solid"
+ ]
+ },
+ {
+ "path": "utensils.svg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Font Awesome"
+ ],
+ "sources": [
+ "https://fontawesome.com/icons/utensils?f=classic&s=solid"
+ ]
+ },
+ {
+ "path": "vending_machine.svg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Vectorportal.com"
+ ],
+ "sources": [
+ "https://vectorportal.com/vector/vending-machine/35308"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/assets/layers/vending_machine/mug-saucer.svg b/assets/layers/vending_machine/mug-saucer.svg
new file mode 100644
index 0000000000..c2dc8cb386
--- /dev/null
+++ b/assets/layers/vending_machine/mug-saucer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/layers/vending_machine/potato.svg b/assets/layers/vending_machine/potato.svg
new file mode 100644
index 0000000000..cb21cbc8a2
--- /dev/null
+++ b/assets/layers/vending_machine/potato.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/layers/vending_machine/smoking.svg b/assets/layers/vending_machine/smoking.svg
new file mode 100644
index 0000000000..1dd420f77f
--- /dev/null
+++ b/assets/layers/vending_machine/smoking.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/layers/vending_machine/utensils.svg b/assets/layers/vending_machine/utensils.svg
new file mode 100644
index 0000000000..e9523ee926
--- /dev/null
+++ b/assets/layers/vending_machine/utensils.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/layers/vending_machine/vending_machine.json b/assets/layers/vending_machine/vending_machine.json
new file mode 100644
index 0000000000..a8452594e3
--- /dev/null
+++ b/assets/layers/vending_machine/vending_machine.json
@@ -0,0 +1,590 @@
+{
+ "id": "vending_machine",
+ "name": {
+ "en": "Vending Machines",
+ "nl": "Verkoopautomaten"
+ },
+ "description": {
+ "en": "Layer showing vending machines",
+ "nl": "Laag met verkoopautomaten"
+ },
+ "source": {
+ "osmTags": {
+ "and": [
+ "amenity=vending_machine",
+ "vending!~(parking_tickets|public_transport_tickets|bottle_return|excrement_bags|elongated_coin)"
+ ]
+ }
+ },
+ "title": {
+ "render": {
+ "en": "Vending machine",
+ "nl": "Verkoopautomaat"
+ },
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": {
+ "en": "Vending machine {name}",
+ "nl": "Verkoopautomaat {name}"
+ }
+ },
+ {
+ "if": "brand~*",
+ "then": {
+ "en": "Vending machine {brand}",
+ "nl": "Verkoopautomaat {brand}"
+ }
+ }
+ ]
+ },
+ "tagRenderings": [
+ "images",
+ {
+ "id": "vending",
+ "question": {
+ "en": "What does this vending machine sell?",
+ "nl": "Wat verkoopt deze verkoopautomaat?"
+ },
+ "freeform": {
+ "key": "vending",
+ "addExtraTags": [
+ "fixme=Freeform input used, value may need to be checked"
+ ]
+ },
+ "render": {
+ "en": "This vending machine sells {vending}",
+ "nl": "Deze verkoopautomaat verkoopt {vending}"
+ },
+ "mappings": [
+ {
+ "if": "vending=drinks",
+ "then": {
+ "en": "Drinks are sold",
+ "nl": "Dranken worden verkocht"
+ },
+ "icon": "./assets/layers/id_presets/temaki-bottles.svg"
+ },
+ {
+ "if": "vending=sweets",
+ "then": {
+ "en": "Sweets are sold",
+ "nl": "Snoep wordt verkocht"
+ },
+ "icon": "./assets/layers/id_presets/maki-confectionery.svg"
+ },
+ {
+ "if": "vending=food",
+ "then": {
+ "en": "Food is sold",
+ "nl": "Eten wordt verkocht"
+ },
+ "icon": "./assets/layers/vending_machine/utensils.svg"
+ },
+ {
+ "if": "vending=cigarettes",
+ "then": {
+ "en": "Cigarettes are sold",
+ "nl": "Sigaretten worden verkocht"
+ },
+ "icon": "./assets/layers/vending_machine/smoking.svg"
+ },
+ {
+ "if": "vending=condoms",
+ "then": {
+ "en": "Condoms are sold",
+ "nl": "Condooms worden verkocht"
+ }
+ },
+ {
+ "if": "vending=coffee",
+ "then": {
+ "en": "Coffee is sold",
+ "nl": "Koffie wordt verkocht"
+ },
+ "icon": "./assets/layers/vending_machine/mug-saucer.svg"
+ },
+ {
+ "if": "vending=water",
+ "then": {
+ "en": "Drinking water is sold",
+ "nl": "Drinkwater wordt verkocht"
+ },
+ "icon": "./assets/layers/id_presets/temaki-water_bottle.svg"
+ },
+ {
+ "if": "vending=newspapers",
+ "then": {
+ "en": "Newspapers are sold",
+ "nl": "Kranten worden verkocht"
+ },
+ "icon": "./assets/layers/id_presets/fas-newspaper.svg"
+ },
+ {
+ "if": "vending=bicycle_tube",
+ "then": {
+ "en": "Bicycle inner tubes are sold",
+ "nl": "Binnenbanden voor fietsen worden verkocht"
+ }
+ },
+ {
+ "if": "vending=milk",
+ "then": {
+ "en": "Milk is sold",
+ "nl": "Melk wordt verkocht"
+ },
+ "icon": "./assets/layers/vending_machine/cow.svg"
+ },
+ {
+ "if": "vending=bread",
+ "then": {
+ "en": "Bread is sold",
+ "nl": "Brood wordt verkocht"
+ },
+ "icon": "./assets/layers/id_presets/maki-bakery.svg"
+ },
+ {
+ "if": "vending=eggs",
+ "then": {
+ "en": "Eggs are sold",
+ "nl": "Eieren worden verkocht"
+ },
+ "icon": "./assets/layers/vending_machine/egg.svg"
+ },
+ {
+ "if": "vending=cheese",
+ "then": {
+ "en": "Cheese is sold",
+ "nl": "Kaas wordt verkocht"
+ },
+ "icon": "./assets/layers/id_presets/fas-cheese.svg"
+ },
+ {
+ "if": "vending=honey",
+ "then": {
+ "en": "Honey is sold",
+ "nl": "Honing wordt verkocht"
+ },
+ "icon": "./assets/layers/vending_machine/honey.svg"
+ },
+ {
+ "if": "vending=potatoes",
+ "then": {
+ "en": "Potatoes are sold",
+ "nl": "Aardappelen worden verkocht"
+ },
+ "icon": "./assets/layers/vending_machine/potato.svg"
+ },
+ {
+ "if": "vending=flowers",
+ "then": {
+ "en": "Flowers are sold",
+ "nl": "Bloemen worden verkocht"
+ },
+ "icon": "./assets/layers/id_presets/maki-florist.svg"
+ }
+ ],
+ "multiAnswer": true
+ },
+ "opening_hours_24_7",
+ "payment-options-split",
+ "denominations-coins",
+ "denominations-notes",
+ {
+ "id": "operator",
+ "question": {
+ "en": "Who operates this vending machine?",
+ "nl": "Wie beheert deze verkoopautomaat?"
+ },
+ "freeform": {
+ "key": "operator",
+ "placeholder": {
+ "en": "Name of operator",
+ "nl": "Naam van beheerder"
+ }
+ },
+ "render": {
+ "en": "This vending machine is operated by {operator}",
+ "nl": "Deze verkoopautomaat wordt beheerd door {operator}"
+ }
+ },
+ {
+ "id": "indoor",
+ "question": {
+ "en": "Is this vending machine indoors?",
+ "nl": "Is deze verkoopautomaat binnen?"
+ },
+ "mappings": [
+ {
+ "if": "indoor=",
+ "then": {
+ "en": "This vending machine is outdoors",
+ "nl": "Deze verkoopautomaat is buiten"
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "indoor=yes",
+ "then": {
+ "en": "This vending machine is indoors",
+ "nl": "Deze verkoopautomaat is binnen"
+ }
+ },
+ {
+ "if": "indoor=no",
+ "then": {
+ "en": "This vending machine is outdoors",
+ "nl": "Deze verkoopautomaat is buiten"
+ }
+ }
+ ]
+ },
+ "level"
+ ],
+ "calculatedTags": [
+ "_vending_count=feat.properties.vending.split(';').length"
+ ],
+ "presets": [
+ {
+ "title": {
+ "en": "a vending machine",
+ "nl": "een verkoopautomaat"
+ },
+ "tags": [
+ "amenity=vending_machine"
+ ]
+ }
+ ],
+ "mapRendering": [
+ {
+ "icon": {
+ "render": "./assets/layers/vending_machine/vending_machine.svg",
+ "mappings": [
+ {
+ "if": "vending=drinks",
+ "then": "circle:white;./assets/layers/id_presets/temaki-bottles.svg"
+ },
+ {
+ "if": "vending=sweets",
+ "then": "circle:white;./assets/layers/id_presets/maki-confectionery.svg"
+ },
+ {
+ "if": "vending=food",
+ "then": "circle:white;./assets/layers/vending_machine/utensils.svg"
+ },
+ {
+ "if": "vending=cigarettes",
+ "then": "circle:white;./assets/layers/vending_machine/smoking.svg"
+ },
+ {
+ "if": "vending=coffee",
+ "then": "circle:white;./assets/layers/vending_machine/mug-saucer.svg"
+ },
+ {
+ "if": "vending=water",
+ "then": "circle:white;./assets/layers/id_presets/temaki-water_bottle.svg"
+ },
+ {
+ "if": "vending=newspapers",
+ "then": "circle:white;./assets/layers/id_presets/fas-newspaper.svg"
+ },
+ {
+ "if": "vending=milk",
+ "then": "circle:white;./assets/layers/vending_machine/cow.svg"
+ },
+ {
+ "if": "vending=bread",
+ "then": "circle:white;./assets/layers/id_presets/maki-bakery.svg"
+ },
+ {
+ "if": "vending=eggs",
+ "then": "circle:white;./assets/layers/vending_machine/egg.svg"
+ },
+ {
+ "if": "vending=cheese",
+ "then": "circle:white;./assets/layers/id_presets/fas-cheese.svg"
+ },
+ {
+ "if": "vending=honey",
+ "then": "circle:white;./assets/layers/vending_machine/honey.svg"
+ },
+ {
+ "if": "vending=potatoes",
+ "then": "circle:white;./assets/layers/vending_machine/potato.svg"
+ },
+ {
+ "if": "vending=flowers",
+ "then": "circle:white;./assets/layers/id_presets/maki-florist.svg"
+ }
+ ]
+ },
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "iconBadges": [
+ {
+ "if": "opening_hours~*",
+ "then": "icons.isOpen"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*drinks.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/id_presets/temaki-bottles.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*sweets.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/id_presets/maki-confectionery.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*food.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/vending_machine/utensils.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*cigarettes.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/vending_machine/smoking.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*coffee.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/vending_machine/mug-saucer.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*water.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/id_presets/temaki-water_bottle.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*newspapers.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/id_presets/fas-newspaper.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*milk.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/vending_machine/cow.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*bread.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/id_presets/maki-bakery.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*eggs.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/vending_machine/egg.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*cheese.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/id_presets/fas-cheese.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*honey.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/vending_machine/honey.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*potatoes.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/vending_machine/potato.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "_vending_count>1",
+ "vending~.*flowers.*"
+ ]
+ },
+ "then": "circle:white;./assets/layers/id_presets/maki-florist.svg"
+ }
+ ]
+ }
+ ],
+ "filter": [
+ "open_now",
+ {
+ "id": "vending",
+ "options": [
+ {
+ "question": {
+ "en": "All vending machines",
+ "nl": "Alle verkoopautomaten"
+ }
+ },
+ {
+ "question": {
+ "en": "Sale of drinks",
+ "nl": "Verkoop van dranken"
+ },
+ "osmTags": "vending~i~.*drinks.*"
+ },
+ {
+ "question": {
+ "en": "Sale of sweets",
+ "nl": "Verkoop van snoep"
+ },
+ "osmTags": "vending~i~.*sweets.*"
+ },
+ {
+ "question": {
+ "en": "Sale of food",
+ "nl": "Verkoop van eten"
+ },
+ "osmTags": "vending~i~.*food.*"
+ },
+ {
+ "question": {
+ "en": "Sale of cigarettes",
+ "nl": "Verkoop van sigaretten"
+ },
+ "osmTags": "vending~i~.*cigarettes.*"
+ },
+ {
+ "question": {
+ "en": "Sale of condoms",
+ "nl": "Verkoop van condooms"
+ },
+ "osmTags": "vending~i~.*condoms.*"
+ },
+ {
+ "question": {
+ "en": "Sale of coffee",
+ "nl": "Verkoop van koffie"
+ },
+ "osmTags": "vending~i~.*coffee.*"
+ },
+ {
+ "question": {
+ "en": "Sale of water",
+ "nl": "Verkoop van water"
+ },
+ "osmTags": "vending~i~.*water.*"
+ },
+ {
+ "question": {
+ "en": "Sale of newspapers",
+ "nl": "Verkoop van kranten"
+ },
+ "osmTags": "vending~i~.*newspapers.*"
+ },
+ {
+ "question": {
+ "en": "Sale of bicycle inner tubes",
+ "nl": "Verkoop van fietsbinnenbanden"
+ },
+ "osmTags": "vending~i~.*bicycle_tube.*"
+ },
+ {
+ "question": {
+ "en": "Sale of milk",
+ "nl": "Verkoop van melk"
+ },
+ "osmTags": "vending~i~.*milk.*"
+ },
+ {
+ "question": {
+ "en": "Sale of bread",
+ "nl": "Verkoop van brood"
+ },
+ "osmTags": "vending~i~.*bread.*"
+ },
+ {
+ "question": {
+ "en": "Sale of eggs",
+ "nl": "Verkoop van eieren"
+ },
+ "osmTags": "vending~i~.*eggs.*"
+ },
+ {
+ "question": {
+ "en": "Sale of cheese",
+ "nl": "Verkoop van kaas"
+ },
+ "osmTags": "vending~i~.*cheese.*"
+ },
+ {
+ "question": {
+ "en": "Sale of honey",
+ "nl": "Verkoop van honing"
+ },
+ "osmTags": "vending~i~.*honey.*"
+ },
+ {
+ "question": {
+ "en": "Sale of potatoes",
+ "nl": "Verkoop van aardappelen"
+ },
+ "osmTags": "vending~i~.*potatoes.*"
+ },
+ {
+ "question": {
+ "en": "Sale of flowers",
+ "nl": "Verkoop van bloemen"
+ },
+ "osmTags": "vending~i~.*flowers.*"
+ }
+ ]
+ }
+ ],
+ "allowMove": {
+ "enableImproveAccuracy": true,
+ "enableRelocation": true
+ },
+ "deletion": true
+}
\ No newline at end of file
diff --git a/assets/layers/vending_machine/vending_machine.svg b/assets/layers/vending_machine/vending_machine.svg
new file mode 100644
index 0000000000..caee030145
--- /dev/null
+++ b/assets/layers/vending_machine/vending_machine.svg
@@ -0,0 +1,1202 @@
+
+
+
+
diff --git a/assets/themes/elongated_coin/elongated_coin.json b/assets/themes/elongated_coin/elongated_coin.json
new file mode 100644
index 0000000000..086a40daae
--- /dev/null
+++ b/assets/themes/elongated_coin/elongated_coin.json
@@ -0,0 +1,192 @@
+{
+ "id": "elongated_coin",
+ "title": {
+ "en": "Penny Presses"
+ },
+ "description": {
+ "en": "Find penny presses to create your own elongated coins."
+ },
+ "hideFromOverview": true,
+ "icon": "./assets/themes/elongated_coin/penny.svg",
+ "layers": [
+ {
+ "id": "elongated_coin",
+ "name": {
+ "en": "Penny Presses"
+ },
+ "description": {
+ "en": "Layer showing penny presses."
+ },
+ "source": {
+ "osmTags": {
+ "and": [
+ "amenity=vending_machine",
+ "vending=elongated_coin"
+ ]
+ }
+ },
+ "title": {
+ "render": {
+ "en": "Penny Press"
+ }
+ },
+ "tagRenderings": [
+ "images",
+ "opening_hours_24_7",
+ {
+ "id": "designs",
+ "question": {
+ "en": "How many designs are available?"
+ },
+ "freeform": {
+ "key": "coin:design_count",
+ "type": "pnat",
+ "placeholder": {
+ "en": "Number of designs (e.g. 5)"
+ }
+ },
+ "render": {
+ "en": "This penny press has {coin:design_count} designs available."
+ },
+ "mappings": [
+ {
+ "if": "coin:design_count=1",
+ "then": {
+ "en": "This penny press has one design available."
+ }
+ },
+ {
+ "if": "coin:design_count=2",
+ "then": {
+ "en": "This penny press has two designs available."
+ }
+ },
+ {
+ "if": "coin:design_count=3",
+ "then": {
+ "en": "This penny press has three designs available."
+ }
+ },
+ {
+ "if": "coin:design_count=4",
+ "then": {
+ "en": "This penny press has four designs available."
+ }
+ }
+ ]
+ },
+ {
+ "id": "coin",
+ "question": {
+ "en": "What coin is used for pressing?"
+ },
+ "mappings": [
+ {
+ "if": "coin:type=2cent",
+ "then": {
+ "en": "This penny press uses a 2 cent coin for pressing."
+ }
+ },
+ {
+ "if": "coin:type=5cent",
+ "then": {
+ "en": "This penny press uses a 5 cent coin for pressing."
+ }
+ },
+ {
+ "if": "coin:type=10cent",
+ "then": {
+ "en": "This penny press uses a 10 cent coin for pressing."
+ }
+ }
+ ]
+ },
+ "website",
+ {
+ "id": "charge",
+ "question": {
+ "en": "How much does it cost to press a penny?"
+ },
+ "freeform": {
+ "key": "charge",
+ "placeholder": {
+ "en": "Cost (e.g. 0.50 EUR)"
+ }
+ },
+ "mappings": [
+ {
+ "if": "charge=1 EUR",
+ "then": {
+ "en": "It costs 1 euro to press a penny."
+ }
+ },
+ {
+ "if": "charge=2 EUR",
+ "then": {
+ "en": "It costs 2 euros to press a penny."
+ }
+ }
+ ],
+ "render": {
+ "en": "It costs {charge} to press a penny."
+ }
+ },
+ "denominations-coins",
+ {
+ "id": "indoor",
+ "question": {
+ "en": "Is the penny press indoors?"
+ },
+ "mappings": [
+ {
+ "if": "indoor=yes",
+ "then": {
+ "en": "This penny press is located indoors."
+ }
+ },
+ {
+ "if": "indoor=no",
+ "then": {
+ "en": "This penny press is located outdoors."
+ }
+ }
+ ]
+ },
+ "level"
+ ],
+ "mapRendering": [
+ {
+ "icon": "circle:#FFFFFF00;./assets/themes/elongated_coin/penny.svg",
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "iconBadges": [
+ {
+ "if": "opening_hours~*",
+ "then": "icons.isOpen"
+ }
+ ]
+ }
+ ],
+ "presets": [
+ {
+ "title": {
+ "en": "a penny press"
+ },
+ "tags": [
+ "amenity=vending_machine",
+ "vending=elongated_coin",
+ "payment:coins=yes"
+ ]
+ }
+ ],
+ "filter": [
+ "open_now"
+ ]
+ }
+ ],
+ "startLat": 53.0565,
+ "startLon": 8.7492,
+ "startZoom": 11
+}
\ No newline at end of file
diff --git a/assets/themes/elongated_coin/license_info.json b/assets/themes/elongated_coin/license_info.json
new file mode 100644
index 0000000000..778c736244
--- /dev/null
+++ b/assets/themes/elongated_coin/license_info.json
@@ -0,0 +1,10 @@
+[
+ {
+ "path": "penny.svg",
+ "license": "CC0",
+ "authors": [
+ "Robin van der Linde"
+ ],
+ "sources": []
+ }
+]
\ No newline at end of file
diff --git a/assets/themes/elongated_coin/penny.svg b/assets/themes/elongated_coin/penny.svg
new file mode 100644
index 0000000000..a544fa7227
--- /dev/null
+++ b/assets/themes/elongated_coin/penny.svg
@@ -0,0 +1,79 @@
+
+
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index f82a920864..56555e8719 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -222,6 +222,10 @@
"if": "theme=education",
"then": "./assets/layers/school/college.svg"
},
+ {
+ "if": "theme=elongated_coin",
+ "then": "./assets/themes/elongated_coin/penny.svg"
+ },
{
"if": "theme=etymology",
"then": "./assets/layers/etymology/logo.svg"
@@ -406,6 +410,10 @@
"if": "theme=uk_addresses",
"then": "./assets/themes/uk_addresses/housenumber_unknown.svg"
},
+ {
+ "if": "theme=vending_machine",
+ "then": "./assets/layers/vending_machine/vending_machine.svg"
+ },
{
"if": "theme=walls_and_buildings",
"then": "./assets/layers/walls_and_buildings/walls_and_buildings.png"
diff --git a/assets/themes/playgrounds/playgrounds.json b/assets/themes/playgrounds/playgrounds.json
index c0fcbc5098..c817567406 100644
--- a/assets/themes/playgrounds/playgrounds.json
+++ b/assets/themes/playgrounds/playgrounds.json
@@ -56,6 +56,8 @@
"startZoom": 13,
"widenFactor": 5,
"layers": [
- "playground"
+ "playground",
+ "bench",
+ "picnic_table"
]
-}
\ No newline at end of file
+}
diff --git a/assets/themes/vending_machine/vending_machine.json b/assets/themes/vending_machine/vending_machine.json
new file mode 100644
index 0000000000..e56f2b26e4
--- /dev/null
+++ b/assets/themes/vending_machine/vending_machine.json
@@ -0,0 +1,18 @@
+{
+ "id": "vending_machine",
+ "title": {
+ "en": "Vending Machines",
+ "nl": "Verkoopautomaten"
+ },
+ "description": {
+ "en": "Find vending machines for everything",
+ "nl": "Vind verkoopautomaten voor alles"
+ },
+ "icon": "./assets/layers/vending_machine/vending_machine.svg",
+ "startLat": 53.21102,
+ "startLon": 6.56511,
+ "startZoom": 19,
+ "layers": [
+ "vending_machine"
+ ]
+}
\ No newline at end of file
diff --git a/langs/layers/en.json b/langs/layers/en.json
index 17d4c574e9..dfa309b569 100644
--- a/langs/layers/en.json
+++ b/langs/layers/en.json
@@ -9843,4 +9843,4 @@
}
}
}
-}
\ No newline at end of file
+}