diff --git a/Docs/BuiltinLayers.md b/Docs/BuiltinLayers.md index b03b9ed1b..0b026b6d3 100644 --- a/Docs/BuiltinLayers.md +++ b/Docs/BuiltinLayers.md @@ -638,7 +638,7 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/mapcomplete-pictures-license#values) [mapcomplete-pictures-license](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-pictures-license) | Multiple choice | [CC0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC0) [CC-BY 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY 4.0) [CC-BY-SA 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY-SA 4.0) [](https://taginfo.openstreetmap.org/keys/mapcomplete-show_tags#values) [mapcomplete-show_tags](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show_tags) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3Dno) [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3D) [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3Dyes) [full](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3Dfull) [](https://taginfo.openstreetmap.org/keys/mapcomplete-show-all-questions#values) [mapcomplete-show-all-questions](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show-all-questions) | Multiple choice | [true](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show-all-questions%3Dtrue) [false](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show-all-questions%3Dfalse) -[](https://taginfo.openstreetmap.org/keys/mapcomplete-show_crosshair#values) [mapcomplete-show_crosshair](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show_crosshair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dno) +[](https://taginfo.openstreetmap.org/keys/mapcomplete-show_crosshair#values) [mapcomplete-show_crosshair](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show_crosshair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dno) [always](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dalways) [](https://taginfo.openstreetmap.org/keys/mapcomplete-fixate-north#values) [mapcomplete-fixate-north](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-fixate-north) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-fixate-north%3D) [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-fixate-north%3Dyes) [](https://taginfo.openstreetmap.org/keys/mapcomplete-translation-mode#values) [mapcomplete-translation-mode](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-translation-mode) | Multiple choice | [false](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dfalse) [true](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dtrue) [mobile](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dmobile) [](https://taginfo.openstreetmap.org/keys/mapcomplete-translation-mode#values) [mapcomplete-translation-mode](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-translation-mode) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dyes) @@ -807,10 +807,11 @@ The question is *Should a crosshair be shown in the center of the display?* - - *Show a crosshair in the center of the map (when zoomed in above level 17)* corresponds with mapcomplete-show_crosshair=yes + - *Show a crosshair in the center of the map when zoomed in above level 17* corresponds with mapcomplete-show_crosshair=yes - *Do not show a crosshair in the center of the map* corresponds with mapcomplete-show_crosshair=no - *Do not show a crosshair in the center of the map* corresponds with mapcomplete-show_crosshair= - _This option cannot be chosen as answer_ + - *Always show a crosshair in the center of the map* corresponds with mapcomplete-show_crosshair=always diff --git a/Docs/Layers/bike_parking.md b/Docs/Layers/bike_parking.md index a6c2e9ba2..44e05310b 100644 --- a/Docs/Layers/bike_parking.md +++ b/Docs/Layers/bike_parking.md @@ -113,8 +113,8 @@ This is rendered with `This is a bicycle parking of the type: {bicycle_parking} - - *Staple racks* corresponds with bicycle_parking=stands - - *Wheel rack/loops* corresponds with bicycle_parking=wall_loops + - *Stands* corresponds with bicycle_parking=stands + - *Wheelbenders / rack* corresponds with bicycle_parking=wall_loops - *Handlebar holder* corresponds with bicycle_parking=handlebar_holder - *Rack* corresponds with bicycle_parking=rack - *Two-tiered* corresponds with bicycle_parking=two_tier diff --git a/Docs/Layers/caravansites.md b/Docs/Layers/caravansites.md index 2258a1662..cede229b6 100644 --- a/Docs/Layers/caravansites.md +++ b/Docs/Layers/caravansites.md @@ -14,7 +14,7 @@ camper sites - - This layer is shown at zoomlevel **10** and higher + - This layer is shown at zoomlevel **7** and higher diff --git a/Docs/Layers/dumpstations.md b/Docs/Layers/dumpstations.md index 61aa2f1f0..5464dd188 100644 --- a/Docs/Layers/dumpstations.md +++ b/Docs/Layers/dumpstations.md @@ -14,7 +14,7 @@ Sanitary dump stations - - This layer is shown at zoomlevel **10** and higher + - This layer is shown at zoomlevel **7** and higher diff --git a/Docs/Layers/sport_pitch.md b/Docs/Layers/sport_pitch.md index 2385568ea..7b67e9d9d 100644 --- a/Docs/Layers/sport_pitch.md +++ b/Docs/Layers/sport_pitch.md @@ -59,7 +59,7 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | [](https://taginfo.openstreetmap.org/keys/sport#values) [sport](https://wiki.openstreetmap.org/wiki/Key:sport) | [string](../SpecialInputElements.md#string) | [basketball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dbasketball) [soccer](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dsoccer) [table_tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtable_tennis) [tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtennis) [korfball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dkorfball) [skateboard](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dskateboard) [](https://taginfo.openstreetmap.org/keys/hoops#values) [hoops](https://wiki.openstreetmap.org/wiki/Key:hoops) | Multiple choice | [1](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D2) [4](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D4) -[](https://taginfo.openstreetmap.org/keys/surface#values) [surface](https://wiki.openstreetmap.org/wiki/Key:surface) | [string](../SpecialInputElements.md#string) | [grass](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dgrass) [sand](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dsand) [paving_stones](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dpaving_stones) [asphalt](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dasphalt) [concrete](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dconcrete) +[](https://taginfo.openstreetmap.org/keys/surface#values) [surface](https://wiki.openstreetmap.org/wiki/Key:surface) | [string](../SpecialInputElements.md#string) | [grass](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dgrass) [sand](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dsand) [paving_stones](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dpaving_stones) [asphalt](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dasphalt) [concrete](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dconcrete) [fine_gravel](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dfine_gravel) [](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:access%3Dlimited) [members](https://wiki.openstreetmap.org/wiki/Tag:access%3Dmembers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [](https://taginfo.openstreetmap.org/keys/reservation#values) [reservation](https://wiki.openstreetmap.org/wiki/Key:reservation) | Multiple choice | [required](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drequired) [recommended](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drecommended) [yes](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dno) [](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | @@ -166,6 +166,7 @@ This is rendered with `The surface is {surface}` - *The surface is paving stones* corresponds with surface=paving_stones - *The surface is asphalt* corresponds with surface=asphalt - *The surface is concrete* corresponds with surface=concrete + - *The surface is fine gravel* corresponds with surface=fine_gravel diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index b4f0dece3..981bef733 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -413,324 +413,6 @@ "key": "description", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, - { - "key": "amenity", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", - "value": "bicycle_rental" - }, - { - "key": "bicycle_rental", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" - }, - { - "key": "service:bicycle:rental", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", - "value": "yes" - }, - { - "key": "rental", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" - }, - { - "key": "id", - "description": "Layer 'Bicycle rental' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" - }, - { - "key": "image", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "mapillary", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikidata", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikipedia", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "shop", - "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "rental" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "shop" - }, - { - "key": "shop", - "description": "Layer 'Bicycle rental' shows shop=rental with a fixed text, namely 'This is a rental business which rents out various objects and/or vehicles. It rents out bicycles too, but this is not the main focus' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "rental" - }, - { - "key": "service:bicycle:rental", - "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "yes" - }, - { - "key": "shop", - "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "bicycle" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows bicycle_rental=docking_station with a fixed text, namely 'This is an automated docking station, where a bicycle is mechanically locked to a structure' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "docking_station" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows bicycle_rental=key_dispensing_machine with a fixed text, namely 'A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles are parked nearby' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "key_dispensing_machine" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows bicycle_rental=dropoff_point with a fixed text, namely 'This is a dropoff point, e.g. a reserved parking to place the bicycles clearly marked as being for the rental service only' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "dropoff_point" - }, - { - "key": "website", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:website", - "description": "Layer 'Bicycle rental' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "email", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:email", - "description": "Layer 'Bicycle rental' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "phone", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:phone", - "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "opening_hours", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+ | opening_hours~.+)" - }, - { - "key": "payment:cash", - "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", - "value": "yes" - }, - { - "key": "payment:cards", - "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", - "value": "yes" - }, - { - "key": "payment:qr_code", - "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", - "value": "yes" - }, - { - "key": "payment:cash", - "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:cards", - "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:qr_code", - "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:app", - "description": "Layer 'Bicycle rental' shows payment:app=yes with a fixed text, namely 'Payment is done using a dedicated app' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:membership_card", - "description": "Layer 'Bicycle rental' shows payment:membership_card=yes with a fixed text, namely 'Payment is done using a membership card' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'rental' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=city_bike with a fixed text, namely 'Normal city bikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "city_bike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=ebike with a fixed text, namely 'Electrical bikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "ebike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=bmx with a fixed text, namely 'BMX bikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "bmx" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=mtb with a fixed text, namely 'Mountainbikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "mtb" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=kid_bike with a fixed text, namely 'Bikes for children can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "kid_bike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=tandem with a fixed text, namely 'Tandem bicycles can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "tandem" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=racebike with a fixed text, namely 'Race bicycles can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "racebike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows rental=bike_helmet with a fixed text, namely 'Bike helmets can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "bike_helmet" - }, - { - "key": "capacity:city_bike", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:city_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*city_bike.*)$)" - }, - { - "key": "capacity:ebike", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:ebike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*ebike.*)$)" - }, - { - "key": "capacity:kid_bike", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:kid_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*kid_bike.*)$)" - }, - { - "key": "capacity:bmx", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bmx' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bmx.*)$)" - }, - { - "key": "capacity:mtb", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:mtb' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*mtb.*)$)" - }, - { - "key": "capacity:bicycle_pannier", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bicycle_pannier' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bicycle_pannier.*)$)" - }, - { - "key": "capacity:tandem_bicycle", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:tandem_bicycle' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*tandem_bicycle.*)$)" - }, - { - "key": "amenity", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle library showing features with this tag", - "value": "bicycle_library" - }, - { - "key": "id", - "description": "Layer 'Bicycle library' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" - }, - { - "key": "image", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "mapillary", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikidata", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikipedia", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "name", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "website", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:website", - "description": "Layer 'Bicycle library' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "phone", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:phone", - "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "email", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:email", - "description": "Layer 'Bicycle library' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "opening_hours", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "charge", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "fee", - "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "no" - }, - { - "key": "charge", - "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') Picking this answer will delete the key charge.", - "value": "" - }, - { - "key": "fee", - "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "yes" - }, - { - "key": "charge", - "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "€20warranty + €20/year" - }, - { - "key": "bicycle_library:for", - "description": "Layer 'Bicycle library' shows bicycle_library:for=child with a fixed text, namely 'Bikes for children available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "child" - }, - { - "key": "bicycle_library:for", - "description": "Layer 'Bicycle library' shows bicycle_library:for=adult with a fixed text, namely 'Bikes for adult available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "adult" - }, - { - "key": "bicycle_library:for", - "description": "Layer 'Bicycle library' shows bicycle_library:for=disabled with a fixed text, namely 'Bikes for disabled persons available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "disabled" - }, - { - "key": "description", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, { "key": "amenity", "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle pump and repair showing features with this tag", @@ -1309,6 +991,324 @@ "description": "Layer 'Bike cleaning service' shows fee=yes with a fixed text, namely 'There is a fee to use this cleaning service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bike_wash | amenity=bicycle_wash)", "value": "yes" }, + { + "key": "amenity", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", + "value": "bicycle_rental" + }, + { + "key": "bicycle_rental", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" + }, + { + "key": "service:bicycle:rental", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", + "value": "yes" + }, + { + "key": "rental", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Bicycle rental' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "shop", + "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "rental" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "shop" + }, + { + "key": "shop", + "description": "Layer 'Bicycle rental' shows shop=rental with a fixed text, namely 'This is a rental business which rents out various objects and/or vehicles. It rents out bicycles too, but this is not the main focus' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "rental" + }, + { + "key": "service:bicycle:rental", + "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "yes" + }, + { + "key": "shop", + "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "bicycle" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows bicycle_rental=docking_station with a fixed text, namely 'This is an automated docking station, where a bicycle is mechanically locked to a structure' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "docking_station" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows bicycle_rental=key_dispensing_machine with a fixed text, namely 'A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles are parked nearby' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "key_dispensing_machine" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows bicycle_rental=dropoff_point with a fixed text, namely 'This is a dropoff point, e.g. a reserved parking to place the bicycles clearly marked as being for the rental service only' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "dropoff_point" + }, + { + "key": "website", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:website", + "description": "Layer 'Bicycle rental' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "email", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:email", + "description": "Layer 'Bicycle rental' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "phone", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:phone", + "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+ | opening_hours~.+)" + }, + { + "key": "payment:cash", + "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", + "value": "yes" + }, + { + "key": "payment:cash", + "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:app", + "description": "Layer 'Bicycle rental' shows payment:app=yes with a fixed text, namely 'Payment is done using a dedicated app' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:membership_card", + "description": "Layer 'Bicycle rental' shows payment:membership_card=yes with a fixed text, namely 'Payment is done using a membership card' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'rental' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=city_bike with a fixed text, namely 'Normal city bikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "city_bike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=ebike with a fixed text, namely 'Electrical bikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "ebike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=bmx with a fixed text, namely 'BMX bikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "bmx" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=mtb with a fixed text, namely 'Mountainbikes can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "mtb" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=kid_bike with a fixed text, namely 'Bikes for children can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "kid_bike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=tandem with a fixed text, namely 'Tandem bicycles can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "tandem" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=racebike with a fixed text, namely 'Race bicycles can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "racebike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows rental=bike_helmet with a fixed text, namely 'Bike helmets can be rented here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "bike_helmet" + }, + { + "key": "capacity:city_bike", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:city_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*city_bike.*)$)" + }, + { + "key": "capacity:ebike", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:ebike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*ebike.*)$)" + }, + { + "key": "capacity:kid_bike", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:kid_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*kid_bike.*)$)" + }, + { + "key": "capacity:bmx", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bmx' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bmx.*)$)" + }, + { + "key": "capacity:mtb", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:mtb' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*mtb.*)$)" + }, + { + "key": "capacity:bicycle_pannier", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bicycle_pannier' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bicycle_pannier.*)$)" + }, + { + "key": "capacity:tandem_bicycle", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:tandem_bicycle' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*tandem_bicycle.*)$)" + }, + { + "key": "amenity", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle library showing features with this tag", + "value": "bicycle_library" + }, + { + "key": "id", + "description": "Layer 'Bicycle library' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "name", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "website", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:website", + "description": "Layer 'Bicycle library' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "phone", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:phone", + "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "email", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:email", + "description": "Layer 'Bicycle library' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "charge", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "fee", + "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "no" + }, + { + "key": "charge", + "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') Picking this answer will delete the key charge.", + "value": "" + }, + { + "key": "fee", + "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "charge", + "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "€20warranty + €20/year" + }, + { + "key": "bicycle_library:for", + "description": "Layer 'Bicycle library' shows bicycle_library:for=child with a fixed text, namely 'Bikes for children available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "child" + }, + { + "key": "bicycle_library:for", + "description": "Layer 'Bicycle library' shows bicycle_library:for=adult with a fixed text, namely 'Bikes for adult available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "adult" + }, + { + "key": "bicycle_library:for", + "description": "Layer 'Bicycle library' shows bicycle_library:for=disabled with a fixed text, namely 'Bikes for disabled persons available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "disabled" + }, + { + "key": "description", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, { "key": "amenity", "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bike parking showing features with this tag", @@ -1340,12 +1340,12 @@ }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Staple racks' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Stands' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "stands" }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheel rack/loops' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheelbenders / rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "wall_loops" }, { diff --git a/Docs/TagInfo/mapcomplete_personal.json b/Docs/TagInfo/mapcomplete_personal.json index 238b5eb10..535df45fb 100644 --- a/Docs/TagInfo/mapcomplete_personal.json +++ b/Docs/TagInfo/mapcomplete_personal.json @@ -1848,12 +1848,12 @@ }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Staple racks' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Stands' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "stands" }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheel rack/loops' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheelbenders / rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "wall_loops" }, { @@ -12976,6 +12976,11 @@ "description": "Layer 'Sport pitches' shows surface=concrete with a fixed text, namely 'The surface is concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "concrete" }, + { + "key": "surface", + "description": "Layer 'Sport pitches' shows surface=fine_gravel with a fixed text, namely 'The surface is fine gravel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "fine_gravel" + }, { "key": "access", "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", diff --git a/Docs/TagInfo/mapcomplete_sport_pitches.json b/Docs/TagInfo/mapcomplete_sport_pitches.json index 168464a01..9acd0b984 100644 --- a/Docs/TagInfo/mapcomplete_sport_pitches.json +++ b/Docs/TagInfo/mapcomplete_sport_pitches.json @@ -122,6 +122,11 @@ "description": "Layer 'Sport pitches' shows surface=concrete with a fixed text, namely 'The surface is concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", "value": "concrete" }, + { + "key": "surface", + "description": "Layer 'Sport pitches' shows surface=fine_gravel with a fixed text, namely 'The surface is fine gravel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", + "value": "fine_gravel" + }, { "key": "access", "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", diff --git a/Docs/TagInfo/mapcomplete_sports.json b/Docs/TagInfo/mapcomplete_sports.json index 22d9f17dc..5e55dcc79 100644 --- a/Docs/TagInfo/mapcomplete_sports.json +++ b/Docs/TagInfo/mapcomplete_sports.json @@ -122,6 +122,11 @@ "description": "Layer 'Sport pitches' shows surface=concrete with a fixed text, namely 'The surface is concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", "value": "concrete" }, + { + "key": "surface", + "description": "Layer 'Sport pitches' shows surface=fine_gravel with a fixed text, namely 'The surface is fine gravel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", + "value": "fine_gravel" + }, { "key": "access", "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", diff --git a/Docs/TagInfo/mapcomplete_transit.json b/Docs/TagInfo/mapcomplete_transit.json index d01ec7e00..fb6b9b997 100644 --- a/Docs/TagInfo/mapcomplete_transit.json +++ b/Docs/TagInfo/mapcomplete_transit.json @@ -237,12 +237,12 @@ }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Staple racks' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", + "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Stands' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", "value": "stands" }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheel rack/loops' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", + "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheelbenders / rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", "value": "wall_loops" }, { diff --git a/Docs/Themes/cyclofix.md b/Docs/Themes/cyclofix.md index bda4374cd..ed3d5a3c1 100644 --- a/Docs/Themes/cyclofix.md +++ b/Docs/Themes/cyclofix.md @@ -13,14 +13,14 @@ This theme contains the following layers: - [bike_cafe](../Layers/bike_cafe.md) - [bike_shop](../Layers/bike_shop.md) - - [bicycle_rental_non_docking](../Layers/bicycle_rental_non_docking.md) - - [bicycle_rental](../Layers/bicycle_rental.md) - - [bicycle_library](../Layers/bicycle_library.md) - [bike_repair_station](../Layers/bike_repair_station.md) - [bicycle_tube_vending_machine](../Layers/bicycle_tube_vending_machine.md) - [drinking_water](../Layers/drinking_water.md) - [bike_themed_object](../Layers/bike_themed_object.md) - [bike_cleaning](../Layers/bike_cleaning.md) + - [bicycle_rental_non_docking](../Layers/bicycle_rental_non_docking.md) + - [bicycle_rental](../Layers/bicycle_rental.md) + - [bicycle_library](../Layers/bicycle_library.md) - [bike_parking](../Layers/bike_parking.md) - [charging_station_ebikes](../Layers/charging_station_ebikes.md) - [charging_station](../Layers/charging_station.md) diff --git a/Docs/Themes/icecream.md b/Docs/Themes/icecream.md index 300a8e65c..ac8145702 100644 --- a/Docs/Themes/icecream.md +++ b/Docs/Themes/icecream.md @@ -27,6 +27,7 @@ Available languages: - en - de + - cs This document is autogenerated from [assets/themes/icecream/icecream.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/icecream/icecream.json) diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md index 35ea337bb..1466187de 100644 --- a/Docs/URL_Parameters.md +++ b/Docs/URL_Parameters.md @@ -112,7 +112,7 @@ This documentation is defined in the source code at [Locale.ts](/src/UI/i18n/Loc If set, will show a translation button next to every string. -This documentation is defined in the source code at [Locale.ts](/src/UI/i18n/Locale.ts#L70) +This documentation is defined in the source code at [Locale.ts](/src/UI/i18n/Locale.ts#L73) The default value is _false_ diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt index a1f565f25..d5c42c0de 100644 --- a/Docs/wikiIndex.txt +++ b/Docs/wikiIndex.txt @@ -330,7 +330,7 @@ The position of a signpost can be used by a hiker/biker/rider... {{service_item |name= [https://mapcomplete.org/icecream icecream] |region= Worldwide -|lang= {{#language:en|en}}, {{#language:de|en}} +|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:cs|en}} |descr= A MapComplete theme: A map showing ice cream parlors and ice cream vending machines |material= {{yes|[https://mapcomplete.org/ Yes]}} |image= MapComplete_Screenshot.png diff --git a/assets/layers/bike_parking/bike_parking.json b/assets/layers/bike_parking/bike_parking.json index 47f32b3d3..4d3afeeb4 100644 --- a/assets/layers/bike_parking/bike_parking.json +++ b/assets/layers/bike_parking/bike_parking.json @@ -88,7 +88,7 @@ "title": { "en": "a bike parking", "nl": "een fietsparking", - "fr": "une parking à vélo", + "fr": "un parking à vélo", "gl": "Aparcadoiro de bicicletas", "de": "einen Fahrrad-Parkplatz", "hu": "Kerékpártároló", @@ -157,7 +157,7 @@ { "if": "bicycle_parking=stands", "then": { - "en": "Staple racks", + "en": "Stands", "nl": "Nietjes", "fr": "Arceaux", "gl": "De roda (Stands)", @@ -178,7 +178,7 @@ { "if": "bicycle_parking=wall_loops", "then": { - "en": "Wheel rack/loops", + "en": "Wheelbenders / rack", "nl": "Wielrek/lussen", "fr": "Pinces-roues", "gl": "Aros", diff --git a/assets/themes/cyclenodes/cyclenodes.json b/assets/themes/cyclenodes/cyclenodes.json index 8ecb092d6..1cf94b90f 100644 --- a/assets/themes/cyclenodes/cyclenodes.json +++ b/assets/themes/cyclenodes/cyclenodes.json @@ -212,7 +212,8 @@ "question": { "en": "What is the reference number of this cycling node?", "nl": "Wat is het referentienummer van dit fietsknooppunt?", - "de": "Wie lautet die Nummer des Knotenpunkts im Fahrradknotenpunktnetzwerk?" + "de": "Wie lautet die Nummer des Knotenpunkts im Fahrradknotenpunktnetzwerk?", + "cs": "Jaké je referenční číslo tohoto cyklistického uzlu?" }, "freeform": { "key": "rcn_ref", @@ -220,13 +221,15 @@ "placeholder": { "en": "e.g. 1", "nl": "bijv. 1", - "de": "z.B. 1" + "de": "z.B. 1", + "cs": "e.g. 1" } }, "render": { "en": "This cycling node has reference number {rcn_ref}", "nl": "Dit fietsknooppunt heeft referentienummer {rcn_ref}", - "de": "Knotenpunktnummer {rcn_ref} des Fahrradknotenpunktnetzwerks" + "de": "Knotenpunktnummer {rcn_ref} des Fahrradknotenpunktnetzwerks", + "cs": "Tento cyklistický uzel má referenční číslo {rcn_ref}" }, "condition": "rcn_ref~*" }, @@ -283,7 +286,8 @@ "placeholder": { "en": "e.g. 3", "nl": "bijv. 3", - "de": "z.B. 3" + "de": "z.B. 3", + "cs": "e.g. 3" } }, "id": "node-expected_rcn_route_relations" @@ -332,12 +336,14 @@ ], "name": { "en": "Cycling guideposts", - "de": "Fahrrad-Wegweiser" + "de": "Fahrrad-Wegweiser", + "cs": "Cyklistické ukazatele" }, "title": { "render": { "en": "Cycling guidepost", - "de": "Fahrrad-Wegweiser" + "de": "Fahrrad-Wegweiser", + "cs": "Cyklistický ukazatel" } } }, @@ -364,7 +370,8 @@ ], "title": { "en": "a route marker for a node to node link", - "de": "Eine Routenmarkierung für eine Verbindung von Knoten zu Knoten" + "de": "Eine Routenmarkierung für eine Verbindung von Knoten zu Knoten", + "cs": "značka trasy pro spojení mezi uzlem" }, "=exampleImages": [ "./assets/layers/route_marker/bicycle_route_marker.jpg" @@ -381,4 +388,4 @@ } } ] -} \ No newline at end of file +} diff --git a/assets/themes/icecream/icecream.json b/assets/themes/icecream/icecream.json index e9c135f3e..33a9e8093 100644 --- a/assets/themes/icecream/icecream.json +++ b/assets/themes/icecream/icecream.json @@ -2,11 +2,13 @@ "id": "icecream", "title": { "en": "Icecream", - "de": "Eiscreme" + "de": "Eiscreme", + "cs": "Zmrzlina" }, "description": { "en": "A map showing ice cream parlors and ice cream vending machines", - "de": "Eine Karte, die Eisdielen und Eisautomaten zeigt" + "de": "Eine Karte, die Eisdielen und Eisautomaten zeigt", + "cs": "Mapa zobrazující prodej zmrzliny a automaty na zmrzlinu" }, "icon": "./assets/layers/ice_cream/ice_cream.svg", "layers": [ diff --git a/assets/themes/walkingnodes/walkingnodes.json b/assets/themes/walkingnodes/walkingnodes.json index 77fc07002..d27754160 100644 --- a/assets/themes/walkingnodes/walkingnodes.json +++ b/assets/themes/walkingnodes/walkingnodes.json @@ -8,7 +8,8 @@ "description": { "en": "This map shows walking node networks and allows you to add new nodes easily", "nl": "Deze kaart toont wandelknooppunten en laat je toe om eenvoudigweg nieuwe knooppunten toe te voegen", - "de": "Diese Karte zeigt Wandernetzwerke und ermöglicht es Ihnen, einfach neue Knoten hinzuzufügen" + "de": "Diese Karte zeigt Wandernetzwerke und ermöglicht es Ihnen, einfach neue Knoten hinzuzufügen", + "cs": "Tato mapa zobrazuje sítě uzlových bodů a umožňuje snadné přidávání nových uzlů" }, "icon": "./assets/themes/walkingnodes/logo.svg", "startZoom": 11, @@ -192,7 +193,8 @@ "question": { "en": "What is the reference number of this walking node?", "nl": "Wat is het referentienummer van dit wandelknooppunt?", - "de": "Was ist die Referenznummer dieses Wanderknotens?" + "de": "Was ist die Referenznummer dieses Wanderknotens?", + "cs": "Jaké je referenční číslo tohoto pěšího uzlu?" }, "freeform": { "key": "rwn_ref", @@ -200,7 +202,8 @@ "placeholder": { "en": "e.g. 1", "nl": "bijv. 1", - "de": "z.B. 1" + "de": "z.B. 1", + "cs": "e.g. 1" } }, "render": { @@ -229,7 +232,8 @@ "question": { "en": "How many other walking nodes does this node link to?", "nl": "Met hoeveel andere wandelknooppunten heeft dit knooppunt een verbinding?", - "de": "Mit wie vielen anderen Wanderknoten ist dieser Knoten verbunden?" + "de": "Mit wie vielen anderen Wanderknoten ist dieser Knoten verbunden?", + "cs": "S kolika dalšími pěšími uzly je tento uzel propojen?" }, "render": { "en": "This node links to {expected_rwn_route_relations} other walking nodes.", @@ -242,7 +246,8 @@ "placeholder": { "en": "e.g. 3", "nl": "bijv. 3", - "de": "z.B. 3" + "de": "z.B. 3", + "cs": "e.g. 3" } }, "id": "node-expected_rwn_route_relations" diff --git a/langs/it.json b/langs/it.json index c3b6f5730..365672221 100644 --- a/langs/it.json +++ b/langs/it.json @@ -1,5 +1,9 @@ { + "advanced": { + "title": "Funzionalità avanzate" + }, "centerMessage": { + "allFilteredAway": "Nessun oggetto nella vista attuale rispetta tutti i filtri", "loadingData": "Caricamento dei dati…", "noData": "Nessuna feature rilevante nella vista corrente", "ready": "Finito!", @@ -46,6 +50,28 @@ "panelIntro": "

