Readd attribution, small fixes

This commit is contained in:
Pieter Vander Vennet 2020-11-25 16:10:14 +01:00
parent dc5cd08a3a
commit 43a9b57db9
7 changed files with 369 additions and 355 deletions

View file

@ -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")
]; ];

View file

@ -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
View file

@ -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);}

View file

@ -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": {

View 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"
}
}
]
}

View file

@ -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"
}
}
]
}
] ]
} }

View file

@ -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);