Readd attribution, small fixes
This commit is contained in:
parent
dc5cd08a3a
commit
43a9b57db9
7 changed files with 369 additions and 355 deletions
|
@ -16,7 +16,7 @@ import * as information_boards from "../assets/layers/information_board/informat
|
||||||
import * as direction from "../assets/layers/direction/direction.json"
|
import * as direction from "../assets/layers/direction/direction.json"
|
||||||
import * as surveillance_camera from "../assets/layers/surveillance_cameras/surveillance_cameras.json"
|
import * as surveillance_camera from "../assets/layers/surveillance_cameras/surveillance_cameras.json"
|
||||||
import * as toilets from "../assets/layers/toilets/toilets.json"
|
import * as toilets from "../assets/layers/toilets/toilets.json"
|
||||||
|
import * as bookcases from "../assets/layers/public_bookcases/public_bookcases.json"
|
||||||
import LayerConfig from "./JSON/LayerConfig";
|
import LayerConfig from "./JSON/LayerConfig";
|
||||||
|
|
||||||
export default class SharedLayers {
|
export default class SharedLayers {
|
||||||
|
@ -44,6 +44,7 @@ export default class SharedLayers {
|
||||||
new LayerConfig(direction,[], "shared_layers"),
|
new LayerConfig(direction,[], "shared_layers"),
|
||||||
new LayerConfig(information_boards,[], "shared_layers"),
|
new LayerConfig(information_boards,[], "shared_layers"),
|
||||||
new LayerConfig(toilets,[], "shared_layers"),
|
new LayerConfig(toilets,[], "shared_layers"),
|
||||||
|
new LayerConfig(bookcases,[], "shared_layers"),
|
||||||
new LayerConfig(surveillance_camera,[], "shared_layers")
|
new LayerConfig(surveillance_camera,[], "shared_layers")
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
2
State.ts
2
State.ts
|
@ -23,7 +23,7 @@ export default class State {
|
||||||
// The singleton of the global state
|
// The singleton of the global state
|
||||||
public static state: State;
|
public static state: State;
|
||||||
|
|
||||||
public static vNumber = "0.2.2d";
|
public static vNumber = "0.2.2f";
|
||||||
|
|
||||||
// The user journey states thresholds when a new feature gets unlocked
|
// The user journey states thresholds when a new feature gets unlocked
|
||||||
public static userJourney = {
|
public static userJourney = {
|
||||||
|
|
2
Svg.ts
2
Svg.ts
|
@ -44,7 +44,7 @@ export default class Svg {
|
||||||
public static checkmark_svg() { return new FixedUiElement(Svg.checkmark);}
|
public static checkmark_svg() { return new FixedUiElement(Svg.checkmark);}
|
||||||
public static checkmark_ui() { return new FixedUiElement(Svg.checkmark_img);}
|
public static checkmark_ui() { return new FixedUiElement(Svg.checkmark_img);}
|
||||||
|
|
||||||
public static close = "e <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" width=\"100\" height=\"100\" viewBox=\"0 0 26.458333 26.458334\" version=\"1.1\" id=\"svg8\" sodipodi:docname=\"close.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"> <defs id=\"defs2\" /> <sodipodi:namedview id=\"base\" pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1.0\" inkscape:pageopacity=\"0.0\" inkscape:pageshadow=\"2\" inkscape:zoom=\"2.8284271\" inkscape:cx=\"-12.514944\" inkscape:cy=\"118.94409\" inkscape:document-units=\"px\" inkscape:current-layer=\"layer1\" showgrid=\"false\" units=\"px\" showguides=\"true\" inkscape:guide-bbox=\"true\" inkscape:window-width=\"1920\" inkscape:window-height=\"1001\" inkscape:window-x=\"0\" inkscape:window-y=\"0\" inkscape:window-maximized=\"1\"> <sodipodi:guide position=\"13.229167,23.859748\" orientation=\"1,0\" id=\"guide815\" inkscape:locked=\"false\" /> <sodipodi:guide position=\"14.944824,13.229167\" orientation=\"0,1\" id=\"guide817\" inkscape:locked=\"false\" /> </sodipodi:namedview> <metadata id=\"metadata5\"> <rdf:RDF> <cc:Work rdf:about=\"\"> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /> <dc:title /> </cc:Work> </rdf:RDF> </metadata> <g inkscape:label=\"Layer 1\" inkscape:groupmode=\"layer\" id=\"layer1\" transform=\"translate(0,-270.54165)\"> <g id=\"g836\" transform=\"matrix(1.7481308,0,0,1.7481308,-10.001295,-212.27744)\"> <path inkscape:connector-curvature=\"0\" id=\"path815\" d=\"M 18.972892,289.3838 7.7469352,278.15784 v 0\" style=\"fill: none !important;stroke:#000000;stroke-width:3.4395833;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" /> <path inkscape:connector-curvature=\"0\" id=\"path815-3\" d=\"M 18.98982,278.10371 7.7638604,289.32967 v 0\" style=\"fill: none !important;stroke:#000000;stroke-width:3.4395833;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" /> </g> </g> </svg> "
|
public static close = " <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:sodipodi=\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" width=\"100\" height=\"100\" viewBox=\"0 0 26.458333 26.458334\" version=\"1.1\" id=\"svg8\" sodipodi:docname=\"close.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"> <defs id=\"defs2\" /> <sodipodi:namedview id=\"base\" pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1.0\" inkscape:pageopacity=\"0.0\" inkscape:pageshadow=\"2\" inkscape:zoom=\"2.8284271\" inkscape:cx=\"-12.514944\" inkscape:cy=\"118.94409\" inkscape:document-units=\"px\" inkscape:current-layer=\"layer1\" showgrid=\"false\" units=\"px\" showguides=\"true\" inkscape:guide-bbox=\"true\" inkscape:window-width=\"1920\" inkscape:window-height=\"1001\" inkscape:window-x=\"0\" inkscape:window-y=\"0\" inkscape:window-maximized=\"1\"> <sodipodi:guide position=\"13.229167,23.859748\" orientation=\"1,0\" id=\"guide815\" inkscape:locked=\"false\" /> <sodipodi:guide position=\"14.944824,13.229167\" orientation=\"0,1\" id=\"guide817\" inkscape:locked=\"false\" /> </sodipodi:namedview> <metadata id=\"metadata5\"> <rdf:RDF> <cc:Work rdf:about=\"\"> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /> <dc:title /> </cc:Work> </rdf:RDF> </metadata> <g inkscape:label=\"Layer 1\" inkscape:groupmode=\"layer\" id=\"layer1\" transform=\"translate(0,-270.54165)\"> <g id=\"g836\" transform=\"matrix(1.7481308,0,0,1.7481308,-10.001295,-212.27744)\"> <path inkscape:connector-curvature=\"0\" id=\"path815\" d=\"M 18.972892,289.3838 7.7469352,278.15784 v 0\" style=\"fill: none !important;stroke:#000000;stroke-width:3.4395833;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" /> <path inkscape:connector-curvature=\"0\" id=\"path815-3\" d=\"M 18.98982,278.10371 7.7638604,289.32967 v 0\" style=\"fill: none !important;stroke:#000000;stroke-width:3.4395833;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" /> </g> </g> </svg> "
|
||||||
public static close_img = Img.AsImageElement(Svg.close)
|
public static close_img = Img.AsImageElement(Svg.close)
|
||||||
public static close_svg() { return new FixedUiElement(Svg.close);}
|
public static close_svg() { return new FixedUiElement(Svg.close);}
|
||||||
public static close_ui() { return new FixedUiElement(Svg.close_img);}
|
public static close_ui() { return new FixedUiElement(Svg.close_img);}
|
||||||
|
|
|
@ -71,6 +71,21 @@
|
||||||
"gl": "Bomba de ar estragada",
|
"gl": "Bomba de ar estragada",
|
||||||
"de": "Kaputte Pumpe"
|
"de": "Kaputte Pumpe"
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
"if": {
|
||||||
|
"and": [
|
||||||
|
"service:bicycle:pump=yes",
|
||||||
|
"service:bicycle:tools=no",
|
||||||
|
"name~*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"then": {
|
||||||
|
"en": "Bicycle pump <i>{name}</i>",
|
||||||
|
"nl": "Fietspomp <i>{name}</i>",
|
||||||
|
"fr": "Pompe de vélo <i>{name}</i>",
|
||||||
|
"gl": "Bomba de ar <i>{name}</i>",
|
||||||
|
"de": "Fahrradpumpe <i>{name}</i>"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": {
|
"if": {
|
||||||
|
|
349
assets/layers/public_bookcases/public_bookcases.json
Normal file
349
assets/layers/public_bookcases/public_bookcases.json
Normal file
|
@ -0,0 +1,349 @@
|
||||||
|
{
|
||||||
|
"id": "public_bookcases",
|
||||||
|
"name": {
|
||||||
|
"en": "Bookcases",
|
||||||
|
"nl": "Boekenruilkastjes",
|
||||||
|
"de": "Bücherschränke",
|
||||||
|
"fr": "Microbibliothèque"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"en": "A streetside cabinet with books, accessible to anyone",
|
||||||
|
"nl": "Een straatkastje met boeken voor iedereen",
|
||||||
|
"de": "Ein Bücherschrank am Straßenrand mit Büchern, für jedermann zugänglich",
|
||||||
|
"fr": "Une armoire ou une boite contenant des livres en libre accès"
|
||||||
|
},
|
||||||
|
"overpassTags": "amenity=public_bookcase",
|
||||||
|
"minzoom": 12,
|
||||||
|
"wayHandling": 2,
|
||||||
|
"title": {
|
||||||
|
"render": {
|
||||||
|
"en": "Bookcase",
|
||||||
|
"nl": "Boekenruilkast",
|
||||||
|
"de": "Bücherschrank",
|
||||||
|
"fr": "Microbibliothèque"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "name~*",
|
||||||
|
"then": {
|
||||||
|
"en": "Public bookcase <i>{name}</i>",
|
||||||
|
"nl": "Boekenruilkast <i>{name}</i>",
|
||||||
|
"de": "Öffentlicher Bücherschrank <i>{name}</i>",
|
||||||
|
"fr": "Microbibliothèque <i>{name}</i>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"render": "./assets/themes/bookcases/bookcase.svg"
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"render": "#0000ff"
|
||||||
|
},
|
||||||
|
"width": {
|
||||||
|
"render": "8"
|
||||||
|
},
|
||||||
|
"presets": [
|
||||||
|
{
|
||||||
|
"title": {
|
||||||
|
"en": "Bookcase",
|
||||||
|
"nl": "Boekenruilkast",
|
||||||
|
"de": "Bücherschrank",
|
||||||
|
"fr": "Microbibliothèque"
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"amenity=public_bookcase"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tagRenderings": [
|
||||||
|
"images",
|
||||||
|
{
|
||||||
|
"render": {
|
||||||
|
"en": "The name of this bookcase is {name}",
|
||||||
|
"nl": "De naam van dit boekenruilkastje is {name}",
|
||||||
|
"de": "Der Name dieses Bücherschrank lautet {name}",
|
||||||
|
"fr": "Le nom de cette microbibliothèque est {name}"
|
||||||
|
},
|
||||||
|
"question": {
|
||||||
|
"en": "What is the name of this public bookcase?",
|
||||||
|
"nl": "Wat is de naam van dit boekenuilkastje?",
|
||||||
|
"de": "Wie heißt dieser öffentliche Bücherschrank?",
|
||||||
|
"fr": "Quel est le nom de cette microbibliothèque ?"
|
||||||
|
},
|
||||||
|
"freeform": {
|
||||||
|
"key": "name"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": {
|
||||||
|
"and": [
|
||||||
|
"noname=yes",
|
||||||
|
"name="
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"then": {
|
||||||
|
"en": "This bookcase doesn't have a name",
|
||||||
|
"nl": "Dit boekenruilkastje heeft geen naam",
|
||||||
|
"de": "Dieser Bücherschrank hat keinen Namen",
|
||||||
|
"fr": "Cette microbibliothèque n'a pas de nom"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"render": {
|
||||||
|
"en": "{capacity} books fit in this bookcase",
|
||||||
|
"nl": "Er passen {capacity} boeken",
|
||||||
|
"de": "{capacity} Bücher passen in diesen Bücherschrank",
|
||||||
|
"fr": "{capacity} livres rentrent dans cette microbibliothèque"
|
||||||
|
},
|
||||||
|
"question": {
|
||||||
|
"en": "How many books fit into this public bookcase?",
|
||||||
|
"nl": "Hoeveel boeken passen er in dit boekenruilkastje?",
|
||||||
|
"de": "Wie viele Bücher passen in diesen öffentlichen Bücherschrank?",
|
||||||
|
"fr": "Combien de livre rentrent dans cette microbibliothèque ?"
|
||||||
|
},
|
||||||
|
"freeform": {
|
||||||
|
"key": "capacity",
|
||||||
|
"type": "nat"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "What kind of books can be found in this public bookcase?",
|
||||||
|
"nl": "Voor welke doelgroep zijn de meeste boeken in dit boekenruilkastje?",
|
||||||
|
"de": "Welche Art von Büchern sind in diesem öffentlichen Bücherschrank zu finden?",
|
||||||
|
"fr": "Quel type de livres peuvent être trouvés dans cette microbibliothèque ?"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "books=children",
|
||||||
|
"then": {
|
||||||
|
"en": "Mostly children books",
|
||||||
|
"nl": "Voornamelijk kinderboeken",
|
||||||
|
"de": "Vorwiegend Kinderbücher",
|
||||||
|
"fr": "Livres pour enfants"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "books=adults",
|
||||||
|
"then": {
|
||||||
|
"en": "Mostly books for adults",
|
||||||
|
"nl": "Voornamelijk boeken voor volwassenen",
|
||||||
|
"de": "Vorwiegend Bücher für Erwachsene",
|
||||||
|
"fr": "Livres pour les adultes"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "books=children;adults",
|
||||||
|
"then": {
|
||||||
|
"en": "Both books for kids and adults",
|
||||||
|
"nl": "Boeken voor zowel kinderen als volwassenen",
|
||||||
|
"de": "Sowohl Bücher für Kinder als auch für Erwachsene",
|
||||||
|
"fr": "Livres pour enfants et adultes également"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Is this bookcase located outdoors?",
|
||||||
|
"nl": "Staat dit boekenruilkastje binnen of buiten?",
|
||||||
|
"de": "Befindet sich dieser Bücherschrank im Freien?",
|
||||||
|
"fr": "Cette microbiliothèque est-elle en extérieur ?"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "This bookcase is located indoors",
|
||||||
|
"nl": "Dit boekenruilkastje staat binnen",
|
||||||
|
"de": "Dieser Bücherschrank befindet sich im Innenbereich",
|
||||||
|
"fr": "Cette microbibliothèque est en intérieur"
|
||||||
|
},
|
||||||
|
"if": "indoor=yes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "This bookcase is located outdoors",
|
||||||
|
"nl": "Dit boekenruilkastje staat buiten",
|
||||||
|
"de": "Dieser Bücherschrank befindet sich im Freien",
|
||||||
|
"fr": "Cette microbibliothèque est en extérieur"
|
||||||
|
},
|
||||||
|
"if": "indoor=no"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "This bookcase is located outdoors",
|
||||||
|
"nl": "Dit boekenruilkastje staat buiten",
|
||||||
|
"de": "Dieser Bücherschrank befindet sich im Freien",
|
||||||
|
"fr": "Cette microbibliothèque est en extérieur"
|
||||||
|
},
|
||||||
|
"if": "indoor=",
|
||||||
|
"hideInAnswer": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Is this public bookcase freely accessible?",
|
||||||
|
"nl": "Is dit boekenruilkastje publiek toegankelijk?",
|
||||||
|
"de": "Ist dieser öffentliche Bücherschrank frei zugänglich?",
|
||||||
|
"fr": "Cette microbibliothèque est-elle librement accèssible ?"
|
||||||
|
},
|
||||||
|
"condition": "indoor=yes",
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "Publicly accessible",
|
||||||
|
"nl": "Publiek toegankelijk",
|
||||||
|
"de": "Öffentlich zugänglich",
|
||||||
|
"fr": "Accèssible au public"
|
||||||
|
},
|
||||||
|
"if": "access=yes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "Only accessible to customers",
|
||||||
|
"nl": "Enkel toegankelijk voor klanten",
|
||||||
|
"de": "Nur für Kunden zugänglich",
|
||||||
|
"fr": "Accèssible aux clients"
|
||||||
|
},
|
||||||
|
"if": "access=customers"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Who maintains this public bookcase?",
|
||||||
|
"nl": "Wie is verantwoordelijk voor dit boekenruilkastje?",
|
||||||
|
"de": "Wer unterhält diesen öffentlichen Bücherschrank?",
|
||||||
|
"fr": "Qui entretien cette microbibliothèque"
|
||||||
|
},
|
||||||
|
"render": {
|
||||||
|
"en": "Operated by {operator}",
|
||||||
|
"nl": "Onderhouden door {operator}",
|
||||||
|
"de": "Betrieben von {operator}",
|
||||||
|
"fr": "Entretenue par {operator}"
|
||||||
|
},
|
||||||
|
"freeform": {
|
||||||
|
"type": "string",
|
||||||
|
"key": "operator"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Is this public bookcase part of a bigger network?",
|
||||||
|
"nl": "Is dit boekenruilkastje deel van een netwerk?",
|
||||||
|
"de": "Ist dieser öffentliche Bücherschrank Teil eines größeren Netzwerks?",
|
||||||
|
"fr": "Cette microbibliothèque fait-elle partie d'un réseau/groupe ?"
|
||||||
|
},
|
||||||
|
"render": {
|
||||||
|
"en": "This public bookcase is part of {brand}",
|
||||||
|
"nl": "Dit boekenruilkastje is deel van het netwerk {brand}",
|
||||||
|
"de": "Dieser Bücherschrank ist Teil von {brand}",
|
||||||
|
"fr": "Cette microbibliothèque fait partie du groupe {brand}"
|
||||||
|
},
|
||||||
|
"condition": "ref=",
|
||||||
|
"freeform": {
|
||||||
|
"key": "brand"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "Part of the network 'Little Free Library'",
|
||||||
|
"nl": "Deel van het netwerk 'Little Free Library'",
|
||||||
|
"de": "Teil des Netzwerks 'Little Free Library'",
|
||||||
|
"fr": "Fait partie du réseau 'Little Free Library'"
|
||||||
|
},
|
||||||
|
"if": "brand=Little Free Library"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": {
|
||||||
|
"and": [
|
||||||
|
"nobrand=yes",
|
||||||
|
"brand="
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"then": {
|
||||||
|
"en": "This public bookcase is not part of a bigger network",
|
||||||
|
"nl": "Dit boekenruilkastje maakt geen deel uit van een netwerk",
|
||||||
|
"de": "Dieser öffentliche Bücherschrank ist nicht Teil eines größeren Netzwerks",
|
||||||
|
"fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"render": {
|
||||||
|
"en": "The reference number of this public bookcase within {brand} is {ref}",
|
||||||
|
"nl": "Het referentienummer binnen {brand} is {ref}",
|
||||||
|
"de": "Die Referenznummer dieses öffentlichen Bücherschranks innerhalb {brand} lautet {ref}",
|
||||||
|
"fr": "Cette microbibliothèque du réseau {brand} possède le numéro {ref}"
|
||||||
|
},
|
||||||
|
"question": {
|
||||||
|
"en": "What is the reference number of this public bookcase?",
|
||||||
|
"nl": "Wat is het referentienummer van dit boekenruilkastje?",
|
||||||
|
"de": "Wie lautet die Referenznummer dieses öffentlichen Bücherschranks?",
|
||||||
|
"fr": "Quelle est le numéro de référence de cette microbibliothèque ?"
|
||||||
|
},
|
||||||
|
"condition": "brand~*",
|
||||||
|
"freeform": {
|
||||||
|
"key": "ref"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "This bookcase is not part of a bigger network",
|
||||||
|
"nl": "Dit boekenruilkastje maakt geen deel uit van een netwerk",
|
||||||
|
"de": "Dieser Bücherschrank ist nicht Teil eines größeren Netzwerks",
|
||||||
|
"fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe"
|
||||||
|
},
|
||||||
|
"if": {
|
||||||
|
"and": [
|
||||||
|
"nobrand=yes",
|
||||||
|
"brand=",
|
||||||
|
"ref="
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "When was this public bookcase installed?",
|
||||||
|
"nl": "Op welke dag werd dit boekenruilkastje geinstalleerd?",
|
||||||
|
"de": "Wann wurde dieser öffentliche Bücherschrank installiert?",
|
||||||
|
"fr": "Quand a été installée cette microbibliothèque ?"
|
||||||
|
},
|
||||||
|
"render": {
|
||||||
|
"en": "Installed on {start_date}",
|
||||||
|
"nl": "Geplaatst op {start_date}",
|
||||||
|
"de": "Installiert am {start_date}",
|
||||||
|
"fr": "Installée le {start_date}"
|
||||||
|
},
|
||||||
|
"freeform": {
|
||||||
|
"key": "start_date",
|
||||||
|
"type": "date"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"render": {
|
||||||
|
"en": "More info on <a href='{website}' target='_blank'>the website</a>",
|
||||||
|
"nl": "Meer info op <a href='{website}' target='_blank'>de website</a>",
|
||||||
|
"de": "Weitere Informationen auf <a href='{website}' target='_blank'>der Webseite</a>",
|
||||||
|
"fr": "Plus d'info sur <a href='{website} target='_blank'>le site web</a>"
|
||||||
|
},
|
||||||
|
"question": {
|
||||||
|
"en": "Is there a website with more information about this public bookcase?",
|
||||||
|
"nl": "Is er een website over dit boekenruilkastje?",
|
||||||
|
"de": "Gibt es eine Webseite mit weiteren Informationen über diesen öffentlichen Bücherschrank?",
|
||||||
|
"fr": "Existe-t-il un site web avec plus d'information sur cette microbibliothèque ?"
|
||||||
|
},
|
||||||
|
"freeform": {
|
||||||
|
"key": "website",
|
||||||
|
"type": "url"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -28,353 +28,6 @@
|
||||||
"widenFactor": 0.05,
|
"widenFactor": 0.05,
|
||||||
"roamingRenderings": [],
|
"roamingRenderings": [],
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
"public_bookcases"
|
||||||
"id": "bookcases",
|
|
||||||
"name": {
|
|
||||||
"en": "Bookcases",
|
|
||||||
"nl": "Boekenruilkastjes",
|
|
||||||
"de": "Bücherschränke",
|
|
||||||
"fr": "Microbibliothèque"
|
|
||||||
},
|
|
||||||
"description": {
|
|
||||||
"en": "A streetside cabinet with books, accessible to anyone",
|
|
||||||
"nl": "Een straatkastje met boeken voor iedereen",
|
|
||||||
"de": "Ein Bücherschrank am Straßenrand mit Büchern, für jedermann zugänglich",
|
|
||||||
"fr": "Une armoire ou une boite contenant des livres en libre accès"
|
|
||||||
},
|
|
||||||
"overpassTags": "amenity=public_bookcase",
|
|
||||||
"minzoom": 12,
|
|
||||||
"title": {
|
|
||||||
"render": {
|
|
||||||
"en": "Bookcase",
|
|
||||||
"nl": "Boekenruilkast",
|
|
||||||
"de": "Bücherschrank",
|
|
||||||
"fr": "Microbibliothèque"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": "name~*",
|
|
||||||
"then": {
|
|
||||||
"en": "Public bookcase <i>{name}</i>",
|
|
||||||
"nl": "Boekenruilkast <i>{name}</i>",
|
|
||||||
"de": "Öffentlicher Bücherschrank <i>{name}</i>",
|
|
||||||
"fr": "Microbibliothèque <i>{name}</i>"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"icon": {
|
|
||||||
"render": "./assets/themes/bookcases/bookcase.svg"
|
|
||||||
},
|
|
||||||
"color": {
|
|
||||||
"render": "#0000ff"
|
|
||||||
},
|
|
||||||
"width": {
|
|
||||||
"render": "8"
|
|
||||||
},
|
|
||||||
"presets": [
|
|
||||||
{
|
|
||||||
"title": {
|
|
||||||
"en": "Bookcase",
|
|
||||||
"nl": "Boekenruilkast",
|
|
||||||
"de": "Bücherschrank",
|
|
||||||
"fr": "Microbibliothèque"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"amenity=public_bookcase"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tagRenderings": [
|
|
||||||
"images",
|
|
||||||
{
|
|
||||||
"render": {
|
|
||||||
"en": "The name of this bookcase is {name}",
|
|
||||||
"nl": "De naam van dit boekenruilkastje is {name}",
|
|
||||||
"de": "Der Name dieses Bücherschrank lautet {name}",
|
|
||||||
"fr": "Le nom de cette microbibliothèque est {name}"
|
|
||||||
},
|
|
||||||
"question": {
|
|
||||||
"en": "What is the name of this public bookcase?",
|
|
||||||
"nl": "Wat is de naam van dit boekenuilkastje?",
|
|
||||||
"de": "Wie heißt dieser öffentliche Bücherschrank?",
|
|
||||||
"fr": "Quel est le nom de cette microbibliothèque ?"
|
|
||||||
},
|
|
||||||
"freeform": {
|
|
||||||
"key": "name"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": {
|
|
||||||
"and": [
|
|
||||||
"noname=yes",
|
|
||||||
"name="
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"then": {
|
|
||||||
"en": "This bookcase doesn't have a name",
|
|
||||||
"nl": "Dit boekenruilkastje heeft geen naam",
|
|
||||||
"de": "Dieser Bücherschrank hat keinen Namen",
|
|
||||||
"fr": "Cette microbibliothèque n'a pas de nom"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"render": {
|
|
||||||
"en": "{capacity} books fit in this bookcase",
|
|
||||||
"nl": "Er passen {capacity} boeken",
|
|
||||||
"de": "{capacity} Bücher passen in diesen Bücherschrank",
|
|
||||||
"fr": "{capacity} livres rentrent dans cette microbibliothèque"
|
|
||||||
},
|
|
||||||
"question": {
|
|
||||||
"en": "How many books fit into this public bookcase?",
|
|
||||||
"nl": "Hoeveel boeken passen er in dit boekenruilkastje?",
|
|
||||||
"de": "Wie viele Bücher passen in diesen öffentlichen Bücherschrank?",
|
|
||||||
"fr": "Combien de livre rentrent dans cette microbibliothèque ?"
|
|
||||||
},
|
|
||||||
"freeform": {
|
|
||||||
"key": "capacity",
|
|
||||||
"type": "nat"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "What kind of books can be found in this public bookcase?",
|
|
||||||
"nl": "Voor welke doelgroep zijn de meeste boeken in dit boekenruilkastje?",
|
|
||||||
"de": "Welche Art von Büchern sind in diesem öffentlichen Bücherschrank zu finden?",
|
|
||||||
"fr": "Quel type de livres peuvent être trouvés dans cette microbibliothèque ?"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": "books=children",
|
|
||||||
"then": {
|
|
||||||
"en": "Mostly children books",
|
|
||||||
"nl": "Voornamelijk kinderboeken",
|
|
||||||
"de": "Vorwiegend Kinderbücher",
|
|
||||||
"fr": "Livres pour enfants"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "books=adults",
|
|
||||||
"then": {
|
|
||||||
"en": "Mostly books for adults",
|
|
||||||
"nl": "Voornamelijk boeken voor volwassenen",
|
|
||||||
"de": "Vorwiegend Bücher für Erwachsene",
|
|
||||||
"fr": "Livres pour les adultes"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "books=children;adults",
|
|
||||||
"then": {
|
|
||||||
"en": "Both books for kids and adults",
|
|
||||||
"nl": "Boeken voor zowel kinderen als volwassenen",
|
|
||||||
"de": "Sowohl Bücher für Kinder als auch für Erwachsene",
|
|
||||||
"fr": "Livres pour enfants et adultes également"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Is this bookcase located outdoors?",
|
|
||||||
"nl": "Staat dit boekenruilkastje binnen of buiten?",
|
|
||||||
"de": "Befindet sich dieser Bücherschrank im Freien?",
|
|
||||||
"fr": "Cette microbiliothèque est-elle en extérieur ?"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "This bookcase is located indoors",
|
|
||||||
"nl": "Dit boekenruilkastje staat binnen",
|
|
||||||
"de": "Dieser Bücherschrank befindet sich im Innenbereich",
|
|
||||||
"fr": "Cette microbibliothèque est en intérieur"
|
|
||||||
},
|
|
||||||
"if": "indoor=yes"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "This bookcase is located outdoors",
|
|
||||||
"nl": "Dit boekenruilkastje staat buiten",
|
|
||||||
"de": "Dieser Bücherschrank befindet sich im Freien",
|
|
||||||
"fr": "Cette microbibliothèque est en extérieur"
|
|
||||||
},
|
|
||||||
"if": "indoor=no"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "This bookcase is located outdoors",
|
|
||||||
"nl": "Dit boekenruilkastje staat buiten",
|
|
||||||
"de": "Dieser Bücherschrank befindet sich im Freien",
|
|
||||||
"fr": "Cette microbibliothèque est en extérieur"
|
|
||||||
},
|
|
||||||
"if": "indoor=",
|
|
||||||
"hideInAnswer": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Is this public bookcase freely accessible?",
|
|
||||||
"nl": "Is dit boekenruilkastje publiek toegankelijk?",
|
|
||||||
"de": "Ist dieser öffentliche Bücherschrank frei zugänglich?",
|
|
||||||
"fr": "Cette microbibliothèque est-elle librement accèssible ?"
|
|
||||||
},
|
|
||||||
"condition": "indoor=yes",
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "Publicly accessible",
|
|
||||||
"nl": "Publiek toegankelijk",
|
|
||||||
"de": "Öffentlich zugänglich",
|
|
||||||
"fr": "Accèssible au public"
|
|
||||||
},
|
|
||||||
"if": "access=yes"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "Only accessible to customers",
|
|
||||||
"nl": "Enkel toegankelijk voor klanten",
|
|
||||||
"de": "Nur für Kunden zugänglich",
|
|
||||||
"fr": "Accèssible aux clients"
|
|
||||||
},
|
|
||||||
"if": "access=customers"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Who maintains this public bookcase?",
|
|
||||||
"nl": "Wie is verantwoordelijk voor dit boekenruilkastje?",
|
|
||||||
"de": "Wer unterhält diesen öffentlichen Bücherschrank?",
|
|
||||||
"fr": "Qui entretien cette microbibliothèque"
|
|
||||||
},
|
|
||||||
"render": {
|
|
||||||
"en": "Operated by {operator}",
|
|
||||||
"nl": "Onderhouden door {operator}",
|
|
||||||
"de": "Betrieben von {operator}",
|
|
||||||
"fr": "Entretenue par {operator}"
|
|
||||||
},
|
|
||||||
"freeform": {
|
|
||||||
"type": "string",
|
|
||||||
"key": "operator"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Is this public bookcase part of a bigger network?",
|
|
||||||
"nl": "Is dit boekenruilkastje deel van een netwerk?",
|
|
||||||
"de": "Ist dieser öffentliche Bücherschrank Teil eines größeren Netzwerks?",
|
|
||||||
"fr": "Cette microbibliothèque fait-elle partie d'un réseau/groupe ?"
|
|
||||||
},
|
|
||||||
"render": {
|
|
||||||
"en": "This public bookcase is part of {brand}",
|
|
||||||
"nl": "Dit boekenruilkastje is deel van het netwerk {brand}",
|
|
||||||
"de": "Dieser Bücherschrank ist Teil von {brand}",
|
|
||||||
"fr": "Cette microbibliothèque fait partie du groupe {brand}"
|
|
||||||
},
|
|
||||||
"condition": "ref=",
|
|
||||||
"freeform": {
|
|
||||||
"key": "brand"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "Part of the network 'Little Free Library'",
|
|
||||||
"nl": "Deel van het netwerk 'Little Free Library'",
|
|
||||||
"de": "Teil des Netzwerks 'Little Free Library'",
|
|
||||||
"fr": "Fait partie du réseau 'Little Free Library'"
|
|
||||||
},
|
|
||||||
"if": "brand=Little Free Library"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": {
|
|
||||||
"and": [
|
|
||||||
"nobrand=yes",
|
|
||||||
"brand="
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"then": {
|
|
||||||
"en": "This public bookcase is not part of a bigger network",
|
|
||||||
"nl": "Dit boekenruilkastje maakt geen deel uit van een netwerk",
|
|
||||||
"de": "Dieser öffentliche Bücherschrank ist nicht Teil eines größeren Netzwerks",
|
|
||||||
"fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"render": {
|
|
||||||
"en": "The reference number of this public bookcase within {brand} is {ref}",
|
|
||||||
"nl": "Het referentienummer binnen {brand} is {ref}",
|
|
||||||
"de": "Die Referenznummer dieses öffentlichen Bücherschranks innerhalb {brand} lautet {ref}",
|
|
||||||
"fr": "Cette microbibliothèque du réseau {brand} possède le numéro {ref}"
|
|
||||||
},
|
|
||||||
"question": {
|
|
||||||
"en": "What is the reference number of this public bookcase?",
|
|
||||||
"nl": "Wat is het referentienummer van dit boekenruilkastje?",
|
|
||||||
"de": "Wie lautet die Referenznummer dieses öffentlichen Bücherschranks?",
|
|
||||||
"fr": "Quelle est le numéro de référence de cette microbibliothèque ?"
|
|
||||||
},
|
|
||||||
"condition": "brand~*",
|
|
||||||
"freeform": {
|
|
||||||
"key": "ref"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "This bookcase is not part of a bigger network",
|
|
||||||
"nl": "Dit boekenruilkastje maakt geen deel uit van een netwerk",
|
|
||||||
"de": "Dieser Bücherschrank ist nicht Teil eines größeren Netzwerks",
|
|
||||||
"fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe"
|
|
||||||
},
|
|
||||||
"if": {
|
|
||||||
"and": [
|
|
||||||
"nobrand=yes",
|
|
||||||
"brand=",
|
|
||||||
"ref="
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "When was this public bookcase installed?",
|
|
||||||
"nl": "Op welke dag werd dit boekenruilkastje geinstalleerd?",
|
|
||||||
"de": "Wann wurde dieser öffentliche Bücherschrank installiert?",
|
|
||||||
"fr": "Quand a été installée cette microbibliothèque ?"
|
|
||||||
},
|
|
||||||
"render": {
|
|
||||||
"en": "Installed on {start_date}",
|
|
||||||
"nl": "Geplaatst op {start_date}",
|
|
||||||
"de": "Installiert am {start_date}",
|
|
||||||
"fr": "Installée le {start_date}"
|
|
||||||
},
|
|
||||||
"freeform": {
|
|
||||||
"key": "start_date",
|
|
||||||
"type": "date"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"render": {
|
|
||||||
"en": "More info on <a href='{website}' target='_blank'>the website</a>",
|
|
||||||
"nl": "Meer info op <a href='{website}' target='_blank'>de website</a>",
|
|
||||||
"de": "Weitere Informationen auf <a href='{website}' target='_blank'>der Webseite</a>",
|
|
||||||
"fr": "Plus d'info sur <a href='{website} target='_blank'>le site web</a>"
|
|
||||||
},
|
|
||||||
"question": {
|
|
||||||
"en": "Is there a website with more information about this public bookcase?",
|
|
||||||
"nl": "Is er een website over dit boekenruilkastje?",
|
|
||||||
"de": "Gibt es eine Webseite mit weiteren Informationen über diesen öffentlichen Bücherschrank?",
|
|
||||||
"fr": "Existe-t-il un site web avec plus d'information sur cette microbibliothèque ?"
|
|
||||||
},
|
|
||||||
"freeform": {
|
|
||||||
"key": "website",
|
|
||||||
"type": "url"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -10,10 +10,6 @@ Contains tweaks for small screens
|
||||||
|
|
||||||
@media only screen and (max-width: 600px), only screen and (max-height: 600px) {
|
@media only screen and (max-width: 600px), only screen and (max-height: 600px) {
|
||||||
|
|
||||||
.leaflet-control-attribution {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.only-on-mobile {
|
.only-on-mobile {
|
||||||
display: unset;
|
display: unset;
|
||||||
background-color: var(--background-color);
|
background-color: var(--background-color);
|
||||||
|
|
Loading…
Reference in a new issue