From 82b0a4553de3f5b396c305b9665d22cc09fd0d40 Mon Sep 17 00:00:00 2001 From: Osmwithspace <> Date: Thu, 13 Mar 2025 08:34:50 +0100 Subject: [PATCH 1/5] add leisure=summer_camp as source --- assets/themes/scouting/scouting.json | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/assets/themes/scouting/scouting.json b/assets/themes/scouting/scouting.json index 65b48679c..fc4361cca 100644 --- a/assets/themes/scouting/scouting.json +++ b/assets/themes/scouting/scouting.json @@ -24,16 +24,21 @@ "=presets": [], "source": { "=osmTags": { - "and": [ - "tourism=camp_site", - "scout!=no", - "group!=no", + "or":[ + "leisure=summer_camp", { - "or": [ - "scout=yes", - "scout=only", - "group=yes", - "group_only=yes" + "and": [ + "tourism=camp_site", + "scout!=no", + "group!=no", + { + "or": [ + "scout=yes", + "scout=only", + "group=yes", + "group_only=yes" + ] + } ] } ] From 54c208025542f4a62fb5ce1d8c380e45b24eecfe Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 13 Mar 2025 20:23:28 +0100 Subject: [PATCH 2/5] Chore: reset translations --- .../charging_station/charging_station.json | 604 +++++++++--------- .../mapcomplete-changes.json | 39 +- langs/layers/ca.json | 19 - langs/layers/cs.json | 19 - langs/layers/da.json | 19 - langs/layers/de.json | 19 - langs/layers/en.json | 179 +++++- langs/layers/es.json | 19 - langs/layers/nl.json | 19 - langs/themes/ca.json | 23 + langs/themes/cs.json | 23 + langs/themes/da.json | 23 + langs/themes/de.json | 23 + langs/themes/en.json | 27 + langs/themes/es.json | 23 + langs/themes/nl.json | 23 + src/assets/bing.json | 2 +- 17 files changed, 652 insertions(+), 451 deletions(-) diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 70fc46983..803f69da7 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -9,15 +9,7 @@ "es": "Puntos de carga", "uk": "Зарядні станції" }, - "description": { - "en": "A charging station", - "nl": "Oplaadpunten", - "ca": "Una estació de càrrega", - "cs": "Nabíjecí stanice", - "de": "Eine Ladestation", - "es": "Un punto de carga", - "fr": "Une station de recharge" - }, + "minzoom": 10, "source": { "osmTags": { "and": [ @@ -32,16 +24,15 @@ ] } }, - "minzoom": 10, "title": { "render": { "en": "Charging station", "nl": "Oplaadpunt", "ca": "Estació de càrrega", + "cs": "Nabíjecí stanice", "de": "Ladestation", "es": "Punto de carga", - "uk": "Зарядна станція", - "cs": "Nabíjecí stanice" + "uk": "Зарядна станція" }, "mappings": [ { @@ -60,10 +51,10 @@ "en": "Charging station for electrical bicycles", "nl": "Oplaadpunt voor elektrische fietsen", "ca": "Estació de càrrega per a bicicletes elèctriques", + "cs": "Nabíjecí stanice pro elektrokola", "de": "Ladestation für Elektrofahrräder", "es": "Punto de carga para bicicletas eléctricas", - "uk": "Зарядна станція для електровелосипедів", - "cs": "Nabíjecí stanice pro elektrokola" + "uk": "Зарядна станція для електровелосипедів" } }, { @@ -82,125 +73,24 @@ "en": "Charging station for cars", "nl": "Oplaadpunt voor elektrische auto's", "ca": "Estació de càrrega per a cotxes", + "cs": "Nabíjecí stanice pro auta", "de": "Ladestation für Autos", "es": "Punto de carga para coches", - "uk": "Зарядна станція для автомобілів", - "cs": "Nabíjecí stanice pro auta" + "uk": "Зарядна станція для автомобілів" } } ] }, - "pointRendering": [ - { - "location": [ - "point", - "centroid" - ], - "marker": [ - { - "icon": "pin", - "color": "#fff" - }, - { - "icon": { - "render": "./assets/themes/charging_stations/plug.svg", - "mappings": [ - { - "if": "bicycle=yes", - "then": "./assets/themes/charging_stations/bicycle.svg" - }, - { - "if": { - "or": [ - "car=yes", - "motorcar=yes" - ] - }, - "then": "./assets/themes/charging_stations/car.svg" - } - ] - } - } - ], - "iconBadges": [ - { - "if": { - "or": [ - "disused:amenity=charging_station", - "operational_status=broken" - ] - }, - "then": "close:#c22;" - }, - { - "if": { - "or": [ - "proposed:amenity=charging_station", - "planned:amenity=charging_station" - ] - }, - "then": "./assets/layers/charging_station/under_construction.svg" - }, - { - "if": { - "and": [ - "bicycle=yes", - { - "or": [ - "motorcar=yes", - "car=yes" - ] - } - ] - }, - "then": "circle:#fff;./assets/themes/charging_stations/car.svg" - } - ], - "anchor": "bottom", - "iconSize": "50,50" - } - ], - "lineRendering": [ - { - "color": "black", - "width": 2, - "fillColor": "#80808080" - } - ], - "presets": [ - { - "tags": [ - "amenity=charging_station", - "motorcar=no", - "bicycle=yes" - ], - "title": { - "en": "charging station for electrical bikes", - "nl": "oplaadpunt voor elektrische fietsen", - "ca": "Estació de càrrega de bicicletes elèctriques", - "cs": "nabíjecí stanice pro elektrokola", - "de": "Ladestation für Elektrofahrräder", - "es": "punto de carga para bicicletas eléctricas", - "uk": "зарядна станція для електровелосипедів" - } - }, - { - "tags": [ - "amenity=charging_station", - "motorcar=yes", - "bicycle=no" - ], - "title": { - "en": "charging station for cars", - "nl": "oplaadstation voor elektrische auto's", - "ca": "estació de càrrega per a cotxes", - "cs": "nabíjecí stanice pro auta", - "de": "Ladestation für Autos", - "es": "punto de carga para coches", - "uk": "зарядна станція для автомобілів" - } - } - ], + "description": { + "en": "A charging station", + "nl": "Oplaadpunten", + "ca": "Una estació de càrrega", + "cs": "Nabíjecí stanice", + "de": "Eine Ladestation", + "es": "Un punto de carga", + "fr": "Une station de recharge" + }, + "#": "no-question-hint-check", "tagRenderings": [ "images", { @@ -325,20 +215,20 @@ "en": "Who is allowed to use this charging station?", "nl": "Wie mag er dit oplaadpunt gebruiken?", "ca": "Qui pot utilitzar aquesta estació de càrrega?", + "cs": "Kdo je oprávněn používat tuto nabíjecí stanici?", "de": "Wer darf diese Ladestation benutzen?", "es": "¿Quién puede usar este punto de carga?", "pl": "Kto może używać tej stacji ładowania?", - "uk": "Хто може користуватися цією зарядною станцією?", - "cs": "Kdo je oprávněn používat tuto nabíjecí stanici?" + "uk": "Хто може користуватися цією зарядною станцією?" }, "render": { "en": "Access is {access}", "nl": "Toegang voor {access}", "ca": "L'accés està {access}", + "cs": "Přístup je {access}", "de": "Zugang ist {access}", "es": "El acceso es {access}", - "uk": "Доступ – {access}", - "cs": "Přístup je {access}" + "uk": "Доступ – {access}" }, "freeform": { "key": "access", @@ -391,10 +281,10 @@ "en": "A key must be requested to access this charging station
E.g. a charging station operated by hotel which is only usable by their guests, which receive a key from the reception to unlock the charging station", "nl": "Een sleutel is nodig om dit oplaadpunt te gebruiken
Bv. voor klanten van een hotel of een bar, die de sleutel aan de receptie kunnen krijgen", "ca": "S'ha de sol·licitar una clau per a utilitzar aquest punt de càrrega
p.e un punt de càrrega operat per un hotel nomes utilitzable pel seus hostes, els quals reben una clau des de recepció per a desbloquejar el punt de càrrega", + "cs": "Po přístup k této nabíjecí stanici se musí vyžádat klíč
Například nabíjecí stanice provozovaná hotelem, která je využitelná jen hosty hotelu, kteří na recepci obdrží klíč k odemčení stanice", "de": "Für den Zugang zur Station muss ein Schlüssel angefordert werden
z.B. eine von einem Hotel betriebene Ladestation, die nur von dessen Gästen genutzt werden kann, die an der Rezeption einen Schlüssel erhalten, um die Ladestation aufzuschließen", "es": "Se debe solicitar una llave para acceder a este punto de carga
Por ejemplo, un punto de carga operado por un hotel que solo pueden usar sus huéspedes, que reciben una llave de la recepción para desbloquear el punto de carga", - "uk": "Щоб отримати доступ до цієї зарядної станції, необхідно отримати ключ
Напр. зарядна станція, якою керує готель, якою можуть користуватися лише його гості, які отримують ключ від стійки реєстрації, щоб розблокувати зарядну станцію", - "cs": "Po přístup k této nabíjecí stanici se musí vyžádat klíč
Například nabíjecí stanice provozovaná hotelem, která je využitelná jen hosty hotelu, kteří na recepci obdrží klíč k odemčení stanice" + "uk": "Щоб отримати доступ до цієї зарядної станції, необхідно отримати ключ
Напр. зарядна станція, якою керує готель, якою можуть користуватися лише його гості, які отримують ключ від стійки реєстрації, щоб розблокувати зарядну станцію" } }, { @@ -403,10 +293,10 @@ "en": "Not accessible to the general public (e.g. only accessible to the owners, employees, ...)", "nl": "Niet toegankelijk voor het publiek
Bv. enkel toegankelijk voor de eigenaar, medewerkers ,... ", "ca": "No accessible per al públic general (p.e. només accessible pels propietaris, empleats, ...)", + "cs": "Nepřístupná obecné veřejnosti (např. přístupná vlastníkům, zaměstnancům...)", "de": "Die Station ist nicht für die Allgemeinheit zugänglich (z. B. nur für die Eigentümer, Mitarbeiter, ...)", "es": "No accesible al público en general (por ejemplo, solo accesible para los propietarios, empleados, ...)", - "uk": "Не доступні для широкої громадськості (наприклад, доступні лише для власників, працівників, ...)", - "cs": "Nepřístupná obecné veřejnosti (např. přístupná vlastníkům, zaměstnancům...)" + "uk": "Не доступні для широкої громадськості (наприклад, доступні лише для власників, працівників, ...)" } }, { @@ -415,10 +305,10 @@ "en": "This charging station is accessible to the public during certain hours or conditions. Restrictions might apply, but general use is allowed.", "nl": "Dit oplaadstation is publiek toegankelijk onder voorwaarden (bv. enkel tijdens bepaalde uren). ", "ca": "Aquesta estació de càrrega és accessible al públic durant certes hores o condicions. Es poden aplicar restriccions, però es permet l'ús general.", + "cs": "Tato nabíjecí stanice je přístupná veřejnosti v určitých hodinách nebo za určitých podmínek. Mohou platit omezení, ale obecně je použití povoleno.", "de": "Diese Ladestation ist zu gewissen Öffnungszeiten oder Bedingungen öffentlich zugänglich. Einschränkungen sind möglich, aber generelle Nutzung ist erlaubt.", "es": "Este punto de carga es accesible al público durante ciertas horas o condiciones Pueden aplicarse restricciones, pero se permite el uso general", - "uk": "Ця зарядна станція доступна для громадськості в певні години або за певних умов. Можуть застосовуватися обмеження, але загальне використання дозволено.", - "cs": "Tato nabíjecí stanice je přístupná veřejnosti v určitých hodinách nebo za určitých podmínek. Mohou platit omezení, ale obecně je použití povoleno." + "uk": "Ця зарядна станція доступна для громадськості в певні години або за певних умов. Можуть застосовуватися обмеження, але загальне використання дозволено." } } ] @@ -429,21 +319,21 @@ "en": "{capacity} vehicles can be charged here at the same time", "nl": "{capacity} voertuigen kunnen hier op hetzelfde moment opgeladen worden", "ca": "Aquí poden carregar {capacity} vehicles a l'hora", + "cs": "Současně tu lze nabíjet {capacity} vozidel", "de": "Hier können {capacity} Fahrzeuge gleichzeitig laden", "es": "{capacity} vehículos se pueden cargar aquí al mismo tiempo", "pl": "{capacity} pojazdów może być tutaj ładowanych jednocześnie", - "uk": "Тут можуть заряджатися одночасно {capacity} транспортних засобів", - "cs": "Současně tu lze nabíjet {capacity} vozidel" + "uk": "Тут можуть заряджатися одночасно {capacity} транспортних засобів" }, "question": { "en": "How much vehicles can be charged here at the same time?", "nl": "Hoeveel voertuigen kunnen hier opgeladen worden?", "ca": "Quants vehicles poden carregar a la vegada?", + "cs": "Kolik vozidel tu lze současně nabíjet?", "de": "Wie viele Fahrzeuge können hier gleichzeitig laden?", "es": "¿Cuántos vehículos se pueden cargar aquí al mismo tiempo?", "pl": "Ile pojazdów może być tutaj ładowanych jednocześnie?", - "uk": "Скільки транспортних засобів можна зарядити тут одночасно?", - "cs": "Kolik vozidel tu lze současně nabíjet?" + "uk": "Скільки транспортних засобів можна зарядити тут одночасно?" }, "freeform": { "key": "capacity", @@ -649,9 +539,9 @@ "en": "European wall plug with ground pin (CEE7/4 type E)", "nl": "Europese stekker met aardingspin (CEE7/4 type E)", "ca": "Endoll de paret Europeu amb pin a terra (CEE7/4 tipus E)", + "cs": "Eurozásuvka se zemnicím kolíkem (CEE7/4 typ E)", "de": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)", - "es": "Enchufe de pared europeo con pin de tierra (tipo CEE7/4 E)", - "cs": "Eurozásuvka se zemnicím kolíkem (CEE7/4 typ E)" + "es": "Enchufe de pared europeo con pin de tierra (tipo CEE7/4 E)" }, "hideInAnswer": true, "icon": { @@ -1303,9 +1193,9 @@ "en": "Tesla supercharger (destination) (A Type 2 with cable branded as tesla)", "nl": "Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo)", "ca": "Tesla supercharger (destinació) (Un tipus 2 amb cable de la marca Tesla)", + "cs": "Tesla supercharger (Typ 2 s kabelem pod značkou Tesla)", "de": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)", - "es": "Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)", - "cs": "Tesla supercharger (Typ 2 s kabelem pod značkou Tesla)" + "es": "Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)" }, "icon": { "path": "./assets/layers/charging_station/Type2_tethered.svg", @@ -1355,9 +1245,9 @@ "en": "Tesla supercharger (destination) (A Type 2 with cable branded as tesla)", "nl": "Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo)", "ca": "Tesla supercharger (destinació) (Un tipus 2 amb cable de la marca tesla)", + "cs": "Tesla supercharger (Typ 2 s kabelem pod značkou Tesla)", "de": "Tesla supercharger (Destination) (Typ 2 mit Kabel von Tesla)", - "es": "Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)", - "cs": "Tesla supercharger (Typ 2 s kabelem pod značkou Tesla)" + "es": "Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)" }, "hideInAnswer": true, "icon": { @@ -1372,10 +1262,10 @@ "en": "USB to charge phones and small electronics", "nl": "USB om GSMs en kleine electronica op te laden", "ca": "USB per carregar telèfons i dispositius electrònics petits", + "cs": "USB k nabíjení telefonů a drobné elektroniky", "de": "USB zum Aufladen von Handys und kleinen Elektrogeräten", "es": "USB para cargar teléfonos y pequeños dispositivos electrónicos", - "uk": "USB для зарядки телефонів і дрібної електроніки", - "cs": "USB k nabíjení telefonů a drobné elektroniky" + "uk": "USB для зарядки телефонів і дрібної електроніки" }, "icon": { "path": "./assets/layers/charging_station/usb_port.svg", @@ -1393,10 +1283,10 @@ "en": "USB to charge phones and small electronics", "nl": "USB om GSMs en kleine electronica op te laden", "ca": "USB per carregar telèfons i dispositius electrònics petits", + "cs": "USB k nabíjení telefonů a drobné elektroniky", "de": "USB zum Aufladen von Handys und kleinen Elektrogeräten", "es": "USB para cargar teléfonos y pequeños dispositivos electrónicos", - "uk": "USB для зарядки телефонів і дрібної електроніки", - "cs": "USB k nabíjení telefonů a drobné elektroniky" + "uk": "USB для зарядки телефонів і дрібної електроніки" }, "hideInAnswer": true, "icon": { @@ -1411,9 +1301,9 @@ "en": "Bosch Active Connect with 3 pins and cable", "nl": "Bosch Active Connect met 3 pinnen aan een kabel", "ca": "Bosch Active Connect amb 3 pins i cable", + "cs": "Bosch Active Connect se 3 kolíky a kabelem", "de": "Bosch Active Connect mit 3 Pins und Kabel", - "es": "Bosch Active Connect con 3 pines y cable", - "cs": "Bosch Active Connect se 3 kolíky a kabelem" + "es": "Bosch Active Connect con 3 pines y cable" }, "icon": { "path": "./assets/layers/charging_station/bosch-3pin.svg", @@ -1453,9 +1343,9 @@ "en": "Bosch Active Connect with 3 pins and cable", "nl": "Bosch Active Connect met 3 pinnen aan een kabel", "ca": "Bosch Active Connect amb 3 pins i cable", + "cs": "Bosch Active Connect se 3 kolíky a kabelem", "de": " Bosch Active Connect mit 3 Pins und Kabel", - "es": "Bosch Active Connect con 3 pines y cable", - "cs": "Bosch Active Connect se 3 kolíky a kabelem" + "es": "Bosch Active Connect con 3 pines y cable" }, "hideInAnswer": true, "icon": { @@ -1470,9 +1360,9 @@ "en": "Bosch Active Connect with 5 pins and cable", "nl": "Bosch Active Connect met 5 pinnen aan een kabel", "ca": "Bosch Active Connect amb 5 pins i cable", + "cs": "Bosch Active Connect s 5 kolíky a kabelem", "de": "Bosch Active Connect mit 5 Pins und Kabel", - "es": "Bosch Active Connect con 5 pines y cable", - "cs": "Bosch Active Connect s 5 kolíky a kabelem" + "es": "Bosch Active Connect con 5 pines y cable" }, "icon": { "path": "./assets/layers/charging_station/bosch-5pin.svg", @@ -1512,9 +1402,9 @@ "en": "Bosch Active Connect with 5 pins and cable", "nl": "Bosch Active Connect met 5 pinnen aan een kabel", "ca": "Bosch Active Connect amb 5 pins i cable", + "cs": "Bosch Active Connect s 5 kolíny a kabelem", "de": " Bosch Active Connect mit 5 Pins und Kabel", - "es": "Bosch Active Connect con 5 pines y cable", - "cs": "Bosch Active Connect s 5 kolíny a kabelem" + "es": "Bosch Active Connect con 5 pines y cable" }, "hideInAnswer": true, "icon": { @@ -1732,9 +1622,9 @@ "en": "SEV 1011 T23 (Type J)", "nl": "SEV 1011 T23 (Zwitserse 3-pin)", "ca": "SEV 1011 T23 (Tipus J)", + "cs": "SEV 1011 T23 (Typ J)", "de": "SEV 1011 T23 (Typ J)", - "es": "SEV 1011 T23 (Tipo J)", - "cs": "SEV 1011 T23 (Typ J)" + "es": "SEV 1011 T23 (Tipo J)" }, "hideInAnswer": true, "icon": { @@ -1909,9 +1799,9 @@ "en": "Schuko wall plug without ground pin (CEE7/4 type F)", "nl": "Schuko stekker zonder aardingspin (CEE7/4 type F)", "ca": "Endoll de paret Schuko sense pin de terra (CEE7/4 tipus F)", + "cs": "Nástěnná zásuvka Schuko bez zemnicího kolíku (CEE7/4 typ F)", "de": "Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)", - "es": "Enchufe de pared Schuko sin pin de tierra (tipo CEE7/4 F)", - "cs": "Nástěnná zásuvka Schuko bez zemnicího kolíku (CEE7/4 typ F)" + "es": "Enchufe de pared Schuko sin pin de tierra (tipo CEE7/4 F)" }, "CEE7_4F.svg", [ @@ -1931,9 +1821,9 @@ "en": "European wall plug with ground pin (CEE7/4 type E)", "nl": "Europese stekker met aardingspin (CEE7/4 type E)", "ca": "Endoll de paret europeu amb pin de terra (CEE7/4 tipus E)", + "cs": "Eurozásuvka se zemnicím kolíkem (CEE7/4 typ E)", "de": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)", - "es": "Enchufe de pared europeo con pin de tierra (tipo CEE7/4 E)", - "cs": "Eurozásuvka se zemnicím kolíkem (CEE7/4 typ E)" + "es": "Enchufe de pared europeo con pin de tierra (tipo CEE7/4 E)" }, "TypeE.svg", [ @@ -1954,9 +1844,9 @@ "en": "Chademo", "nl": "Chademo", "ca": "Chademo", + "cs": "Chademo", "de": "Chademo-Stecker", - "es": "Chademo", - "cs": "Chademo" + "es": "Chademo" }, "Chademo_type4.svg", [ @@ -1976,9 +1866,9 @@ "en": "Type 1 with cable (J1772)", "nl": "Type 1 met kabel (J1772)", "ca": "Tipus 1 amb cable (J1772)", + "cs": "Typ 1 s kabelem (J1772)", "de": "Typ 1 mit Kabel (J1772)", - "es": "Tipo 1 con cable (J1772)", - "cs": "Typ 1 s kabelem (J1772)" + "es": "Tipo 1 con cable (J1772)" }, "Type1_J1772.svg", [ @@ -2000,9 +1890,9 @@ "en": "Type 1 without cable (J1772)", "nl": "Type 1 zonder kabel (J1772)", "ca": "Tipus 1 sense el cable (J1772)", + "cs": "Typ 1 bez kabelu (J1772)", "de": " Typ 1 ohne Kabel (J1772)", - "es": "Tipo 1 sin cable (J1772)", - "cs": "Typ 1 bez kabelu (J1772)" + "es": "Tipo 1 sin cable (J1772)" }, "Type1_J1772.svg", [ @@ -2026,9 +1916,9 @@ "en": "Type 1 CCS (aka Type 1 Combo)", "nl": "Type 1 CCS (ook gekend als Type 1 Combo)", "ca": "Tipus 1 CCS (també conegut com a Tipus 1 Combo)", + "cs": "Typ 1 CCS (též Typ 1 Combo)", "de": "Typ 1 CCS (Typ 1 Combo)", - "es": "Tipo 1 CCS (también conocido como Tipo 1 Combo)", - "cs": "Typ 1 CCS (též Typ 1 Combo)" + "es": "Tipo 1 CCS (también conocido como Tipo 1 Combo)" }, "Type1-ccs.svg", [ @@ -2078,9 +1968,9 @@ "en": "Type 2 (mennekes)", "nl": "Type 2 (mennekes)", "ca": "Tipus 2 (mennekes)", + "cs": "Typ 2 (mennekes)", "de": "Typ 2 (Mennekes)", - "es": "Tipo 2 (mennekes)", - "cs": "Typ 2 (mennekes)" + "es": "Tipo 2 (mennekes)" }, "Type2_socket.svg", [ @@ -2103,9 +1993,9 @@ "en": "Type 2 CCS (mennekes)", "nl": "Type 2 CCS (mennekes)", "ca": "Tipus 2 CCS (mennekes)", + "cs": "Typ 2 CCS (mennekes)", "de": "Typ 2 CCS (Mennekes)", - "es": "Tipo 2 CCS (mennekes)", - "cs": "Typ 2 CCS (mennekes)" + "es": "Tipo 2 CCS (mennekes)" }, "Type2_CCS.svg", [ @@ -2127,9 +2017,9 @@ "en": "Type 2 with cable (mennekes)", "nl": "Type 2 met kabel (J1772)", "ca": "Tipus 2 amb cable (mennekes)", + "cs": "Typ 2 s kabelem (mennekes)", "de": "Typ 2 mit Kabel (Mennekes)", - "es": "Tipo 2 con cable (mennekes)", - "cs": "Typ 2 s kabelem (mennekes)" + "es": "Tipo 2 con cable (mennekes)" }, "Type2_tethered.svg", [ @@ -2152,9 +2042,9 @@ "en": "Tesla Supercharger CCS (a branded type2_css)", "nl": "Tesla Supercharger CCS (een type2 CCS met Tesla-logo)", "ca": "Tesla Supercharger CCS (un tipus2_css de la marca Tesla)", + "cs": "Tesla Supercharger CCS (značkový type2_css)", "de": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)", - "es": "Tesla Supercharger CCS (un tipo2_css de marca)", - "cs": "Tesla Supercharger CCS (značkový type2_css)" + "es": "Tesla Supercharger CCS (un tipo2_css de marca)" }, "Type2_CCS.svg", [ @@ -2176,9 +2066,9 @@ "en": "Tesla Supercharger (destination)", "nl": "Tesla Supercharger (destination)", "ca": "Tesla Supercharger (destinació)", + "cs": "Tesla Supercharger (cíl)", "de": "Tesla Supercharger (Destination)", - "es": "Tesla Supercharger (destino)", - "cs": "Tesla Supercharger (cíl)" + "es": "Tesla Supercharger (destino)" }, "Tesla-hpwc-model-s.svg", [ @@ -2201,9 +2091,9 @@ "en": "Tesla supercharger (destination) (A Type 2 with cable branded as tesla)", "nl": "Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo)", "ca": "Tesla supercharger (destinació) (Un tipus 2 amb cable de la marca Tesla)", + "cs": "Tesla supercharger (cíl) (Typ 2 s kabelem pod značkou Tesla)", "de": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)", - "es": "Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)", - "cs": "Tesla supercharger (cíl) (Typ 2 s kabelem pod značkou Tesla)" + "es": "Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)" }, "Type2_tethered.svg", [ @@ -2226,10 +2116,10 @@ "en": "USB to charge phones and small electronics", "nl": "USB om GSMs en kleine electronica op te laden", "ca": "USB per carregar telèfons i dispositius electrònics petits", + "cs": "USB k nabíjení telefonů a drobné elektroniky", "de": "USB zum Aufladen von Handys und kleinen Elektrogeräten", "es": "USB para cargar teléfonos y pequeños dispositivos electrónicos", - "uk": "USB для зарядки телефонів і дрібної електроніки", - "cs": "USB k nabíjení telefonů a drobné elektroniky" + "uk": "USB для зарядки телефонів і дрібної електроніки" }, "usb_port.svg", [ @@ -2251,9 +2141,9 @@ "en": "Bosch Active Connect with 3 pins and cable", "nl": "Bosch Active Connect met 3 pinnen aan een kabel", "ca": "Bosch Active Connect amb 3 pins i cable", + "cs": "Bosch Active Connect se 3 kolíky a kabelem", "de": " Bosch Active Connect mit 3 Pins und Kabel", - "es": "Bosch Active Connect con 3 pines y cable", - "cs": "Bosch Active Connect se 3 kolíky a kabelem" + "es": "Bosch Active Connect con 3 pines y cable" }, "bosch-3pin.svg", [], @@ -2267,9 +2157,9 @@ "en": "Bosch Active Connect with 5 pins and cable", "nl": "Bosch Active Connect met 5 pinnen aan een kabel", "ca": "Bosch Active Connect amb 5 pins i cable", + "cs": "Bosch Active Connect s 5 kolíny a kabelem", "de": " Bosch Active Connect mit 5 Pins und Kabel", - "es": "Bosch Active Connect con 5 pines y cable", - "cs": "Bosch Active Connect s 5 kolíny a kabelem" + "es": "Bosch Active Connect con 5 pines y cable" }, "bosch-5pin.svg", [], @@ -2283,9 +2173,9 @@ "en": "BS1363 (Type G)", "nl": "BS1363 (VK 3-pin)", "ca": "BS1363 (Tipus G)", + "cs": "BS1363 (Typ G)", "de": "BS1363 (Typ G)", - "es": "BS1363 (Tipo G)", - "cs": "BS1363 (Typ G)" + "es": "BS1363 (Tipo G)" }, "bs1363.svg", [ @@ -2305,9 +2195,9 @@ "en": "NEMA 5-15 (Type B)", "nl": "NEMA 5-15 (VS 3-pin)", "ca": "NEMA 5-15 (Tipus B)", + "cs": "NEMA 5-15 (Typ B)", "de": "NEMA 5-15 (Typ B)", - "es": "NEMA 5-15 (Tipo B)", - "cs": "NEMA 5-15 (Typ B)" + "es": "NEMA 5-15 (Tipo B)" }, "nema-5-15.svg", [ @@ -2327,9 +2217,9 @@ "en": "SEV 1011 T23 (Type J)", "nl": "SEV 1011 T23 (Zwitserse 3-pin)", "ca": "SEV 1011 T23 (Tipus J)", + "cs": "SEV 1011 T23 (Typ J)", "de": "SEV 1011 T23 (Typ J)", - "es": "SEV 1011 T23 (Tipo J)", - "cs": "SEV 1011 T23 (Typ J)" + "es": "SEV 1011 T23 (Tipo J)" }, "typej.svg", [ @@ -2349,9 +2239,9 @@ "en": "AS3112 (Type I)", "nl": "AS3112 (Australische 3-pin)", "ca": "AS3112 (Tipus I)", + "cs": "AS3112 (Typ I)", "de": "AS3112 (Typ I)", - "es": "AS3112 (Tipo I)", - "cs": "AS3112 (Typ I)" + "es": "AS3112 (Tipo I)" }, "as3112.svg", [ @@ -2371,9 +2261,9 @@ "en": "NEMA 5-20 (Type B)", "nl": "NEMA 5-20 (VS 3-pin)", "ca": "NEMA 5-20 (Tipus B)", + "cs": "NEMA 5-20 (Typ B)", "de": "NEMA 5-20 (Typ B)", - "es": "NEMA 5-20 (Tipo B)", - "cs": "NEMA 5-20 (Typ B)" + "es": "NEMA 5-20 (Tipo B)" }, "nema-5-20.svg", [ @@ -2411,9 +2301,9 @@ "en": "There are {{{key}}} plugs of type {{description}} available here", "nl": "Hier zijn {{{key}}} stekkers van het type {{description}}", "ca": "Hi ha {{{key}}} endolls del tipus {{description}} disponibles aquí", + "cs": "Je tu k dispozici {{{key}}} zásuvek typu {{description}}", "de": "Hier sind {{{key}}} Stecker vom Typ {{description}} verfügbar", - "es": "Hay {{{key}}} enchufes del tipo {{description}} disponibles aquí", - "cs": "Je tu k dispozici {{{key}}} zásuvek typu {{description}}" + "es": "Hay {{{key}}} enchufes del tipo {{description}} disponibles aquí" }, "icon": "./assets/layers/charging_station/{{image}}", "freeform": { @@ -2447,9 +2337,9 @@ "en": "{{description}} outputs {canonical({{key}}:voltage)}", "nl": "{{description}} heeft een spanning van {canonical({{key}}:voltage)}", "ca": "{{description}} entrega {canonical({{key}}:voltage)}", + "cs": "{{description}} poskytuje {canonical({{key}}:voltage)}", "de": "{{description}} liefert {canonical({{key}}:voltage)}", - "es": "{{description}} entrega {canonical({{key}}:voltage)}", - "cs": "{{description}} poskytuje {canonical({{key}}:voltage)}" + "es": "{{description}} entrega {canonical({{key}}:voltage)}" }, "freeform": { "key": "{{key}}:voltage", @@ -2482,17 +2372,17 @@ "en": "What current do the plugs with {{description}} offer?", "nl": "Welke stroom levert de stekker van type {{description}}?", "ca": "Quin corrent ofereixen els endolls amb {{description}}?", + "cs": "Jaký proud nabízí zásuvky {{description}}?", "de": "Welchen Strom bieten die Stecker mit {{description}}?", - "es": "¿Qué corriente ofrecen los enchufes con {{description}}?", - "cs": "Jaký proud nabízí zásuvky {{description}}?" + "es": "¿Qué corriente ofrecen los enchufes con {{description}}?" }, "render": { "en": "{{description}} outputs at most {canonical({{key}}:current)}", "nl": "{{description}} levert een stroom van maximaal {canonical({{key}}:current)}", "ca": "{{description}} entrega com a màxim {canonical({{key}}:current)}", + "cs": "{{description}} poskytuje nejvýše {canonical({{key}}:current)}", "de": "{{description}} liefert maximal {canonical({{key}}:current)}", - "es": "{{description}} entrega como máximo {canonical({{key}}:current)}", - "cs": "{{description}} poskytuje nejvýše {canonical({{key}}:current)}" + "es": "{{description}} entrega como máximo {canonical({{key}}:current)}" }, "freeform": { "key": "{{key}}:current", @@ -2504,9 +2394,9 @@ "en": "{{description}} outputs at most {{commonCurrent}} A", "nl": "{{description}} levert een stroom van maximaal {{commonCurrent}} A", "ca": "{{description}} entrega com a màxim {{commonCurrent}} A", + "cs": "{{description}} poskytuje nejvýše {{commonCurrent}} A", "de": "{{description}} liefert maximal {{commonCurrent}} A", - "es": "{{description}} entrega como máximo {{commonCurrent}} A", - "cs": "{{description}} poskytuje nejvýše {{commonCurrent}} A" + "es": "{{description}} entrega como máximo {{commonCurrent}} A" } }, "condition": { @@ -2525,17 +2415,17 @@ "en": "What power output does a single plug of type {{description}} offer?", "nl": "Welk vermogen levert een enkele stekker van type {{description}}?", "ca": "Quina potència de sortida ofereix un únic connector del tipus {{description}}?", + "cs": "Jaký výkon nabízí jednotlivá zásuvka typu {{description}}?", "de": "Welche Leistung liefert ein einzelner Stecker des Typs {{description}}?", - "es": "¿Qué potencia de salida ofrece un solo enchufe del tipo {{description}}?", - "cs": "Jaký výkon nabízí jednotlivá zásuvka typu {{description}}?" + "es": "¿Qué potencia de salida ofrece un solo enchufe del tipo {{description}}?" }, "render": { "en": "{{description}} outputs at most {canonical({{key}}:output)}", "nl": "{{description}} levert een vermogen van maximaal {canonical({{key}}:output)}", "ca": "{{description}} entrega com a màxim {canonical({{key}}:output)}", + "cs": "{{description}} poskytuje nejvýše {canonical({{key}}:output)}", "de": "{{description}} liefert maximal {canonical({{key}}:output)}", - "es": "{{description}} entrega como máximo {canonical({{key}}:output)}", - "cs": "{{description}} poskytuje nejvýše {canonical({{key}}:output)}" + "es": "{{description}} entrega como máximo {canonical({{key}}:output)}" }, "freeform": { "key": "{{key}}:output", @@ -2547,9 +2437,9 @@ "en": "{{description}} outputs at most {{commonOutput}}", "nl": "{{description}} levert een vermogen van maximaal {{commonOutput}}", "ca": "{{description}} entrega com a màxim {{commonOutput}}", + "cs": "{{description}} poskytuje nejvýše {{commonOutput}}", "de": "{{description}} liefert maximal {{commonOutput}}", - "es": "{{description}} entrega como máximo {{commonOutput}}", - "cs": "{{description}} poskytuje nejvýše {{commonOutput}}" + "es": "{{description}} entrega como máximo {{commonOutput}}" } }, "condition": { @@ -2582,10 +2472,10 @@ "en": "Does one have to pay to use this charging station?", "nl": "Moet men betalen om dit oplaadpunt te gebruiken?", "ca": "Hi ha que pagar per utilitzar aquest punt de càrrega?", + "cs": "Musí se platit za použití této nabíjecí stanice?", "de": "Muss man für die Nutzung dieser Ladestation bezahlen?", "es": "¿Hay que pagar para usar este punto de carga?", - "uk": "Чи потрібно платити за користування цією зарядною станцією?", - "cs": "Musí se platit za použití této nabíjecí stanice?" + "uk": "Чи потрібно платити за користування цією зарядною станцією?" }, "mappings": [ { @@ -2601,10 +2491,10 @@ "nl": "Gratis te gebruiken (zonder aan te melden)", "en": "Free to use (without authenticating)", "ca": "Ús gratuït (sense autentificació)", + "cs": "Použití zdarma (bez ověření)", "de": "Die Nutzung ist kostenlos, keine Authentifizierung erforderlich", "es": "De uso gratuito (sin autenticación)", - "uk": "Безкоштовне використання (без автентифікації)", - "cs": "Použití zdarma (bez ověření)" + "uk": "Безкоштовне використання (без автентифікації)" } }, { @@ -2620,10 +2510,10 @@ "nl": "Gratis te gebruiken, maar aanmelden met een applicatie is verplicht", "en": "Free to use, but one has to authenticate", "ca": "Ús gratuït, però un s'ha d'autentificar", + "cs": "Použití zdarma, ale je potřeba se ověřit", "de": "Die Nutzung ist kostenlos, Authentifizierung erforderlich", "es": "De uso gratuito, pero hay que autenticarse", - "uk": "Безкоштовне використання, але потрібно пройти аутентифікацію", - "cs": "Použití zdarma, ale je potřeba se ověřit" + "uk": "Безкоштовне використання, але потрібно пройти аутентифікацію" } }, { @@ -2636,10 +2526,10 @@ "nl": "Gratis te gebruiken", "en": "Free to use", "ca": "Ús gratuït", + "cs": "Použití zdarma", "de": "Kostenlose Nutzung", "es": "De uso gratuito", - "pl": "Darmowa", - "cs": "Použití zdarma" + "pl": "Darmowa" }, "hideInAnswer": true }, @@ -2654,10 +2544,10 @@ "nl": "Betalend te gebruiken, maar gratis voor klanten van het bijhorende hotel/café/ziekenhuis/...", "en": "Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station", "ca": "De pagament, però gratuït per als clients de l'hotel/bar/hospital/... que gestiona l'estació de càrrega", + "cs": "Placené použití, ale zdarma pro zákazníky hotelu/restaurace/nemocnice... které provozují nabíjecí stanici", "de": "Die Nutzung ist kostenpflichtig, aber für Kunden des Betreibers der Einrichtung, wie Hotel, Krankenhaus, ... kostenlos", "es": "De pago, pero gratuito para clientes del hotel/pub/hospital/... que opera el punto de carga", - "uk": "Платне користування, але безкоштовне для клієнтів готелю/пабу/лікарні/..., який експлуатує зарядну станцію", - "cs": "Placené použití, ale zdarma pro zákazníky hotelu/restaurace/nemocnice... které provozují nabíjecí stanici" + "uk": "Платне користування, але безкоштовне для клієнтів готелю/пабу/лікарні/..., який експлуатує зарядну станцію" } }, { @@ -2671,10 +2561,10 @@ "nl": "Betalend", "en": "Paid use", "ca": "Ús de pagament", + "cs": "Placené použití", "de": "Die Nutzung ist kostenpflichtig", "es": "De pago", - "uk": "Платне користування", - "cs": "Placené použití" + "uk": "Платне користування" } } ] @@ -2685,17 +2575,17 @@ "en": "How much does one have to pay to use this charging station?", "nl": "Hoeveel moet men betalen om dit oplaadpunt te gebruiken?", "ca": "Quant cal pagar per utilitzar aquesta estació de càrrega?", + "cs": "Kolik se musí zaplatit za použití této nabíjecí stanice?", "de": "Wie viel muss man für die Nutzung dieser Ladestation bezahlen?", - "es": "¿Cuánto hay que pagar para usar este punto de carga?", - "cs": "Kolik se musí zaplatit za použití této nabíjecí stanice?" + "es": "¿Cuánto hay que pagar para usar este punto de carga?" }, "render": { "en": "Using this charging station costs {charge}", "nl": "Dit oplaadpunt gebruiken kost {charge}", "ca": "Utilitzar aquesta estació de càrrega costa {charge}", + "cs": "Použití této nabíjecí stanice stojí {charge}", "de": "Die Nutzung dieser Ladestation kostet {charge}", - "es": "Usar este punto de carga cuesta {charge}", - "cs": "Použití této nabíjecí stanice stojí {charge}" + "es": "Usar este punto de carga cuesta {charge}" }, "freeform": { "key": "charge" @@ -2909,10 +2799,10 @@ "en": "Authenticate by calling or SMS'ing to {authentication:phone_call:number}", "nl": "Aanmelden door te bellen of te SMS'en naar {authentication:phone_call:number}", "ca": "Autentiqueu-vos trucant o enviant SMS a {authentication:phone_call:number}", + "cs": "Ověření zavoláním nebo posláním SMS na {authentication:phone_call:number}", "de": "Authentifiziere dich, indem du anrufst oder eine SMS sendest an {authentication:phone_call:number}", "es": "Autentifícate llamando o enviando un SMS a {authentication:phone_call:number}", - "uk": "Авторизуйтесь, зателефонувавши або надіславши SMS на {authentication:phone_call:number}", - "cs": "Ověření zavoláním nebo posláním SMS na {authentication:phone_call:number}" + "uk": "Авторизуйтесь, зателефонувавши або надіславши SMS на {authentication:phone_call:number}" }, "question": { "en": "What's the phone number for authentication call or SMS?", @@ -3088,21 +2978,21 @@ "en": "What number can one call if there is a problem with this charging station?", "nl": "Wat is het telefoonnummer van de beheerder van dit oplaadpunt?", "ca": "A quin número es pot cridar si hi ha algun problema amb aquest punt de càrrega?", + "cs": "Na jaké číslo se dá zavolat, pokud je s touto nabíjecí stanicí problém?", "de": "Welche Nummer kann man anrufen, wenn es ein Problem mit dieser Ladestation gibt?", "es": "¿A qué número se puede llamar si hay un problema con este punto de carga?", "pl": "Na jaki numer można zadzwonić w przypadku problemów z tą stacją ładowania?", - "uk": "За яким номером можна зателефонувати, якщо виникла проблема з цією зарядною станцією?", - "cs": "Na jaké číslo se dá zavolat, pokud je s touto nabíjecí stanicí problém?" + "uk": "За яким номером можна зателефонувати, якщо виникла проблема з цією зарядною станцією?" }, "render": { "en": "In case of problems, call {phone}", "nl": "Bij problemen, bel naar {phone}", "ca": "En cas de problemes, truqueu a {phone}", + "cs": "V případě problémů volejte {phone}", "de": "Bei Problemen, anrufen unter {phone}", "es": "En caso de problemas, llama a {phone}", "pl": "W przypadku problemów zadzwoń na {phone}", - "uk": "У разі виникнення проблем телефонуйте {phone}", - "cs": "V případě problémů volejte {phone}" + "uk": "У разі виникнення проблем телефонуйте {phone}" }, "freeform": { "key": "phone", @@ -3115,19 +3005,19 @@ "en": "What is the email address of the operator?", "nl": "Wat is het email-adres van de operator?", "ca": "Quin és el correu electrònic de l'operadora?", + "cs": "Jaká je e-mailová adresa provozovatele?", "de": "Wie lautet die E-Mail-Adresse des Betreibers?", "es": "¿Cuál es la dirección de correo electrónico del operador?", - "uk": "Яка електронна адреса оператора?", - "cs": "Jaká je e-mailová adresa provozovatele?" + "uk": "Яка електронна адреса оператора?" }, "render": { "en": "In case of problems, send an email to {email}", "nl": "Bij problemen, email naar {email}", "ca": "En cas de problemes, envia un email a {email}", + "cs": "V případě problémů pošlete e-mail na {email}", "de": "Bei Problemen senden Sie bitte eine E-Mail an {email}", "es": "En caso de problemas, envía un correo electrónico a {email}", - "pl": "W przypadku problemów, wyślij emaila do {email}", - "cs": "V případě problémů pošlete e-mail na {email}" + "pl": "W przypadku problemów, wyślij emaila do {email}" }, "freeform": { "key": "email", @@ -3140,19 +3030,19 @@ "en": "What is the website where one can find more information about this charging station?", "nl": "Wat is de website waar men meer info kan vinden over dit oplaadpunt?", "ca": "Quina és la web on es pot trobar més informació sobre aquesta estació de càrrega?", + "cs": "Na jaké webové stránce lze najít více informací o této nabíjecí stanici?", "de": "Auf welcher Webseite kann man weitere Informationen über diese Ladestation finden?", "es": "¿Cuál es la página web donde se puede encontrar más información sobre este punto de carga?", - "uk": "На якому веб-сайті можна знайти більше інформації про цю зарядну станцію?", - "cs": "Na jaké webové stránce lze najít více informací o této nabíjecí stanici?" + "uk": "На якому веб-сайті можна знайти більше інформації про цю зарядну станцію?" }, "render": { "en": "More info on {website}", "nl": "Meer informatie op {website}", "ca": "Més informació a {website}", + "cs": "Více informací na {website}", "de": "Weitere Informationen unter {website}", "es": "Más información en {website}", - "uk": "Більше інформації на {website}", - "cs": "Více informací na {website}" + "uk": "Більше інформації на {website}" }, "freeform": { "key": "website", @@ -3166,19 +3056,19 @@ "en": "What is the reference number of this charging station?", "nl": "Wat is het referentienummer van dit oplaadstation?", "ca": "Quin és el número de referència d'aquesta estació de càrrega?", + "cs": "Jaké je referenční číslo této nabíjecí stanice?", "de": "Welche Kennnummer hat die Ladestation?", "es": "¿Cuál es el número de referencia de este punto de carga?", - "pl": "Jaki jest numer referencyjny tej stacji ładowania?", - "cs": "Jaké je referenční číslo této nabíjecí stanice?" + "pl": "Jaki jest numer referencyjny tej stacji ładowania?" }, "render": { "en": "Reference number is {ref}", "nl": "Het referentienummer van dit oplaadpunt is {ref}", "ca": "El número de referència és {ref}", + "cs": "Referenční číslo je {ref}", "de": "Die Kennziffer ist {ref}", "es": "El número de referencia es {ref}", - "pl": "Numer referencyjny to {ref}", - "cs": "Referenční číslo je {ref}" + "pl": "Numer referencyjny to {ref}" }, "freeform": { "key": "ref" @@ -3356,9 +3246,120 @@ "en": "

Technical questions

The questions below are very technical. Feel free to ignore them
{questions(technical)}", "nl": "

Technische vragen

De vragen hieronder zijn erg technisch - sla deze over indien je hier geen tijd voor hebt
{questions(technical)}", "ca": "

Preguntes tècniques

Les preguntes següents són molt tècniques. Sent-te lliure d'ignorar-les
{questions(technical)}", + "cs": "

Technické dotazy

Otázky níže jsou velmi technické. Klidně je ignorujte
{questions(technical)}", "de": "

Technische Frage

Die nächsten Fragen sind sehr technisch. Du kannst diese auch überspringen.
{questions(technical)}", - "es": "

Preguntas técnicas

Las preguntas a continuación son muy técnicas Siéntete libre de ignorarlas
{questions(technical)}", - "cs": "

Technické dotazy

Otázky níže jsou velmi technické. Klidně je ignorujte
{questions(technical)}" + "es": "

Preguntas técnicas

Las preguntas a continuación son muy técnicas Siéntete libre de ignorarlas
{questions(technical)}" + } + } + ], + "lineRendering": [ + { + "color": "black", + "width": 2, + "fillColor": "#80808080" + } + ], + "pointRendering": [ + { + "location": [ + "point", + "centroid" + ], + "marker": [ + { + "icon": "pin", + "color": "#fff" + }, + { + "icon": { + "render": "./assets/themes/charging_stations/plug.svg", + "mappings": [ + { + "if": "bicycle=yes", + "then": "./assets/themes/charging_stations/bicycle.svg" + }, + { + "if": { + "or": [ + "car=yes", + "motorcar=yes" + ] + }, + "then": "./assets/themes/charging_stations/car.svg" + } + ] + } + } + ], + "iconBadges": [ + { + "if": { + "or": [ + "disused:amenity=charging_station", + "operational_status=broken" + ] + }, + "then": "close:#c22;" + }, + { + "if": { + "or": [ + "proposed:amenity=charging_station", + "planned:amenity=charging_station" + ] + }, + "then": "./assets/layers/charging_station/under_construction.svg" + }, + { + "if": { + "and": [ + "bicycle=yes", + { + "or": [ + "motorcar=yes", + "car=yes" + ] + } + ] + }, + "then": "circle:#fff;./assets/themes/charging_stations/car.svg" + } + ], + "anchor": "bottom", + "iconSize": "50,50" + } + ], + "presets": [ + { + "tags": [ + "amenity=charging_station", + "motorcar=no", + "bicycle=yes" + ], + "title": { + "en": "charging station for electrical bikes", + "nl": "oplaadpunt voor elektrische fietsen", + "ca": "Estació de càrrega de bicicletes elèctriques", + "cs": "nabíjecí stanice pro elektrokola", + "de": "Ladestation für Elektrofahrräder", + "es": "punto de carga para bicicletas eléctricas", + "uk": "зарядна станція для електровелосипедів" + } + }, + { + "tags": [ + "amenity=charging_station", + "motorcar=yes", + "bicycle=no" + ], + "title": { + "en": "charging station for cars", + "nl": "oplaadstation voor elektrische auto's", + "ca": "estació de càrrega per a cotxes", + "cs": "nabíjecí stanice pro auta", + "de": "Ladestation für Autos", + "es": "punto de carga para coches", + "uk": "зарядна станція для автомобілів" } } ], @@ -3465,9 +3466,9 @@ "en": "Has a
European wall plug with ground pin (CEE7/4 type E)
connector", "nl": "Heeft een
Europese stekker met aardingspin (CEE7/4 type E)
", "ca": "Té un connector
endoll de paret Europeu amb un pin de terra (CEE7/4 tipus F)
", + "cs": "Má
eurozásuvku se zemnicím kolíkem (CEE7/4 typ E)
", "de": "Verfügt über einen
europäischen Netzstecker mit Erdungsstift (CEE7/4 Typ E)
Anschluss", - "es": "Tiene un conector
Enchufe de pared europeo con pin de tierra (tipo CEE7/4 E)
", - "cs": "Má
eurozásuvku se zemnicím kolíkem (CEE7/4 typ E)
" + "es": "Tiene un conector
Enchufe de pared europeo con pin de tierra (tipo CEE7/4 E)
" }, "osmTags": "socket:typee~*" }, @@ -3476,9 +3477,9 @@ "en": "Has a
Chademo
connector", "nl": "Heeft een
Chademo
", "ca": "Té un connector
Chademo
", + "cs": "Má konektor
Chademo
", "de": "Verfügt über einen
Chademo
Stecker", - "es": "Tiene un conector
Chademo
", - "cs": "Má konektor
Chademo
" + "es": "Tiene un conector
Chademo
" }, "osmTags": "socket:chademo~*" }, @@ -3487,9 +3488,9 @@ "en": "Has a
Type 1 with cable (J1772)
connector", "nl": "Heeft een
Type 1 met kabel (J1772)
", "ca": "Té un connector
Tipus 1 amb cable (J1772)
", + "cs": "Má konektor
Typ 1 s kabelem (J1772)
", "de": "Verfügt über einen
Typ 1 (J1772)
Stecker mit Kabel", - "es": "Tiene un conector
Tipo 1 con cable (J1772)
", - "cs": "Má konektor
Typ 1 s kabelem (J1772)
" + "es": "Tiene un conector
Tipo 1 con cable (J1772)
" }, "osmTags": "socket:type1_cable~*" }, @@ -3498,9 +3499,9 @@ "en": "Has a
Type 1 without cable (J1772)
connector", "nl": "Heeft een
Type 1 zonder kabel (J1772)
", "ca": "Té un connector
Tipus 1 sense el cable (J1772)
", + "cs": "Má konektor
Typ 1 bez kabelu (J1772)
", "de": "Verfügt über einen
Typ 1 (J1772)Stecker ohne Kabel
", - "es": "Tiene un conector
Tipo 1 sin cable (J1772)
", - "cs": "Má konektor
Typ 1 bez kabelu (J1772)
" + "es": "Tiene un conector
Tipo 1 sin cable (J1772)
" }, "osmTags": "socket:type1~*" }, @@ -3509,9 +3510,9 @@ "en": "Has a
Type 1 CCS (aka Type 1 Combo)
connector", "nl": "Heeft een
Type 1 CCS (ook gekend als Type 1 Combo)
", "ca": "Té un connector
Tipus 1 CCS (també conegut com a Tipus 1 Combo)
", + "cs": "Má konektor
Typ 1 CCS (též Typ 1 Combo)
", "de": "Verfügt über einen
Typ 1 CCS (Typ 1 Combo)
Stecker", - "es": "Tiene un conector
Tipo 1 CCS (también conocido como Tipo 1 Combo)
", - "cs": "Má konektor
Typ 1 CCS (též Typ 1 Combo)
" + "es": "Tiene un conector
Tipo 1 CCS (también conocido como Tipo 1 Combo)
" }, "osmTags": "socket:type1_combo~*" }, @@ -3520,9 +3521,9 @@ "en": "Has a
Tesla Supercharger
connector", "nl": "Heeft een
Tesla Supercharger
", "ca": "Té un connector
Tesla Supercharger
", + "cs": "Má konektor
Tesla Supercharger
", "de": "Verfügt über einen
Tesla Supercharger
Stecker", - "es": "Tiene un conector
Tesla Supercharger
", - "cs": "Má konektor
Tesla Supercharger
" + "es": "Tiene un conector
Tesla Supercharger
" }, "osmTags": "socket:tesla_supercharger~*" }, @@ -3531,9 +3532,9 @@ "en": "Has a
Type 2 (mennekes)
connector", "nl": "Heeft een
Type 2 (mennekes)
", "ca": "Té un connector
Tipus 2 (mennekes)
", + "cs": "Má konektor
Typ 2 (mennekes)
", "de": "Hat einen
Typ 2 (Mennekes)
Anschluss", - "es": "Tiene un conector
Tipo 2 (mennekes)
", - "cs": "Má konektor
Typ 2 (mennekes)
" + "es": "Tiene un conector
Tipo 2 (mennekes)
" }, "osmTags": "socket:type2~*" }, @@ -3542,9 +3543,9 @@ "en": "Has a
Type 2 CCS (mennekes)
connector", "nl": "Heeft een
Type 2 CCS (mennekes)
", "ca": "Té un connector
Tipus 2 CCS (mennekes)
", + "cs": "Má konektor
Typ 2 CCS (mennekes)
", "de": "Hat einen
Typ 2 CCS (Mennekes)
Anschluss", - "es": "Tiene un conector
Tipo 2 CCS (mennekes)
", - "cs": "Má konektor
Typ 2 CCS (mennekes)
" + "es": "Tiene un conector
Tipo 2 CCS (mennekes)
" }, "osmTags": "socket:type2_combo~*" }, @@ -3586,9 +3587,9 @@ "en": "Has a
Tesla supercharger (destination) (A Type 2 with cable branded as tesla)
connector", "nl": "Heeft een
Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo)
", "ca": "Té un connector
Supercarregador Tesla (destinació) (Un tipus 2 amb cable de la marca Tesla)
", + "cs": "Má connector
Tesla supercharger (Typ 2 s kabelem pod značkou Tesla)
", "de": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel", - "es": "Tiene un conector
Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)
", - "cs": "Má connector
Tesla supercharger (Typ 2 s kabelem pod značkou Tesla)
" + "es": "Tiene un conector
Supercargador Tesla (destino) (Un tipo 2 con cable de marca Tesla)
" }, "osmTags": "socket:tesla_destination~*" }, @@ -3597,10 +3598,10 @@ "en": "Has a
USB to charge phones and small electronics
connector", "nl": "Heeft een
USB om GSMs en kleine electronica op te laden
", "ca": "Té un connector
USB per carregar telèfons i dispositius electrònics petits
", + "cs": "Má konektor
USB k nabíjení telefonů a drobné elektroniky
", "de": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
", "es": "Tiene un conector
USB para cargar teléfonos y pequeños dispositivos electrónicos
", - "uk": "Має
USB для зарядки телефонів і малої електроніки
роз'єм", - "cs": "Má konektor
USB k nabíjení telefonů a drobné elektroniky
" + "uk": "Має
USB для зарядки телефонів і малої електроніки
роз'єм" }, "osmTags": "socket:USB-A~*" }, @@ -3609,9 +3610,9 @@ "en": "Has a
Bosch Active Connect with 3 pins and cable
connector", "nl": "Heeft een
Bosch Active Connect met 3 pinnen aan een kabel
", "ca": "Té un connector
Bosch Active Connect amb 3 pins i cable
", + "cs": "Má konektor
Bosch Active Connect se 3 kolíky a kabelem
", "de": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel", - "es": "Tiene un conector
Bosch Active Connect con 3 pines y cable
", - "cs": "Má konektor
Bosch Active Connect se 3 kolíky a kabelem
" + "es": "Tiene un conector
Bosch Active Connect con 3 pines y cable
" }, "osmTags": "socket:bosch_3pin~*" }, @@ -3620,9 +3621,9 @@ "en": "Has a
Bosch Active Connect with 5 pins and cable
connector", "nl": "Heeft een
Bosch Active Connect met 5 pinnen aan een kabel
", "ca": "Té un connector
Bosch Active Connect amb 5 pins i cable
", + "cs": "Má konektor
Bosch Active Connect s 5 kolíky a kabelem
connector", "de": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel", - "es": "Tiene un conector
Bosch Active Connect con 5 pines y cable
", - "cs": "Má konektor
Bosch Active Connect s 5 kolíky a kabelem
connector" + "es": "Tiene un conector
Bosch Active Connect con 5 pines y cable
" }, "osmTags": "socket:bosch_5pin~*" }, @@ -3631,9 +3632,9 @@ "en": "Has a
BS1363 (Type G)
connector", "nl": "Heeft een
BS1363 (VK 3-pin)
", "ca": "Té un connector
BS1363 (Tipus G)
", + "cs": "Má konektor
BS1363 (Typ G)
", "de": "Hat ein
BS1363 (Type G)
Anschluss", - "es": "Tiene un conector
BS1363 (Tipo G)
", - "cs": "Má konektor
BS1363 (Typ G)
" + "es": "Tiene un conector
BS1363 (Tipo G)
" }, "osmTags": "socket:bs1363~*" }, @@ -3642,9 +3643,9 @@ "en": "Has a
NEMA 5-15 (Type B)
connector", "nl": "Heeft een
NEMA 5-15 (VS 3-pin)
", "ca": "Té un connector
NEMA 5-15 (Tipus B)
", + "cs": "Má konektor
NEMA 5-15 (Typ B)
", "de": "Hat ein
NEMA 5-15 (Type B)
Anschluss", - "es": "Tiene un conector
NEMA 5-15 (Tipo B)
", - "cs": "Má konektor
NEMA 5-15 (Typ B)
" + "es": "Tiene un conector
NEMA 5-15 (Tipo B)
" }, "osmTags": "socket:nema5_15~*" }, @@ -3653,9 +3654,9 @@ "en": "Has a
SEV 1011 T23 (Type J)
connector", "nl": "Heeft een
SEV 1011 T23 (Zwitserse 3-pin)
", "ca": "Té un connector
SEV 1011 T23 (Tipus J)
", + "cs": "Má konektor
SEV 1011 T23 (Typ J)
", "de": "Hat ein
SEV 1011 T23 (Type J)
Anschluss", - "es": "Tiene un conector
SEV 1011 T23 (Tipo J)
", - "cs": "Má konektor
SEV 1011 T23 (Typ J)
" + "es": "Tiene un conector
SEV 1011 T23 (Tipo J)
" }, "osmTags": "socket:sev1011_t23~*" }, @@ -3664,9 +3665,9 @@ "en": "Has a
AS3112 (Type I)
connector", "nl": "Heeft een
AS3112 (Australische 3-pin)
", "ca": "Té un connector
AS3112 (Tipus I)
", + "cs": "Má konektor
AS3112 (Typ I)
", "de": "Hat ein
AS3112 (Type I)
Anschluss", - "es": "Tiene un conector
AS3112 (Tipo I)
", - "cs": "Má konektor
AS3112 (Typ I)
" + "es": "Tiene un conector
AS3112 (Tipo I)
" }, "osmTags": "socket:as3112~*" }, @@ -3675,28 +3676,15 @@ "en": "Has a
NEMA 5-20 (Type B)
connector", "nl": "Heeft een
NEMA 5-20 (VS 3-pin)
", "ca": "Té un connector
NEMA 5-20 (Tipus B)
", + "cs": "Má konektor
NEMA 5-20 (Typ B)
", "de": "Hat ein
NEMA 5-20 (Type B)
Anschluss", - "es": "Tiene un conector
NEMA 5-20 (Tipo B)
", - "cs": "Má konektor
NEMA 5-20 (Typ B)
" + "es": "Tiene un conector
NEMA 5-20 (Tipo B)
" }, "osmTags": "socket:nema_5_20~*" } ] } ], - "deletion": { - "softDeletionTags": { - "and": [ - "amenity=", - "disused:amenity=charging_station" - ] - }, - "neededChangesets": 10 - }, - "allowMove": { - "enableRelocation": false, - "enableImproveAccuracy": true - }, "units": [ { "maxstay": { @@ -3891,5 +3879,17 @@ } } ], - "#": "no-question-hint-check" -} + "allowMove": { + "enableRelocation": false, + "enableImproveAccuracy": true + }, + "deletion": { + "softDeletionTags": { + "and": [ + "amenity=", + "disused:amenity=charging_station" + ] + }, + "neededChangesets": 10 + } +} \ No newline at end of file diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index 1c3e1789f..c850ff8d1 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -9,6 +9,15 @@ "nl": "Wijzigingen gemaakt met MapComplete", "ko": "MapComplete로 이루어진 변경 사항" }, + "shortDescription": { + "en": "Shows changes made by MapComplete", + "de": "Zeigt die von MapComplete vorgenommenen Änderungen an", + "cs": "Zobrazuje změny provedené nástrojem MapComplete", + "es": "Muestra los cambios realizados por MapComplete", + "fr": "Afficher les modifications faites avec MapComplete", + "nl": "Toont wijzigingen gemaakt met MapComplete", + "ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다" + }, "description": { "en": "This maps shows all the changes made with MapComplete", "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", @@ -19,17 +28,11 @@ "nl": "Deze kaarten tonen alle wijzigingen die zijn gemaakt met MapComplete", "ko": "이 지도는 MapComplete를 사용하여 이루어진 모든 변경 사항을 표시합니다" }, - "shortDescription": { - "en": "Shows changes made by MapComplete", - "de": "Zeigt die von MapComplete vorgenommenen Änderungen an", - "cs": "Zobrazuje změny provedené nástrojem MapComplete", - "es": "Muestra los cambios realizados por MapComplete", - "fr": "Afficher les modifications faites avec MapComplete", - "nl": "Toont wijzigingen gemaakt met MapComplete", - "ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다" - }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, + "startLat": 0, + "startLon": 0, + "startZoom": 1, "layers": [ { "id": "mapcomplete-changes", @@ -182,19 +185,22 @@ { "id": "platform", "question": { - "en": "With what platform was the change made?" + "en": "With what platform was the change made?", + "cs": "S jakou platformou byly změny provedeny?" }, "mappings": [ { "if": "android=", "then": { - "en": "Made on the web" + "en": "Made on the web", + "cs": "Vytvořeno na webu" } }, { "if": "android=yes", "then": { - "en": "Made with the android app" + "en": "Made with the android app", + "cs": "Vytvořeno s aplikací pro Android" } } ] @@ -847,19 +853,22 @@ "options": [ { "question": { - "en": "All platforms" + "en": "All platforms", + "cs": "Všechny platformy" }, "quesiton": "All platforms" }, { "question": { - "en": "Made with Android" + "en": "Made with Android", + "cs": "Vytvořeno s Androidem" }, "osmTags": "android=yes" }, { "question": { - "en": "Made on the web" + "en": "Made on the web", + "cs": "Vytvořeno na webu" }, "osmTags": "android=" } diff --git a/langs/layers/ca.json b/langs/layers/ca.json index a558af062..742033dcb 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -13569,25 +13569,6 @@ "walls_and_buildings": { "description": "Capa construïda especial que proporciona totes les parets i edificis. Aquesta capa és útil als predefinits per a objectes que es poden col·locar a les parets (p. ex. DEA, bústies de correus, entrades, adreces, càmeres de vigilància, ...). Aquesta capa és invisible per defecte i no es pot activar per l'usuari.", "snapName": "un mur o edifici", - "tagRenderings": { - "entrance_info": { - "mappings": { - "0": { - "then": "No s'ha senyalitzat cap entrada" - }, - "1": { - "then": "Cap de les {_entrance_count} entrades té informació d'amplada encara" - } - }, - "render": { - "after": "{_entrances_count_without_width_count} entrades encara no tenen informació d'amplada", - "before": "

