forked from MapComplete/MapComplete
		
	Add example images to presets, fix these in bike_repair_station, add more repair_stand examples, fix fake svgs, wording updates
This commit is contained in:
		
							parent
							
								
									58cd866e54
								
							
						
					
					
						commit
						186b8a79ac
					
				
					 26 changed files with 171 additions and 190 deletions
				
			
		|  | @ -192,6 +192,13 @@ export interface LayerConfigJson { | ||||||
|          */ |          */ | ||||||
|         description?: string | any, |         description?: string | any, | ||||||
| 
 | 
 | ||||||
|  |         /** | ||||||
|  |          * Example images, which show real-life pictures of what such a feature might look like | ||||||
|  |          *  | ||||||
|  |          * Type: image[] | ||||||
|  |          */ | ||||||
|  |         exampleImages?: string[] | ||||||
|  | 
 | ||||||
|         /** |         /** | ||||||
|          * If set, the user will prompted to confirm the location before actually adding the data. |          * If set, the user will prompted to confirm the location before actually adding the data. | ||||||
|          * This will be with a 'drag crosshair'-method. |          * This will be with a 'drag crosshair'-method. | ||||||
|  |  | ||||||
|  | @ -209,6 +209,7 @@ export default class LayerConfig extends WithContextLoader { | ||||||
|                 tags: pr.tags.map((t) => TagUtils.SimpleTag(t)), |                 tags: pr.tags.map((t) => TagUtils.SimpleTag(t)), | ||||||
|                 description: Translations.T(pr.description, `${context}.presets[${i}].description`), |                 description: Translations.T(pr.description, `${context}.presets[${i}].description`), | ||||||
|                 preciseInput: preciseInput, |                 preciseInput: preciseInput, | ||||||
|  |                 exampleImages: pr.exampleImages | ||||||
|             } |             } | ||||||
|             return config; |             return config; | ||||||
|         }); |         }); | ||||||
|  |  | ||||||
|  | @ -11,6 +11,7 @@ export default interface PresetConfig { | ||||||
|     title: Translation, |     title: Translation, | ||||||
|     tags: Tag[], |     tags: Tag[], | ||||||
|     description?: Translation, |     description?: Translation, | ||||||
|  |     exampleImages?: string[], | ||||||
|     /** |     /** | ||||||
|      * If precise input is set, then an extra map is shown in which the user can drag the map to the precise location |      * If precise input is set, then an extra map is shown in which the user can drag the map to the precise location | ||||||
|      */ |      */ | ||||||
|  |  | ||||||
|  | @ -14,6 +14,9 @@ export default class AddNewMarker extends Combine { | ||||||
|             let last = undefined; |             let last = undefined; | ||||||
|             for (const filteredLayer of filteredLayers) { |             for (const filteredLayer of filteredLayers) { | ||||||
|                 const layer = filteredLayer.layerDef; |                 const layer = filteredLayer.layerDef; | ||||||
|  |                 if(layer.name === undefined){ | ||||||
|  |                     continue | ||||||
|  |                 } | ||||||
|                 for (const preset of filteredLayer.layerDef.presets) { |                 for (const preset of filteredLayer.layerDef.presets) { | ||||||
|                     const tags = TagUtils.KVtoProperties(preset.tags) |                     const tags = TagUtils.KVtoProperties(preset.tags) | ||||||
|                     const icon = layer.mapRendering[0].GenerateLeafletStyle(new UIEventSource<any>(tags), false).html |                     const icon = layer.mapRendering[0].GenerateLeafletStyle(new UIEventSource<any>(tags), false).html | ||||||
|  |  | ||||||
|  | @ -180,9 +180,8 @@ export default class SimpleAddUI extends Toggle { | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private static CreatePresetSelectButton(preset: PresetInfo, osmConnection: OsmConnection) { |     private static CreatePresetSelectButton(preset: PresetInfo) { | ||||||
| 
 | 
 | ||||||
|         const tagInfo = SimpleAddUI.CreateTagInfoFor(preset, osmConnection, false); |  | ||||||
|         return new SubtleButton( |         return new SubtleButton( | ||||||
|             preset.icon(), |             preset.icon(), | ||||||
|             new Combine([ |             new Combine([ | ||||||
|  | @ -223,16 +222,15 @@ export default class SimpleAddUI extends Toggle { | ||||||
|                 let icon: () => BaseUIElement = () => layer.layerDef.mapRendering[0].GenerateLeafletStyle(new UIEventSource<any>(tags), false).html |                 let icon: () => BaseUIElement = () => layer.layerDef.mapRendering[0].GenerateLeafletStyle(new UIEventSource<any>(tags), false).html | ||||||
|                     .SetClass("w-12 h-12 block relative"); |                     .SetClass("w-12 h-12 block relative"); | ||||||
|                 const presetInfo: PresetInfo = { |                 const presetInfo: PresetInfo = { | ||||||
|                     tags: preset.tags, |  | ||||||
|                     layerToAddTo: layer, |                     layerToAddTo: layer, | ||||||
|                     name: preset.title, |                     name: preset.title, | ||||||
|                     title: preset.title, |                     title: preset.title, | ||||||
|                     description: preset.description, |  | ||||||
|                     icon: icon, |                     icon: icon, | ||||||
|                     preciseInput: preset.preciseInput |                     preciseInput: preset.preciseInput, | ||||||
|  |                     ...preset | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 const button = SimpleAddUI.CreatePresetSelectButton(presetInfo, state.osmConnection); |                 const button = SimpleAddUI.CreatePresetSelectButton(presetInfo); | ||||||
|                 button.onClick(() => { |                 button.onClick(() => { | ||||||
|                     selectedPreset.setData(presetInfo) |                     selectedPreset.setData(presetInfo) | ||||||
|                 }) |                 }) | ||||||
|  |  | ||||||
|  | @ -13,6 +13,8 @@ import Svg from "../../Svg"; | ||||||
| import Toggle from "../Input/Toggle"; | import Toggle from "../Input/Toggle"; | ||||||
| import SimpleAddUI, {PresetInfo} from "../BigComponents/SimpleAddUI"; | import SimpleAddUI, {PresetInfo} from "../BigComponents/SimpleAddUI"; | ||||||
| import BaseLayer from "../../Models/BaseLayer"; | import BaseLayer from "../../Models/BaseLayer"; | ||||||
|  | import Img from "../Base/Img"; | ||||||
|  | import Title from "../Base/Title"; | ||||||
| 
 | 
 | ||||||
| export default class ConfirmLocationOfPoint extends Combine { | export default class ConfirmLocationOfPoint extends Combine { | ||||||
| 
 | 
 | ||||||
|  | @ -35,6 +37,9 @@ export default class ConfirmLocationOfPoint extends Combine { | ||||||
| 
 | 
 | ||||||
|         let preciseInput: LocationInput = undefined |         let preciseInput: LocationInput = undefined | ||||||
|         if (preset.preciseInput !== undefined) { |         if (preset.preciseInput !== undefined) { | ||||||
|  |             // Create location input
 | ||||||
|  |              | ||||||
|  |              | ||||||
|             // We uncouple the event source
 |             // We uncouple the event source
 | ||||||
|             const zloc = {...loc, zoom: 19} |             const zloc = {...loc, zoom: 19} | ||||||
|             const locationSrc = new UIEventSource(zloc); |             const locationSrc = new UIEventSource(zloc); | ||||||
|  | @ -166,6 +171,16 @@ export default class ConfirmLocationOfPoint extends Combine { | ||||||
|             Translations.t.general.cancel |             Translations.t.general.cancel | ||||||
|         ).onClick(cancel) |         ).onClick(cancel) | ||||||
| 
 | 
 | ||||||
|  |          | ||||||
|  |         let examples : BaseUIElement = undefined; | ||||||
|  |         if(preset.exampleImages !== undefined && preset.exampleImages.length > 0){ | ||||||
|  |             examples = new Combine([ | ||||||
|  |              new Title( preset.exampleImages.length == 1 ?  Translations.t.general.example :  Translations.t.general.examples), | ||||||
|  |                 new Combine(preset.exampleImages.map(img => new Img(img).SetClass("h-64 m-1 w-auto"))).SetClass("flex flex-wrap items-stretch") | ||||||
|  |             ]) | ||||||
|  |              | ||||||
|  |         } | ||||||
|  |          | ||||||
|         super([ |         super([ | ||||||
|             new Toggle( |             new Toggle( | ||||||
|                 Translations.t.general.testing.SetClass("alert"), |                 Translations.t.general.testing.SetClass("alert"), | ||||||
|  | @ -175,6 +190,7 @@ export default class ConfirmLocationOfPoint extends Combine { | ||||||
|             disableFiltersOrConfirm, |             disableFiltersOrConfirm, | ||||||
|             cancelButton, |             cancelButton, | ||||||
|             preset.description, |             preset.description, | ||||||
|  |             examples, | ||||||
|             tagInfo |             tagInfo | ||||||
| 
 | 
 | ||||||
|         ]) |         ]) | ||||||
|  |  | ||||||
|  | @ -551,7 +551,7 @@ | ||||||
|   "mapRendering": [ |   "mapRendering": [ | ||||||
|     { |     { | ||||||
|       "icon": { |       "icon": { | ||||||
|         "render": "./assets/layers/bike_parking/parking.svg" |         "render": "pin:#5473de;./assets/layers/bike_parking/parking.svg" | ||||||
|       }, |       }, | ||||||
|       "iconSize": "40,40,bottom", |       "iconSize": "40,40,bottom", | ||||||
|       "location": [ |       "location": [ | ||||||
|  |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 1.6 KiB | 
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| Before Width: | Height: | Size: 49 KiB | 
|  | @ -626,15 +626,16 @@ | ||||||
|         "service:bicycle:pump=yes" |         "service:bicycle:pump=yes" | ||||||
|       ], |       ], | ||||||
|       "description": { |       "description": { | ||||||
|         "en": "A device to inflate your tires on a fixed location in the public space.<h3>Examples of bicycle pumps</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |         "en": "A device to inflate your tires on a fixed location in the public space.", | ||||||
|         "nl": "Een apparaat waar je je fietsbanden kan oppompen, beschikbaar in de publieke ruimte. De fietspomp in je kelder telt dus niet.<h3>Voorbeelden van fietspompen</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |         "nl": "Een fietspomp in de publieke ruimte zonder extra gereedschap. De fietspomp in je kelder telt dus niet.", | ||||||
|         "it": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.<h3>Esempi di pompe per biciclette</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |         "it": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.", | ||||||
|         "fr": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.<h3>Exemples de pompes à vélo</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |         "fr": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.", | ||||||
|         "de": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.<h3>Beispiele für Fahrradpumpen</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |         "de": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.", | ||||||
|         "pl": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.<h3>Przykłady pompek rowerowych</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |         "pl": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.", | ||||||
|         "pt_BR": "Um dispositivo para encher seus pneus em um local fixa no espaço público<h3>Exemplos de bombas de bicicletas</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |         "pt_BR": "Um dispositivo para encher seus pneus em um local fixa no espaço público", | ||||||
|         "pt": "Um aparelho para encher os seus pneus num local fixa no espaço público<h3>Exemplos de bombas de bicicletas</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>" |         "pt": "Um aparelho para encher os seus pneus num local fixa no espaço público" | ||||||
|       } |       }, | ||||||
|  |       "exampleImages": ["./assets/layers/bike_repair_station/pump_example_round.jpg","./assets/layers/bike_repair_station/pump_example.png","./assets/layers/bike_repair_station/pump_example_manual.jpg"] | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       "title": { |       "title": { | ||||||
|  | @ -652,12 +653,13 @@ | ||||||
|         "service:bicycle:pump=yes" |         "service:bicycle:pump=yes" | ||||||
|       ], |       ], | ||||||
|       "description": { |       "description": { | ||||||
|         "en": "A device with tools to repair your bike combined with a pump at a fixed location. The tools are often secured with chains against theft.<h3>Example</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |         "en": "A bicycle pump and tools to repair your bike in the public space. The tools are often secured with chains against theft.", | ||||||
|         "nl": "Een apparaat met zowel gereedschap om je fiets te herstellen, met een pomp. Deze zijn op een vastgemaakt op een plaats in de publieke ruimte, bv. aan een paal.<h3>Voorbeeld</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |         "nl": "Een fietspomp en gereedschap om je fiets te herstellen in de publieke ruimte. Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.", | ||||||
|         "fr": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.<h3>Exemple</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |         "fr": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.", | ||||||
|         "it": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.<h3>Esempio</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |         "it": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.", | ||||||
|         "de": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.<h3>Beispiel</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>" |         "de": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert." | ||||||
|       } |       }, | ||||||
|  |       "exampleImages": ["./assets/layers/bike_repair_station/repair_station_example_2.jpg","./assets/layers/bike_repair_station/repair_station_example_3.jpg"] | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       "title": { |       "title": { | ||||||
|  | @ -672,7 +674,11 @@ | ||||||
|         "amenity=bicycle_repair_station", |         "amenity=bicycle_repair_station", | ||||||
|         "service:bicycle:tools=yes", |         "service:bicycle:tools=yes", | ||||||
|         "service:bicycle:pump=no" |         "service:bicycle:pump=no" | ||||||
|       ] |       ], | ||||||
|  |       "description": { | ||||||
|  |         "en": "Tools to repair your bike in the public space (without pump). The tools are secured against theft.", | ||||||
|  |         "nl": "Gereedschap om je fiets te herstellen in de publieke ruimte (zonder pomp). Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal." | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   ], |   ], | ||||||
|   "deletion": { |   "deletion": { | ||||||
|  |  | ||||||
|  | @ -94,6 +94,26 @@ | ||||||
|       "https://wiki.openstreetmap.org/wiki/File:Public_Bike_Repair_Station.jpg" |       "https://wiki.openstreetmap.org/wiki/File:Public_Bike_Repair_Station.jpg" | ||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
|  |   { | ||||||
|  |     "path": "repair_station_example_2.jpg", | ||||||
|  |     "license": "CC-BY-SA 4.0 International", | ||||||
|  |     "authors": [ | ||||||
|  |       "MOs810" | ||||||
|  |     ], | ||||||
|  |     "sources": [ | ||||||
|  |       "https://wiki.openstreetmap.org/wiki/File:Bike_repair_station,_Poznan_Kaponiera.jpg" | ||||||
|  |     ] | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     "path": "repair_station_example_3.jpg", | ||||||
|  |     "license": "CC-BY-SA 3.0 Unported", | ||||||
|  |     "authors": [ | ||||||
|  |       "or \tThelmadatter" | ||||||
|  |     ], | ||||||
|  |     "sources": [ | ||||||
|  |       "\u001b[3~https://wiki.openstreetmap.org/wiki/File:BikeRepairMonterrey.JPG" | ||||||
|  |     ] | ||||||
|  |   }, | ||||||
|   { |   { | ||||||
|     "path": "repair_station_pump.svg", |     "path": "repair_station_pump.svg", | ||||||
|     "license": "CC-BY-SA", |     "license": "CC-BY-SA", | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								assets/layers/bike_repair_station/repair_station_example_2.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/layers/bike_repair_station/repair_station_example_2.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 114 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/layers/bike_repair_station/repair_station_example_3.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/layers/bike_repair_station/repair_station_example_3.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 8.4 MiB | 
|  | @ -1072,6 +1072,14 @@ video { | ||||||
|   height: 0px; |   height: 0px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .h-40 { | ||||||
|  |   height: 10rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .h-64 { | ||||||
|  |   height: 16rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .h-3 { | .h-3 { | ||||||
|   height: 0.75rem; |   height: 0.75rem; | ||||||
| } | } | ||||||
|  | @ -1154,6 +1162,10 @@ video { | ||||||
|   width: min-content; |   width: min-content; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .w-auto { | ||||||
|  |   width: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .w-max { | .w-max { | ||||||
|   width: -webkit-max-content; |   width: -webkit-max-content; | ||||||
|   width: -moz-max-content; |   width: -moz-max-content; | ||||||
|  | @ -1202,23 +1214,6 @@ video { | ||||||
|   transform: var(--tw-transform); |   transform: var(--tw-transform); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @-webkit-keyframes pulse { |  | ||||||
|   50% { |  | ||||||
|     opacity: .5; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @keyframes pulse { |  | ||||||
|   50% { |  | ||||||
|     opacity: .5; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .animate-pulse { |  | ||||||
|   -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; |  | ||||||
|           animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @-webkit-keyframes spin { | @-webkit-keyframes spin { | ||||||
|   to { |   to { | ||||||
|     transform: rotate(360deg); |     transform: rotate(360deg); | ||||||
|  | @ -1236,6 +1231,23 @@ video { | ||||||
|           animation: spin 1s linear infinite; |           animation: spin 1s linear infinite; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @-webkit-keyframes pulse { | ||||||
|  |   50% { | ||||||
|  |     opacity: .5; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes pulse { | ||||||
|  |   50% { | ||||||
|  |     opacity: .5; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .animate-pulse { | ||||||
|  |   -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; | ||||||
|  |           animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .cursor-pointer { | .cursor-pointer { | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
|  | @ -1276,6 +1288,10 @@ video { | ||||||
|   align-items: baseline; |   align-items: baseline; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .items-stretch { | ||||||
|  |   align-items: stretch; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .justify-end { | .justify-end { | ||||||
|   justify-content: flex-end; |   justify-content: flex-end; | ||||||
| } | } | ||||||
|  | @ -2613,6 +2629,10 @@ input { | ||||||
|     padding: 0.75rem; |     padding: 0.75rem; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   .md\:pt-4 { | ||||||
|  |     padding-top: 1rem; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   .md\:pt-0 { |   .md\:pt-0 { | ||||||
|     padding-top: 0px; |     padding-top: 0px; | ||||||
|   } |   } | ||||||
|  | @ -2621,10 +2641,6 @@ input { | ||||||
|     padding-bottom: 0px; |     padding-bottom: 0px; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   .md\:pt-4 { |  | ||||||
|     padding-top: 1rem; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .md\:text-2xl { |   .md\:text-2xl { | ||||||
|     font-size: 1.5rem; |     font-size: 1.5rem; | ||||||
|     line-height: 2rem; |     line-height: 2rem; | ||||||
|  |  | ||||||
|  | @ -35,6 +35,7 @@ | ||||||
|         "logIn": "Melden Sie sich an, um Themen anzuzeigen, die Sie zuvor besucht haben" |         "logIn": "Melden Sie sich an, um Themen anzuzeigen, die Sie zuvor besucht haben" | ||||||
|     }, |     }, | ||||||
|     "general": { |     "general": { | ||||||
|  |         "example": "Beispiel", | ||||||
|         "loginWithOpenStreetMap": "Bei OpenStreetMap anmelden", |         "loginWithOpenStreetMap": "Bei OpenStreetMap anmelden", | ||||||
|         "welcomeBack": "Sie sind eingeloggt, willkommen zurück!", |         "welcomeBack": "Sie sind eingeloggt, willkommen zurück!", | ||||||
|         "loginToStart": "Anmelden, um diese Frage zu beantworten", |         "loginToStart": "Anmelden, um diese Frage zu beantworten", | ||||||
|  |  | ||||||
|  | @ -273,7 +273,9 @@ | ||||||
|             "appliedOnAnotherObject": "The object {id} will receive {tags}" |             "appliedOnAnotherObject": "The object {id} will receive {tags}" | ||||||
|         }, |         }, | ||||||
|         "loadingTheme": "Loading {theme}...", |         "loadingTheme": "Loading {theme}...", | ||||||
|         "poweredByOsm": "Powered by OpenStreetMap" |         "poweredByOsm": "Powered by OpenStreetMap", | ||||||
|  |         "example": "Example", | ||||||
|  |         "examples": "Examples" | ||||||
|     }, |     }, | ||||||
|     "favourite": { |     "favourite": { | ||||||
|         "panelIntro": "<h3>Your personal theme</h3>Activate your favourite layers from all the official themes", |         "panelIntro": "<h3>Your personal theme</h3>Activate your favourite layers from all the official themes", | ||||||
|  |  | ||||||
|  | @ -17,6 +17,7 @@ | ||||||
|   }, |   }, | ||||||
|   "general": { |   "general": { | ||||||
|     "aboutMapcomplete": "<h3>Informazioni su MapComplete</h3><p>Con MapComplete puoi arricchire OpenStreetMap con informazioni su un <b>singolo argomento</b>. Rispondi a poche domande e in pochi minuti i tuoi contributi saranno disponibili a tutto il mondo! L’utente <b>gestore del tema</b> definisce gli elementi, le domande e le lingue per quel tema.</p><h3>Scopri altro</h3><p>MapComplete <b>propone sempre un passo in più</b> per imparare qualcosa di nuovo su OpenStreetMap.</p><ul><li>Quando viene incorporato in un sito web, il collegamento dell’iframe punta a MapComplete a tutto schermo</li><li>La versione a tutto schermo fornisce informazioni su OpenStreetMap</li><li>La visualizzazione non necessita di alcun accesso ma per modificare occorre aver effettuato l’accesso su OSM.</li><li>Se non hai effettuato l’accesso, ti verrà richiesto di farlo</li><li>Dopo aver risposto ad una sola domanda potrai aggiungere dei nuovi punti alla mappa</li><li>Dopo qualche momento verranno mostrate le etichette effettive, in seguito i collegamenti alla wiki</li></ul><p></p><br><p>Hai trovato un <b>errore</b>? Vuoi richiedere <b>nuove funzionalità</b>? Vuoi aiutare con la <b>traduzione</b>? Dai un’occhiata al <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">codice sorgente</a> oppure al <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">tracker degli errori.</a></p><p>Vuoi vedere i <b>tuoi progressi</b>?Segui il contatore delle modifiche su <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p>", |     "aboutMapcomplete": "<h3>Informazioni su MapComplete</h3><p>Con MapComplete puoi arricchire OpenStreetMap con informazioni su un <b>singolo argomento</b>. Rispondi a poche domande e in pochi minuti i tuoi contributi saranno disponibili a tutto il mondo! L’utente <b>gestore del tema</b> definisce gli elementi, le domande e le lingue per quel tema.</p><h3>Scopri altro</h3><p>MapComplete <b>propone sempre un passo in più</b> per imparare qualcosa di nuovo su OpenStreetMap.</p><ul><li>Quando viene incorporato in un sito web, il collegamento dell’iframe punta a MapComplete a tutto schermo</li><li>La versione a tutto schermo fornisce informazioni su OpenStreetMap</li><li>La visualizzazione non necessita di alcun accesso ma per modificare occorre aver effettuato l’accesso su OSM.</li><li>Se non hai effettuato l’accesso, ti verrà richiesto di farlo</li><li>Dopo aver risposto ad una sola domanda potrai aggiungere dei nuovi punti alla mappa</li><li>Dopo qualche momento verranno mostrate le etichette effettive, in seguito i collegamenti alla wiki</li></ul><p></p><br><p>Hai trovato un <b>errore</b>? Vuoi richiedere <b>nuove funzionalità</b>? Vuoi aiutare con la <b>traduzione</b>? Dai un’occhiata al <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">codice sorgente</a> oppure al <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">tracker degli errori.</a></p><p>Vuoi vedere i <b>tuoi progressi</b>?Segui il contatore delle modifiche su <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p>", | ||||||
|  |     "example": "Esempio", | ||||||
|     "morescreen": { |     "morescreen": { | ||||||
|       "requestATheme": "Se hai bisogno di una mappa tematica personalizzata, puoi chiederla nel tracker degli errori", |       "requestATheme": "Se hai bisogno di una mappa tematica personalizzata, puoi chiederla nel tracker degli errori", | ||||||
|       "createYourOwnTheme": "Crea il tuo tema di MapComplete personalizzato da zero", |       "createYourOwnTheme": "Crea il tuo tema di MapComplete personalizzato da zero", | ||||||
|  |  | ||||||
|  | @ -663,11 +663,11 @@ | ||||||
|         "name": "Fahrradstationen (Reparatur, Pumpe oder beides)", |         "name": "Fahrradstationen (Reparatur, Pumpe oder beides)", | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.<h3>Beispiele für Fahrradpumpen</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |                 "description": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.", | ||||||
|                 "title": "fahrradpumpe" |                 "title": "fahrradpumpe" | ||||||
|             }, |             }, | ||||||
|             "1": { |             "1": { | ||||||
|                 "description": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.<h3>Beispiel</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |                 "description": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.", | ||||||
|                 "title": "fahrrad-Reparaturstation und Pumpe" |                 "title": "fahrrad-Reparaturstation und Pumpe" | ||||||
|             }, |             }, | ||||||
|             "2": { |             "2": { | ||||||
|  |  | ||||||
|  | @ -768,14 +768,15 @@ | ||||||
|         "name": "Bicycle pump and repair", |         "name": "Bicycle pump and repair", | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "A device to inflate your tires on a fixed location in the public space.<h3>Examples of bicycle pumps</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |                 "description": "A device to inflate your tires on a fixed location in the public space.", | ||||||
|                 "title": "bike pump" |                 "title": "bike pump" | ||||||
|             }, |             }, | ||||||
|             "1": { |             "1": { | ||||||
|                 "description": "A device with tools to repair your bike combined with a pump at a fixed location. The tools are often secured with chains against theft.<h3>Example</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |                 "description": "A bicycle pump and tools to repair your bike in the public space. The tools are often secured with chains against theft.", | ||||||
|                 "title": "bike repair station and pump" |                 "title": "bike repair station and pump" | ||||||
|             }, |             }, | ||||||
|             "2": { |             "2": { | ||||||
|  |                 "description": "Tools to repair your bike in the public space (without pump). The tools are secured against theft.", | ||||||
|                 "title": "bike repair station without pump" |                 "title": "bike repair station without pump" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|  |  | ||||||
|  | @ -628,11 +628,11 @@ | ||||||
|         "name": "Station velo (réparation, pompe à vélo)", |         "name": "Station velo (réparation, pompe à vélo)", | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.<h3>Exemples de pompes à vélo</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |                 "description": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.", | ||||||
|                 "title": "pompe à vélo" |                 "title": "pompe à vélo" | ||||||
|             }, |             }, | ||||||
|             "1": { |             "1": { | ||||||
|                 "description": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.<h3>Exemple</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |                 "description": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.", | ||||||
|                 "title": "point de réparation vélo avec pompe" |                 "title": "point de réparation vélo avec pompe" | ||||||
|             }, |             }, | ||||||
|             "2": { |             "2": { | ||||||
|  |  | ||||||
|  | @ -508,11 +508,11 @@ | ||||||
|         "name": "Stazioni bici (riparazione, gonfiaggio o entrambi)", |         "name": "Stazioni bici (riparazione, gonfiaggio o entrambi)", | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.<h3>Esempi di pompe per biciclette</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |                 "description": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.", | ||||||
|                 "title": "pompa per bici" |                 "title": "pompa per bici" | ||||||
|             }, |             }, | ||||||
|             "1": { |             "1": { | ||||||
|                 "description": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.<h3>Esempio</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |                 "description": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.", | ||||||
|                 "title": "stazione di riparazione bici e pompa" |                 "title": "stazione di riparazione bici e pompa" | ||||||
|             }, |             }, | ||||||
|             "2": { |             "2": { | ||||||
|  |  | ||||||
|  | @ -678,14 +678,15 @@ | ||||||
|         "name": "Fietspomp and fietsherstel", |         "name": "Fietspomp and fietsherstel", | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Een apparaat waar je je fietsbanden kan oppompen, beschikbaar in de publieke ruimte. De fietspomp in je kelder telt dus niet.<h3>Voorbeelden van fietspompen</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |                 "description": "Een fietspomp in de publieke ruimte zonder extra gereedschap. De fietspomp in je kelder telt dus niet.", | ||||||
|                 "title": "fietspomp" |                 "title": "fietspomp" | ||||||
|             }, |             }, | ||||||
|             "1": { |             "1": { | ||||||
|                 "description": "Een apparaat met zowel gereedschap om je fiets te herstellen, met een pomp. Deze zijn op een vastgemaakt op een plaats in de publieke ruimte, bv. aan een paal.<h3>Voorbeeld</h3><img src='./assets/layers/bike_repair_station/repair_station_example.jpg' height='15rem'/>", |                 "description": "Een fietspomp en gereedschap om je fiets te herstellen in de publieke ruimte. Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.", | ||||||
|                 "title": "herstelpunt en pomp" |                 "title": "herstelpunt en pomp" | ||||||
|             }, |             }, | ||||||
|             "2": { |             "2": { | ||||||
|  |                 "description": "Gereedschap om je fiets te herstellen in de publieke ruimte (zonder pomp). Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.", | ||||||
|                 "title": "herstelpunt zonder pomp" |                 "title": "herstelpunt zonder pomp" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|  |  | ||||||
|  | @ -223,7 +223,7 @@ | ||||||
|     "bike_repair_station": { |     "bike_repair_station": { | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.<h3>Przykłady pompek rowerowych</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |                 "description": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.", | ||||||
|                 "title": "pompka do roweru" |                 "title": "pompka do roweru" | ||||||
|             }, |             }, | ||||||
|             "1": { |             "1": { | ||||||
|  |  | ||||||
|  | @ -412,7 +412,7 @@ | ||||||
|     "bike_repair_station": { |     "bike_repair_station": { | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Um aparelho para encher os seus pneus num local fixa no espaço público<h3>Exemplos de bombas de bicicletas</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>" |                 "description": "Um aparelho para encher os seus pneus num local fixa no espaço público" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "tagRenderings": { |         "tagRenderings": { | ||||||
|  |  | ||||||
|  | @ -355,7 +355,7 @@ | ||||||
|         "name": "Estações de bicicletas (reparo, bomba ou ambos)", |         "name": "Estações de bicicletas (reparo, bomba ou ambos)", | ||||||
|         "presets": { |         "presets": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Um dispositivo para encher seus pneus em um local fixa no espaço público<h3>Exemplos de bombas de bicicletas</h3><div style='width: 100%; display: flex; flex-wrap: wrap; align-items: stretch;'><img src='./assets/layers/bike_repair_station/pump_example_manual.jpg' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example.png' style='height: 200px; width: auto;'/><img src='./assets/layers/bike_repair_station/pump_example_round.jpg' style='height: 200px; width: auto;'/></div>", |                 "description": "Um dispositivo para encher seus pneus em um local fixa no espaço público", | ||||||
|                 "title": "bomba de bicicleta" |                 "title": "bomba de bicicleta" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|  |  | ||||||
|  | @ -40,6 +40,8 @@ | ||||||
|         "loginWithOpenStreetMap": "Aanmelden met OpenStreetMap", |         "loginWithOpenStreetMap": "Aanmelden met OpenStreetMap", | ||||||
|         "welcomeBack": "Je bent aangemeld. Welkom terug!", |         "welcomeBack": "Je bent aangemeld. Welkom terug!", | ||||||
|         "loginToStart": "Meld je aan om deze vraag te beantwoorden", |         "loginToStart": "Meld je aan om deze vraag te beantwoorden", | ||||||
|  |         "example": "Voorbeeld", | ||||||
|  |         "examples": "Voorbeelden", | ||||||
|         "search": { |         "search": { | ||||||
|             "search": "Zoek naar een locatie", |             "search": "Zoek naar een locatie", | ||||||
|             "searching": "Aan het zoeken...", |             "searching": "Aan het zoeken...", | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue