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 ccc0ef9eb..335c9ba80 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" } } ] @@ -851,19 +857,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/assets/themes/scouting/scouting.json b/assets/themes/scouting/scouting.json index a85d02ed7..c2b0e710e 100644 --- a/assets/themes/scouting/scouting.json +++ b/assets/themes/scouting/scouting.json @@ -27,16 +27,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" + ] + } ] } ] diff --git a/langs/themes/ca.json b/langs/themes/ca.json index 07c9ec19f..7313559af 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 bf6ffb0eb..d08ee0734 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 80ba8b292..5c7dd8b28 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 f43f16d7f..8ade8ff59 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 0fa5aeda9..62f9fcf07 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": { @@ -1377,6 +1400,10 @@ "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" + }, "winter_service": { "description": "A map showing roads and whether they're cleared in winter", "layers": { diff --git a/langs/themes/es.json b/langs/themes/es.json index 9b673c1f6..f6bc95ee1 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 c512a1de1..61204ae89 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/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/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/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/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/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/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/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) 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} 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 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 ************************/ /**