Il tuo tema personale

Attiva i tuoi livelli preferiti fra tutti i temi ufficiali", "reload": "Ricarica i dati" }, + "flyer": { + "aerial": "Questa mappa usa uno sfondo differente, cioè immagini aeree di Agentschap Informatie Vlaanderen", + "callToAction": "Provalo su mapcomplete.org", + "cyclofix": "Pompe per biciclette, stazioni di riparazione, fontanelle dell’acqua e negozi di biciclette sono su CycloFix", + "description": "Un volantino in formato A4 orizzontale per promuovere MapComplete", + "editing": { + "ex": "Un esempio semplificato di come appare una riserva naturale è mostrato qua sotto.", + "intro": "L’utente è accolto con una cartina con degli oggetti. Selezionandone uno, vengono mostrate le informazioni che riguardano lo riguardano.", + "title": "Com’è fatta l’interfaccia grafica?" + }, + "examples": "Sono disponibili molte mappe tematiche, alcune di queste sono mostrate qui.\n\nNe esistono molte altre online: riguardanti la sanità, le indicazioni all’interno degli edifici, l’accessibilità con la carrozzina, le strutture per il trattamento dei rifiuti, gli attraversamenti pedonali con una colorazione arcobaleno, … Scoprili tutti su mapcomplete.org", + "fakeui": { + "add_images": "Aggiungi immagini con pochi click", + "attributes": "Mostra gli attributi in maniera amichevole", + "edit": "Informazioni errate od obsolete? Il pulsante modifica è lì per questo.", + "question": "Se il valore di un attributo non è ancora conosciuto, MapComplete mostra una domanda", + "see_images": "Mostra immagini dei precedenti contributori, Wikipedia, Mapillary, …", + "wikipedia": "Vengono mostrati gli articoli collegati di Wikipedia" + }, + "frontParagraph": "MapComplete è un’applicazione web facile da usare che permette di raccogliere dati geografici su OpenStreetMap, permettendo così di ottenere e gestire dati rilevanti in una maniera open, crowdsource e riutilizzabile.\n\nA richiesta possono essere aggiunti nuove categorie e attributi.", + "lines_too": "Vengono anche mostrati linee e poligoni. Anche su questi oggetti si possono aggiungere e aggiornare gli attributi e le immagini." + }, "general": { "about": "Modifica e aggiungi con semplicità OpenStreetMap per un certo tema", "add": { diff --git a/langs/layers/en.json b/langs/layers/en.json index 0f6da4c67..70040a239 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -1267,10 +1267,10 @@ "Bicycle parking type": { "mappings": { "0": { - "then": "Staple racks" + "then": "Stands" }, "1": { - "then": "Wheel rack/loops" + "then": "Wheelbenders / rack" }, "2": { "then": "Handlebar holder" diff --git a/langs/layers/fr.json b/langs/layers/fr.json index d1d813804..dbc4ccc65 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -1059,7 +1059,7 @@ "name": "Parking à vélo", "presets": { "0": { - "title": "une parking à vélo" + "title": "un parking à vélo" } }, "tagRenderings": { diff --git a/langs/themes/cs.json b/langs/themes/cs.json index 8c0e84a1c..549bc85f6 100644 --- a/langs/themes/cs.json +++ b/langs/themes/cs.json @@ -498,9 +498,19 @@ "name": "uzly", "tagRenderings": { "node-expected_rcn_route_relations": { + "freeform": { + "placeholder": "e.g. 3" + }, "question": "S kolika dalšími uzly cyklu je tento uzel propojen?", "render": "Tento uzel je propojen s {expected_rcn_route_relations} dalšími uzly cyklu." }, + "node-rxn_ref": { + "freeform": { + "placeholder": "e.g. 1" + }, + "question": "Jaké je referenční číslo tohoto cyklistického uzlu?", + "render": "Tento cyklistický uzel má referenční číslo {rcn_ref}" + }, "node-survey:date": { "override": { "question": "Kdy byl tento uzel cyklu naposledy zkontrolován?", @@ -516,6 +526,23 @@ }, "render": "uzel cyklu" } + }, + "2": { + "override": { + "name": "Cyklistické ukazatele", + "title": { + "render": "Cyklistický ukazatel" + } + } + }, + "3": { + "override": { + "presets": { + "0": { + "title": "značka trasy pro spojení mezi uzlem" + } + } + } } }, "title": "Sítě uzlů cyklu" @@ -836,6 +863,10 @@ "description": "Na této mapě najdete hotely ve vašem okolí", "title": "Hotely" }, + "icecream": { + "description": "Mapa zobrazující prodej zmrzliny a automaty na zmrzlinu", + "title": "Zmrzlina" + }, "indoors": { "description": "Na této mapě jsou zobrazeny veřejně přístupné vnitřní prostory", "title": "Vnitřní prostory" @@ -1340,6 +1371,7 @@ "title": "Prodejní automaty" }, "walkingnodes": { + "description": "Tato mapa zobrazuje sítě uzlových bodů a umožňuje snadné přidávání nových uzlů", "layers": { "0": { "name": "propojení mezi uzly", @@ -1361,7 +1393,21 @@ } }, "1": { - "name": "uzly" + "name": "uzly", + "tagRenderings": { + "node-expected_rwn_route_relations": { + "freeform": { + "placeholder": "e.g. 3" + }, + "question": "S kolika dalšími pěšími uzly je tento uzel propojen?" + }, + "node-rwn_ref": { + "freeform": { + "placeholder": "e.g. 1" + }, + "question": "Jaké je referenční číslo tohoto pěšího uzlu?" + } + } } } }, diff --git a/package-lock.json b/package-lock.json index 7a7f163b8..1edc8da62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.34.9", + "version": "0.35.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.34.9", + "version": "0.35.1", "license": "GPL-3.0-or-later", "dependencies": { "@rgossiaux/svelte-headlessui": "^1.0.2", @@ -4999,9 +4999,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001564", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", - "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", "dev": true, "funding": [ { @@ -17135,9 +17135,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001564", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", - "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", "dev": true }, "canvg": { diff --git a/scripts/generateLayouts.ts b/scripts/generateLayouts.ts index 61d178e31..e9a4102fc 100644 --- a/scripts/generateLayouts.ts +++ b/scripts/generateLayouts.ts @@ -280,8 +280,8 @@ async function generateCsp( "https://pietervdvn.goatcounter.com", ].concat(...(await eliUrls())) - SpecialVisualizations.specialVisualizations.forEach(sv => { - if(typeof sv.needsUrls === "function"){ + SpecialVisualizations.specialVisualizations.forEach((sv) => { + if (typeof sv.needsUrls === "function") { return } apiUrls.push(...sv.needsUrls) diff --git a/src/Logic/Actors/PreferredRasterLayerSelector.ts b/src/Logic/Actors/PreferredRasterLayerSelector.ts index ed7c96fc4..296aeeea6 100644 --- a/src/Logic/Actors/PreferredRasterLayerSelector.ts +++ b/src/Logic/Actors/PreferredRasterLayerSelector.ts @@ -64,7 +64,12 @@ export class PreferredRasterLayerSelector { const foundLayer = isCategory ? available.find((l) => l.properties.category === targetLayerId) : available.find((l) => l.properties.id === targetLayerId) - console.debug("Updating background layer to", foundLayer?.id,{targetLayerId, queryParam:this._queryParameter?.data, preferred: this._preferredBackgroundLayer?.data, isCategory}) + console.debug("Updating background layer to", foundLayer?.id, { + targetLayerId, + queryParam: this._queryParameter?.data, + preferred: this._preferredBackgroundLayer?.data, + isCategory, + }) if (foundLayer) { this._rasterLayerSetting.setData(foundLayer) return true diff --git a/src/UI/AllThemesGui.svelte b/src/UI/AllThemesGui.svelte index a764a7bcd..9948b09a7 100644 --- a/src/UI/AllThemesGui.svelte +++ b/src/UI/AllThemesGui.svelte @@ -1,72 +1,73 @@ -
+
-
- -
- +
+
+
-

+

- - +
-
- +
- - - + + +
- - -
+ + +
v{Constants.vNumber}
- diff --git a/src/UI/Base/DragInvitation.svelte b/src/UI/Base/DragInvitation.svelte index b2eb6c20d..75164c55d 100644 --- a/src/UI/Base/DragInvitation.svelte +++ b/src/UI/Base/DragInvitation.svelte @@ -5,7 +5,7 @@ */ import { Store } from "../../Logic/UIEventSource" import { onDestroy } from "svelte" - import Hand from "../../assets/svg/Hand.svelte"; + import Hand from "../../assets/svg/Hand.svelte" let mainElem: HTMLElement export let hideSignal: Store diff --git a/src/UI/Base/Dropdown.svelte b/src/UI/Base/Dropdown.svelte index 3bd0106f5..c5f30f8ce 100644 --- a/src/UI/Base/Dropdown.svelte +++ b/src/UI/Base/Dropdown.svelte @@ -1,26 +1,25 @@ - diff --git a/src/UI/Base/OpenJosm.svelte b/src/UI/Base/OpenJosm.svelte index e6920368f..5b7ba365b 100644 --- a/src/UI/Base/OpenJosm.svelte +++ b/src/UI/Base/OpenJosm.svelte @@ -1,37 +1,37 @@ + {#if $showButton} {#if $josmState === undefined} diff --git a/src/UI/Base/ShareButton.svelte b/src/UI/Base/ShareButton.svelte index 48be0f1c9..c0e846194 100644 --- a/src/UI/Base/ShareButton.svelte +++ b/src/UI/Base/ShareButton.svelte @@ -1,7 +1,7 @@ - +
diff --git a/src/UI/BigComponents/NewPointLocationInput.svelte b/src/UI/BigComponents/NewPointLocationInput.svelte index f69ca6b93..5625910d9 100644 --- a/src/UI/BigComponents/NewPointLocationInput.svelte +++ b/src/UI/BigComponents/NewPointLocationInput.svelte @@ -16,7 +16,7 @@ import LayerConfig from "../../Models/ThemeConfig/LayerConfig" import { Utils } from "../../Utils" import { createEventDispatcher } from "svelte" - import Move_arrows from "../../assets/svg/Move_arrows.svelte"; + import Move_arrows from "../../assets/svg/Move_arrows.svelte" /** * An advanced location input, which has support to: @@ -126,6 +126,6 @@ maxDistanceInMeters="50" > - + diff --git a/src/UI/BigComponents/ThemeIntroPanel.svelte b/src/UI/BigComponents/ThemeIntroPanel.svelte index 6e125a6ea..c7c649379 100644 --- a/src/UI/BigComponents/ThemeIntroPanel.svelte +++ b/src/UI/BigComponents/ThemeIntroPanel.svelte @@ -1,21 +1,21 @@ {#if availableLanguages?.length > 1}
- {#if preferredFiltered} @@ -51,18 +48,17 @@ {/if} {/each} - + {/each} - {/if} diff --git a/src/UI/Map/DynamicMarker.svelte b/src/UI/Map/DynamicMarker.svelte index 5bce4c965..e8e416200 100644 --- a/src/UI/Map/DynamicMarker.svelte +++ b/src/UI/Map/DynamicMarker.svelte @@ -1,17 +1,18 @@ {#if marker && marker} diff --git a/src/UI/Map/Icon.svelte b/src/UI/Map/Icon.svelte index cccbef469..c68ec8ca8 100644 --- a/src/UI/Map/Icon.svelte +++ b/src/UI/Map/Icon.svelte @@ -19,9 +19,9 @@ import Teardrop from "../../assets/svg/Teardrop.svelte" import Teardrop_with_hole_green from "../../assets/svg/Teardrop_with_hole_green.svelte" import Triangle from "../../assets/svg/Triangle.svelte" - import Brick_wall_square from "../../assets/svg/Brick_wall_square.svelte"; - import Brick_wall_round from "../../assets/svg/Brick_wall_round.svelte"; - import Gps_arrow from "../../assets/svg/Gps_arrow.svelte"; + import Brick_wall_square from "../../assets/svg/Brick_wall_square.svelte" + import Brick_wall_round from "../../assets/svg/Brick_wall_round.svelte" + import Gps_arrow from "../../assets/svg/Gps_arrow.svelte" /** * Renders a single icon. diff --git a/src/UI/PlantNet/PlantNet.svelte b/src/UI/PlantNet/PlantNet.svelte index 2d01a3362..34bcdc871 100644 --- a/src/UI/PlantNet/PlantNet.svelte +++ b/src/UI/PlantNet/PlantNet.svelte @@ -12,7 +12,7 @@ import { createEventDispatcher } from "svelte" import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" - import Plantnet_logo from "../../assets/svg/Plantnet_logo.svelte"; + import Plantnet_logo from "../../assets/svg/Plantnet_logo.svelte" /** * The main entry point for the plantnet wizard @@ -143,7 +143,7 @@ {/if}
- +
diff --git a/src/UI/Popup/AddNewPoint/AddNewPoint.svelte b/src/UI/Popup/AddNewPoint/AddNewPoint.svelte index 782bfdbd4..ef2616257 100644 --- a/src/UI/Popup/AddNewPoint/AddNewPoint.svelte +++ b/src/UI/Popup/AddNewPoint/AddNewPoint.svelte @@ -3,110 +3,110 @@ * This component ties together all the steps that are needed to create a new point. * There are many subcomponents which help with that */ - import type { SpecialVisualizationState } from "../../SpecialVisualization"; - import PresetList from "./PresetList.svelte"; - import type PresetConfig from "../../../Models/ThemeConfig/PresetConfig"; - import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"; - import Tr from "../../Base/Tr.svelte"; - import SubtleButton from "../../Base/SubtleButton.svelte"; - import Translations from "../../i18n/Translations.js"; - import TagHint from "../TagHint.svelte"; - import { And } from "../../../Logic/Tags/And.js"; - import LoginToggle from "../../Base/LoginToggle.svelte"; - import Constants from "../../../Models/Constants.js"; - import FilteredLayer from "../../../Models/FilteredLayer"; - import { Store, UIEventSource } from "../../../Logic/UIEventSource"; - import { EyeIcon, EyeOffIcon } from "@rgossiaux/svelte-heroicons/solid"; - import LoginButton from "../../Base/LoginButton.svelte"; - import NewPointLocationInput from "../../BigComponents/NewPointLocationInput.svelte"; - import CreateNewNodeAction from "../../../Logic/Osm/Actions/CreateNewNodeAction"; - import { OsmWay } from "../../../Logic/Osm/OsmObject"; - import { Tag } from "../../../Logic/Tags/Tag"; - import type { WayId } from "../../../Models/OsmFeature"; - import Loading from "../../Base/Loading.svelte"; - import type { GlobalFilter } from "../../../Models/GlobalFilter"; - import { onDestroy } from "svelte"; - import NextButton from "../../Base/NextButton.svelte"; - import BackButton from "../../Base/BackButton.svelte"; - import ToSvelte from "../../Base/ToSvelte.svelte"; - import Svg from "../../../Svg"; - import OpenBackgroundSelectorButton from "../../BigComponents/OpenBackgroundSelectorButton.svelte"; - import { twJoin } from "tailwind-merge"; - import Confirm from "../../../assets/svg/Confirm.svelte"; - import Close from "../../../assets/svg/Close.svelte"; + import type { SpecialVisualizationState } from "../../SpecialVisualization" + import PresetList from "./PresetList.svelte" + import type PresetConfig from "../../../Models/ThemeConfig/PresetConfig" + import LayerConfig from "../../../Models/ThemeConfig/LayerConfig" + import Tr from "../../Base/Tr.svelte" + import SubtleButton from "../../Base/SubtleButton.svelte" + import Translations from "../../i18n/Translations.js" + import TagHint from "../TagHint.svelte" + import { And } from "../../../Logic/Tags/And.js" + import LoginToggle from "../../Base/LoginToggle.svelte" + import Constants from "../../../Models/Constants.js" + import FilteredLayer from "../../../Models/FilteredLayer" + import { Store, UIEventSource } from "../../../Logic/UIEventSource" + import { EyeIcon, EyeOffIcon } from "@rgossiaux/svelte-heroicons/solid" + import LoginButton from "../../Base/LoginButton.svelte" + import NewPointLocationInput from "../../BigComponents/NewPointLocationInput.svelte" + import CreateNewNodeAction from "../../../Logic/Osm/Actions/CreateNewNodeAction" + import { OsmWay } from "../../../Logic/Osm/OsmObject" + import { Tag } from "../../../Logic/Tags/Tag" + import type { WayId } from "../../../Models/OsmFeature" + import Loading from "../../Base/Loading.svelte" + import type { GlobalFilter } from "../../../Models/GlobalFilter" + import { onDestroy } from "svelte" + import NextButton from "../../Base/NextButton.svelte" + import BackButton from "../../Base/BackButton.svelte" + import ToSvelte from "../../Base/ToSvelte.svelte" + import Svg from "../../../Svg" + import OpenBackgroundSelectorButton from "../../BigComponents/OpenBackgroundSelectorButton.svelte" + import { twJoin } from "tailwind-merge" + import Confirm from "../../../assets/svg/Confirm.svelte" + import Close from "../../../assets/svg/Close.svelte" - export let coordinate: { lon: number; lat: number }; - export let state: SpecialVisualizationState; + export let coordinate: { lon: number; lat: number } + export let state: SpecialVisualizationState let selectedPreset: { preset: PresetConfig layer: LayerConfig icon: string tags: Record - } = undefined; - let checkedOfGlobalFilters: number = 0; - let confirmedCategory = false; + } = undefined + let checkedOfGlobalFilters: number = 0 + let confirmedCategory = false $: if (selectedPreset === undefined) { - confirmedCategory = false; - creating = false; - checkedOfGlobalFilters = 0; + confirmedCategory = false + creating = false + checkedOfGlobalFilters = 0 } - let flayer: FilteredLayer = undefined; - let layerIsDisplayed: UIEventSource | undefined = undefined; - let layerHasFilters: Store | undefined = undefined; - let globalFilter: UIEventSource = state.layerState.globalFilters; - let _globalFilter: GlobalFilter[] = []; + let flayer: FilteredLayer = undefined + let layerIsDisplayed: UIEventSource | undefined = undefined + let layerHasFilters: Store | undefined = undefined + let globalFilter: UIEventSource = state.layerState.globalFilters + let _globalFilter: GlobalFilter[] = [] onDestroy( globalFilter.addCallbackAndRun((globalFilter) => { - console.log("Global filters are", globalFilter); - _globalFilter = globalFilter ?? []; + console.log("Global filters are", globalFilter) + _globalFilter = globalFilter ?? [] }) - ); + ) $: { - flayer = state.layerState.filteredLayers.get(selectedPreset?.layer?.id); - layerIsDisplayed = flayer?.isDisplayed; - layerHasFilters = flayer?.hasFilter; + flayer = state.layerState.filteredLayers.get(selectedPreset?.layer?.id) + layerIsDisplayed = flayer?.isDisplayed + layerHasFilters = flayer?.hasFilter } - const t = Translations.t.general.add; + const t = Translations.t.general.add - const zoom = state.mapProperties.zoom; + const zoom = state.mapProperties.zoom - const isLoading = state.dataIsLoading; - let preciseCoordinate: UIEventSource<{ lon: number; lat: number }> = new UIEventSource(undefined); - let snappedToObject: UIEventSource = new UIEventSource(undefined); + const isLoading = state.dataIsLoading + let preciseCoordinate: UIEventSource<{ lon: number; lat: number }> = new UIEventSource(undefined) + let snappedToObject: UIEventSource = new UIEventSource(undefined) // Small helper variable: if the map is tapped, we should let the 'Next'-button grab some attention as users have to click _that_ to continue, not the map - let preciseInputIsTapped = false; + let preciseInputIsTapped = false - let creating = false; + let creating = false /** * Call when the user should restart the flow by clicking on the map, e.g. because they disabled filters. * Will delete the lastclick-location */ function abort() { - state.selectedElement.setData(undefined); + state.selectedElement.setData(undefined) // When aborted, we force the contributors to place the pin _again_ // This is because there might be a nearby object that was disabled; this forces them to re-evaluate the map - state.lastClickObject.features.setData([]); - preciseInputIsTapped = false; + state.lastClickObject.features.setData([]) + preciseInputIsTapped = false } async function confirm() { - creating = true; - const location: { lon: number; lat: number } = preciseCoordinate.data; - const snapTo: WayId | undefined = snappedToObject.data; + creating = true + const location: { lon: number; lat: number } = preciseCoordinate.data + const snapTo: WayId | undefined = snappedToObject.data const tags: Tag[] = selectedPreset.preset.tags.concat( ..._globalFilter.map((f) => f?.onNewPoint?.tags ?? []) - ); - console.log("Creating new point at", location, "snapped to", snapTo, "with tags", tags); + ) + console.log("Creating new point at", location, "snapped to", snapTo, "with tags", tags) - let snapToWay: undefined | OsmWay = undefined; + let snapToWay: undefined | OsmWay = undefined if (snapTo !== undefined && snapTo !== null) { - const downloaded = await state.osmObjectDownloader.DownloadObjectAsync(snapTo, 0); + const downloaded = await state.osmObjectDownloader.DownloadObjectAsync(snapTo, 0) if (downloaded !== "deleted") { - snapToWay = downloaded; + snapToWay = downloaded } } @@ -114,44 +114,44 @@ theme: state.layout?.id ?? "unkown", changeType: "create", snapOnto: snapToWay, - reusePointWithinMeters: 1 - }); - await state.changes.applyAction(newElementAction); - state.newFeatures.features.ping(); + reusePointWithinMeters: 1, + }) + await state.changes.applyAction(newElementAction) + state.newFeatures.features.ping() // The 'changes' should have created a new point, which added this into the 'featureProperties' - const newId = newElementAction.newElementId; - console.log("Applied pending changes, fetching store for", newId); - const tagsStore = state.featureProperties.getStore(newId); + const newId = newElementAction.newElementId + console.log("Applied pending changes, fetching store for", newId) + const tagsStore = state.featureProperties.getStore(newId) if (!tagsStore) { - console.error("Bug: no tagsStore found for", newId); + console.error("Bug: no tagsStore found for", newId) } { // Set some metainfo - const properties = tagsStore.data; + const properties = tagsStore.data if (snapTo) { // metatags (starting with underscore) are not uploaded, so we can safely mark this - delete properties["_referencing_ways"]; - properties["_referencing_ways"] = `["${snapTo}"]`; + delete properties["_referencing_ways"] + properties["_referencing_ways"] = `["${snapTo}"]` } - properties["_backend"] = state.osmConnection.Backend(); - properties["_last_edit:timestamp"] = new Date().toISOString(); - const userdetails = state.osmConnection.userDetails.data; - properties["_last_edit:contributor"] = userdetails.name; - properties["_last_edit:uid"] = "" + userdetails.uid; - tagsStore.ping(); + properties["_backend"] = state.osmConnection.Backend() + properties["_last_edit:timestamp"] = new Date().toISOString() + const userdetails = state.osmConnection.userDetails.data + properties["_last_edit:contributor"] = userdetails.name + properties["_last_edit:uid"] = "" + userdetails.uid + tagsStore.ping() } - const feature = state.indexedFeatures.featuresById.data.get(newId); - console.log("Selecting feature", feature, "and opening their popup"); - abort(); - state.selectedLayer.setData(selectedPreset.layer); - state.selectedElement.setData(feature); - tagsStore.ping(); + const feature = state.indexedFeatures.featuresById.data.get(newId) + console.log("Selecting feature", feature, "and opening their popup") + abort() + state.selectedLayer.setData(selectedPreset.layer) + state.selectedElement.setData(feature) + tagsStore.ping() } function confirmSync() { confirm() .then((_) => console.debug("New point successfully handled")) - .catch((e) => console.error("Handling the new point went wrong due to", e)); + .catch((e) => console.error("Handling the new point went wrong due to", e)) } diff --git a/src/UI/Popup/AllTagsPanel.svelte b/src/UI/Popup/AllTagsPanel.svelte index 9913416fb..3abd7e402 100644 --- a/src/UI/Popup/AllTagsPanel.svelte +++ b/src/UI/Popup/AllTagsPanel.svelte @@ -9,7 +9,7 @@ import Lazy from "../Base/Lazy" import BaseUIElement from "../BaseUIElement" import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig" - import { VariableUiElement } from "../Base/VariableUIElement"; + import { VariableUiElement } from "../Base/VariableUIElement" //Svelte props export let tags: UIEventSource @@ -55,7 +55,11 @@ return parts }) - const tagsTable = new VariableUiElement(allTags.mapD(_allTags => new Table(["Key", "Value"], _allTags).SetClass("zebra-table break-all"))) + const tagsTable = new VariableUiElement( + allTags.mapD((_allTags) => + new Table(["Key", "Value"], _allTags).SetClass("zebra-table break-all") + ) + )
diff --git a/src/UI/Popup/CreateNewNote.svelte b/src/UI/Popup/CreateNewNote.svelte index 9cc70d560..db9c3642d 100644 --- a/src/UI/Popup/CreateNewNote.svelte +++ b/src/UI/Popup/CreateNewNote.svelte @@ -15,8 +15,8 @@ import NewPointLocationInput from "../BigComponents/NewPointLocationInput.svelte" import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" - import Layers from "../../assets/svg/Layers.svelte"; - import AddSmall from "../../assets/svg/AddSmall.svelte"; + import Layers from "../../assets/svg/Layers.svelte" + import AddSmall from "../../assets/svg/AddSmall.svelte" export let coordinate: UIEventSource<{ lon: number; lat: number }> export let state: SpecialVisualizationState @@ -99,7 +99,7 @@
notelayer.disableAllFilters()}> - +
diff --git a/src/UI/Popup/NearbyImagesCollapsed.svelte b/src/UI/Popup/NearbyImagesCollapsed.svelte index c78917a77..a8343e78c 100644 --- a/src/UI/Popup/NearbyImagesCollapsed.svelte +++ b/src/UI/Popup/NearbyImagesCollapsed.svelte @@ -11,7 +11,7 @@ import ToSvelte from "../Base/ToSvelte.svelte" import { XCircleIcon } from "@babeard/svelte-heroicons/solid" import exp from "constants" - import Camera_plus from "../../assets/svg/Camera_plus.svelte"; + import Camera_plus from "../../assets/svg/Camera_plus.svelte" export let tags: Store export let state: SpecialVisualizationState @@ -43,7 +43,7 @@ expanded = true }} > - + {/if} diff --git a/src/UI/Reviews/AllReviews.svelte b/src/UI/Reviews/AllReviews.svelte index fc4b635d0..8617996f1 100644 --- a/src/UI/Reviews/AllReviews.svelte +++ b/src/UI/Reviews/AllReviews.svelte @@ -12,7 +12,7 @@ import LayerConfig from "../../Models/ThemeConfig/LayerConfig" import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" - import Mangrove_logo from "../../assets/svg/Mangrove_logo.svelte"; + import Mangrove_logo from "../../assets/svg/Mangrove_logo.svelte" /** * An element showing all reviews @@ -41,7 +41,7 @@ {/if}
- +
diff --git a/src/UI/Reviews/StarElement.svelte b/src/UI/Reviews/StarElement.svelte index 60eabbdc1..eb5de6fd1 100644 --- a/src/UI/Reviews/StarElement.svelte +++ b/src/UI/Reviews/StarElement.svelte @@ -2,9 +2,9 @@ import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" import { createEventDispatcher } from "svelte" - import Star from "../../assets/svg/Star.svelte"; - import Star_half from "../../assets/svg/Star_half.svelte"; - import Star_outline from "../../assets/svg/Star_outline.svelte"; + import Star from "../../assets/svg/Star.svelte" + import Star_half from "../../assets/svg/Star_half.svelte" + import Star_outline from "../../assets/svg/Star_outline.svelte" export let score: number export let cutoff: number @@ -26,10 +26,10 @@ on:mousemove={(e) => dispatch("hover", { score: getScore(e) })} > {#if score >= cutoff} - + {:else if score + 10 >= cutoff} - + {:else} - + {/if}
diff --git a/src/UI/StudioGUI.svelte b/src/UI/StudioGUI.svelte index a53512db1..5abe9ac77 100644 --- a/src/UI/StudioGUI.svelte +++ b/src/UI/StudioGUI.svelte @@ -1,36 +1,36 @@
@@ -41,16 +41,16 @@
@@ -59,11 +59,11 @@
@@ -82,7 +82,7 @@
@@ -106,26 +106,26 @@
diff --git a/src/UI/Test.svelte b/src/UI/Test.svelte index 1b51c34bf..ac4f5dde9 100644 --- a/src/UI/Test.svelte +++ b/src/UI/Test.svelte @@ -1,6 +1,5 @@ -
- No tests -
+ +
No tests
diff --git a/src/UI/ThemeViewGUI.svelte b/src/UI/ThemeViewGUI.svelte index f617e85ec..4edddb424 100644 --- a/src/UI/ThemeViewGUI.svelte +++ b/src/UI/ThemeViewGUI.svelte @@ -1,69 +1,69 @@ -