mapcomplete/assets/layers/icons/icons.json

415 lines
12 KiB
JSON

{
"id": "icons",
"description": {
"en": "A layer acting as library for icon-tagrenderings, especially to show as badge next to a POI",
"de": "Eine Ebene, die als Bibliothek für Symbol-Tag-Renderings dient, insbesondere um als Abzeichen neben einem POI angezeigt zu werden",
"ca": "Una capa que actua com a biblioteca per a les icones d'etiquetes, especialment per mostrar-se com a insígnia al costat d'un PDI",
"cs": "Vrstva sloužící jako knihovna pro ikony-značky, zejména pro zobrazení jako odznak vedle bodu zájmu"
},
"source": "special:library",
"title": null,
"pointRendering": null,
"lineRendering": null,
"tagRenderings": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "isOpen",
"#": "Shows a coloured clock if opening hours are parsed. Uses the metatagging, suitable to use as a (badged) overlay",
"mappings": [
{
"if": "_isOpen=yes",
"then": "clock:#0f0;ring:#0f0"
},
{
"if": "_isOpen=no",
"then": "circle:#f00;clock:#fff"
},
{
"#": "Still loading the country",
"if": {
"and": [
"_isOpen=",
"opening_hours~*"
]
},
"then": "clock:#ff0;ring:#ff0"
},
{
"#": "Still loading the country",
"if": {
"and": [
"_isOpen=parse_error",
"opening_hours~*"
]
},
"then": "circle:#f0f;clock:#fff"
}
],
"metacondition": "__showTimeSensitiveIcons!=no"
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"special": {
"type": "link",
"href": "tel:{phone}",
"text": "<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>",
"arialabel": {
"en": "phone",
"nl": "Telefoneer",
"de": "Telefon",
"pl": "telefon",
"cs": "telefon"
}
}
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"special": {
"type": "link",
"href": "tel:{contact:phone}",
"text": "<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>",
"arialabel": {
"en": "phone",
"nl": "Telefoneer",
"de": "Telefon",
"pl": "telefon",
"cs": "telefon"
}
}
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "contact:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "lactosefree",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": {
"or": [
"diet:lactose_free=only",
"diet:lactose_free=yes",
"diet:lactose_free=limited"
]
},
"#": "ignore-image-in-then",
"then": "<img alt='lactose free' src='./assets/layers/questions/lactose_free.svg'>"
}
]
},
{
"id": "glutenfree",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": {
"or": [
"diet:gluten_free=only",
"diet:gluten_free=yes",
"diet:gluten_free=limited"
]
},
"#": "ignore-image-in-then",
"then": "<img alt='gluten free' src='./assets/layers/questions/glutenfree.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"special": {
"type": "link",
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
"href": "https://openstreetmap.org/{id}",
"arialabel": {
"en": "Open on openstreetmap.org",
"nl": "Bekijk op openstreetmap.org",
"de": "Auf openstreetmap.org öffnen",
"pl": "Otwórz na openstreetmap.org",
"da": "Åbn på openstreetmap.org",
"cs": "Otevřít na openstreetmap.org"
}
}
},
"metacondition": "_loggedIn=true",
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"special": {
"type": "link",
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
"href": "{_backend}/{id}",
"arialabel": {
"en": "Open on openstreetmap.org",
"nl": "Bekijk op openstreetmap.org",
"de": "Auf openstreetmap.org öffnen",
"pl": "Otwórz na openstreetmap.org",
"da": "Åbn på openstreetmap.org",
"cs": "Otevřít na openstreetmap.org"
}
}
}
},
{
"#": "ignore-image-in-then",
"if": "osm_id~*",
"then": {
"special": {
"type": "link",
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
"href": "https://www.openstreetmap.org/{osm_id}",
"arialabel": {
"en": "Open on openstreetmap.org",
"nl": "Bekijk op openstreetmap.org",
"de": "Auf openstreetmap.org öffnen",
"pl": "Otwórz na openstreetmap.org",
"da": "Åbn på openstreetmap.org",
"cs": "Otevřít na openstreetmap.org"
}
}
}
}
],
"condition": {
"or": [
"id~(node|way|relation)/[0-9]*",
"osm_id~*"
]
}
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
},
{
"id": "favourite_icon",
"description": "Only for rendering",
"condition": "_favourite=yes",
"icon": "circle:white;heart:red",
"metacondition": "__showTimeSensitiveIcons!=no"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
}
],
"allowMove": false
}