Entrades

Aquest edifici té {_entrances_count} entrades:", - "special": { - "tagrendering": "Una entrada de {canonical(width)}" - } - } - } - }, "title": { "render": "Paret o edifici" } diff --git a/langs/layers/cs.json b/langs/layers/cs.json index 96b9af798..a03fe18eb 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -11230,25 +11230,6 @@ "walls_and_buildings": { "description": "Speciální zabudovaná vrstva poskytující všechny stěny a budovy. Tato vrstva je užitečná v předvolbách pro objekty, které lze umístit ke stěnám (např. AED, poštovní schránky, vchody, adresy, bezpečnostní kamery, …). Tato vrstva je ve výchozím nastavení neviditelná a uživatel ji nemůže přepínat.", "snapName": "zeď nebo budova", - "tagRenderings": { - "entrance_info": { - "mappings": { - "0": { - "then": "Nebyl označen žádný vchod" - }, - "1": { - "then": "Žádný z {_entrance_count} vchodů zatím nemá informace o šířce" - } - }, - "render": { - "after": "{_entrances_count_without_width_count} vchody zatím nemají informace o šířce", - "before": "

Vchody

Tato budova má {_entrances_count} vchodů:", - "special": { - "tagrendering": "vchod {canonical(width)}" - } - } - } - }, "title": { "render": "Zeď nebo budova" } diff --git a/langs/layers/da.json b/langs/layers/da.json index 08ace7831..c784113f9 100644 --- a/langs/layers/da.json +++ b/langs/layers/da.json @@ -2898,25 +2898,6 @@ }, "walls_and_buildings": { "description": "Specielt indbygget lag giver alle vægge og bygninger. Dette lag er nyttigt i forudindstillinger til objekter, der kan placeres mod vægge (f.eks. AED'er, postkasser, indgange, adresser, overvågningskameraer, …). Dette lag er usynligt som standard og kan ikke skiftes af brugeren.", - "tagRenderings": { - "entrance_info": { - "mappings": { - "0": { - "then": "Der er ikke markeret nogen indgang" - }, - "1": { - "then": "Ingen af {_entrance_count}-indgangene har oplysninger om bredde endnu" - } - }, - "render": { - "after": "{_entrances_count_without_width_count} indgange har endnu ikke oplysninger om bredde", - "before": "

Indgange

Denne bygning har {_entrances_count} indgange:", - "special": { - "tagrendering": "En indgang på {canonical(width)}" - } - } - } - }, "title": { "render": "Mur eller bygning" } diff --git a/langs/layers/de.json b/langs/layers/de.json index 510eefac7..b122b8aed 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -13545,25 +13545,6 @@ "walls_and_buildings": { "description": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden.", "snapName": "eine Wand oder ein Gebäude", - "tagRenderings": { - "entrance_info": { - "mappings": { - "0": { - "then": "Es wurde kein Eingang markiert" - }, - "1": { - "then": "Keiner der {_entrance_count} Eingänge hat bisher Angaben zur Breite" - } - }, - "render": { - "after": "{_entrances_count_without_width_count} Eingänge haben keine Angaben zur Breite", - "before": "

Eingänge

Das Gebäude hat {_entrances_count} Eingänge:", - "special": { - "tagrendering": "Ein Eingang von {canonical(width)}" - } - } - } - }, "title": { "render": "Wand oder Gebäude" } diff --git a/langs/layers/en.json b/langs/layers/en.json index d8ea29115..f68d3443f 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -565,6 +565,17 @@ } }, "question": "Does this artwork serve as a memorial?" + }, + "doubles_as_wayside_shrine": { + "mappings": { + "0": { + "then": "This artwork acts as a wayside shrine" + }, + "1": { + "then": "This artwork does not act as a wayside shrine" + } + }, + "question": "Does this artwork also double as wayside shrine?" } }, "title": { @@ -10086,6 +10097,15 @@ }, "scouting_group": { "description": "A map showing scouting groups.", + "filter": { + "1": { + "options": { + "0": { + "question": "Search for brand: {search}" + } + } + } + }, "name": "Scouting groups", "presets": { "0": { @@ -13715,25 +13735,6 @@ "walls_and_buildings": { "description": "Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, …). This layer is invisible by default and not toggleable by the user.", "snapName": "a wall or building", - "tagRenderings": { - "entrance_info": { - "mappings": { - "0": { - "then": "No entrance has been marked" - }, - "1": { - "then": "None of the {_entrance_count} entrances have width information yet" - } - }, - "render": { - "after": "{_entrances_count_without_width_count} entrances don't have width information yet", - "before": "

Entrances

This building has {_entrances_count} entrances:", - "special": { - "tagrendering": "An entrance of {canonical(width)}" - } - } - } - }, "title": { "render": "Wall or building" } @@ -13902,6 +13903,146 @@ "render": "Waste Disposal" } }, + "wayside_shrine": { + "description": "Shrines are religious places that are dedicated to specific deities, saints and other figures of religious importance. Typically, the contain religious depictions and people frequently leave offerings at those places. Wayside shrines are small shrines that can be found next to a road or pathway and are frequented by travellers passing by.", + "name": "Wayside Shrines", + "presets": { + "0": { + "description": "A wayside shrine typically shows a religious depiction, usually placed by a road or pathway. ", + "title": "a wayside shrine" + }, + "1": { + "description": "A wayside shrine typically shows a religious depiction, usually placed by a road or pathway. This shrine is mounted on a wall", + "title": "a wayside shrine mounted on a wall" + } + }, + "tagRenderings": { + "denomination_christian": { + "mappings": { + "0": { + "then": "The religious subdenomination is Catholic" + }, + "1": { + "then": "The religious subdenomination is Roman Catholic" + }, + "2": { + "then": "The religious subdenomination is Orthodox" + }, + "3": { + "then": "The religious subdenomination is Greek-Orthodox" + }, + "4": { + "then": "The religious subdenomination is Russian-Orthodox" + }, + "5": { + "then": "The religious subdenomination is Serbian Orthodox" + }, + "6": { + "then": "The religious subdenomination is Protestant" + }, + "7": { + "then": "The religious subdenomination is Anglican" + }, + "8": { + "then": "The religious subdenomination is Adventist" + }, + "9": { + "then": "The religious subdenomination is evangelical" + } + }, + "question": "What's the Christian denomination of the shrine?", + "render": "The religious denomination is {denomination}" + }, + "denomination_jewish": { + "mappings": { + "0": { + "then": "The religious subdenomination is Conservative" + }, + "1": { + "then": "The religious subdenomination is Orthodox" + }, + "2": { + "then": "The religious subdenomination is Hasidic" + }, + "3": { + "then": "The religious subdenomination is Reform" + } + }, + "question": "What's the Jewish denomination of this shrine?", + "render": "The religious subdenomination is {denomination}" + }, + "denomination_muslim": { + "mappings": { + "0": { + "then": "The religious subdenomination is Shia" + }, + "1": { + "then": "The religious subdenomination is Sunni" + }, + "2": { + "then": "The religious subdenomination is Sufi" + } + }, + "question": "What's the Muslim denomination of this shrine?", + "render": "The religious subdenomination is {denomination}" + }, + "denomination_other": { + "question": "What's the denomination of this shrine?", + "render": "The denomination of this shrine is {denomination}" + }, + "religion": { + "mappings": { + "0": { + "then": "This is a Christian shrine" + }, + "1": { + "then": "This is a Buddhist shrine" + }, + "10": { + "then": "This is a Zoroastrian shrine" + }, + "2": { + "then": "This is a Hindu shrine" + }, + "3": { + "then": "This is a Jain shrine" + }, + "4": { + "then": "This is a Jewish shrine" + }, + "5": { + "then": "This is an Islamic shrine" + }, + "6": { + "then": "This is a Pagan shrine" + }, + "7": { + "then": "This is a Shinto shrine" + }, + "8": { + "then": "This is a Sikh shrine" + }, + "9": { + "then": "This is a Taoist shrine" + } + }, + "question": "To which religion is this shrine dedicated?", + "render": "This shrine is {religion}" + }, + "shrine_name": { + "mappings": { + "0": { + "then": "This shrine does not have a name" + } + }, + "question": "What's the name of this shrine?", + "render": "The name of this shrine is {name}" + } + }, + "title": { + "render": "Wayside Shrine {name}" + } + }, "windturbine": { "description": "Modern windmills generating electricity", "name": "wind turbine", diff --git a/langs/layers/es.json b/langs/layers/es.json index c7875c70a..6ece3aa66 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -12433,25 +12433,6 @@ "walls_and_buildings": { "description": "Capa incorporada especial que proporciona todas las paredes y edificios. Esta capa es útil en los ajustes preestablecidos para objetos que se pueden colocar contra las paredes (por ejemplo, DEA, buzones, entradas, direcciones, cámaras de vigilancia, etc.). Esta capa es invisible de forma predeterminada y el usuario no puede activarla.", "snapName": "una pared o edificio", - "tagRenderings": { - "entrance_info": { - "mappings": { - "0": { - "then": "No se ha marcado ninguna entrada" - }, - "1": { - "then": "Ninguna de las {_entrance_count} entradas tiene información de ancho todavía" - } - }, - "render": { - "after": "{_entrances_count_without_width_count} entradas aún no tienen información de ancho", - "before": "

Entradas

Este edificio tiene {_entrances_count} entradas:", - "special": { - "tagrendering": "Una entrada de {canonical(width)}" - } - } - } - }, "title": { "render": "Pared o edificio" } diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 63684eeb8..adb678192 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -11032,25 +11032,6 @@ "walls_and_buildings": { "description": "Speciale ingebouwde laag voor alle muren en gebouwen. Deze laag is nuttig in voorkeuzen voor objecten die tegen muren geplaatst kunnen worden (bv. AEDs, brievenbussen, ingangen, adressen, beveiligingscamera's,…). Deze laag is standaard onzichtbaar en niet in te schakelen door de gebruiker.", "snapName": "een muur of gebouw", - "tagRenderings": { - "entrance_info": { - "mappings": { - "0": { - "then": "Geen ingang is gemarkeerd" - }, - "1": { - "then": "Geen van de {_entrance_count} ingangen hebben al informatie over de breedte" - } - }, - "render": { - "after": "{_entrances_count_without_width_count} ingangen hebben nog geen informatie over de breedte", - "before": "

Ingangen

Dit gebouw heeft {_entrances_count} ingangen:", - "special": { - "tagrendering": "Een ingang van {canonical(width)}" - } - } - } - }, "title": { "render": "Muur of gebouw" } diff --git a/langs/themes/ca.json b/langs/themes/ca.json index 89f271919..26197dc4f 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -669,6 +669,29 @@ "onwheels": { "description": "En aquest mapa, es mostren llocs públics accessibles per a cadira de rodes i es poden afegir fàcilment", "layers": { + "16": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "No s'ha senyalitzat cap entrada" + }, + "1": { + "then": "Cap de les {_entrance_count} entrades té informació d'amplada encara" + } + }, + "render": { + "after": "{_entrances_count_without_width_count} entrades encara no tenen informació d'amplada", + "before": "

Entrades

Aquest edifici té {_entrances_count} entrades:", + "special": { + "tagrendering": "Una entrada de {canonical(width)}" + } + } + } + } + } + }, "20": { "override": { "=title": { diff --git a/langs/themes/cs.json b/langs/themes/cs.json index 40000bf62..9387ee419 100644 --- a/langs/themes/cs.json +++ b/langs/themes/cs.json @@ -889,6 +889,29 @@ "0": { "description": "Všechny objekty, které mají data vstupu mapována na vybavení namísto objektu vstupu" }, + "16": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "Nebyl označen žádný vchod" + }, + "1": { + "then": "Žádný z {_entrance_count} vchodů zatím nemá informace o šířce" + } + }, + "render": { + "after": "{_entrances_count_without_width_count} vchody zatím nemají informace o šířce", + "before": "

Vchody

Tato budova má {_entrances_count} vchodů:", + "special": { + "tagrendering": "vchod {canonical(width)}" + } + } + } + } + } + }, "20": { "override": { "=title": { diff --git a/langs/themes/da.json b/langs/themes/da.json index 0552ecf66..9bba8ee85 100644 --- a/langs/themes/da.json +++ b/langs/themes/da.json @@ -505,6 +505,29 @@ "onwheels": { "description": "På dette kort vises steder, der er offentligt tilgængelige for kørestolsbrugere, og de kan nemt tilføjes", "layers": { + "16": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "Der er ikke markeret nogen indgang" + }, + "1": { + "then": "Ingen af {_entrance_count}-indgangene har oplysninger om bredde endnu" + } + }, + "render": { + "after": "{_entrances_count_without_width_count} indgange har endnu ikke oplysninger om bredde", + "before": "

Indgange

Denne bygning har {_entrances_count} indgange:", + "special": { + "tagrendering": "En indgang på {canonical(width)}" + } + } + } + } + } + }, "20": { "override": { "=title": { diff --git a/langs/themes/de.json b/langs/themes/de.json index e82d5d44a..c8f2cb603 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -862,6 +862,29 @@ "onwheels": { "description": "Auf dieser Karte können Sie öffentlich zugängliche Orte für Rollstuhlfahrer ansehen, bearbeiten oder hinzufügen", "layers": { + "16": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "Es wurde kein Eingang markiert" + }, + "1": { + "then": "Keiner der {_entrance_count} Eingänge hat bisher Angaben zur Breite" + } + }, + "render": { + "after": "{_entrances_count_without_width_count} Eingänge haben keine Angaben zur Breite", + "before": "

Eingänge

Das Gebäude hat {_entrances_count} Eingänge:", + "special": { + "tagrendering": "Ein Eingang von {canonical(width)}" + } + } + } + } + } + }, "20": { "override": { "=title": { diff --git a/langs/themes/en.json b/langs/themes/en.json index 729c671b4..8a91f3192 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -889,6 +889,29 @@ "0": { "description": "All objects which have entrance data mapped on the amenity instead of the entrance object" }, + "16": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "No entrance has been marked" + }, + "1": { + "then": "None of the {_entrance_count} entrances have width information yet" + } + }, + "render": { + "after": "{_entrances_count_without_width_count} entrances don't have width information yet", + "before": "

Entrances

This building has {_entrances_count} entrances:", + "special": { + "tagrendering": "An entrance of {canonical(width)}" + } + } + } + } + } + }, "20": { "override": { "=title": { @@ -1378,5 +1401,9 @@ "description": "On this map, you'll find waste baskets near you. If a waste basket is missing on this map, you can add it yourself.", "shortDescription": "A map with waste baskets", "title": "Waste Baskets" + }, + "wayside_shrines": { + "description": "This map shows shrines found on the side of roads and paths, and allows adding new ones", + "title": "Wayside shrines" } } \ No newline at end of file diff --git a/langs/themes/es.json b/langs/themes/es.json index 3ca061dae..f8b588400 100644 --- a/langs/themes/es.json +++ b/langs/themes/es.json @@ -849,6 +849,29 @@ "onwheels": { "description": "En este mapa, se muestran y se pueden agregar fácilmente lugares accesibles para sillas de ruedas", "layers": { + "16": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "No se ha marcado ninguna entrada" + }, + "1": { + "then": "Ninguna de las {_entrance_count} entradas tiene información de ancho todavía" + } + }, + "render": { + "after": "{_entrances_count_without_width_count} entradas aún no tienen información de ancho", + "before": "

Entradas

Este edificio tiene {_entrances_count} entradas:", + "special": { + "tagrendering": "Una entrada de {canonical(width)}" + } + } + } + } + } + }, "20": { "override": { "=title": { diff --git a/langs/themes/nl.json b/langs/themes/nl.json index 61dea1ffa..49c9e8b22 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -909,6 +909,29 @@ "onwheels": { "description": "Op deze kaart kan je rolstoeltoegankelijke plaatsen vinden en toevoegen", "layers": { + "16": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "Geen ingang is gemarkeerd" + }, + "1": { + "then": "Geen van de {_entrance_count} ingangen hebben al informatie over de breedte" + } + }, + "render": { + "after": "{_entrances_count_without_width_count} ingangen hebben nog geen informatie over de breedte", + "before": "

Ingangen

Dit gebouw heeft {_entrances_count} ingangen:", + "special": { + "tagrendering": "Een ingang van {canonical(width)}" + } + } + } + } + } + }, "20": { "override": { "=title": { diff --git a/src/assets/bing.json b/src/assets/bing.json index 3d6aae6f4..04abd576c 100644 --- a/src/assets/bing.json +++ b/src/assets/bing.json @@ -1 +1 @@ -{"properties":{"name":"Bing Maps Aerial","id":"Bing","url":"https://ecn.t2.tiles.virtualearth.net/tiles/a{quadkey}.jpeg?g=15066&pr=odbl&n=f","type":"bing","category":"photo","min_zoom":1,"max_zoom":22},"type":"Feature","geometry":null} \ No newline at end of file +{"properties":{"name":"Bing Maps Aerial","id":"Bing","url":"https://ecn.t2.tiles.virtualearth.net/tiles/a{quadkey}.jpeg?g=15075&pr=odbl&n=f","type":"bing","category":"photo","min_zoom":1,"max_zoom":22},"type":"Feature","geometry":null} \ No newline at end of file From 70ad2431d0aa0ad25772cd5a72ec0e6ecf16a3e9 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 13 Mar 2025 21:42:38 +0100 Subject: [PATCH 3/5] Fix: fix postfixdistinguished-charge input --- src/Models/ThemeConfig/TagRenderingConfig.ts | 13 ++++++++----- .../Popup/TagRendering/TagRenderingQuestion.svelte | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Models/ThemeConfig/TagRenderingConfig.ts b/src/Models/ThemeConfig/TagRenderingConfig.ts index 4db5a4f05..8751e7738 100644 --- a/src/Models/ThemeConfig/TagRenderingConfig.ts +++ b/src/Models/ThemeConfig/TagRenderingConfig.ts @@ -746,12 +746,14 @@ export default class TagRenderingConfig { if (freeformValue === "") { freeformValue = undefined } - if (this.freeform?.postfixDistinguished) { - const allValues = currentProperties[this.freeform.key].split(";").map((s) => s.trim()) + const pf = this.freeform?.postfixDistinguished + if (pf) { + const v = currentProperties[this.freeform.key] ?? "" + const allValues = v.split(";").map((s) => s.trim()) const perPostfix: Record = {} for (const value of allValues) { - const [v, postfix] = value.split("/") - perPostfix[postfix.trim()] = v.trim() + const [v, postfix] = value.split("/").map(s => s.trim()) + perPostfix[postfix ?? pf] = v.trim() } if (freeformValue === "" || freeformValue === undefined) { delete perPostfix[this.freeform.postfixDistinguished] @@ -1042,7 +1044,8 @@ export default class TagRenderingConfig { */ public markUnknown(layer: LayerConfig, currentProperties: Record): UploadableTag[] { if (this.freeform?.postfixDistinguished) { - const allValues = currentProperties[this.freeform.key].split(";").filter( + const v = currentProperties[this.freeform.key] ?? "" + const allValues = v.split(";").filter( part => part.split("/")[1]?.trim() !== this.freeform.postfixDistinguished ) return [new Tag(this.freeform.key, allValues.join(";"))] diff --git a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte index f78dc6916..e22f3d454 100644 --- a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte @@ -252,6 +252,8 @@ } else if (selectedTags instanceof And) { // Add the extraTags to the existing And selectedTags = [...TagTypes.uploadableAnd(selectedTags), ...extraTagsArray] + } else if (Array.isArray(selectedTags)) { + // pass } else { console.error( "selectedTags is not of type Tag or And, it is a " + JSON.stringify(selectedTags) From 0a67668becb41f2566f353e37bcdb10cc4712f51 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 13 Mar 2025 22:48:21 +0100 Subject: [PATCH 4/5] Style: add glass frost effect to popups --- public/css/index-tailwind-output.css | 10 ++++++++++ src/UI/Base/DrawerLeft.svelte | 1 + src/UI/Base/Popup.svelte | 7 +++++-- src/index.css | 5 +++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index 72cb63208..a7b75b064 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -2006,6 +2006,10 @@ input[type="range"].range-lg::-moz-range-thumb { width: 50%; } +.w-1\/4 { + width: 25%; +} + .w-10 { width: 2.5rem; } @@ -5565,6 +5569,12 @@ code { background-color: #b3b3b3; } +.frozen-glass { + -webkit-backdrop-filter: blur(1px); + backdrop-filter: blur(1px); + background: rgba(100, 100, 100, 0.50); +} + /************************** UTILITY ************************/ /** diff --git a/src/UI/Base/DrawerLeft.svelte b/src/UI/Base/DrawerLeft.svelte index 998a2ce4d..057482276 100644 --- a/src/UI/Base/DrawerLeft.svelte +++ b/src/UI/Base/DrawerLeft.svelte @@ -22,6 +22,7 @@ placement="left" transitionType="fly" {transitionParams} + bgColor="frozen-glass" divClass="overflow-y-auto z-50 " bind:hidden > diff --git a/src/UI/Base/Popup.svelte b/src/UI/Base/Popup.svelte index 059674607..0670c5e7b 100644 --- a/src/UI/Base/Popup.svelte +++ b/src/UI/Base/Popup.svelte @@ -22,11 +22,13 @@ defaultClass = shared } let dialogClass = - "fixed top-0 start-0 end-0 h-modal inset-0 w-full p-4 flex class-marker-dialog " + zIndex + "fixed top-0 start-0 end-0 h-modal inset-0 w-full p-4 flex border-none " + zIndex + + export let backdropClass = "fixed inset-0 z-40 bg-gray-900 bg-opacity-50 dark:bg-opacity-80 frozen-glass" if (fullscreen) { dialogClass += " h-full-child" } - let bodyClass = bodyPadding + " h-full space-y-4 flex-1 overflow-y-auto overscroll-contain" + let bodyClass = bodyPadding + " h-full space-y-4 flex-1 overflow-y-auto overscroll-contain background-normal" let headerClass = "flex justify-between items-center p-2 px-4 md:px-5 rounded-t-lg" if (!$$slots.header) { @@ -48,6 +50,7 @@ {bodyClass} {dialogClass} {headerClass} + {backdropClass} color="none" > diff --git a/src/index.css b/src/index.css index 569df0413..ca22b0957 100644 --- a/src/index.css +++ b/src/index.css @@ -465,6 +465,11 @@ code { background-color: #b3b3b3; } +.frozen-glass { + backdrop-filter: blur(1px); + background: rgba(100, 100, 100, 0.50); +} + /************************** UTILITY ************************/ /** From 589909ba44b0ffbafca3c8a786885424bca8a5e2 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 13 Mar 2025 23:42:52 +0100 Subject: [PATCH 5/5] Feature: improve inspectorGui: add search, placeholder, see #2353 --- src/UI/Base/DrawerRight.svelte | 2 +- src/UI/InspectorGUI.svelte | 61 ++++++++++++++++++++++++----- src/UI/Search/GeocodeResult.svelte | 18 ++++++--- src/UI/Search/GeocodeResults.svelte | 52 ++++++++---------------- src/UI/Search/SearchResults.svelte | 41 ++++++++++++++++++- 5 files changed, 123 insertions(+), 51 deletions(-) diff --git a/src/UI/Base/DrawerRight.svelte b/src/UI/Base/DrawerRight.svelte index f6aaaf440..cb835275f 100644 --- a/src/UI/Base/DrawerRight.svelte +++ b/src/UI/Base/DrawerRight.svelte @@ -19,7 +19,7 @@ let height = 0 onMount(() => { let topbar = document.getElementById("top-bar") - height = topbar.clientHeight + height = topbar?.clientHeight ?? 0 }) diff --git a/src/UI/InspectorGUI.svelte b/src/UI/InspectorGUI.svelte index 182c1f3cf..ca6c4c94a 100644 --- a/src/UI/InspectorGUI.svelte +++ b/src/UI/InspectorGUI.svelte @@ -8,7 +8,6 @@ import { MapLibreAdaptor } from "./Map/MapLibreAdaptor" import { Map as MlMap } from "maplibre-gl" import ShowDataLayer from "./Map/ShowDataLayer" - import StaticFeatureSource from "../Logic/FeatureSource/Sources/StaticFeatureSource" import type { Feature } from "geojson" import Loading from "./Base/Loading.svelte" @@ -24,9 +23,16 @@ import Page from "./Base/Page.svelte" import PreviouslySpiedUsers from "./History/PreviouslySpiedUsers.svelte" import { OsmConnection } from "../Logic/Osm/OsmConnection" - import MagnifyingGlassCircle from "@babeard/svelte-heroicons/outline/MagnifyingGlassCircle" import Translations from "./i18n/Translations" import Tr from "./Base/Tr.svelte" + import Searchbar from "../UI/Base/Searchbar.svelte" + import CombinedSearcher from "../Logic/Search/CombinedSearcher" + import CoordinateSearch from "../Logic/Search/CoordinateSearch" + import OpenLocationCodeSearch from "../Logic/Search/OpenLocationCodeSearch" + import PhotonSearch from "../Logic/Search/PhotonSearch" + import GeocodeResults from "./Search/GeocodeResults.svelte" + import MagnifyingGlassCircle from "@babeard/svelte-heroicons/mini/MagnifyingGlassCircle" + import type { GeocodeResult } from "../Logic/Search/GeocodingProvider" console.log("Loading inspector GUI") let username = QueryParameters.GetQueryParameter("user", undefined, "Inspect this user") @@ -37,16 +43,45 @@ let lon = UIEventSource.asFloat(QueryParameters.GetQueryParameter("lon", "0")) let loadingData = false let selectedElement = new UIEventSource(undefined) + let searchvalue = new UIEventSource("") + let geocoder = new CombinedSearcher( + new CoordinateSearch(), + new OpenLocationCodeSearch(), + new PhotonSearch(true, 2), + new PhotonSearch() + ) + let showSearchDrawer = new UIEventSource(true) + let searchIsFocussed = new UIEventSource(false) + let searchIsRunning = new UIEventSource(false) let maplibremap: MapLibreAdaptor = new MapLibreAdaptor(map, { zoom, - location: new UIEventSource<{ lon: number; lat: number }>({ lat: lat.data, lon: lon.data }), + location: new UIEventSource<{ lon: number; lat: number }>({ lat: lat.data, lon: lon.data }) }) maplibremap.location.stabilized(500).addCallbackAndRunD((l) => { lat.set(l.lat) lon.set(l.lon) }) - + let searchSuggestions = searchvalue.bindD(search => { + searchIsRunning.set(true) + try { + return UIEventSource.FromPromise(geocoder.search(search)) + } finally { + searchIsRunning.set(false) + } + }) + let state = { + mapProperties: maplibremap, + searchState: { + searchTerm: searchvalue, + suggestions: searchSuggestions, + suggestionsSearchRunning: searchIsRunning, + showSearchDrawer, + applyGeocodeResult(geocodeResult: GeocodeResult) { + maplibremap.location.set({ lon: geocodeResult.lon, lat: geocodeResult.lat }) + } + } + } let allLayers = HistoryUtils.personalTheme.layers let layersNoFixme = allLayers.filter((l) => l.id !== "fixme") let fixme = allLayers.find((l) => l.id === "fixme") @@ -59,7 +94,7 @@ Utils.waitFor(200).then(() => { selectedElement.set(f) }) - }, + } }) let osmConnection = new OsmConnection() @@ -91,7 +126,7 @@ inspectedData.push({ label: undefined, visitedTime: new Date().toISOString(), - name: user, + name: user }) } inspectedContributors.ping() @@ -101,7 +136,7 @@ featuresStore.set([]) const overpass = new Overpass( undefined, - user.split(";").map((user) => 'nw(user_touched:"' + user + '");'), + user.split(";").map((user) => "nw(user_touched:\"" + user + "\");"), Constants.defaultOverpassUrls[0] ) if (!maplibremap.bounds.data) { @@ -137,7 +172,7 @@

- load()} /> + load()} /> {#if loadingData} {:else} @@ -207,8 +242,16 @@ {/if} -
+ +
+
+ state.searchState.showSearchDrawer.set(true)} /> + {#if $searchSuggestions?.length > 0 || $searchIsFocussed} + + {/if} +
{:else if mode === "table"}
diff --git a/src/UI/Search/GeocodeResult.svelte b/src/UI/Search/GeocodeResult.svelte index b5172501a..6c98b78be 100644 --- a/src/UI/Search/GeocodeResult.svelte +++ b/src/UI/Search/GeocodeResult.svelte @@ -1,25 +1,33 @@ {#if $searchTerm.length > 0} -

+

+ +

{#if $results?.length > 0} {#each $results as entry (entry)} @@ -41,35 +46,12 @@
{/if} - {#if !$isSearching && $results.length === 0} + {#if !$isSearching && $results?.length === 0} " + $searchTerm + "" })} /> {/if} -{:else if $recentlySeen?.length > 0} - -
-

- -

- - - - -
- {#each $recentlySeen as entry (entry)} - - {/each} -
+{:else} + {/if} diff --git a/src/UI/Search/SearchResults.svelte b/src/UI/Search/SearchResults.svelte index aabce6362..2c818dff5 100644 --- a/src/UI/Search/SearchResults.svelte +++ b/src/UI/Search/SearchResults.svelte @@ -10,6 +10,12 @@ import Translations from "../i18n/Translations" import type { FilterSearchResult } from "../../Logic/Search/FilterSearch" import { WithSearchState } from "../../Models/ThemeViewState/WithSearchState" + import { TrashIcon } from "@babeard/svelte-heroicons/mini" + import { CogIcon } from "@rgossiaux/svelte-heroicons/solid" + import SidebarUnit from "../Base/SidebarUnit.svelte" + import DotMenu from "../Base/DotMenu.svelte" + import type { GeocodeResult } from "../../Logic/Search/GeocodingProvider" + import { default as GeocodeResultSvelte } from "./GeocodeResult.svelte" export let state: WithSearchState let activeFilters: Store<(ActiveFilter & FilterSearchResult)[]> = @@ -26,7 +32,9 @@ return r }) ) + let searchTerm = state.searchState.searchTerm + let recentlySeen: Store = state.userRelatedState.recentlyVisitedSearch.value let allowOtherThemes = state.featureSwitches.featureSwitchBackToThemeOverview let allowFilters = state.featureSwitches.featureSwitchFilter @@ -47,7 +55,38 @@ {#if $allowFilters} {/if} - + + + + {#if $recentlySeen?.length > 0} + +
+

+ +

+ + + + +
+ {#each $recentlySeen as entry (entry)} + + {/each} +
+ {/if} +
+ +
{#if $allowOtherThemes}